671 lines
1.7 MiB
671 lines
1.7 MiB
|
|
// This is ammo.js, a port of Bullet Physics to JavaScript. zlib licensed.
|
|
|
|
var Ammo = (function() {
|
|
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
|
return (
|
|
function(Ammo) {
|
|
Ammo = Ammo || {};
|
|
|
|
var c;c||(c=typeof Ammo !== 'undefined' ? Ammo : {});var ba={},ca;for(ca in c)c.hasOwnProperty(ca)&&(ba[ca]=c[ca]);c.arguments=[];c.thisProgram="./this.program";c.quit=function(a,b){throw b;};c.preRun=[];c.postRun=[];var ea=!1,fa=!1,ha=!1,ia=!1;ea="object"===typeof window;fa="function"===typeof importScripts;ha="object"===typeof process&&"function"===typeof require&&!ea&&!fa;ia=!ea&&!ha&&!fa;var ja="";
|
|
if(ha){ja=__dirname+"/";var ka,la;c.read=function(a,b){var e=ma(a);e||(ka||(ka=require("fs")),la||(la=require("path")),a=la.normalize(a),e=ka.readFileSync(a));return b?e:e.toString()};c.readBinary=function(a){a=c.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};1<process.argv.length&&(c.thisProgram=process.argv[1].replace(/\\/g,"/"));c.arguments=process.argv.slice(2);process.on("uncaughtException",function(a){throw a;});process.on("unhandledRejection",na);c.quit=function(a){process.exit(a)};
|
|
c.inspect=function(){return"[Emscripten Module object]"}}else if(ia)"undefined"!=typeof read&&(c.read=function(a){var b=ma(a);return b?oa(b):read(a)}),c.readBinary=function(a){var b;if(b=ma(a))return b;if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));b=read(a,"binary");assert("object"===typeof b);return b},"undefined"!=typeof scriptArgs?c.arguments=scriptArgs:"undefined"!=typeof arguments&&(c.arguments=arguments),"function"===typeof quit&&(c.quit=function(a){quit(a)});else if(ea||
|
|
fa)fa?ja=self.location.href:document.currentScript&&(ja=document.currentScript.src),_scriptDir&&(ja=_scriptDir),ja=0!==ja.indexOf("blob:")?ja.substr(0,ja.lastIndexOf("/")+1):"",c.read=function(a){try{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText}catch(e){if(a=ma(a))return oa(a);throw e;}},fa&&(c.readBinary=function(a){try{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}catch(e){if(a=ma(a))return a;
|
|
throw e;}}),c.readAsync=function(a,b,e){var f=new XMLHttpRequest;f.open("GET",a,!0);f.responseType="arraybuffer";f.onload=function(){if(200==f.status||0==f.status&&f.response)b(f.response);else{var g=ma(a);g?b(g.buffer):e()}};f.onerror=e;f.send(null)},c.setWindowTitle=function(a){document.title=a};
|
|
var pa=c.print||("undefined"!==typeof console?console.log.bind(console):"undefined"!==typeof print?print:null),qa=c.printErr||("undefined"!==typeof printErr?printErr:"undefined"!==typeof console&&console.warn.bind(console)||pa);for(ca in ba)ba.hasOwnProperty(ca)&&(c[ca]=ba[ca]);ba=void 0;function ra(a){var b;b||(b=16);return Math.ceil(a/b)*b}var sa=!1;function assert(a,b){a||na("Assertion failed: "+b)}var ta="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
|
|
function ua(a,b){for(var e=b;a[e];)++e;if(16<e-b&&a.subarray&&ta)return ta.decode(a.subarray(b,e));for(e="";;){var f=a[b++];if(!f)return e;if(f&128){var g=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|g);else{var h=a[b++]&63;if(224==(f&240))f=(f&15)<<12|g<<6|h;else{var m=a[b++]&63;if(240==(f&248))f=(f&7)<<18|g<<12|h<<6|m;else{var t=a[b++]&63;if(248==(f&252))f=(f&3)<<24|g<<18|h<<12|m<<6|t;else{var v=a[b++]&63;f=(f&1)<<30|g<<24|h<<18|m<<12|t<<6|v}}}65536>f?e+=String.fromCharCode(f):(f-=
|
|
65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}}"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var buffer,va,wa,xa,za,Aa,Ba,Ca,Da,Ea,Fa,Ga;Aa=Ba=Ca=Da=Ea=Fa=Ga=0;
|
|
function Ha(){na("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ia+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}var Ja=c.TOTAL_STACK||5242880,Ia=c.TOTAL_MEMORY||67108864;
|
|
Ia<Ja&&qa("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+Ia+"! (TOTAL_STACK="+Ja+")");c.buffer?buffer=c.buffer:(buffer=new ArrayBuffer(Ia),c.buffer=buffer);c.HEAP8=va=new Int8Array(buffer);c.HEAP16=new Int16Array(buffer);c.HEAP32=xa=new Int32Array(buffer);c.HEAPU8=wa=new Uint8Array(buffer);c.HEAPU16=new Uint16Array(buffer);c.HEAPU32=new Uint32Array(buffer);c.HEAPF32=za=new Float32Array(buffer);c.HEAPF64=new Float64Array(buffer);
|
|
function Ka(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var e=b.ca;"number"===typeof e?void 0===b.D?c.dynCall_v(e):c.dynCall_vi(e,b.D):e(void 0===b.D?null:b.D)}}}var La=[],Ma=[],Na=[],Oa=[],Pa=!1;function Qa(){var a=c.preRun.shift();La.unshift(a)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var e=a&65535,f=b&65535;return e*f+((a>>>16)*f+e*(b>>>16)<<16)|0});Math.imul=Math.imul;
|
|
Math.clz32||(Math.clz32=function(a){var b=32,e=a>>16;e&&(b-=16,a=e);if(e=a>>8)b-=8,a=e;if(e=a>>4)b-=4,a=e;if(e=a>>2)b-=2,a=e;return a>>1?b-2:b-a});Math.clz32=Math.clz32;Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});Math.trunc=Math.trunc;var Ra=0,Sa=null,Ta=null;c.preloadedImages={};c.preloadedAudios={};
|
|
var Ua=null,Va="data:application/octet-stream;base64,",Wa=[function(a,b,e,f){a=c.getCache(c.DebugDrawer)[a];if(!a.hasOwnProperty("drawLine"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawLine.";a.drawLine(b,e,f)},function(a,b,e,f,g,h){a=c.getCache(c.DebugDrawer)[a];if(!a.hasOwnProperty("drawContactPoint"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawContactPoint.";a.drawContactPoint(b,e,f,g,h)},function(a,b){a=c.getCache(c.DebugDrawer)[a];
|
|
if(!a.hasOwnProperty("reportErrorWarning"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::reportErrorWarning.";a.reportErrorWarning(b)},function(a,b,e){a=c.getCache(c.DebugDrawer)[a];if(!a.hasOwnProperty("draw3dText"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::draw3dText.";a.draw3dText(b,e)},function(a,b){a=c.getCache(c.DebugDrawer)[a];if(!a.hasOwnProperty("setDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::setDebugMode.";
|
|
a.setDebugMode(b)},function(a){a=c.getCache(c.DebugDrawer)[a];if(!a.hasOwnProperty("getDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::getDebugMode.";return a.getDebugMode()},function(a,b,e,f,g,h,m,t){a=c.getCache(c.ConcreteContactResultCallback)[a];if(!a.hasOwnProperty("addSingleResult"))throw"a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult.";return a.addSingleResult(b,e,f,g,h,m,t)}];Aa=8;
|
|
Ba=Aa+30944;Ma.push({ca:function(){Xa()}});Ua="data:application/octet-stream;base64,AAAAAAAAAABUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRlw1AAAWOwAAcAkAAAAAAAA0NQAAJDsAAFw1AABbPAAAiAkAAAAAAAA0NQAAezwAAFw1AACnPAAAoAkAAAAAAAA0NQAA1jwAAFw1AAD+PAAAuAkAAAAAAAA0NQAAFD0AAFw1AAAwPQAA0AkAAAAAAAA0NQAARz0AAFw1AABXPQAA2BEAAAAAAABcNQAAcT0AAPgJAAAAAAAANDUAAKU9AAA0NQAAvj0AAFw1AADTPQAAGAoAAAAAAAA0NQAABT4AAFw1AAAwPgAAMAoAAAAAAAA0NQAASj4AAFw1AABdPgAAqA0AAAAAAABcNQAAiT4AAFgKAAAAAAAANDUAAMQ+AABcNQAA5T4AAFgKAAAAAAAAXDUAABk/AABYCgAAAAAAAFw1AABHPwAAWAoAAAAAAABcNQAAOUAAAFgNAAAAAAAAXDUAAEZAAACwCgAAAAAAADQ1AABmQAAANDUAAHlAAABcNQAAjkAAALgKAAAAAAAAXDUAAK1AAADYEQAAAAAAAFw1AAA+QQAAAAsAAAAAAABcNQAAIEEAAFgRAAAAAAAAXDUAAGBBAACwCgAAAAAAAFw1AACBQQAAsAoAAAAAAABcNQAApEEAALAKAAAAAAAAXDUAAMZBAAAACwAAAAAAAFw1AADoQQAAUAsAAAAAAAA0NQAACEIAAFw1AAAUQwAAUAsAAAAAAABcNQAAV0IAAHgRAAAAAAAAXDUAAChCAAAgEQAAAAAAADQ1AAA6QgAAXDUAAPdCAAB4EQAAAAAAAFw1AADIQwAA+AsAAAAAAABcNQAAeUMAAMALAAAAAAAAXDUAAJNDAADQCwAAAAAAADQ1AACtQwAAXDUAAONDAABQCwAAAAAAAFw1AAAXRAAAWA0AAAAAAABcNQAAx0UAABgMAAAAAAAAXDUAAKlEAAAICgAAAAAAAFw1AADhRQAA0A4AAAAAAABcNQAA80UAADgMAAAAAAAANDUAABFGAABcNQAAP0YAAIAMAAAAAAAAXDUAAG9GAACADAAAAAAAAFw1AACrRgAAUAwAAAAAAABcNQAA7EYAAIAMAAAAAAAAhDUAACFHAAAAAAAAAQAAAJgMAAACBAAANDUAADVHAABcNQAAXEcAAIAMAAAAAAAAXDUAAItHAACADAAAAAAAAFw1AAC+RwAAgAwAAAAAAABcNQAAHEgAAOAMAAAAAAAANDUAAEJIAABcNQAAV0gAAPgMAAAAAAAANDUAAGpIAABcNQAAfkgAAAAKAAAAAAAAXDUAAMhIAAAwDQAAAAAAAFw1AACaSAAACAoAAAAAAABcNQAA6UgAAPgMAAAAAAAAXDUAAApJAABQDQAAAAAAADQ1AAAjSQAANDUAAE1JAABcNQAAYUkAAFgNAAAAAAAAXDUAAHFJAABgDQAAAAAAAFw1AAC6SQAAMBMAAAAAAABcNQAAjEkAAKANAAAAAAAANDUAAKZJAABcNQAA0kkAALgNAAAAAAAANDUAAPRJAABcNQAAD0oAAFgKAAAAAAAAXDUAAD9KAABYCgAAAAAAAFw1AABqSgAAWAoAAAAAAABcNQAAnUoAAFgKAAAAAAAAXDUAAM5KAABYCgAAAAAAAFw1AADvSgAAWAoAAAAAAABcNQAAI0sAAFgKAAAAAAAAXDUAAFhLAABYCgAAAAAAAFw1AACFSwAAWAoAAAAAAABcNQAAvksAAFgKAAAAAAAANDUAAPBLAABcNQAAN0wAAFALAAAAAAAAXDUAABJNAAB4FAAAAAAAAFw1AABZTAAAeBEAAAAAAABcNQAA90wAAHgRAAAAAAAAXDUAADZNAAB4FAAAAAAAAFw1AABTTQAAyA4AAAAAAAA0NQAAZk0AADQ1AAANUQAAXDUAAP1PAADACwAAAAAAAFw1AADSTQAAoAkAAAAAAABcNQAAV04AALAKAAAAAAAAXDUAANVOAADYEwAAAAAAAFw1AABqTwAA2BMAAAAAAACENQAAE1AAAAAAAAACAAAAeBEAAAIAAACAEQAAAgQAAFw1AAA0UQAAGAoAAAAAAABcNQAA0VEAAOgTAAAAAAAAXDUAAIJSAADoEwAAAAAAAFw1AABBUwAAwAsAAAAAAABcNQAAc1MAANALAAAAAAAAXDUAAFlTAAC4DgAAAAAAAFw1AACNUwAAeBQAAAAAAABcNQAA+VQAAFgKAAAAAAAAXDUAAN9UAAB4FAAAAAAAAFw1AACyUwAAuA4AAAAAAABcNQAAzVMAAMgOAAAAAAAAXDUAAFpUAADIDgAAAAAAAFw1AAA6VQAAeBQAAAAAAABcNQAAIVUAALAKAAAAAAAAXDUAAHpVAAB4FAAAAAAAAFw1AABZVQAAsAoAAAAAAABcNQAA11UAAEARAAAAAAAAXDUAAP5VAABYEQAAAAAAAFw1AAASVgAAWBAAAAAAAABcNQAAJ1YAAFgQAAAAAAAAXDUAAD1WAABYEQAAAAAAAFw1AAD7VgAA4BAAAAAAAABcNQAATVYAALgQAAAAAAAANDUAALtWAABcNQAAFFcAALgQAAAAAAAAXDUAAHxXAAC4EAAAAAAAAFw1AAB4WAAA2BEAAAAAAABcNQAA7VcAAHgRAAAAAAAAXDUAAAVYAACAEQAAAAAAAFw1AACxWAAA2BEAAAAAAABcNQAAxlgAAFgRAAAAAAAAXDUAAOBYAAAgEQAAAAAAADQ1AAAaWQAAXDUAAC1ZAABAEQAAAAAAAFw1AAA9WQAASBEAAAAAAABcNQAAclkAADARAAAAAAAANDUAAIZZAAA0NQAAm1kAAFw1AADdWQAAWBEAAAAAAABcNQAA91kAAIgRAAAAAAAAXDUAABJaAACIEQAAAAAAAFw1AABPWgAAMBEAAAAAAABcNQAAJFoAAIARAAAAAAAAXDUAAGtaAABAEQAAAAAAAFw1AACAWgAAIBEAAAAAAABcNQAAjVoAADgTAAAAAAAAXDUAAJ5aAACAEQAAAAAAAFw1AAD5WgAAgBEAAAAAAABcNQAAaVsAANgRAAAAAAAAXDUAAKNbAABYEQAAAAAAAFw1AAC/WwAAOBIAAAAAAABcNQAA3FsAADgSAAAAAAAAXDUAAO9bAADoFAAAAAAAAFw1AAAyXAAAiBIAAAAAAABcNQAAAFwAAJgSAAAAAAAANDUAABpcAABcNQAAQVwAALASAAAAAAAAXDUAAFNcAAC4CQAAAAAAAFw1AABbXQAAsBIAAAAAAABcNQAAbFwAAKANAAAAAAAAXDUAANpcAACgDQAAAAAAAFw1AAC8XQAAmBIAAAAAAABcNQAAel0AALAKAAAAAAAAXDUAAI9dAACwCgAAAAAAAFw1AACmXQAAsAoAAAAAAAA0NQAAz10AADQ1AAA5XgAAXDUAAClfAAB4FAAAAAAAAFw1AABKXgAAYBMAAAAAAAA0NQAAdl4AAFw1AACiXgAAYBMAAAAAAABcNQAA4l4AANAUAAAAAAAAXDUAAPleAAB4CwAAAAAAAFw1AAANXwAAeBEAAAAAAABcNQAAR18AAFgKAAAAAAAAXDUAAIhfAADYCQAAAAAAAFw1AADEXwAA2AkAAAAAAABcNQAA2V8AAHgRAAAAAAAAXDUAAPVfAAB4EQAAAAAAAFw1AAC/YAAAGBQAAAAAAABcNQAAFGAAAMgOAAAAAAAANDUAAONgAABcNQAABGEAABgUAAAAAAAAXDUAADhhAABQDQAAAAAAAFw1AAAlYQAAyA4AAAAAAABcNQAASmEAAFANAAAAAAAAXDUAAGhhAABwFAAAAAAAADQ1AAB8YQAAXDUAAKNhAABQCwAAAAAAAFw1AADEYQAAUAsAAAAAAABcNQAA12EAAHgUAAAAAAAAXDUAAPphAABwFAAAAAAAAFw1AAANYgAAcBQAAAAAAAA0NQAAJmIAAFw1AABAYgAAMBEAAAAAAAA0NQAAU2IAAFw1AABoYgAA+BQAAAAAAAA0NQAAGGMAADQ1AAD+YwAAXDUAAF5kAAAYFQAAAAAAAFw1AAALZAAAKBUAAAAAAAA0NQAALGQAAFw1AAA5ZAAACBUAAAAAAABcNQAAZGUAABgVAAAAAAAAXDUAAEBlAABAFQAAAAAAAFw1AACGZQAACBUAAAAAAAAAAAAAYAkAAAEAAAACAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAgAAAAEAAAACAAAAAQAAAAEAAAABAAAAAwAAAAIAAAABAAAAAgAAAAMAAAABAAAAAAAAAHAJAAADAAAABAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAgAAAAEAAAABAAAAAQAAAAMAAAACAAAAAQAAAAIAAAADAAAAAQAAAAAAAAB4CQAABQAAAAYAAAABAAAAAQAAAAAAAACICQAABwAAAAgAAAABAAAAAQAAAAAAAACQCQAACQAAAAoAAAACAAAAAQAAAAAAAACgCQAACwAAAAwAAAACAAAAAQAAAAAAAACoCQAADQAAAA4AAAABAAAAAQAAAAIAAAAAAAAAuAkAAA8AAAAQAAAAAQAAAAEAAAABAAAAAAAAAMAJAAARAAAAEgAAAAMAAAAEAAAAAAAAANAJAAATAAAAFAAAAAEAAAABAAAAAAAAANgJAAAVAAAAFgAAAAQAAAADAAAAAQAAAAEAAAAFAAAAAgAAAAEAAAABAAAABgAAAAEAAAACAAAAAwAAAAIAAAAHAAAABQAAABcAAAAYAAAABAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAGQAAABoAAAADAAAAAQAAAAEAAAABAAAAAQAAAAYAAAAHAAAAAAAAAOgJAAAbAAAAHAAAAAUAAAAGAAAABAAAAAUAAAAAAAAA+AkAAB0AAAAeAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAACgAAHwAAACAAAAABAAAAAAAAAAgKAAAhAAAAIgAAAAMAAAACAAAAAAAAABgKAAAjAAAAJAAAAAMAAAABAAAAAAAAACAKAAAlAAAAJgAAAAcAAAAIAAAABgAAAAgAAAACAAAAAwAAACcAAAAHAAAACAAAAAkAAAAJAAAACgAAAAoAAAAJAAAAAAAAADgKAAAoAAAAKQAAAAsAAAAMAAAAAwAAAA0AAAAAAAAAgAoAACoAAAArAAAAAgAAAAAAAABwCgAAKgAAACwAAAADAAAAAAAAAGAKAAAqAAAALQAAAAQAAAAAAAAASAoAACoAAAAuAAAABQAAAAAAAACQCgAABAAAAC8AAAAwAAAACwAAAA4AAAAEAAAADAAAAAoAAAAAAAAAoAoAADEAAAAyAAAACwAAAA0AAAACAAAABQAAAAYAAAAAAAAAwAoAADMAAAA0AAAAAQAAAAEAAAAEAAAADwAAAAAAAADQCgAANQAAADYAAAAIAAAAAwAAAAEAAAABAAAADgAAABAAAAACAAAAEQAAAAYAAAAFAAAAAgAAAAMAAAACAAAABwAAAAkAAAAAAAAAEAsAADEAAAA3AAAACwAAAA8AAAACAAAABQAAAAYAAAAAAAAA4AoAADEAAAA4AAAACwAAABAAAAACAAAABQAAAAYAAAAAAAAA8AoAADkAAAA6AAAACgAAAAMAAAABAAAAAQAAABEAAAASAAAAAwAAABMAAAAGAAAABgAAAAMAAAAUAAAABQAAAAcAAAAMAAAADQAAAAQAAAALAAAADAAAABUAAAAOAAAAFgAAAAAAAAAwCwAAMQAAADsAAAAPAAAAEgAAAAIAAAAFAAAABgAAAAAAAAAgCwAAMQAAADwAAAAQAAAAEgAAAAIAAAAFAAAABgAAAAAAAABACwAAPQAAAD4AAAAFAAAAAQAAABMAAAAAAAAAWAsAAD8AAABAAAAABgAAAAIAAAAUAAAAAAAAAGgLAABBAAAAQgAAAA0AAAAAAAAAiAsAAAcAAAAVAAAAEQAAAEMAAABEAAAAAAAAAHgLAABFAAAARgAAAA4AAAADAAAAAQAAAAEAAAARAAAAEgAAAAQAAAAXAAAABgAAAAgAAAAEAAAAFAAAAAUAAAAHAAAAEgAAABMAAAAEAAAADwAAAAwAAAAYAAAAFAAAAAcAAAAZAAAAGgAAABAAAAAVAAAAGwAAABEAAAABAAAAEgAAAAAAAACQCwAARwAAAEgAAAATAAAAAAAAAKALAABJAAAASgAAAEsAAABMAAAAFgAAABwAAABNAAAAFAAAABUAAAAWAAAAFwAAAE4AAAAYAAAAAQAAABYAAAAZAAAAGgAAABsAAAAcAAAAHQAAAE8AAAAeAAAAFwAAAB8AAAAgAAAAHQAAAB4AAAAIAAAACQAAAB8AAABQAAAAIQAAACIAAAAjAAAAJAAAAAkAAAAKAAAAUQAAACUAAAALAAAADAAAAA0AAABSAAAAJgAAAA4AAAAAAAAAsAsAAFMAAABUAAAACgAAAAAAAADYCwAAVQAAAFYAAAAHAAAAAwAAACcAAAAAAAAA6AsAAAsAAABXAAAAWAAAACgAAAAgAAAABgAAACkAAAAAAAAA+AsAAFkAAABaAAAASwAAAEwAAAAWAAAAHAAAAFsAAAAUAAAAGAAAABYAAAAqAAAATgAAACsAAAABAAAAFgAAABkAAAAaAAAAGwAAABwAAAAdAAAATwAAAB4AAAAXAAAAHwAAACAAAAAdAAAAHgAAAAgAAAAJAAAAIQAAAFAAAAAhAAAAIgAAACMAAAAkAAAADwAAAAoAAABRAAAAJQAAAAsAAAAQAAAADQAAAFIAAAAmAAAADgAAAAAAAAAIDAAAIwAAAFwAAAAMAAAAAwAAAAAAAAAoDAAAXQAAAF4AAAABAAAAAAAAAEAMAABfAAAAYAAAAGEAAAABAAAALAAAAC0AAAABAAAAAgAAAAQAAAAiAAAABwAAAAAAAABQDAAAYgAAAGMAAABkAAAAAQAAAC4AAAAvAAAAAQAAAAMAAAAFAAAAIwAAAAgAAABlAAAAAAAAAGAMAABiAAAAZgAAAGQAAAABAAAALgAAADAAAAABAAAAAwAAAAUAAAAkAAAACQAAAGUAAAAXAAAAAAAAAHAMAABiAAAAZwAAAGgAAAABAAAAMQAAADIAAAABAAAABAAAAAYAAAAlAAAACgAAAAAAAACADAAAYgAAAGkAAABhAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAIgAAAAcAAAAAAAAAoAwAAGIAAABqAAAAYQAAAAEAAAAzAAAANAAAAAEAAAAFAAAABwAAACYAAAALAAAAAAAAALAMAABiAAAAawAAAGwAAAABAAAANQAAADYAAAACAAAABgAAAAgAAAAnAAAADAAAABgAAAAAAAAAwAwAAGIAAABtAAAAbgAAAAEAAAA3AAAAOAAAAAEAAAAHAAAACQAAACgAAAANAAAAAAAAANAMAABvAAAAcAAAABkAAAABAAAAGgAAAHEAAAApAAAAGQAAAAEAAAABAAAAAgAAAAEAAAACAAAAAAAAAOgMAAByAAAAcwAAAAMAAAA5AAAAEQAAABIAAAAaAAAAAAAAAAANAAAfAAAAdAAAAAYAAAAAAAAAEA0AAHUAAAB2AAAABAAAADoAAAA7AAAABQAAADwAAAA9AAAAPgAAAAYAAAAqAAAAdwAAACsAAAA/AAAAAAAAACANAAAjAAAAeAAAAAMAAAAKAAAAAAAAAEANAAB5AAAAegAAAAEAAAABAAAAAgAAAAAAAAACAAAAAAAAAAEAAAAAAAAAWA0AAAQAAAB7AAAAfAAAACgAAAAsAAAADgAAAAwAAAAAAAAAYA0AAAQAAAB9AAAAfgAAACgAAAAsAAAADgAAAAwAAAAbAAAAGwAAAAAAAABwDQAABAAAAH8AAACAAAAAKAAAACwAAAAOAAAADAAAABwAAAAcAAAAAAAAAIANAACBAAAAggAAAAcAAAAPAAAAQAAAAEEAAAAQAAAAEQAAAB0AAAAtAAAADQAAAC4AAAAvAAAAMAAAAA4AAABCAAAAAAAAAJANAACDAAAAhAAAAA8AAAAAAAAAqA0AAIUAAACGAAAACwAAAAwAAAASAAAADQAAAAAAAABQDgAAKgAAAIcAAAAIAAAAAAAAAEAOAAAqAAAAiAAAAAkAAAAAAAAAMA4AACoAAACJAAAACgAAAAAAAAAgDgAAKgAAAIoAAAALAAAAAAAAABAOAAAqAAAAiwAAAAwAAAAAAAAAAA4AACoAAACMAAAADQAAAAAAAADwDQAAKgAAAI0AAAAOAAAAAAAAAOANAAAqAAAAjgAAAA8AAAAAAAAA0A0AACoAAACPAAAAEAAAAAAAAADADQAAKgAAAJAAAAARAAAAAAAAAGAOAACRAAAAkgAAAB0AAABDAAAAAAAAAGgOAACTAAAAlAAAAAgAAAAEAAAARAAAAAAAAAB4DgAAlQAAAJYAAAAJAAAABQAAAEUAAAAAAAAAiA4AAEEAAACXAAAAHgAAAAAAAACYDgAAmAAAAJkAAAAfAAAAAAAAAKgOAACaAAAAmwAAAAoAAAAGAAAARgAAAAAAAAC4DgAAnAAAAJ0AAAAeAAAAHwAAAAMAAAAAAAAA0A4AAJ4AAACfAAAASwAAAEwAAAAWAAAAHAAAAKAAAAAUAAAAGAAAACAAAABHAAAATgAAAEgAAAAAAAAA2A4AAFMAAAChAAAAEAAAAAAAAAAYDwAAQQAAAKIAAAAhAAAAAQAAAAAAAAAIDwAAQQAAAKMAAAAhAAAAAgAAAAAAAAD4DgAAMQAAAKQAAAALAAAASQAAAAIAAAAFAAAABgAAAAAAAADoDgAACwAAAKUAAAARAAAACwAAAAAAAAAoDwAApgAAAKcAAAAiAAAAIwAAAPz///8oDwAAqAAAAKkAAAAkAAAAAAAAAGgPAABBAAAAqgAAACUAAAABAAAAAAAAAFgPAABBAAAAqwAAACUAAAACAAAAAAAAAEgPAAAjAAAArAAAABIAAAAMAAAAAAAAAHgPAABTAAAArQAAABMAAAAAAAAAiA8AAFMAAACuAAAAFAAAAAAAAACYDwAAnAAAAK8AAAAeAAAAHwAAAAQAAAAAAAAAqA8AALAAAACxAAAACwAAAAcAAABKAAAAAAAAALgPAACyAAAAswAAABIAAAAAAAAAyA8AALQAAAC1AAAADAAAAAgAAABLAAAAAAAAAPgPAACcAAAAtgAAACAAAAAhAAAABQAAAAAAAADoDwAAnAAAALcAAAAiAAAAIwAAAAYAAAAAAAAA2A8AAJwAAAC4AAAAHgAAAB8AAAAHAAAAAAAAAAgQAAC5AAAAugAAAA0AAAAJAAAATAAAAAAAAAAYEAAAMQAAALsAAAALAAAATQAAAAIAAAAFAAAABgAAAAAAAAAoEAAAvAAAAL0AAAAOAAAACgAAAE4AAAAAAAAAOBAAADEAAAC+AAAAJAAAABIAAAACAAAABQAAAAYAAAAAAAAASBAAAL8AAADAAAAAJgAAAAMAAAABAAAAAQAAAE8AAAAxAAAABQAAADIAAAAGAAAAEwAAAAUAAAAzAAAAEwAAAAcAAABQAAAAwQAAAAAAAABYEAAAOQAAAMIAAAAnAAAAAwAAAAEAAAABAAAAUQAAABIAAAAGAAAANAAAAFIAAAAIAAAABAAAADUAAAAUAAAABwAAACUAAAAmAAAABAAAACgAAAAMAAAAFQAAAA4AAAAAAAAAaBAAADkAAADDAAAAJwAAAAMAAAABAAAAAQAAAFEAAAASAAAABgAAADYAAABTAAAACAAAAAQAAAA1AAAAFAAAAAcAAAAlAAAAJgAAAAQAAAAoAAAADAAAABUAAAAOAAAAAAAAAHgQAAA5AAAAxAAAACcAAAADAAAAAQAAAAEAAABRAAAAEgAAAAYAAAA3AAAAVAAAAAgAAAAEAAAANQAAABQAAAAHAAAAJQAAACYAAAAEAAAAKAAAAAwAAAAVAAAADgAAAAAAAACIEAAAOQAAAMUAAAApAAAAAwAAAAEAAAABAAAAEQAAABIAAAAHAAAAOAAAAAYAAAAUAAAABgAAABQAAAAFAAAABwAAACcAAAAoAAAABAAAACoAAAAMAAAAFQAAAA4AAAAAAAAAmBAAAMYAAADHAAAAKwAAAAMAAAABAAAAAQAAAFUAAAA5AAAACAAAADoAAAAGAAAABQAAAAIAAAA7AAAAFQAAAAcAAAAsAAAAKQAAACoAAABWAAAAVwAAAAAAAACoEAAAyAAAAMkAAAArAAAAAAAAAMAQAADIAAAAygAAACwAAAAAAAAA0BAAAMgAAADLAAAALQAAAAAAAADgEAAAzAAAAM0AAAArAAAAAwAAAAEAAAABAAAAWAAAADkAAAAIAAAAPAAAAAYAAAAFAAAAAgAAAAMAAAACAAAABwAAAC0AAAApAAAAKgAAAAAAAADwEAAAQQAAAM4AAAAuAAAAAAAAAAARAADPAAAA0AAAAC8AAAAAAAAAEBEAANEAAADSAAAAMAAAAAMAAAABAAAAAQAAAFkAAAA9AAAACQAAAD4AAAAGAAAABQAAAAIAAAA/AAAAFgAAAAcAAAAxAAAAAAAAACARAABFAAAA0wAAACcAAAADAAAAAQAAAAEAAAARAAAAEgAAAAoAAAABAAAABgAAAAgAAAAEAAAAFAAAAAUAAAAHAAAAEgAAAC4AAAAEAAAAMgAAAAwAAAAVAAAADgAAAAcAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAFgRAAA5AAAA1AAAACcAAAADAAAAAQAAAAEAAAARAAAAEgAAAAEAAAABAAAABgAAAAgAAAAEAAAAFAAAAAUAAAAHAAAAEgAAAAEAAAAEAAAAAQAAAAwAAAAVAAAADgAAAAAAAABoEQAA1QAAANYAAAAzAAAAAwAAAAEAAAABAAAAWgAAABIAAAAKAAAAQAAAAAYAAAAIAAAABAAAAEEAAAAXAAAABwAAAC8AAAAwAAAABAAAADQAAAAMAAAAFQAAAA4AAAAHAAAAQgAAAEMAAAA1AAAAMQAAAEQAAAA2AAAAAgAAAAEAAAAAAAAAiBEAADkAAADXAAAANwAAAAMAAAABAAAAAQAAAFsAAAASAAAACwAAAEUAAABcAAAAFQAAAAQAAABGAAAAGAAAAAcAAAASAAAAMgAAAAQAAAA4AAAADAAAABUAAAAOAAAAAAAAAJgRAAA5AAAA2AAAADcAAAADAAAAAQAAAAEAAABbAAAAEgAAAAsAAABHAAAAXAAAABUAAAAEAAAARgAAABgAAAAHAAAAEgAAADIAAAAEAAAAOAAAAAwAAAAVAAAADgAAAAAAAACoEQAAOQAAANkAAAA3AAAAAwAAAAEAAAABAAAAWwAAABIAAAALAAAASAAAAFwAAAAVAAAABAAAAEYAAAAYAAAABwAAABIAAAAyAAAABAAAADgAAAAMAAAAFQAAAA4AAAAAAAAAuBEAAEUAAADaAAAAMwAAAAMAAAABAAAAAQAAAF0AAABJAAAACgAAAEoAAAAGAAAACAAAAAQAAAAUAAAABQAAAAcAAAAzAAAANAAAAAQAAAA5AAAADAAAABUAAAAOAAAABwAAAEsAAABMAAAAOgAAADUAAABNAAAAOwAAAAMAAAAAAAAAyBEAAM8AAADbAAAAPAAAAAAAAADoEQAARQAAANwAAAA9AAAAAwAAAAEAAAABAAAAXgAAABIAAAAMAAAATgAAAAYAAAAWAAAABAAAABQAAAAFAAAABwAAADYAAAA3AAAABAAAAD4AAAAMAAAATwAAADgAAAAHAAAAUAAAAFEAAAA/AAAAOQAAAFIAAABAAAAABAAAADoAAAAAAAAA+BEAAN0AAADeAAAAEwAAAFMAAAAZAAAAXwAAAGAAAAAUAAAAAAAAABgSAADPAAAA3wAAAEEAAAAAAAAACBIAAM8AAADgAAAAQgAAAAAAAAAoEgAA4QAAAOIAAABDAAAAAwAAAAEAAAABAAAAYQAAAFQAAAANAAAAVQAAAAYAAAAFAAAAAgAAAAMAAAACAAAABwAAAEQAAAANAAAAAAAAADgSAAA5AAAA4wAAAEUAAAADAAAAAQAAAAEAAABiAAAAEgAAAA4AAABWAAAAYwAAABcAAAAEAAAAVwAAABoAAAAHAAAAOwAAADwAAAAEAAAARgAAAAwAAAAVAAAADgAAAAcAAAAAAAAASBIAADkAAADkAAAARQAAAAMAAAABAAAAAQAAAGIAAAASAAAADgAAAFgAAABjAAAAFwAAAAQAAABXAAAAGgAAAAcAAAA7AAAAPQAAAAQAAABHAAAADAAAABUAAAAOAAAACAAAAAAAAABYEgAAOQAAAOUAAABFAAAAAwAAAAEAAAABAAAAYgAAABIAAAAOAAAAWQAAAGMAAAAXAAAABAAAAFcAAAAaAAAABwAAADsAAAA+AAAABAAAAEgAAAAMAAAAFQAAAA4AAAAJAAAAAAAAAGgSAADmAAAA5wAAAEkAAAABAAAAAgAAAGQAAABlAAAAWgAAAGYAAABnAAAAWwAAAD8AAABAAAAAXAAAABsAAAAAAAAAeBIAAOgAAADpAAAAAQAAAEEAAAAPAAAASgAAAAIAAABLAAAAaAAAAF0AAABeAAAAQgAAAGkAAADqAAAAAAAAAIgSAADoAAAA6wAAAAEAAABBAAAADwAAAEoAAAACAAAASwAAAGgAAABdAAAAXgAAAEIAAABpAAAA6gAAAAAAAACgEgAA7AAAAO0AAAAcAAAAFQAAAEMAAABfAAAAYAAAAGEAAABEAAAAYgAAAEUAAABqAAAARgAAAB0AAABjAAAAawAAAGwAAAAAAAAAwBIAAO4AAADvAAAAHgAAABYAAABHAAAAZAAAAGUAAABmAAAASAAAAGcAAABJAAAAbQAAAEoAAAAfAAAAaAAAAG4AAABvAAAAAAAAANASAACDAAAA8AAAABUAAAAAAAAA4BIAAIMAAADxAAAAFgAAAAAAAADwEgAA8gAAAPMAAAACAAAASwAAABAAAABMAAAAAwAAAE0AAABwAAAAaQAAAGoAAABMAAAAcQAAAPQAAAAAAAAAABMAADEAAAD1AAAATQAAAHIAAAACAAAABQAAAAYAAAAAAAAAEBMAADEAAAD2AAAACwAAAHMAAAACAAAABQAAAAYAAAAAAAAAIBMAADEAAAD3AAAACwAAAHQAAAACAAAABQAAAAYAAAAAAAAAOBMAAPgAAAD5AAAAEwAAAFMAAAAZAAAAXwAAAGAAAAAAAAAAQBMAAPoAAAD7AAAAEQAAAAsAAAB1AAAAAAAAAIgTAABFAAAA/AAAAE4AAAADAAAAAQAAAAEAAAARAAAAEgAAAAQAAAAXAAAABgAAAAgAAAAEAAAAFAAAAAUAAAAHAAAAEgAAABMAAAAEAAAADwAAAAwAAAAYAAAAFAAAAAcAAAAZAAAAGgAAABAAAAAVAAAAGwAAABEAAAABAAAAEgAAAAAAAAB4EwAARQAAAP0AAABPAAAAAwAAAAEAAAABAAAAdgAAABIAAAAKAAAAawAAAAYAAAAIAAAABAAAABQAAAAFAAAABwAAABIAAAAuAAAABAAAADIAAAAMAAAAFQAAAA4AAAAHAAAAbAAAAG0AAABQAAAATgAAAG4AAABRAAAABQAAABcAAAAAAAAAYBMAABgAAAD+AAAA/wAAAAAAAABoEwAAGQAAAP4AAAAAAQAAAAAAAFATAAAaAAAA/gAAAAEBAAAAAAAAmBMAAEEAAAACAQAAUgAAAAAAAACoEwAAKgAAAAMBAAAXAAAAAAAAALgTAAAEAQAABQEAAAQAAAADAAAAAQAAAAEAAAB3AAAAbwAAAA8AAABwAAAABgAAABgAAAAKAAAAAwAAAAIAAAAHAAAAUwAAABcAAAAYAAAABAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAE8AAABQAAAABgEAAAcBAAADAAAAGwAAABwAAABRAAAAUgAAAAYAAABUAAAAAAAAAMgTAAAIAQAACQEAAAQAAAADAAAAAQAAAAEAAAB4AAAAAgAAABAAAAB3AAAABgAAABkAAAACAAAAeAAAACAAAAAHAAAAVQAAAAoBAAALAQAABAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAFMAAABUAAAADAEAAA0BAAASAAAAHQAAAB4AAABVAAAAVgAAAFYAAABXAAAAAAAAAOgTAABBAAAADgEAACUAAAABAAAAAAAAAPgTAAAPAQAAEAEAAAEAAAAAAAAACBQAAJwAAAARAQAAVwAAAFgAAAAIAAAAAAAAACAUAAAPAQAAEgEAAAIAAAAAAAAAMBQAAHkAAAATAQAAAgAAAAAAAABAFAAAnAAAABQBAABZAAAAWgAAAAkAAAAAAAAAUBQAAHkAAAAVAQAAAwAAAAAAAABgFAAAFgEAABcBAAATAAAAAAAAAIgUAAAYAQAAGQEAABQAAAAMAAAAeQAAAAAAAACYFAAAGgEAABsBAAAVAAAADQAAAHoAAAAAAAAAqBQAABYBAAAcAQAAFgAAAAAAAAC4FAAAFgEAAB0BAAAXAAAAAAAAAMgUAAAeAQAAHwEAACEAAAAiAAAAfwAAAAAAAADgFAAAIAEAACEBAAAAAAAA6BQAACIBAAAjAQAASQAAAAEAAAACAAAAZAAAAGUAAABaAAAAewAAAHwAAABbAAAAPwAAAEAAAABcAAAAGwAAAFR2AAD/////BQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAACQAAADReAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACBUAACQBAAAlAQAAJgEAACcBAAAlAAAABAAAABgAAABYAAAAAAAAADAVAAAkAQAAKAEAACYBAAAnAQAAJQAAAAUAAAAZAAAAWQAAAAAAAABgFQAAJAEAACkBAAAmAQAAJwEAACUAAAAGAAAAGgAAAFoAAAB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnRGVidWdEcmF3ZXInXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ2dldERlYnVnTW9kZScpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OmdldERlYnVnTW9kZS4nOyByZXR1cm4gc2VsZlsnZ2V0RGVidWdNb2RlJ10oKTsgfQB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnRGVidWdEcmF3ZXInXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ3NldERlYnVnTW9kZScpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OnNldERlYnVnTW9kZS4nOyBzZWxmWydzZXREZWJ1Z01vZGUnXSgkMSk7IH0AeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdkcmF3M2RUZXh0JykpIHRocm93ICdhIEpTSW1wbGVtZW50YXRpb24gbXVzdCBpbXBsZW1lbnQgYWxsIGZ1bmN0aW9ucywgeW91IGZvcmdvdCBEZWJ1Z0RyYXdlcjo6ZHJhdzNkVGV4dC4nOyBzZWxmWydkcmF3M2RUZXh0J10oJDEsJDIpOyB9AHsgdmFyIHNlbGYgPSBNb2R1bGVbJ2dldENhY2hlJ10oTW9kdWxlWydEZWJ1Z0RyYXdlciddKVskMF07IGlmICghc2VsZi5oYXNPd25Qcm9wZXJ0eSgncmVwb3J0RXJyb3JXYXJuaW5nJykpIHRocm93ICdhIEpTSW1wbGVtZW50YXRpb24gbXVzdCBpbXBsZW1lbnQgYWxsIGZ1bmN0aW9ucywgeW91IGZvcmdvdCBEZWJ1Z0RyYXdlcjo6cmVwb3J0RXJyb3JXYXJuaW5nLic7IHNlbGZbJ3JlcG9ydEVycm9yV2FybmluZyddKCQxKTsgfQB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnRGVidWdEcmF3ZXInXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ2RyYXdDb250YWN0UG9pbnQnKSkgdGhyb3cgJ2EgSlNJbXBsZW1lbnRhdGlvbiBtdXN0IGltcGxlbWVudCBhbGwgZnVuY3Rpb25zLCB5b3UgZm9yZ290IERlYnVnRHJhd2VyOjpkcmF3Q29udGFjdFBvaW50Lic7IHNlbGZbJ2RyYXdDb250YWN0UG9pbnQnXSgkMSwkMiwkMywkNCwkNSk7IH0AeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdkcmF3TGluZScpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OmRyYXdMaW5lLic7IHNlbGZbJ2RyYXdMaW5lJ10oJDEsJDIsJDMpOyB9ADExRGVidWdEcmF3ZXIAMTJidElEZWJ1Z0RyYXcAeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0NvbmNyZXRlQ29udGFjdFJlc3VsdENhbGxiYWNrJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdhZGRTaW5nbGVSZXN1bHQnKSkgdGhyb3cgJ2EgSlNJbXBsZW1lbnRhdGlvbiBtdXN0IGltcGxlbWVudCBhbGwgZnVuY3Rpb25zLCB5b3UgZm9yZ290IENvbmNyZXRlQ29udGFjdFJlc3VsdENhbGxiYWNrOjphZGRTaW5nbGVSZXN1bHQuJzsgcmV0dXJuIHNlbGZbJ2FkZFNpbmdsZVJlc3VsdCddKCQxLCQyLCQzLCQ0LCQ1LCQ2LCQ3KTsgfQAyOUNvbmNyZXRlQ29udGFjdFJlc3VsdENhbGxiYWNrAE4xNmJ0Q29sbGlzaW9uV29ybGQyMUNvbnRhY3RSZXN1bHRDYWxsYmFja0UATjE2YnRDb2xsaXNpb25Xb3JsZDI0Q2xvc2VzdFJheVJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMTdSYXlSZXN1bHRDYWxsYmFja0UAMTlidEdob3N0UGFpckNhbGxiYWNrADI1YnRPdmVybGFwcGluZ1BhaXJDYWxsYmFjawAyMGJ0RGVmYXVsdE1vdGlvblN0YXRlADEzYnRNb3Rpb25TdGF0ZQAyM2J0R0ltcGFjdFNoYXBlSW50ZXJmYWNlAE4yMmJ0R0ltcGFjdE1lc2hTaGFwZVBhcnQyM1RyaW1lc2hQcmltaXRpdmVNYW5hZ2VyRQAyMmJ0UHJpbWl0aXZlTWFuYWdlckJhc2UAMThidFZlaGljbGVSYXljYXN0ZXIATjE2YnRDb2xsaXNpb25Xb3JsZDI3Q2xvc2VzdENvbnZleFJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMjBDb252ZXhSZXN1bHRDYWxsYmFja0UAMjNidERlZmF1bHRTb2Z0Qm9keVNvbHZlcgAxNmJ0U29mdEJvZHlTb2x2ZXIANDFidFNvZnRCb2R5UmlnaWRCb2R5Q29sbGlzaW9uQ29uZmlndXJhdGlvbgBOMzVidFNvZnRCb2R5Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFADMwYnRDb2xsaXNpb25BbGdvcml0aG1DcmVhdGVGdW5jAE4zNWJ0U29mdEJvZHlDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjlidFNvZnRSaWdpZENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI4YnRTb2Z0U29mdENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAU29mdEJvZHlNYXRlcmlhbERhdGEAU29mdEJvZHlOb2RlRGF0YQBTb2Z0Qm9keUxpbmtEYXRhAFNvZnRCb2R5RmFjZURhdGEAU29mdEJvZHlUZXRyYURhdGEAU29mdFJpZ2lkQW5jaG9yRGF0YQBmbG9hdABTb2Z0Qm9keVBvc2VEYXRhAFNvZnRCb2R5Q2x1c3RlckRhdGEAaW50AGJ0U29mdEJvZHlKb2ludERhdGEAYnRTb2Z0Qm9keUZsb2F0RGF0YQAxMGJ0U29mdEJvZHkATjEwYnRTb2Z0Qm9keTE1UmF5RnJvbVRvQ2FzdGVyRQBONmJ0RGJ2dDhJQ29sbGlkZUUATjEwYnRTb2Z0Qm9keTVKb2ludEUATjEwYnRTb2Z0Qm9keTZDSm9pbnRFAFNvZnRCb2R5ADI0YnRTb2Z0Qm9keUNvbGxpc2lvblNoYXBlAFVwZGF0ZUNsdXN0ZXJzAFNvZnRCb2R5IGFwcGx5Rm9yY2VzAEFwcGx5Q2x1c3RlcnMAYnRDb252ZXhJbnRlcm5hbFNoYXBlRGF0YQBTT0ZUQ0xVU1RFUgAyN2J0U29mdENsdXN0ZXJDb2xsaXNpb25TaGFwZQBOMTVidFNvZnRDb2xsaWRlcnMxMkNvbGxpZGVDTF9SU0UATjE1YnRTb2Z0Q29sbGlkZXJzMTFDbHVzdGVyQmFzZUUATjE1YnRTb2Z0Q29sbGlkZXJzMTNDb2xsaWRlU0RGX1JTRQBOMTVidFNvZnRDb2xsaWRlcnMxMkNvbGxpZGVWRl9TU0UATjE1YnRTb2Z0Q29sbGlkZXJzMTJDb2xsaWRlQ0xfU1NFADI5YnRTb2Z0UmlnaWRDb2xsaXNpb25BbGdvcml0aG0AMjBidENvbGxpc2lvbkFsZ29yaXRobQBUcmlhbmdsZQAxNWJ0VHJpYW5nbGVTaGFwZQBOMTJidENvbnZleENhc3QxMENhc3RSZXN1bHRFAFpOMzVidFNvZnRCb2R5Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTIxY2FsY3VsYXRlVGltZU9mSW1wYWN0RVAxN2J0Q29sbGlzaW9uT2JqZWN0UzFfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTMxTG9jYWxUcmlhbmdsZVNwaGVyZUNhc3RDYWxsYmFjawAyNmJ0U29mdEJvZHlUcmlhbmdsZUNhbGxiYWNrADM1YnRTb2Z0Qm9keUNvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0Ac29sdmVTb2Z0Q29uc3RyYWludHMAcHJlZGljdFVuY29uc3RyYWludE1vdGlvblNvZnRCb2R5AHJheVRlc3QAMjNidFNvZnRTaW5nbGVSYXlDYWxsYmFjawAyM2J0QnJvYWRwaGFzZVJheUNhbGxiYWNrADI0YnRCcm9hZHBoYXNlQWFiYkNhbGxiYWNrADI0YnRTb2Z0UmlnaWREeW5hbWljc1dvcmxkADI4YnRTb2Z0U29mdENvbGxpc2lvbkFsZ29yaXRobQBidFJpZ2lkQm9keUZsb2F0RGF0YQAxMWJ0UmlnaWRCb2R5AGludGVybmFsU2luZ2xlU3RlcFNpbXVsYXRpb24AdXBkYXRlQWN0aW9ucwBjcmVhdGVQcmVkaWN0aXZlQ29udGFjdHMAcmVsZWFzZSBwcmVkaWN0aXZlIGNvbnRhY3QgbWFuaWZvbGRzAHByZWRpY3RpdmUgY29udmV4U3dlZXBUZXN0ADM0YnRDbG9zZXN0Tm90TWVDb252ZXhSZXN1bHRDYWxsYmFjawB1cGRhdGVBY3RpdmF0aW9uU3RhdGUAc29sdmVDb25zdHJhaW50cwBjYWxjdWxhdGVTaW11bGF0aW9uSXNsYW5kcwBpbnRlZ3JhdGVUcmFuc2Zvcm1zAENDRCBtb3Rpb24gY2xhbXBpbmcAYXBwbHkgc3BlY3VsYXRpdmUgY29udGFjdCByZXN0aXR1dGlvbgBwcmVkaWN0VW5jb25zdHJhaW50TW90aW9uAHN5bmNocm9uaXplTW90aW9uU3RhdGVzAHN0ZXBTaW11bGF0aW9uAGJ0RHluYW1pY3NXb3JsZEZsb2F0RGF0YQBkZWJ1Z0RyYXdXb3JsZAAyM2J0RGlzY3JldGVEeW5hbWljc1dvcmxkADE1YnREeW5hbWljc1dvcmxkADI3SW5wbGFjZVNvbHZlcklzbGFuZENhbGxiYWNrAE4yNWJ0U2ltdWxhdGlvbklzbGFuZE1hbmFnZXIxNElzbGFuZENhbGxiYWNrRQAxN2J0Rml4ZWRDb25zdHJhaW50AGJ0R2VuZXJpYzZEb2ZDb25zdHJhaW50RGF0YQAyM2J0R2VuZXJpYzZEb2ZDb25zdHJhaW50AGJ0R2VuZXJpYzZEb2ZTcHJpbmdDb25zdHJhaW50RGF0YQAyOWJ0R2VuZXJpYzZEb2ZTcHJpbmdDb25zdHJhaW50AGJ0UG9pbnQyUG9pbnRDb25zdHJhaW50RmxvYXREYXRhADIzYnRQb2ludDJQb2ludENvbnN0cmFpbnQAYnRUeXBlZENvbnN0cmFpbnRGbG9hdERhdGEAMTdidFR5cGVkQ29uc3RyYWludAAxM2J0VHlwZWRPYmplY3QAYnRTbGlkZXJDb25zdHJhaW50RGF0YQAxOGJ0U2xpZGVyQ29uc3RyYWludABidENvbmVUd2lzdENvbnN0cmFpbnREYXRhADIxYnRDb25lVHdpc3RDb25zdHJhaW50AGJ0SGluZ2VDb25zdHJhaW50RmxvYXREYXRhADE3YnRIaW5nZUNvbnN0cmFpbnQAc29sdmVHcm91cENhY2hlRnJpZW5kbHlJdGVyYXRpb25zAHNvbHZlR3JvdXBDYWNoZUZyaWVuZGx5U2V0dXAAc29sdmVHcm91cAAzNWJ0U2VxdWVudGlhbEltcHVsc2VDb25zdHJhaW50U29sdmVyADE4YnRDb25zdHJhaW50U29sdmVyADE2YnRSYXljYXN0VmVoaWNsZQAxN2J0QWN0aW9uSW50ZXJmYWNlADI1YnREZWZhdWx0VmVoaWNsZVJheWNhc3RlcgA0M2J0S2luZW1hdGljQ2xvc2VzdE5vdE1lQ29udmV4UmVzdWx0Q2FsbGJhY2sAMzBidEtpbmVtYXRpY0NoYXJhY3RlckNvbnRyb2xsZXIAMzBidENoYXJhY3RlckNvbnRyb2xsZXJJbnRlcmZhY2UAMjJidFN1YnNpbXBsZXhDb252ZXhDYXN0ADEyYnRDb252ZXhDYXN0AGJ0Q29sbGlzaW9uT2JqZWN0RmxvYXREYXRhADE3YnRDb2xsaXNpb25PYmplY3QAMTNidEdob3N0T2JqZWN0ADI0YnRQYWlyQ2FjaGluZ0dob3N0T2JqZWN0ADIzYnRDb2xsaXNpb25QYWlyQ2FsbGJhY2sAMTdidE92ZXJsYXBDYWxsYmFjawAyMWJ0Q29sbGlzaW9uRGlzcGF0Y2hlcgAzMWJ0RGVmYXVsdENvbGxpc2lvbkNvbmZpZ3VyYXRpb24AMjRidENvbGxpc2lvbkNvbmZpZ3VyYXRpb24ATjMxYnRDb252ZXhQbGFuZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI2YnRCb3hCb3hDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4zNGJ0U3BoZXJlVHJpYW5nbGVDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4zMmJ0U3BoZXJlU3BoZXJlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMTZidEVtcHR5QWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjhidENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtMTdTd2FwcGVkQ3JlYXRlRnVuY0UATjM2YnRDb21wb3VuZENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjhidENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0xN1N3YXBwZWRDcmVhdGVGdW5jRQBOMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFADI1YnRTaW11bGF0aW9uSXNsYW5kTWFuYWdlcgBpc2xhbmRVbmlvbkZpbmRBbmRRdWlja1NvcnQAcHJvY2Vzc0lzbGFuZHMAMzFidENvbnZleFBsYW5lQ29sbGlzaW9uQWxnb3JpdGhtAFpOMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0yMWNhbGN1bGF0ZVRpbWVPZkltcGFjdEVQMTdidENvbGxpc2lvbk9iamVjdFMxX1JLMTZidERpc3BhdGNoZXJJbmZvUDE2YnRNYW5pZm9sZFJlc3VsdEUzMUxvY2FsVHJpYW5nbGVTcGhlcmVDYXN0Q2FsbGJhY2sAMjRidENvbnZleFRyaWFuZ2xlQ2FsbGJhY2sAMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0AMjZidEJveEJveENvbGxpc2lvbkFsZ29yaXRobQAxNmJ0TWFuaWZvbGRSZXN1bHQATjM2YnREaXNjcmV0ZUNvbGxpc2lvbkRldGVjdG9ySW50ZXJmYWNlNlJlc3VsdEUAcGVyZm9ybURpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0aW9uAGRpc3BhdGNoQWxsQ29sbGlzaW9uUGFpcnMAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTE1TG9jYWxJbmZvQWRkZXIyAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUU5UmF5VGVzdGVyAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUUyOUJyaWRnZVRyaWFuZ2xlUmF5Y2FzdENhbGxiYWNrXzAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTI5QnJpZGdlVHJpYW5nbGVSYXljYXN0Q2FsbGJhY2sAMTlidFNpbmdsZVJheUNhbGxiYWNrADE3RGVidWdEcmF3Y2FsbGJhY2sAY2FsY3VsYXRlT3ZlcmxhcHBpbmdQYWlycwB1cGRhdGVBYWJicwABT3ZlcmZsb3cgaW4gQUFCQiwgb2JqZWN0IHJlbW92ZWQgZnJvbSBzaW11bGF0aW9uAElmIHlvdSBjYW4gcmVwcm9kdWNlIHRoaXMsIHBsZWFzZSBlbWFpbCBidWdzQGNvbnRpbnVvdXNwaHlzaWNzLmNvbQoAUGxlYXNlIGluY2x1ZGUgYWJvdmUgaW5mb3JtYXRpb24sIHlvdXIgUGxhdGZvcm0sIHZlcnNpb24gb2YgT1MuCgBUaGFua3MuCgAxNmJ0Q29sbGlzaW9uV29ybGQAY29udmV4U3dlZXBDb21wb3VuZABaTjE2YnRDb2xsaXNpb25Xb3JsZDI1b2JqZWN0UXVlcnlTaW5nbGVJbnRlcm5hbEVQSzEzYnRDb252ZXhTaGFwZVJLMTFidFRyYW5zZm9ybVM1X1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMjBDb252ZXhSZXN1bHRDYWxsYmFja0VmRTE0TG9jYWxJbmZvQWRkZXIAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUzMkJyaWRnZVRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrXzAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUzMkJyaWRnZVRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrAGNvbnZleFN3ZWVwVGVzdAAyMWJ0U2luZ2xlU3dlZXBDYWxsYmFjawAyM2J0QnJpZGdlZE1hbmlmb2xkUmVzdWx0ADIzYnRTaW5nbGVDb250YWN0Q2FsbGJhY2sAMzRidFNwaGVyZVRyaWFuZ2xlQ29sbGlzaW9uQWxnb3JpdGhtADI0YnRQZXJ0dXJiZWRDb250YWN0UmVzdWx0AFpOMjNidENvbnZleENvbnZleEFsZ29yaXRobTE2cHJvY2Vzc0NvbGxpc2lvbkVQSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUzJfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTIxYnRXaXRob3V0TWFyZ2luUmVzdWx0AFpOMjNidENvbnZleENvbnZleEFsZ29yaXRobTE2cHJvY2Vzc0NvbGxpc2lvbkVQSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUzJfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTEzYnREdW1teVJlc3VsdAAyM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtAE4yM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtMTBDcmVhdGVGdW5jRQAyMmJ0Q29tcG91bmRMZWFmQ2FsbGJhY2sAMjhidENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtADMwYnRDb21wb3VuZENvbXBvdW5kTGVhZkNhbGxiYWNrADM2YnRDb21wb3VuZENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtAGJ0Q29tcG91bmRTaGFwZUNoaWxkRGF0YQBidENvbXBvdW5kU2hhcGVEYXRhAENvbXBvdW5kADE1YnRDb21wb3VuZFNoYXBlAGJ0Q29uZVNoYXBlRGF0YQBDb25lADExYnRDb25lU2hhcGUAQ29uZVoAMTJidENvbmVTaGFwZVoAQ29uZVgAMTJidENvbmVTaGFwZVgAU1BIRVJFADEzYnRTcGhlcmVTaGFwZQBaTksyMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUxOXByb2Nlc3NBbGxUcmlhbmdsZXNFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfRTIxTXlOb2RlT3ZlcmxhcENhbGxiYWNrADIxYnROb2RlT3ZlcmxhcENhbGxiYWNrAGJ0VHJpYW5nbGVNZXNoU2hhcGVEYXRhAEJWSFRSSUFOR0xFTUVTSAAyMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUAWk4yMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUxNHBlcmZvcm1SYXljYXN0RVAxOGJ0VHJpYW5nbGVDYWxsYmFja1JLOWJ0VmVjdG9yM1M0X0UyMU15Tm9kZU92ZXJsYXBDYWxsYmFjawBaTjIyYnRCdmhUcmlhbmdsZU1lc2hTaGFwZTE3cGVyZm9ybUNvbnZleGNhc3RFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfUzRfUzRfRTIxTXlOb2RlT3ZlcmxhcENhbGxiYWNrADIxU3VwcG9ydFZlcnRleENhbGxiYWNrAFpOSzE5YnRUcmlhbmdsZU1lc2hTaGFwZTE5cHJvY2Vzc0FsbFRyaWFuZ2xlc0VQMThidFRyaWFuZ2xlQ2FsbGJhY2tSSzlidFZlY3RvcjNTNF9FMTZGaWx0ZXJlZENhbGxiYWNrAFRSSUFOR0xFTUVTSAAxOWJ0VHJpYW5nbGVNZXNoU2hhcGUAYnRTdGF0aWNQbGFuZVNoYXBlRGF0YQBTVEFUSUNQTEFORQAxOGJ0U3RhdGljUGxhbmVTaGFwZQAyM2J0UG9seWhlZHJhbENvbnZleFNoYXBlADM0YnRQb2x5aGVkcmFsQ29udmV4QWFiYkNhY2hpbmdTaGFwZQBidENvbGxpc2lvblNoYXBlRGF0YQAxNmJ0Q29sbGlzaW9uU2hhcGUAMTNidENvbnZleFNoYXBlADIxYnRDb252ZXhJbnRlcm5hbFNoYXBlAGJ0Q29udmV4SHVsbFNoYXBlRGF0YQBDb252ZXgAMTdidENvbnZleEh1bGxTaGFwZQAxOGJ0VHJpYW5nbGVDYWxsYmFjawAzMWJ0SW50ZXJuYWxUcmlhbmdsZUluZGV4Q2FsbGJhY2sAYnRDYXBzdWxlU2hhcGVEYXRhAENhcHN1bGVTaGFwZQAxNGJ0Q2Fwc3VsZVNoYXBlAENhcHN1bGVYADE1YnRDYXBzdWxlU2hhcGVYAENhcHN1bGVaADE1YnRDYXBzdWxlU2hhcGVaADI2TG9jYWxTdXBwb3J0VmVydGV4Q2FsbGJhY2sAQ29udmV4VHJpbWVzaAAyNWJ0Q29udmV4VHJpYW5nbGVNZXNoU2hhcGUAMTRidENvbmNhdmVTaGFwZQBCb3gAMTBidEJveFNoYXBlADE0YnRPcHRpbWl6ZWRCdmgAWk4xNGJ0T3B0aW1pemVkQnZoNWJ1aWxkRVAyM2J0U3RyaWRpbmdNZXNoSW50ZXJmYWNlYlJLOWJ0VmVjdG9yM1M0X0UyME5vZGVUcmlhbmdsZUNhbGxiYWNrAFpOMTRidE9wdGltaXplZEJ2aDVidWlsZEVQMjNidFN0cmlkaW5nTWVzaEludGVyZmFjZWJSSzlidFZlY3RvcjNTNF9FMjlRdWFudGl6ZWROb2RlVHJpYW5nbGVDYWxsYmFjawBIRUlHSFRGSUVMRAAyNWJ0SGVpZ2h0ZmllbGRUZXJyYWluU2hhcGUAYnRDeWxpbmRlclNoYXBlRGF0YQBDeWxpbmRlclkAMTVidEN5bGluZGVyU2hhcGUAQ3lsaW5kZXJYADE2YnRDeWxpbmRlclNoYXBlWABDeWxpbmRlcloAMTZidEN5bGluZGVyU2hhcGVaADE0YnRUcmlhbmdsZU1lc2gAMjBidEF4aXNTd2VlcDNJbnRlcm5hbEl0RQAyMWJ0QnJvYWRwaGFzZUludGVyZmFjZQAxMmJ0QXhpc1N3ZWVwMwAxNWJ0TnVsbFBhaXJDYWNoZQAyMmJ0T3ZlcmxhcHBpbmdQYWlyQ2FjaGUAWk4yOGJ0SGFzaGVkT3ZlcmxhcHBpbmdQYWlyQ2FjaGUxOWNsZWFuUHJveHlGcm9tUGFpcnNFUDE3YnRCcm9hZHBoYXNlUHJveHlQMTJidERpc3BhdGNoZXJFMTdDbGVhblBhaXJDYWxsYmFjawBaTjI4YnRIYXNoZWRPdmVybGFwcGluZ1BhaXJDYWNoZTM3cmVtb3ZlT3ZlcmxhcHBpbmdQYWlyc0NvbnRhaW5pbmdQcm94eUVQMTdidEJyb2FkcGhhc2VQcm94eVAxMmJ0RGlzcGF0Y2hlckUxOFJlbW92ZVBhaXJDYWxsYmFjawAyOGJ0SGFzaGVkT3ZlcmxhcHBpbmdQYWlyQ2FjaGUAMThidERidnRUcmVlQ29sbGlkZXIAMjBCcm9hZHBoYXNlQWFiYlRlc3RlcgAxOUJyb2FkcGhhc2VSYXlUZXN0ZXIAMTZidERidnRCcm9hZHBoYXNlADEyYnREaXNwYXRjaGVyAGJ0T3B0aW1pemVkQnZoTm9kZURhdGEAYnRRdWFudGl6ZWRCdmhOb2RlRGF0YQBidEJ2aFN1YnRyZWVJbmZvRGF0YQBidFF1YW50aXplZEJ2aEZsb2F0RGF0YQAxNGJ0UXVhbnRpemVkQnZoAE4xOEdJTV9TaGFwZVJldHJpZXZlcjE5VGV0cmFTaGFwZVJldHJpZXZlckUATjE4R0lNX1NoYXBlUmV0cmlldmVyMTlDaGlsZFNoYXBlUmV0cmlldmVyRQBOMThHSU1fU2hhcGVSZXRyaWV2ZXIyMlRyaWFuZ2xlU2hhcGVSZXRyaWV2ZXJFAGJ0QlVfU2ltcGxleDF0bzQAMjBidFRldHJhaGVkcm9uU2hhcGVFeAAxN2J0VHJpYW5nbGVTaGFwZUV4ADI1YnRHSW1wYWN0VHJpYW5nbGVDYWxsYmFjawAyN2J0R0ltcGFjdENvbGxpc2lvbkFsZ29yaXRobQBOMjdidEdJbXBhY3RDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAEdJbXBhY3RNZXNoU2hhcGVQYXJ0ADIyYnRHSW1wYWN0TWVzaFNoYXBlUGFydABidEdJbXBhY3RNZXNoU2hhcGVEYXRhAEdJbXBhY3RNZXNoADE4YnRHSW1wYWN0TWVzaFNoYXBlADI1YnRUcmlhbmdsZVJheWNhc3RDYWxsYmFjawAyOGJ0VHJpYW5nbGVDb252ZXhjYXN0Q2FsbGJhY2sAWk4zM2J0TWlua293c2tpUGVuZXRyYXRpb25EZXB0aFNvbHZlcjEyY2FsY1BlbkRlcHRoRVIyMmJ0Vm9yb25vaVNpbXBsZXhTb2x2ZXJQSzEzYnRDb252ZXhTaGFwZVM0X1JLMTFidFRyYW5zZm9ybVM3X1I5YnRWZWN0b3IzUzlfUzlfUDEyYnRJRGVidWdEcmF3RTIwYnRJbnRlcm1lZGlhdGVSZXN1bHQAMzNidE1pbmtvd3NraVBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMzBidENvbnZleFBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMzBidEdqa0VwYVBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMTZidFBvaW50Q29sbGVjdG9yADE1YnRHamtDb252ZXhDYXN0ADI3YnRDb250aW51b3VzQ29udmV4Q29sbGlzaW9uADE3YnRHamtQYWlyRGV0ZWN0b3IAMzZidERpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0b3JJbnRlcmZhY2UAMzBidEFjdGl2YXRpbmdDb2xsaXNpb25BbGdvcml0aG0AMTZidEVtcHR5QWxnb3JpdGhtADMyYnRTcGhlcmVTcGhlcmVDb2xsaXNpb25BbGdvcml0aG0AMTZidEJveEJveERldGVjdG9yADIyU3BoZXJlVHJpYW5nbGVEZXRlY3RvcgAyM2J0SGFzaGVkU2ltcGxlUGFpckNhY2hlADE2YnRCVV9TaW1wbGV4MXRvNAAxOGJ0Q29udmV4UG9seWhlZHJvbgAyNmJ0VHJpYW5nbGVJbmRleFZlcnRleEFycmF5AGJ0SW50SW5kZXhEYXRhAGJ0U2hvcnRJbnRJbmRleFRyaXBsZXREYXRhAGJ0Q2hhckluZGV4VHJpcGxldERhdGEAYnRWZWN0b3IzRmxvYXREYXRhAGJ0VmVjdG9yM0RvdWJsZURhdGEAYnRNZXNoUGFydERhdGEAYnRTdHJpZGluZ01lc2hJbnRlcmZhY2VEYXRhADIzYnRTdHJpZGluZ01lc2hJbnRlcmZhY2UAUm9vdAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F";
|
|
var Ya=Ba;Ba+=16;function Za(){return!!Za.kf}var $a=0,ab=[],bb={};function cb(){var a=$a;if(!a)return(db(0),0)|0;var b=bb[a],e=b.type;if(!e)return(db(0),a)|0;var f=Array.prototype.slice.call(arguments);c.___cxa_is_pointer_type(e);cb.buffer||(cb.buffer=eb(4));xa[cb.buffer>>2]=a;a=cb.buffer;for(var g=0;g<f.length;g++)if(f[g]&&c.___cxa_can_catch(f[g],e,a))return a=xa[a>>2],b.Z=a,(db(f[g]),a)|0;a=xa[a>>2];return(db(e),a)|0}var fb=[null,[],[]];
|
|
function gb(a,b){var e=fb[a];assert(e);0===b||10===b?((1===a?pa:qa)(ua(e,0)),e.length=0):e.push(b)}var hb=0;function ib(){hb+=4;return xa[hb-4>>2]}var jb={},kb={},lb=1;function mb(a,b){mb.N||(mb.N={});a in mb.N||(c.dynCall_v(b),mb.N[a]=1)}var nb=Ba;Ba=Ba+4+15&-16;Ga=nb;Ca=Da=ra(Ba);Ea=Ca+Ja;Fa=ra(Ea);xa[Ga>>2]=Fa;var ob=!1;
|
|
function oa(a){for(var b=[],e=0;e<a.length;e++){var f=a[e];255<f&&(ob&&assert(!1,"Character code "+f+" ("+String.fromCharCode(f)+") at offset "+e+" not in 0x00-0xFF."),f&=255);b.push(String.fromCharCode(f))}return b.join("")}
|
|
var pb="function"===typeof atob?atob:function(a){var b="",e=0;a=a.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(e++));var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(e++));var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(e++));var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(e++));f=f<<2|g>>4;
|
|
g=(g&15)<<4|h>>2;var t=(h&3)<<6|m;b+=String.fromCharCode(f);64!==h&&(b+=String.fromCharCode(g));64!==m&&(b+=String.fromCharCode(t))}while(e<a.length);return b};
|
|
function ma(a){if(String.prototype.startsWith?a.startsWith(Va):0===a.indexOf(Va)){a=a.slice(Va.length);if("boolean"===typeof ha&&ha){try{var b=Buffer.from(a,"base64")}catch(h){b=new Buffer(a,"base64")}var e=new Uint8Array(b.buffer,b.byteOffset,b.byteLength)}else try{var f=pb(a),g=new Uint8Array(f.length);for(b=0;b<f.length;++b)g[b]=f.charCodeAt(b);e=g}catch(h){throw Error("Converting base64 string to bytes failed.");}return e}}
|
|
c.$={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity};
|
|
c.aa={abort:na,assert:assert,enlargeMemory:function(){Ha()},getTotalMemory:function(){return Ia},abortOnCannotGrowMemory:Ha,invoke_di:function(a,b){var e=d();try{return c.dynCall_di(a,b)}catch(f){k(e);if("number"!==typeof f&&"longjmp"!==f)throw f;c.setThrew(1,0)}},invoke_did:function(a,b,e){var f=d();try{return c.dynCall_did(a,b,e)}catch(g){k(f);if("number"!==typeof g&&"longjmp"!==g)throw g;c.setThrew(1,0)}},invoke_diidii:function(a,b,e,f,g,h){var m=d();try{return c.dynCall_diidii(a,b,e,f,g,h)}catch(t){k(m);
|
|
if("number"!==typeof t&&"longjmp"!==t)throw t;c.setThrew(1,0)}},invoke_diii:function(a,b,e,f){var g=d();try{return c.dynCall_diii(a,b,e,f)}catch(h){k(g);if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},invoke_diiidii:function(a,b,e,f,g,h,m){var t=d();try{return c.dynCall_diiidii(a,b,e,f,g,h,m)}catch(v){k(t);if("number"!==typeof v&&"longjmp"!==v)throw v;c.setThrew(1,0)}},invoke_diiii:function(a,b,e,f,g){var h=d();try{return c.dynCall_diiii(a,b,e,f,g)}catch(m){k(h);if("number"!==typeof m&&
|
|
"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_diiiii:function(a,b,e,f,g,h){var m=d();try{return c.dynCall_diiiii(a,b,e,f,g,h)}catch(t){k(m);if("number"!==typeof t&&"longjmp"!==t)throw t;c.setThrew(1,0)}},invoke_diiiiiiii:function(a,b,e,f,g,h,m,t,v){var T=d();try{return c.dynCall_diiiiiiii(a,b,e,f,g,h,m,t,v)}catch(da){k(T);if("number"!==typeof da&&"longjmp"!==da)throw da;c.setThrew(1,0)}},invoke_diiiiiiiii:function(a,b,e,f,g,h,m,t,v,T){var da=d();try{return c.dynCall_diiiiiiiii(a,b,e,f,g,h,m,t,v,
|
|
T)}catch(aa){k(da);if("number"!==typeof aa&&"longjmp"!==aa)throw aa;c.setThrew(1,0)}},invoke_diiiiiiiiii:function(a,b,e,f,g,h,m,t,v,T,da){var aa=d();try{return c.dynCall_diiiiiiiiii(a,b,e,f,g,h,m,t,v,T,da)}catch(ya){k(aa);if("number"!==typeof ya&&"longjmp"!==ya)throw ya;c.setThrew(1,0)}},invoke_ii:function(a,b){var e=d();try{return c.dynCall_ii(a,b)}catch(f){k(e);if("number"!==typeof f&&"longjmp"!==f)throw f;c.setThrew(1,0)}},invoke_iidid:function(a,b,e,f,g){var h=d();try{return c.dynCall_iidid(a,
|
|
b,e,f,g)}catch(m){k(h);if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_iii:function(a,b,e){var f=d();try{return c.dynCall_iii(a,b,e)}catch(g){k(f);if("number"!==typeof g&&"longjmp"!==g)throw g;c.setThrew(1,0)}},invoke_iiid:function(a,b,e,f){var g=d();try{return c.dynCall_iiid(a,b,e,f)}catch(h){k(g);if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},invoke_iiii:function(a,b,e,f){var g=d();try{return c.dynCall_iiii(a,b,e,f)}catch(h){k(g);if("number"!==typeof h&&"longjmp"!==
|
|
h)throw h;c.setThrew(1,0)}},invoke_iiiii:function(a,b,e,f,g){var h=d();try{return c.dynCall_iiiii(a,b,e,f,g)}catch(m){k(h);if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_iiiiiii:function(a,b,e,f,g,h,m){var t=d();try{return c.dynCall_iiiiiii(a,b,e,f,g,h,m)}catch(v){k(t);if("number"!==typeof v&&"longjmp"!==v)throw v;c.setThrew(1,0)}},invoke_iiiiiiiiii:function(a,b,e,f,g,h,m,t,v,T){var da=d();try{return c.dynCall_iiiiiiiiii(a,b,e,f,g,h,m,t,v,T)}catch(aa){k(da);if("number"!==typeof aa&&
|
|
"longjmp"!==aa)throw aa;c.setThrew(1,0)}},invoke_iiiiiiiiiii:function(a,b,e,f,g,h,m,t,v,T,da){var aa=d();try{return c.dynCall_iiiiiiiiiii(a,b,e,f,g,h,m,t,v,T,da)}catch(ya){k(aa);if("number"!==typeof ya&&"longjmp"!==ya)throw ya;c.setThrew(1,0)}},invoke_v:function(a){var b=d();try{c.dynCall_v(a)}catch(e){k(b);if("number"!==typeof e&&"longjmp"!==e)throw e;c.setThrew(1,0)}},invoke_vi:function(a,b){var e=d();try{c.dynCall_vi(a,b)}catch(f){k(e);if("number"!==typeof f&&"longjmp"!==f)throw f;c.setThrew(1,
|
|
0)}},invoke_vid:function(a,b,e){var f=d();try{c.dynCall_vid(a,b,e)}catch(g){k(f);if("number"!==typeof g&&"longjmp"!==g)throw g;c.setThrew(1,0)}},invoke_vidd:function(a,b,e,f){var g=d();try{c.dynCall_vidd(a,b,e,f)}catch(h){k(g);if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},invoke_viddiii:function(a,b,e,f,g,h,m){var t=d();try{c.dynCall_viddiii(a,b,e,f,g,h,m)}catch(v){k(t);if("number"!==typeof v&&"longjmp"!==v)throw v;c.setThrew(1,0)}},invoke_vidi:function(a,b,e,f){var g=d();try{c.dynCall_vidi(a,
|
|
b,e,f)}catch(h){k(g);if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},invoke_vidii:function(a,b,e,f,g){var h=d();try{c.dynCall_vidii(a,b,e,f,g)}catch(m){k(h);if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_vii:function(a,b,e){var f=d();try{c.dynCall_vii(a,b,e)}catch(g){k(f);if("number"!==typeof g&&"longjmp"!==g)throw g;c.setThrew(1,0)}},invoke_viid:function(a,b,e,f){var g=d();try{c.dynCall_viid(a,b,e,f)}catch(h){k(g);if("number"!==typeof h&&"longjmp"!==h)throw h;
|
|
c.setThrew(1,0)}},invoke_viidi:function(a,b,e,f,g){var h=d();try{c.dynCall_viidi(a,b,e,f,g)}catch(m){k(h);if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_viidii:function(a,b,e,f,g,h){var m=d();try{c.dynCall_viidii(a,b,e,f,g,h)}catch(t){k(m);if("number"!==typeof t&&"longjmp"!==t)throw t;c.setThrew(1,0)}},invoke_viii:function(a,b,e,f){var g=d();try{c.dynCall_viii(a,b,e,f)}catch(h){k(g);if("number"!==typeof h&&"longjmp"!==h)throw h;c.setThrew(1,0)}},invoke_viiid:function(a,b,e,
|
|
f,g){var h=d();try{c.dynCall_viiid(a,b,e,f,g)}catch(m){k(h);if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_viiidii:function(a,b,e,f,g,h,m){var t=d();try{c.dynCall_viiidii(a,b,e,f,g,h,m)}catch(v){k(t);if("number"!==typeof v&&"longjmp"!==v)throw v;c.setThrew(1,0)}},invoke_viiii:function(a,b,e,f,g){var h=d();try{c.dynCall_viiii(a,b,e,f,g)}catch(m){k(h);if("number"!==typeof m&&"longjmp"!==m)throw m;c.setThrew(1,0)}},invoke_viiiid:function(a,b,e,f,g,h){var m=d();try{c.dynCall_viiiid(a,
|
|
b,e,f,g,h)}catch(t){k(m);if("number"!==typeof t&&"longjmp"!==t)throw t;c.setThrew(1,0)}},invoke_viiiidddddidi:function(a,b,e,f,g,h,m,t,v,T,da,aa,ya){var Sb=d();try{c.dynCall_viiiidddddidi(a,b,e,f,g,h,m,t,v,T,da,aa,ya)}catch(wc){k(Sb);if("number"!==typeof wc&&"longjmp"!==wc)throw wc;c.setThrew(1,0)}},invoke_viiiiddddiid:function(a,b,e,f,g,h,m,t,v,T,da,aa){var ya=d();try{c.dynCall_viiiiddddiid(a,b,e,f,g,h,m,t,v,T,da,aa)}catch(Sb){k(ya);if("number"!==typeof Sb&&"longjmp"!==Sb)throw Sb;c.setThrew(1,0)}},
|
|
invoke_viiiii:function(a,b,e,f,g,h){var m=d();try{c.dynCall_viiiii(a,b,e,f,g,h)}catch(t){k(m);if("number"!==typeof t&&"longjmp"!==t)throw t;c.setThrew(1,0)}},invoke_viiiiid:function(a,b,e,f,g,h,m){var t=d();try{c.dynCall_viiiiid(a,b,e,f,g,h,m)}catch(v){k(t);if("number"!==typeof v&&"longjmp"!==v)throw v;c.setThrew(1,0)}},invoke_viiiiii:function(a,b,e,f,g,h,m){var t=d();try{c.dynCall_viiiiii(a,b,e,f,g,h,m)}catch(v){k(t);if("number"!==typeof v&&"longjmp"!==v)throw v;c.setThrew(1,0)}},invoke_viiiiiii:function(a,
|
|
b,e,f,g,h,m,t){var v=d();try{c.dynCall_viiiiiii(a,b,e,f,g,h,m,t)}catch(T){k(v);if("number"!==typeof T&&"longjmp"!==T)throw T;c.setThrew(1,0)}},invoke_viiiiiiiid:function(a,b,e,f,g,h,m,t,v,T){var da=d();try{c.dynCall_viiiiiiiid(a,b,e,f,g,h,m,t,v,T)}catch(aa){k(da);if("number"!==typeof aa&&"longjmp"!==aa)throw aa;c.setThrew(1,0)}},invoke_viiiiiiiii:function(a,b,e,f,g,h,m,t,v,T){var da=d();try{c.dynCall_viiiiiiiii(a,b,e,f,g,h,m,t,v,T)}catch(aa){k(da);if("number"!==typeof aa&&"longjmp"!==aa)throw aa;
|
|
c.setThrew(1,0)}},invoke_viiiiiiiiii:function(a,b,e,f,g,h,m,t,v,T,da){var aa=d();try{c.dynCall_viiiiiiiiii(a,b,e,f,g,h,m,t,v,T,da)}catch(ya){k(aa);if("number"!==typeof ya&&"longjmp"!==ya)throw ya;c.setThrew(1,0)}},__ZSt18uncaught_exceptionv:Za,___cxa_begin_catch:function(a){var b=bb[a];b&&!b.ba&&(b.ba=!0,Za.kf--);b&&(b.nf=!1);ab.push(a);a:{if(a&&!bb[a])for(e in bb)if(b=+e,bb[b].Z===a){var e=b;break a}e=a}e&&bb[e].mf++;return a},___cxa_find_matching_catch:cb,___cxa_pure_virtual:function(){sa=!0;throw"Pure virtual function called!";
|
|
},___gxx_personality_v0:function(){},___resumeException:function(a){$a||($a=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___setErrNo:function(a){c.___errno_location&&(xa[c.___errno_location()>>2]=a);return a},___syscall140:function(a,b){hb=b;try{var e=jb.da();ib();var f=ib(),g=ib(),h=ib();FS.lf(e,f,h);xa[g>>2]=e.position;e.Hc&&0===f&&0===h&&(e.Hc=null);return 0}catch(m){return"undefined"!==
|
|
typeof FS&&m instanceof FS.X||na(m),-m.Y}},___syscall146:function(a,b){hb=b;try{var e=ib(),f=ib(),g=ib();for(b=a=0;b<g;b++){for(var h=xa[f+8*b>>2],m=xa[f+(8*b+4)>>2],t=0;t<m;t++)gb(e,wa[h+t]);a+=m}return a}catch(v){return"undefined"!==typeof FS&&v instanceof FS.X||na(v),-v.Y}},___syscall6:function(a,b){hb=b;try{var e=jb.da();FS.close(e);return 0}catch(f){return"undefined"!==typeof FS&&f instanceof FS.X||na(f),-f.Y}},_abort:function(){c.abort()},_emscripten_asm_const_diiiiiiii:function(a,b,e,f,g,h,
|
|
m,t,v){return Wa[a](b,e,f,g,h,m,t,v)},_emscripten_asm_const_ii:function(a,b){return Wa[a](b)},_emscripten_asm_const_iii:function(a,b,e){return Wa[a](b,e)},_emscripten_asm_const_iiii:function(a,b,e,f){return Wa[a](b,e,f)},_emscripten_asm_const_iiiidii:function(a,b,e,f,g,h,m){return Wa[a](b,e,f,g,h,m)},_emscripten_asm_const_iiiii:function(a,b,e,f,g){return Wa[a](b,e,f,g)},_emscripten_memcpy_big:function(a,b,e){wa.set(wa.subarray(b,b+e),a);return a},_gettimeofday:function(a){var b=Date.now();xa[a>>2]=
|
|
b/1E3|0;xa[a+4>>2]=b%1E3*1E3|0;return 0},_llvm_trap:function(){na("trap!")},_pthread_getspecific:function(a){return kb[a]||0},_pthread_key_create:function(a){if(0==a)return 22;xa[a>>2]=lb;kb[lb]=0;lb++;return 0},_pthread_once:mb,_pthread_setspecific:function(a,b){if(!(a in kb))return 22;kb[a]=b;return 0},flush_NO_FILESYSTEM:function(){var a=c._fflush;a&&a(0);fb[1].length&&gb(1,10);fb[2].length&&gb(2,10)},DYNAMICTOP_PTR:Ga,tempDoublePtr:Ya,STACKTOP:Da,STACK_MAX:Ea};// EMSCRIPTEN_START_ASM
|
|
|
|
var l=(/** @suppress {uselessCode} */ function(global,env,buffer) {
|
|
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.STACKTOP|0;var l=env.STACK_MAX|0;var m=0;var n=0;var o=0;var p=0;var q=global.NaN,r=global.Infinity;var s=0,t=0,u=0,v=0,w=0.0;var x=0;var y=global.Math.floor;var z=global.Math.abs;var A=global.Math.sqrt;var B=global.Math.pow;var C=global.Math.cos;var D=global.Math.sin;var E=global.Math.tan;var F=global.Math.acos;var G=global.Math.asin;var H=global.Math.atan;var I=global.Math.atan2;var J=global.Math.exp;var K=global.Math.log;var L=global.Math.ceil;var M=global.Math.imul;var N=global.Math.min;var O=global.Math.max;var P=global.Math.clz32;var Q=env.abort;var R=env.assert;var S=env.enlargeMemory;var T=env.getTotalMemory;var U=env.abortOnCannotGrowMemory;var V=env.invoke_di;var W=env.invoke_did;var X=env.invoke_diidii;var Y=env.invoke_diii;var Z=env.invoke_diiidii;var _=env.invoke_diiii;var $=env.invoke_diiiii;var aa=env.invoke_diiiiiiii;var ba=env.invoke_diiiiiiiii;var ca=env.invoke_diiiiiiiiii;var da=env.invoke_ii;var ea=env.invoke_iidid;var fa=env.invoke_iii;var ga=env.invoke_iiid;var ha=env.invoke_iiii;var ia=env.invoke_iiiii;var ja=env.invoke_iiiiiii;var ka=env.invoke_iiiiiiiiii;var la=env.invoke_iiiiiiiiiii;var ma=env.invoke_v;var na=env.invoke_vi;var oa=env.invoke_vid;var pa=env.invoke_vidd;var qa=env.invoke_viddiii;var ra=env.invoke_vidi;var sa=env.invoke_vidii;var ta=env.invoke_vii;var ua=env.invoke_viid;var va=env.invoke_viidi;var wa=env.invoke_viidii;var xa=env.invoke_viii;var ya=env.invoke_viiid;var za=env.invoke_viiidii;var Aa=env.invoke_viiii;var Ba=env.invoke_viiiid;var Ca=env.invoke_viiiidddddidi;var Da=env.invoke_viiiiddddiid;var Ea=env.invoke_viiiii;var Fa=env.invoke_viiiiid;var Ga=env.invoke_viiiiii;var Ha=env.invoke_viiiiiii;var Ia=env.invoke_viiiiiiiid;var Ja=env.invoke_viiiiiiiii;var Ka=env.invoke_viiiiiiiiii;var La=env.__ZSt18uncaught_exceptionv;var Ma=env.___cxa_begin_catch;var Na=env.___cxa_find_matching_catch;var Oa=env.___cxa_pure_virtual;var Pa=env.___gxx_personality_v0;var Qa=env.___resumeException;var Ra=env.___setErrNo;var Sa=env.___syscall140;var Ta=env.___syscall146;var Ua=env.___syscall6;var Va=env._abort;var Wa=env._emscripten_asm_const_diiiiiiii;var Xa=env._emscripten_asm_const_ii;var Ya=env._emscripten_asm_const_iii;var Za=env._emscripten_asm_const_iiii;var _a=env._emscripten_asm_const_iiiidii;var $a=env._emscripten_asm_const_iiiii;var ab=env._emscripten_memcpy_big;var bb=env._gettimeofday;var cb=env._llvm_trap;var db=env._pthread_getspecific;var eb=env._pthread_key_create;var fb=env._pthread_once;var gb=env._pthread_setspecific;var hb=env.flush_NO_FILESYSTEM;var ib=0.0;
|
|
// EMSCRIPTEN_START_FUNCS
|
|
function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0;K=k;k=k+112|0;c[a+348>>2]=a+220;c[a+352>>2]=a+252;c[a+356>>2]=a+284;c[a+360>>2]=a+316;c[a+364>>2]=4;c[a+368>>2]=0;c[a+376>>2]=0;F=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=F;c[a+8>>2]=c[b+8>>2];c[a+8+4>>2]=c[b+8+4>>2];c[a+8+8>>2]=c[b+8+8>>2];c[a+8+12>>2]=c[b+8+12>>2];c[a+24>>2]=c[b+24>>2];c[a+24+4>>2]=c[b+24+4>>2];c[a+24+8>>2]=c[b+24+8>>2];c[a+24+12>>2]=c[b+24+12>>2];c[a+40>>2]=c[b+40>>2];c[a+40+4>>2]=c[b+40+4>>2];c[a+40+8>>2]=c[b+40+8>>2];c[a+40+12>>2]=c[b+40+12>>2];c[a+56>>2]=c[b+56>>2];c[a+56+4>>2]=c[b+56+4>>2];c[a+56+8>>2]=c[b+56+8>>2];c[a+56+12>>2]=c[b+56+12>>2];c[a+72>>2]=c[b+72>>2];c[a+72+4>>2]=c[b+72+4>>2];c[a+72+8>>2]=c[b+72+8>>2];c[a+72+12>>2]=c[b+72+12>>2];c[a+88>>2]=c[b+88>>2];c[a+88+4>>2]=c[b+88+4>>2];c[a+88+8>>2]=c[b+88+8>>2];c[a+88+12>>2]=c[b+88+12>>2];c[a+104>>2]=c[b+104>>2];c[a+104+4>>2]=c[b+104+4>>2];c[a+104+8>>2]=c[b+104+8>>2];c[a+104+12>>2]=c[b+104+12>>2];F=c[b+124>>2]|0;c[a+120>>2]=c[b+120>>2];c[a+124>>2]=F;g[a+144>>2]=0.0;c[a+180>>2]=0;c[a+128>>2]=c[d>>2];c[a+128+4>>2]=c[d+4>>2];c[a+128+8>>2]=c[d+8>>2];c[a+128+12>>2]=c[d+12>>2];e=+g[a+128>>2];f=+g[a+132>>2];h=+g[a+136>>2];if(e*e+f*f+h*h>0.0){g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;ci(a,-e,-f,-h,a+316|0);b=a+148|0;d=a+164|0}else{g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;ci(a,1.0,0.0,0.0,a+316|0);b=a+148|0;d=a+164|0}g[d>>2]=1.0;F=(c[b>>2]|0)+16|0;c[a+128>>2]=c[F>>2];c[a+128+4>>2]=c[F+4>>2];c[a+128+8>>2]=c[F+8>>2];c[a+128+12>>2]=c[F+12>>2];c[K+16+48>>2]=c[F>>2];c[K+16+48+4>>2]=c[F+4>>2];c[K+16+48+8>>2]=c[F+8>>2];c[K+16+48+12>>2]=c[F+12>>2];c[K+16+32>>2]=c[F>>2];c[K+16+32+4>>2]=c[F+4>>2];c[K+16+32+8>>2]=c[F+8>>2];c[K+16+32+12>>2]=c[F+12>>2];c[K+16+16>>2]=c[F>>2];c[K+16+16+4>>2]=c[F+4>>2];c[K+16+16+8>>2]=c[F+8>>2];c[K+16+16+12>>2]=c[F+12>>2];c[K+16>>2]=c[F>>2];c[K+16+4>>2]=c[F+4>>2];c[K+16+8>>2]=c[F+8>>2];c[K+16+12>>2]=c[F+12>>2];F=0;G=0.0;e=e*e+f*f+h*h;E=0;D=c[a+368>>2]|0;f=+g[a+128>>2];l=+g[a+132>>2];h=+g[a+136>>2];a:while(1){b=1-D|0;p=a+148+(D*36|0)|0;m=+A(+(f*f+l*l+h*h));if(m<9.999999747378752e-05){J=6;break}r=a+148+(D*36|0)+32|0;i=c[r>>2]|0;g[a+148+(D*36|0)+16+(i<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;d=c[a+348+(d<<2)>>2]|0;c[a+148+(D*36|0)+(i<<2)>>2]=d;c[r>>2]=i+1;ci(a,-f,-l,-h,d);d=c[r>>2]|0;i=c[a+148+(D*36|0)+(d+-1<<2)>>2]|0;f=+g[i+16>>2];h=+g[i+20>>2];l=+g[i+24>>2];z=f-+g[K+16>>2];B=h-+g[K+16+4>>2];C=l-+g[K+16+8>>2];if(z*z+B*B+C*C<9.999999747378752e-05){J=9;break}z=f-+g[K+16+16>>2];B=h-+g[K+16+20>>2];C=l-+g[K+16+24>>2];if(z*z+B*B+C*C<9.999999747378752e-05){J=9;break}z=f-+g[K+16+32>>2];B=h-+g[K+16+36>>2];C=l-+g[K+16+40>>2];if(z*z+B*B+C*C<9.999999747378752e-05){J=9;break}z=f-+g[K+16+48>>2];B=h-+g[K+16+52>>2];C=l-+g[K+16+56>>2];if(z*z+B*B+C*C<9.999999747378752e-05){J=9;break}E=E+1&3;q=K+16+(E<<4)|0;c[q>>2]=c[i+16>>2];c[q+4>>2]=c[i+16+4>>2];c[q+8>>2]=c[i+16+8>>2];c[q+12>>2]=c[i+16+12>>2];C=(+g[a+128>>2]*f+ +g[a+132>>2]*h+ +g[a+136>>2]*l)/m;G=C>G?C:G;if(m-G-m*9.999999747378752e-05<=0.0){J=10;break}c[K+80>>2]=0;b:do switch(d|0){case 2:{q=c[p>>2]|0;p=c[a+148+(D*36|0)+4>>2]|0;e=+g[p+16>>2];f=+g[q+16>>2];h=+g[p+20>>2];l=+g[q+20>>2];m=+g[p+24>>2];n=+g[q+24>>2];if(!((e-f)*(e-f)+(h-l)*(h-l)+(m-n)*(m-n)>0.0)){J=46;break a}o=-(f*(e-f)+l*(h-l)+n*(m-n))/((e-f)*(e-f)+(h-l)*(h-l)+(m-n)*(m-n));if(o>=1.0){g[K>>2]=0.0;g[K+4>>2]=1.0;c[K+80>>2]=2;e=e*e+h*h+m*m;break b}if(!(o<=0.0)){g[K+4>>2]=o;g[K>>2]=1.0-o;c[K+80>>2]=3;e=(n+(m-n)*o)*(n+(m-n)*o)+((f+(e-f)*o)*(f+(e-f)*o)+(l+(h-l)*o)*(l+(h-l)*o));break b}else{g[K>>2]=1.0;g[K+4>>2]=0.0;c[K+80>>2]=1;e=f*f+l*l+n*n;break b}}case 3:{e=+je((c[p>>2]|0)+16|0,(c[a+148+(D*36|0)+4>>2]|0)+16|0,(c[a+148+(D*36|0)+8>>2]|0)+16|0,K,K+80|0);break}case 4:{d=c[p>>2]|0;i=c[a+148+(D*36|0)+4>>2]|0;p=c[a+148+(D*36|0)+8>>2]|0;q=c[a+148+(D*36|0)+12>>2]|0;s=+g[d+16>>2];t=+g[q+16>>2];u=+g[d+20>>2];v=+g[q+20>>2];w=+g[d+24>>2];x=+g[q+24>>2];f=+g[i+16>>2];h=+g[i+20>>2];l=+g[i+24>>2];y=+g[p+16>>2];z=+g[p+20>>2];B=+g[p+24>>2];C=(s-t)*(h-v)*(B-x)+((u-v)*(l-x)*(y-t)+(w-x)*(f-t)*(z-v)-(s-t)*(l-x)*(z-v)-(u-v)*(f-t)*(B-x))-(w-x)*(h-v)*(y-t);if(!(C==C&0.0==0.0&C!=0.0&C*(w*((u-h)*(f-y)-(s-f)*(h-z))+(s*((w-l)*(h-z)-(u-h)*(l-B))+u*((s-f)*(l-B)-(w-l)*(f-y))))<=0.0)){J=46;break a}c[K+88>>2]=0;c[K+88+4>>2]=0;c[K+88+8>>2]=0;c[K+84>>2]=0;if(C*(((u-v)*(l-x)-(w-x)*(h-v))*t+v*((w-x)*(f-t)-(s-t)*(l-x))+((s-t)*(h-v)-(u-v)*(f-t))*x)>0.0){e=+je(d+16|0,i+16|0,q+16|0,K+88|0,K+84|0);L=c[K+84>>2]|0;c[K+80>>2]=L&2|L<<1&8|L&1;c[K>>2]=c[K+88>>2];c[K+4>>2]=c[K+88+4>>2];g[K+8>>2]=0.0;c[K+12>>2]=c[K+88+8>>2];m=+g[q+16>>2];n=+g[q+20>>2];o=+g[q+24>>2]}else{e=-1.0;m=t;n=v;o=x}if(C*(((h-v)*(B-x)-(l-x)*(z-v))*m+n*((l-x)*(y-t)-(B-x)*(f-t))+((z-v)*(f-t)-(h-v)*(y-t))*o)>0.0?(H=+je(i+16|0,p+16|0,q+16|0,K+88|0,K+84|0),e<0.0|H<e):0){c[K+80>>2]=c[K+84>>2]<<1&14;c[K+4>>2]=c[K+88>>2];c[K+8>>2]=c[K+88+4>>2];g[K>>2]=0.0;c[K+12>>2]=c[K+88+8>>2];e=H}if(C*(((z-v)*(w-x)-(B-x)*(u-v))*+g[q+16>>2]+ +g[q+20>>2]*((B-x)*(s-t)-(w-x)*(y-t))+((u-v)*(y-t)-(z-v)*(s-t))*+g[q+24>>2])>0.0?(I=+je(p+16|0,d+16|0,q+16|0,K+88|0,K+84|0),e<0.0|I<e):0){L=c[K+84>>2]|0;c[K+80>>2]=(1?L>>>1:L)&1|L<<1&8|L<<2&4;c[K+8>>2]=c[K+88>>2];c[K>>2]=c[K+88+4>>2];g[K+4>>2]=0.0;c[K+12>>2]=c[K+88+8>>2];e=I}if(e<0.0){c[K+80>>2]=15;s=+g[p+20>>2];B=+g[i+24>>2];z=+g[q+16>>2];n=+g[p+24>>2];y=+g[i+16>>2];t=+g[q+20>>2];o=+g[p+16>>2];x=+g[q+24>>2];v=+g[i+20>>2];g[K>>2]=(s*B*z+n*y*t-t*B*o-s*y*x+x*o*v-z*n*v)/C;e=+g[d+20>>2];u=+g[d+24>>2];w=+g[d+16>>2];g[K+4>>2]=(e*n*z+u*o*t-t*n*w-e*o*x+x*w*s-z*u*s)/C;g[K+8>>2]=(v*u*z+B*w*t-t*u*y-v*w*x+x*y*e-z*B*e)/C;g[K+12>>2]=1.0-((s*B*z+n*y*t-t*B*o-s*y*x+x*o*v-z*n*v)/C+(e*n*z+u*o*t-t*n*w-e*o*x+x*w*s-z*u*s)/C+(v*u*z+B*w*t-t*u*y-v*w*x+x*y*e-z*B*e)/C);e=0.0}break}default:{}}while(0);if(!(e>=0.0)){J=46;break}c[a+148+(b*36|0)+32>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+368>>2]=b;q=c[r>>2]|0;r=c[K+80>>2]|0;if(q){d=a+148+(D*36|0)|0;i=c[d>>2]|0;if(!(r&1)){L=c[a+364>>2]|0;c[a+364>>2]=L+1;c[a+348+(L<<2)>>2]=i;h=0.0;l=0.0;f=0.0}else{L=c[a+148+(b*36|0)+32>>2]|0;c[a+148+(b*36|0)+(L<<2)>>2]=i;p=c[K>>2]|0;c[a+148+(b*36|0)+32>>2]=L+1;c[a+148+(b*36|0)+16+(L<<2)>>2]=p;L=c[d>>2]|0;f=(c[j>>2]=p,+g[j>>2]);l=+g[L+20>>2]*f;h=+g[L+24>>2]*f;f=+g[L+16>>2]*f+ +g[a+128>>2];g[a+128>>2]=f;l=l+ +g[a+132>>2];g[a+132>>2]=l;h=h+ +g[a+136>>2];g[a+136>>2]=h}if((q|0)!=1){p=1;do{d=a+148+(D*36|0)+(p<<2)|0;i=c[d>>2]|0;if(!(r&1<<p)){L=c[a+364>>2]|0;c[a+364>>2]=L+1;c[a+348+(L<<2)>>2]=i}else{L=c[a+148+(b*36|0)+32>>2]|0;c[a+148+(b*36|0)+(L<<2)>>2]=i;i=c[K+(p<<2)>>2]|0;c[a+148+(b*36|0)+32>>2]=L+1;c[a+148+(b*36|0)+16+(L<<2)>>2]=i;L=c[d>>2]|0;f=(c[j>>2]=i,+g[j>>2]);l=+g[L+20>>2]*f;h=+g[L+24>>2]*f;f=+g[L+16>>2]*f+ +g[a+128>>2];g[a+128>>2]=f;l=l+ +g[a+132>>2];g[a+132>>2]=l;h=h+ +g[a+136>>2];g[a+136>>2]=h}p=p+1|0}while((p|0)!=(q|0))}}else{h=0.0;l=0.0;f=0.0}if((r|0)==15)c[a+376>>2]=1;F=F+1|0;if(F>>>0>=128){J=45;break}d=c[a+376>>2]|0;if(d|0)break;else D=b}if((J|0)==6){c[a+376>>2]=1;b=D;J=48}else if((J|0)==9){b=c[a+368>>2]|0;F=(c[a+148+(b*36|0)+32>>2]|0)+-1|0;c[a+148+(b*36|0)+32>>2]=F;F=c[a+148+(b*36|0)+(F<<2)>>2]|0;L=c[a+364>>2]|0;c[a+364>>2]=L+1;c[a+348+(L<<2)>>2]=F;J=48}else if((J|0)==10){b=c[a+368>>2]|0;F=(c[a+148+(b*36|0)+32>>2]|0)+-1|0;c[a+148+(b*36|0)+32>>2]=F;F=c[a+148+(b*36|0)+(F<<2)>>2]|0;L=c[a+364>>2]|0;c[a+364>>2]=L+1;c[a+348+(L<<2)>>2]=F;J=48}else if((J|0)==45){c[a+376>>2]=2;c[a+372>>2]=a+148+(b*36|0);L=2;k=K;return L|0}else if((J|0)==46){b=c[a+368>>2]|0;F=(c[a+148+(b*36|0)+32>>2]|0)+-1|0;c[a+148+(b*36|0)+32>>2]=F;F=c[a+148+(b*36|0)+(F<<2)>>2]|0;L=c[a+364>>2]|0;c[a+364>>2]=L+1;c[a+348+(L<<2)>>2]=F;J=48}if((J|0)==48)d=c[a+376>>2]|0;c[a+372>>2]=a+148+(b*36|0);switch(d|0){case 0:{G=+g[a+128>>2];H=+g[a+132>>2];I=+g[a+136>>2];g[a+144>>2]=+A(+(G*G+H*H+I*I));L=0;k=K;return L|0}case 1:{g[a+144>>2]=0.0;L=1;k=K;return L|0}default:{L=d;k=K;return L|0}}return 0}function Ic(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0;r=k;k=k+144|0;m=c[b+48>>2]|0;j=c[b+52>>2]|0;if((j|0?(l=c[j+20>>2]|0,l|0):0)?(tb[c[(c[l>>2]|0)+48>>2]&255](l)|0)&1|0:0){c[r>>2]=1065353216;c[r+4>>2]=1065353216;c[r+8>>2]=0;g[r+12>>2]=0.0;l=c[b+8>>2]|0;q=c[(c[b+52>>2]|0)+20>>2]|0;p=c[(c[q>>2]|0)+8>>2]|0;s=+g[d>>2];B=+g[d+4>>2];t=+g[d+8>>2];y=+g[l+20>>2];u=+g[l+24>>2];C=+g[l+28>>2];v=+g[l+36>>2];E=+g[l+40>>2];w=+g[l+44>>2];x=+g[l+52>>2];D=+g[l+56>>2];z=+g[l+60>>2];g[r+120>>2]=s*+g[l+4>>2]+B*+g[l+8>>2]+t*+g[l+12>>2]+x;g[r+120+4>>2]=s*y+B*u+t*C+D;g[r+120+8>>2]=s*v+B*E+t*w+z;g[r+120+12>>2]=0.0;t=+g[d+16>>2];B=+g[d+20>>2];s=+g[d+24>>2];g[r+96>>2]=x+(t*+g[l+4>>2]+B*+g[l+8>>2]+s*+g[l+12>>2]);g[r+96+4>>2]=D+(y*t+u*B+C*s);g[r+96+8>>2]=z+(v*t+E*B+w*s);g[r+96+12>>2]=0.0;Qb[p&127](q,r+120|0,r+96|0,r);q=c[(c[b+52>>2]|0)+20>>2]|0;p=c[(c[q>>2]|0)+8>>2]|0;s=+g[d+16>>2];w=+g[d+20>>2];B=+g[d+24>>2];E=+g[l+20>>2];t=+g[l+24>>2];v=+g[l+28>>2];z=+g[l+36>>2];C=+g[l+40>>2];u=+g[l+44>>2];y=+g[l+52>>2];D=+g[l+56>>2];x=+g[l+60>>2];g[r+120>>2]=s*+g[l+4>>2]+w*+g[l+8>>2]+B*+g[l+12>>2]+y;g[r+120+4>>2]=s*E+w*t+B*v+D;g[r+120+8>>2]=s*z+w*C+B*u+x;g[r+120+12>>2]=0.0;B=+g[d+32>>2];w=+g[d+36>>2];s=+g[d+40>>2];g[r+96>>2]=y+(B*+g[l+4>>2]+w*+g[l+8>>2]+s*+g[l+12>>2]);g[r+96+4>>2]=D+(E*B+t*w+v*s);g[r+96+8>>2]=x+(z*B+C*w+u*s);g[r+96+12>>2]=0.0;Qb[p&127](q,r+120|0,r+96|0,r);q=c[(c[b+52>>2]|0)+20>>2]|0;p=c[(c[q>>2]|0)+8>>2]|0;s=+g[d+32>>2];u=+g[d+36>>2];w=+g[d+40>>2];C=+g[l+20>>2];B=+g[l+24>>2];z=+g[l+28>>2];x=+g[l+36>>2];v=+g[l+40>>2];t=+g[l+44>>2];E=+g[l+52>>2];D=+g[l+56>>2];y=+g[l+60>>2];g[r+120>>2]=s*+g[l+4>>2]+u*+g[l+8>>2]+w*+g[l+12>>2]+E;g[r+120+4>>2]=s*C+u*B+w*z+D;g[r+120+8>>2]=s*x+u*v+w*t+y;g[r+120+12>>2]=0.0;w=+g[d>>2];u=+g[d+4>>2];s=+g[d+8>>2];g[r+96>>2]=E+(w*+g[l+4>>2]+u*+g[l+8>>2]+s*+g[l+12>>2]);g[r+96+4>>2]=D+(C*w+B*u+z*s);g[r+96+8>>2]=y+(x*w+v*u+t*s);g[r+96+12>>2]=0.0;Qb[p&127](q,r+120|0,r+96|0,r)}j=((10?(e<<21|f)+~(f<<15)>>10:(e<<21|f)+~(f<<15)|0)^(e<<21|f)+~(f<<15))*9|0;j=(6?j>>6:j)^j;j=(c[b+108>>2]|0)+-1&((16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11));a:do if(j>>>0<(c[b+64>>2]|0)>>>0?(h=c[(c[b+72>>2]|0)+(j<<2)>>2]|0,(h|0)!=-1):0){j=c[b+132>>2]|0;while(1){if((e<<21|f|0)==(c[j+(h<<2)>>2]|0))break;h=c[(c[b+92>>2]|0)+(h<<2)>>2]|0;if((h|0)==-1)break a}j=c[b+112>>2]|0;if(j+(h<<3)|0){p=c[j+(h<<3)+4>>2]|0;q=c[b+8>>2]|0;c[p+8>>2]=c[(c[q+192>>2]|0)+8>>2];o=c[b+4>>2]|0;n=c[o+192>>2]|0;c[r>>2]=0;c[r+4>>2]=n;c[r+8>>2]=o;c[r+12>>2]=o+4;c[r+16>>2]=-1;c[r+20>>2]=-1;c[r+120>>2]=0;c[r+120+4>>2]=p;c[r+120+8>>2]=q;c[r+120+12>>2]=q+4;c[r+120+16>>2]=e;c[r+120+20>>2]=f;q=yb[c[(c[m>>2]|0)+8>>2]&31](m,r,r+120|0,0)|0;Ub[c[(c[q>>2]|0)+8>>2]&31](q,r,r+120|0,c[b+52>>2]|0,c[b+44>>2]|0);Db[c[c[q>>2]>>2]&511](q);Jb[c[(c[m>>2]|0)+60>>2]&127](m,q);k=r;return}}while(0);u=+g[d+16>>2];F=+g[d>>2];v=+g[d+20>>2];s=+g[d+4>>2];w=+g[d+24>>2];t=+g[d+8>>2];x=+g[d+32>>2];z=+g[d+36>>2];C=+g[d+40>>2];y=(v-s)*(C-t)-(w-t)*(z-s);B=(w-t)*(x-F)-(u-F)*(C-t);D=(u-F)*(z-s)-(v-s)*(x-F);E=1.0/+A(+(D*D+(y*y+B*B)));g[r>>2]=F+y*E*.05999999865889549;g[r+4>>2]=s+B*E*.05999999865889549;g[r+8>>2]=t+D*E*.05999999865889549;g[r+12>>2]=0.0;g[r+16>>2]=u+y*E*.05999999865889549;g[r+20>>2]=v+B*E*.05999999865889549;g[r+24>>2]=w+D*E*.05999999865889549;g[r+28>>2]=0.0;g[r+32>>2]=x+y*E*.05999999865889549;g[r+36>>2]=z+B*E*.05999999865889549;g[r+40>>2]=C+D*E*.05999999865889549;g[r+44>>2]=0.0;g[r+48>>2]=F-y*E*.05999999865889549;g[r+52>>2]=s-B*E*.05999999865889549;g[r+56>>2]=t-D*E*.05999999865889549;g[r+60>>2]=0.0;g[r+64>>2]=u-y*E*.05999999865889549;g[r+68>>2]=v-B*E*.05999999865889549;g[r+72>>2]=w-D*E*.05999999865889549;g[r+76>>2]=0.0;g[r+80>>2]=x-y*E*.05999999865889549;g[r+84>>2]=z-B*E*.05999999865889549;g[r+88>>2]=C-D*E*.05999999865889549;g[r+92>>2]=0.0;c[7584]=(c[7584]|0)+1;h=lc(131)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}Bg(h,r,6,16);q=c[b+8>>2]|0;c[h+8>>2]=c[(c[q+192>>2]|0)+8>>2];p=c[b+4>>2]|0;d=c[p+192>>2]|0;c[r+120>>2]=0;c[r+120+4>>2]=d;c[r+120+8>>2]=p;c[r+120+12>>2]=p+4;c[r+120+16>>2]=-1;c[r+120+20>>2]=-1;c[r+96>>2]=0;c[r+96+4>>2]=h;c[r+96+8>>2]=q;c[r+96+12>>2]=q+4;c[r+96+16>>2]=e;c[r+96+20>>2]=f;q=yb[c[(c[m>>2]|0)+8>>2]&31](m,r+120|0,r+96|0,0)|0;Ub[c[(c[q>>2]|0)+8>>2]&31](q,r+120|0,r+96|0,c[b+52>>2]|0,c[b+44>>2]|0);Db[c[c[q>>2]>>2]&511](q);Jb[c[(c[m>>2]|0)+60>>2]&127](m,q);q=((10?(e<<21|f)+~(f<<15)>>10:(e<<21|f)+~(f<<15)|0)^(e<<21|f)+~(f<<15))*9|0;q=(6?q>>6:q)^q;q=(16?q+~(q<<11)>>16:q+~(q<<11)|0)^q+~(q<<11);m=c[b+108>>2]|0;b:do if((q&m+-1)>>>0<(c[b+64>>2]|0)>>>0?(i=c[(c[b+72>>2]|0)+((q&m+-1)<<2)>>2]|0,(i|0)!=-1):0){j=c[b+132>>2]|0;while(1){if((e<<21|f|0)==(c[j+(i<<2)>>2]|0))break;i=c[(c[b+92>>2]|0)+(i<<2)>>2]|0;if((i|0)==-1){n=20;break b}}b=c[b+112>>2]|0;c[b+(i<<3)>>2]=e<<21|f;c[b+(i<<3)+4>>2]=h}else n=20;while(0);if((n|0)==20){p=c[b+104>>2]|0;if((p|0)==(m|0)){d=(m|0)==0?1:m<<1;if((m|0)<(d|0)){if(!d){i=0;l=m}else{c[7584]=(c[7584]|0)+1;i=lc((d<<3|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}l=c[b+104>>2]|0}if((l|0)>0){j=0;do{I=(c[b+112>>2]|0)+(j<<3)|0;H=c[I+4>>2]|0;G=i+(j<<3)|0;c[G>>2]=c[I>>2];c[G+4>>2]=H;j=j+1|0}while((j|0)!=(l|0))}j=c[b+112>>2]|0;if(j|0){if(a[b+116>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=i;c[b+108>>2]=d;i=c[b+104>>2]|0}else i=m}else i=p;I=c[b+112>>2]|0;c[I+(i<<3)>>2]=e<<21|f;c[I+(i<<3)+4>>2]=h;c[b+104>>2]=(c[b+104>>2]|0)+1;h=c[b+124>>2]|0;if((h|0)==(c[b+128>>2]|0)?(o=(h|0)==0?1:h<<1,(h|0)<(o|0)):0){if(!o)l=0;else{c[7584]=(c[7584]|0)+1;h=lc((o<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=h;h=c[b+124>>2]|0}j=c[b+132>>2]|0;if((h|0)<=0)if(!j)i=b+136|0;else n=45;else{i=0;do{c[l+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));n=45}if((n|0)==45){if(a[b+136>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}c[b+132>>2]=0;i=b+136|0;h=c[b+124>>2]|0}a[i>>0]=1;c[b+132>>2]=l;c[b+128>>2]=o}c[(c[b+132>>2]|0)+(h<<2)>>2]=e<<21|f;c[b+124>>2]=(c[b+124>>2]|0)+1;n=c[b+108>>2]|0;if((m|0)<(n|0)){o=c[b+64>>2]|0;if((o|0)<(n|0)){do if((c[b+68>>2]|0)<(n|0)){if(!n){h=0;j=o}else{c[7584]=(c[7584]|0)+1;h=lc((n<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+64>>2]|0}l=c[b+72>>2]|0;if((j|0)<=0){if(!l){a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=n;m=b+72|0;break}}else{i=0;do{c[h+(i<<2)>>2]=c[l+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0))}if(a[b+76>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=n;m=b+72|0}else{m=b+72|0;h=c[b+72>>2]|0}while(0);Bl(h+(o<<2)|0,0,(n<<2)-(o<<2)|0)|0;c[b+64>>2]=n;d=c[b+84>>2]|0;if((d|0)<(n|0)){do if((c[b+88>>2]|0)<(n|0)){if(!n){h=0;j=d}else{c[7584]=(c[7584]|0)+1;h=lc((n<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+84>>2]|0}l=c[b+92>>2]|0;if((j|0)<=0){if(!l){a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=n;break}}else{i=0;do{c[h+(i<<2)>>2]=c[l+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0))}if(a[b+96>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=n}else h=c[b+92>>2]|0;while(0);Bl(h+(d<<2)|0,0,(n<<2)-(d<<2)|0)|0}c[b+84>>2]=n;if((n|0)>0){Bl(c[m>>2]|0,-1,n<<2|0)|0;Bl(c[b+92>>2]|0,-1,n<<2|0)|0}if((o|0)>0){l=c[b+132>>2]|0;i=c[m>>2]|0;j=c[b+92>>2]|0;h=0;do{I=c[l+(h<<2)>>2]|0;I=((10?I+~(I<<15)>>10:I+~(I<<15)|0)^I+~(I<<15))*9|0;I=(6?I>>6:I)^I;I=i+((((16?I+~(I<<11)>>16:I+~(I<<11)|0)^I+~(I<<11))&(c[b+108>>2]|0)+-1)<<2)|0;c[j+(h<<2)>>2]=c[I>>2];c[I>>2]=h;h=h+1|0}while((h|0)!=(o|0))}}h=q&(c[b+108>>2]|0)+-1}else h=q&m+-1;I=(c[b+72>>2]|0)+(h<<2)|0;c[(c[b+92>>2]|0)+(p<<2)>>2]=c[I>>2];c[I>>2]=p}k=r;return}function Jc(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;var l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0;X=k;k=k+48|0;a[X+16+16>>0]=1;W=X+16+12|0;c[W>>2]=0;c[X+16+4>>2]=0;c[X+16+8>>2]=0;p=c[f+4>>2]|0;if((p|0)>0){c[7584]=(c[7584]|0)+1;l=lc((p<<4|3)+16|0)|0;if(!l)o=0;else{c[(l+4+15&-16)+-4>>2]=l;o=l+4+15&-16}n=c[X+16+4>>2]|0;if((n|0)>0){l=0;do{V=o+(l<<4)|0;U=(c[W>>2]|0)+(l<<4)|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];l=l+1|0}while((l|0)!=(n|0))}l=c[W>>2]|0;if(l|0){if(a[X+16+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}c[W>>2]=0}a[X+16+16>>0]=1;c[W>>2]=o;c[X+16+8>>2]=p}n=c[d+28>>2]|0;if((n|0)>0){V=c[d+36>>2]|0;x=+g[e>>2];w=+g[e+4>>2];t=+g[e+8>>2];v=+g[e+16>>2];s=+g[e+20>>2];r=+g[e+24>>2];u=+g[e+32>>2];q=+g[e+36>>2];m=+g[e+40>>2];z=+g[b>>2];A=+g[b+4>>2];B=+g[b+8>>2];U=-1;y=3402823466385288598117041.0e14;l=0;while(1){C=+g[V+(l*36|0)+20>>2];D=+g[V+(l*36|0)+24>>2];E=+g[V+(l*36|0)+28>>2];o=(C*x+D*w+E*t)*z+(C*v+D*s+E*r)*A+(C*u+D*q+E*m)*B<y;U=o?l:U;l=l+1|0;if((l|0)==(n|0))break;else y=o?(C*x+D*w+E*t)*z+(C*v+D*s+E*r)*A+(C*u+D*q+E*m)*B:y}if((U|0)>=0){L=c[V+(U*36|0)+4>>2]|0;if((L|0)>0){M=V+(U*36|0)+12|0;N=V+(U*36|0)+20|0;O=V+(U*36|0)+24|0;P=V+(U*36|0)+28|0;l=0;K=X+16|0;J=f;while(1){H=c[M>>2]|0;G=c[H+(l<<2)>>2]|0;f=c[d+16>>2]|0;I=l+1|0;H=c[H+(((I|0)==(L|0)?0:I)<<2)>>2]|0;Z=+g[f+(G<<4)>>2];_=Z-+g[f+(H<<4)>>2];Y=+g[f+(G<<4)+4>>2];$=Y-+g[f+(H<<4)+4>>2];y=+g[f+(G<<4)+8>>2];B=y-+g[f+(H<<4)+8>>2];z=_*x+$*w+B*t;A=_*v+$*s+B*r;B=_*u+$*q+B*m;$=+g[N>>2];_=+g[O>>2];E=+g[P>>2];C=x*$+w*_+t*E;D=v*$+s*_+r*E;E=u*$+q*_+m*E;y=(Z*x+Y*w+y*t+ +g[e+48>>2])*-(A*E-B*D)+(Z*v+Y*s+y*r+ +g[e+52>>2])*-(B*C-z*E)+(Z*u+Y*q+y*m+ +g[e+56>>2])*-(z*D-A*C);H=J;f=K;l=c[H+4>>2]|0;if((l|0)>=2){o=c[H+12>>2]|0;q=+g[o+(l+-1<<4)>>2];r=+g[o+(l+-1<<4)+4>>2];s=+g[o+(l+-1<<4)+8>>2];n=0;m=q*-(A*E-B*D)+r*-(B*C-z*E)+s*-(z*D-A*C)-y;while(1){v=+g[o+(n<<4)>>2];w=+g[o+(n<<4)+4>>2];x=+g[o+(n<<4)+8>>2];G=c[o+(n<<4)+12>>2]|0;u=v*-(A*E-B*D)+w*-(B*C-z*E)+x*-(z*D-A*C)-y;do if(m<0.0)if(u<0.0){p=c[f+4>>2]|0;if((p|0)==(c[f+8>>2]|0)?(Q=(p|0)==0?1:p<<1,(p|0)<(Q|0)):0){if(!Q)o=0;else{c[7584]=(c[7584]|0)+1;o=lc((Q<<4|3)+16|0)|0;if(!o)o=0;else{c[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}p=c[f+4>>2]|0}if((p|0)>0){F=0;do{aa=o+(F<<4)|0;ba=(c[f+12>>2]|0)+(F<<4)|0;c[aa>>2]=c[ba>>2];c[aa+4>>2]=c[ba+4>>2];c[aa+8>>2]=c[ba+8>>2];c[aa+12>>2]=c[ba+12>>2];F=F+1|0}while((F|0)!=(p|0))}p=c[f+12>>2]|0;if(p|0){if(a[f+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[p+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=o;c[f+8>>2]=Q;o=c[f+4>>2]|0}else o=p;F=c[f+12>>2]|0;g[F+(o<<4)>>2]=v;g[F+(o<<4)+4>>2]=w;g[F+(o<<4)+8>>2]=x;c[F+(o<<4)+12>>2]=G;F=83;break}else{m=m/(m-u);t=q+(v-q)*m;q=r+(w-r)*m;m=s+(x-s)*m;p=c[f+4>>2]|0;if((p|0)==(c[f+8>>2]|0)?(R=(p|0)==0?1:p<<1,(p|0)<(R|0)):0){if(!R)o=0;else{c[7584]=(c[7584]|0)+1;o=lc((R<<4|3)+16|0)|0;if(!o)o=0;else{c[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}p=c[f+4>>2]|0}if((p|0)>0){F=0;do{ba=o+(F<<4)|0;aa=(c[f+12>>2]|0)+(F<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];F=F+1|0}while((F|0)!=(p|0))}p=c[f+12>>2]|0;if(p|0){if(a[f+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[p+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=o;c[f+8>>2]=R;o=c[f+4>>2]|0}else o=p;F=c[f+12>>2]|0;g[F+(o<<4)>>2]=t;g[F+(o<<4)+4>>2]=q;g[F+(o<<4)+8>>2]=m;g[F+(o<<4)+12>>2]=0.0;F=83;break}else if(u<0.0){m=m/(m-u);t=q+(v-q)*m;q=r+(w-r)*m;m=s+(x-s)*m;p=c[f+4>>2]|0;if((p|0)==(c[f+8>>2]|0)?(S=(p|0)==0?1:p<<1,(p|0)<(S|0)):0){if(!S)o=0;else{c[7584]=(c[7584]|0)+1;o=lc((S<<4|3)+16|0)|0;if(!o)o=0;else{c[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}p=c[f+4>>2]|0}if((p|0)>0){F=0;do{ba=o+(F<<4)|0;aa=(c[f+12>>2]|0)+(F<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];F=F+1|0}while((F|0)!=(p|0))}p=c[f+12>>2]|0;if(p|0){if(a[f+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[p+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=o;c[f+8>>2]=S;o=c[f+4>>2]|0}else o=p;p=c[f+12>>2]|0;g[p+(o<<4)>>2]=t;g[p+(o<<4)+4>>2]=q;g[p+(o<<4)+8>>2]=m;g[p+(o<<4)+12>>2]=0.0;p=(c[f+4>>2]|0)+1|0;c[f+4>>2]=p;if((p|0)==(c[f+8>>2]|0)?(T=(p|0)==0?1:p<<1,(p|0)<(T|0)):0){if(!T)o=0;else{c[7584]=(c[7584]|0)+1;o=lc((T<<4|3)+16|0)|0;if(!o)o=0;else{c[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}p=c[f+4>>2]|0}if((p|0)>0){F=0;do{ba=o+(F<<4)|0;aa=(c[f+12>>2]|0)+(F<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];F=F+1|0}while((F|0)!=(p|0))}p=c[f+12>>2]|0;if(p|0){if(a[f+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[p+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=o;c[f+8>>2]=T;o=c[f+4>>2]|0}else o=p;F=c[f+12>>2]|0;g[F+(o<<4)>>2]=v;g[F+(o<<4)+4>>2]=w;g[F+(o<<4)+8>>2]=x;c[F+(o<<4)+12>>2]=G;F=83}while(0);if((F|0)==83){F=0;c[f+4>>2]=(c[f+4>>2]|0)+1}n=n+1|0;if((n|0)==(l|0))break;m=u;q=v;s=x;r=w;o=c[H+12>>2]|0}l=c[H+4>>2]|0}if((l|0)<0){if((c[H+8>>2]|0)<0){n=c[H+12>>2]|0;if(n|0){if(a[H+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=0;c[H+8>>2]=0}do{ba=(c[H+12>>2]|0)+(l<<4)|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];c[ba+8>>2]=c[X+8>>2];c[ba+12>>2]=c[X+12>>2];l=l+1|0}while((l|0)!=0)}c[H+4>>2]=0;if((I|0)>=(L|0))break;ba=J;l=I;x=+g[e>>2];w=+g[e+4>>2];t=+g[e+8>>2];v=+g[e+16>>2];s=+g[e+20>>2];r=+g[e+24>>2];u=+g[e+32>>2];q=+g[e+36>>2];m=+g[e+40>>2];J=K;K=ba}o=N;n=O;l=P;p=e+48|0;F=e+52|0;G=e+56|0;H=f+4|0;x=+g[e>>2];w=+g[e+4>>2];t=+g[e+8>>2];v=+g[e+16>>2];s=+g[e+20>>2];r=+g[e+24>>2];u=+g[e+32>>2];q=+g[e+36>>2];m=+g[e+40>>2]}else{o=V+(U*36|0)+20|0;n=V+(U*36|0)+24|0;l=V+(U*36|0)+28|0;p=e+48|0;F=e+52|0;G=e+56|0;H=f+4|0}Z=+g[o>>2];_=+g[n>>2];$=+g[l>>2];t=Z*x+_*w+$*t;s=Z*v+_*s+$*r;r=Z*u+_*q+$*m;q=+g[V+(U*36|0)+32>>2]-(t*+g[p>>2]+s*+g[F>>2]+r*+g[G>>2]);l=c[H>>2]|0;if((l|0)>0){p=f+12|0;o=0;do{ba=c[p>>2]|0;n=ba+(o<<4)|0;m=q+(t*+g[n>>2]+s*+g[ba+(o<<4)+4>>2]+r*+g[ba+(o<<4)+8>>2]);m=m<=h?h:m;if(m<=i){c[X>>2]=c[n>>2];c[X+4>>2]=c[n+4>>2];c[X+8>>2]=c[n+8>>2];c[X+12>>2]=c[n+12>>2];Ob[c[(c[j>>2]|0)+16>>2]&15](j,b,X,m);l=c[H>>2]|0}o=o+1|0}while((o|0)<(l|0))}}}l=c[W>>2]|0;if(!l){k=X;return}if(a[X+16+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}c[W>>2]=0;k=X;return}function Kc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0.0,R=0.0,S=0.0,T=0;P=k;k=k+208|0;g[b+56>>2]=0.0;H=P+192+4|0;I=P+192+8|0;c[P+192>>2]=0;c[P+192+4>>2]=0;c[P+192+8>>2]=0;c[P+192+12>>2]=0;c[P+128>>2]=c[d>>2];c[P+128+4>>2]=c[d+4>>2];c[P+128+8>>2]=c[d+8>>2];c[P+128+12>>2]=c[d+12>>2];c[P+128+16>>2]=c[d+16>>2];c[P+128+16+4>>2]=c[d+16+4>>2];c[P+128+16+8>>2]=c[d+16+8>>2];c[P+128+16+12>>2]=c[d+16+12>>2];c[P+128+32>>2]=c[d+32>>2];c[P+128+32+4>>2]=c[d+32+4>>2];c[P+128+32+8>>2]=c[d+32+8>>2];c[P+128+32+12>>2]=c[d+32+12>>2];E=P+128+48|0;c[E>>2]=c[d+48>>2];c[E+4>>2]=c[d+48+4>>2];c[E+8>>2]=c[d+48+8>>2];c[E+12>>2]=c[d+48+12>>2];c[P+64>>2]=c[d+64>>2];c[P+64+4>>2]=c[d+64+4>>2];c[P+64+8>>2]=c[d+64+8>>2];c[P+64+12>>2]=c[d+64+12>>2];c[P+64+16>>2]=c[d+80>>2];c[P+64+16+4>>2]=c[d+80+4>>2];c[P+64+16+8>>2]=c[d+80+8>>2];c[P+64+16+12>>2]=c[d+80+12>>2];c[P+64+32>>2]=c[d+96>>2];c[P+64+32+4>>2]=c[d+96+4>>2];c[P+64+32+8>>2]=c[d+96+8>>2];c[P+64+32+12>>2]=c[d+96+12>>2];F=P+64+48|0;c[F>>2]=c[d+112>>2];c[F+4>>2]=c[d+112+4>>2];c[F+8>>2]=c[d+112+8>>2];c[F+12>>2]=c[d+112+12>>2];J=+g[E>>2];K=+g[F>>2];L=+g[P+128+52>>2];M=+g[P+64+52>>2];N=+g[P+128+56>>2];O=+g[P+64+56>>2];g[E>>2]=J-(J+K)*.5;g[P+128+52>>2]=L-(L+M)*.5;g[P+128+56>>2]=N-(N+O)*.5;g[F>>2]=K-(J+K)*.5;g[P+64+52>>2]=M-(L+M)*.5;g[P+64+56>>2]=O-(N+O)*.5;if(((c[(c[b+28>>2]|0)+4>>2]|0)+-17|0)>>>0<2)E=((c[(c[b+32>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else E=0;v=+g[b+44>>2];u=+g[b+48>>2];c[7569]=(c[7569]|0)+1;F=a[b+52>>0]|0;c[b+64>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;c[b+12>>2]=0;g[b+16>>2]=0.0;c[b+68>>2]=0;c[b+60>>2]=-1;n=c[b+24>>2]|0;a[n+312>>0]=0;c[n>>2]=0;a[n+356>>0]=1;c[n+292>>2]=1566444395;c[n+296>>2]=1566444395;c[n+300>>2]=1566444395;g[n+304>>2]=0.0;c[n+336>>2]=0;c[n+336+4>>2]=0;c[n+336+8>>2]=0;c[n+336+12>>2]=0;a[n+336+16>>0]=0;a[n+332>>0]=a[n+332>>0]&-16;n=0;m=999999984306749440.0;do{o=+g[b+4>>2];l=+g[b+8>>2];j=+g[b+12>>2];s=+g[d+4>>2]*-o+ +g[d+20>>2]*-l+ +g[d+36>>2]*-j;t=+g[d+8>>2]*-o+ +g[d+24>>2]*-l+ +g[d+40>>2]*-j;g[P+48>>2]=+g[d>>2]*-o+ +g[d+16>>2]*-l+ +g[d+32>>2]*-j;g[P+48+4>>2]=s;g[P+48+8>>2]=t;g[P+48+12>>2]=0.0;t=o*+g[d+68>>2]+l*+g[d+84>>2]+j*+g[d+100>>2];s=o*+g[d+72>>2]+l*+g[d+88>>2]+j*+g[d+104>>2];g[P+32>>2]=o*+g[d+64>>2]+l*+g[d+80>>2]+j*+g[d+96>>2];g[P+32+4>>2]=t;g[P+32+8>>2]=s;g[P+32+12>>2]=0.0;Hd(P+16|0,c[b+28>>2]|0,P+48|0);Hd(P,c[b+32>>2]|0,P+32|0);s=+g[P+16>>2];t=+g[P+16+4>>2];j=+g[P+16+8>>2];l=s*+g[P+128>>2]+t*+g[P+128+4>>2]+j*+g[P+128+8>>2]+ +g[P+128+48>>2];o=s*+g[P+128+16>>2]+t*+g[P+128+20>>2]+j*+g[P+128+24>>2]+ +g[P+128+52>>2];j=s*+g[P+128+32>>2]+t*+g[P+128+36>>2]+j*+g[P+128+40>>2]+ +g[P+128+56>>2];t=+g[P>>2];s=+g[P+4>>2];r=+g[P+8>>2];p=t*+g[P+64>>2]+s*+g[P+64+4>>2]+r*+g[P+64+8>>2]+ +g[P+64+48>>2];q=t*+g[P+64+16>>2]+s*+g[P+64+20>>2]+r*+g[P+64+24>>2]+ +g[P+64+52>>2];r=t*+g[P+64+32>>2]+s*+g[P+64+36>>2]+r*+g[P+64+40>>2]+ +g[P+64+56>>2];s=E?0.0:r;t=E?0.0:j;r=E?0.0:j-r;j=(l-p)*+g[b+4>>2]+(o-q)*+g[b+8>>2]+r*+g[b+12>>2];if(j>0.0?j*j>m*+g[d+128>>2]:0){c[b+68>>2]=10;h=0;n=1}else T=7;do if((T|0)==7){T=0;C=c[b+24>>2]|0;D=c[C>>2]|0;if((D|0)>0){i=+g[C+308>>2];B=0;h=0;do{x=l-p-+g[C+4+(B<<4)>>2];y=o-q-+g[C+4+(B<<4)+4>>2];z=r-+g[C+4+(B<<4)+8>>2];h=h|x*x+y*y+z*z<=i;B=B+1|0}while((B|0)!=(D|0))}else h=0;if((+g[C+304>>2]==0.0?r==+g[C+300>>2]:0)?o-q==+g[C+296>>2]:0){if(l-p==+g[C+292>>2]|h)T=15}else T=14;if((T|0)==14?(T=0,h):0)T=15;if((T|0)==15){T=0;c[b+68>>2]=1;h=0;n=1;break}i=m-j;if(i<=m*9.999999974752427e-07){c[b+68>>2]=!(i<=0.0)?11:2;h=0;n=1;break}g[C+292>>2]=l-p;g[C+296>>2]=o-q;g[C+300>>2]=r;g[C+304>>2]=0.0;a[C+356>>0]=1;g[C+4+(D<<4)>>2]=l-p;g[C+4+(D<<4)+4>>2]=o-q;g[C+4+(D<<4)+8>>2]=r;g[C+4+(D<<4)+12>>2]=0.0;h=c[C>>2]|0;g[C+84+(h<<4)>>2]=l;g[C+84+(h<<4)+4>>2]=o;g[C+84+(h<<4)+8>>2]=t;g[C+84+(h<<4)+12>>2]=0.0;h=c[C>>2]|0;g[C+164+(h<<4)>>2]=p;g[C+164+(h<<4)+4>>2]=q;g[C+164+(h<<4)+8>>2]=s;g[C+164+(h<<4)+12>>2]=0.0;c[C>>2]=(c[C>>2]|0)+1;h=c[b+24>>2]|0;D=oc(h)|0;i=+g[h+276>>2];j=+g[h+280>>2];l=+g[h+284>>2];h=c[h+288>>2]|0;if(!D){c[b+68>>2]=3;h=0;n=1;break}if(i*i+j*j+l*l<9.999999974752427e-07){g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=l;c[b+16>>2]=h;c[b+68>>2]=6;h=0;n=1;break}if(m-(i*i+j*j+l*l)<=m*1.1920928955078125e-07){c[b+68>>2]=12;m=i*i+j*j+l*l;h=0;n=1;break}g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=l;c[b+16>>2]=h;D=c[b+64>>2]|0;c[b+64>>2]=D+1;if((D|0)<=1e3)if((c[c[b+24>>2]>>2]|0)==4){c[b+68>>2]=13;m=i*i+j*j+l*l;h=0}else{m=i*i+j*j+l*l;h=1}else{m=i*i+j*j+l*l;h=0}}while(0)}while(h);t=F<<24>>24==0?u:0.0;s=(F<<24>>24==0?v:0.0)+t;if(n){F=c[b+24>>2]|0;oc(F)|0;l=+g[F+260>>2];j=+g[F+264>>2];i=+g[F+268>>2];c[P+192>>2]=c[b+4>>2];c[P+192+4>>2]=c[b+4+4>>2];c[P+192+8>>2]=c[b+4+8>>2];c[P+192+12>>2]=c[b+4+12>>2];o=+g[b+4>>2];p=+g[b+8>>2];q=+g[b+12>>2];if(o*o+p*p+q*q<.0001)c[b+68>>2]=5;if(o*o+p*p+q*q>1.4210854715202004e-14){y=1.0/+A(+(o*o+p*p+q*q));g[P+192>>2]=y*+g[P+192>>2];g[H>>2]=y*+g[H>>2];g[I>>2]=y*+g[I>>2];z=t/+A(+m);m=1.0/y-s;n=1;h=1;l=z*o+l;j=z*p+j;i=z*q+i}else{m=0.0;n=0;h=2}c[b+60>>2]=h}else{m=0.0;n=0;l=0.0;j=0.0;i=0.0}if((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)h=s+m<.01&(c[b+68>>2]|0)!=0;else h=0;B=n^1;do if(h|B?(G=c[b+20>>2]|0,(G|0)!=0):0){c[7568]=(c[7568]|0)+1;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;if(Bb[c[(c[G>>2]|0)+8>>2]&3](G,c[b+24>>2]|0,c[b+28>>2]|0,c[b+32>>2]|0,P+128|0,P+64|0,b+4|0,P+48|0,P+32|0,f)|0){p=+g[P+32>>2];q=+g[P+48>>2];r=+g[P+32+4>>2];s=+g[P+48+4>>2];t=+g[P+32+8>>2];u=+g[P+48+8>>2];if(!((p-q)*(p-q)+(r-s)*(r-s)+(t-u)*(t-u)<=1.4210854715202004e-14)){o=(p-q)*(p-q)+(r-s)*(r-s)+(t-u)*(t-u);w=p-q;x=t-u;y=0.0;z=r-s}else{w=+g[b+4>>2];z=+g[b+8>>2];x=+g[b+12>>2];o=w*w+z*z+x*x;y=+g[b+16>>2]}if(o>1.4210854715202004e-14){v=1.0/+A(+o);o=-+A(+((q-p)*(q-p)+(s-r)*(s-r)+(u-t)*(u-t)));if(m>o|B){l=+g[P+32>>2];j=+g[P+32+4>>2];i=+g[P+32+8>>2];g[P+192>>2]=w*v;g[H>>2]=z*v;g[I>>2]=x*v;g[P+192+12>>2]=y;c[b+60>>2]=3;m=o;break}else h=8}else h=9;c[b+60>>2]=h;if(n)break;k=P;return}else{p=+g[b+4>>2];q=+g[b+8>>2];r=+g[b+12>>2];if(!(p*p+q*q+r*r>0.0)){if(n)break;k=P;return}y=+g[P+48>>2]-+g[P+32>>2];z=+g[P+48+4>>2]-+g[P+32+4>>2];o=+g[P+48+8>>2]-+g[P+32+8>>2];o=+A(+(y*y+z*z+o*o))-s;if(o<m|B){l=t*p+ +g[P+32>>2];j=t*q+ +g[P+32+4>>2];i=t*r+ +g[P+32+8>>2];c[P+192>>2]=c[b+4>>2];c[P+192+4>>2]=c[b+4+4>>2];c[P+192+8>>2]=c[b+4+8>>2];c[P+192+12>>2]=c[b+4+12>>2];x=+g[P+192>>2];y=+g[H>>2];z=+g[I>>2];m=1.0/+A(+(x*x+y*y+z*z));g[P+192>>2]=x*m;g[H>>2]=y*m;g[I>>2]=z*m;c[b+60>>2]=6;m=o;break}c[b+60>>2]=5;if(n)break;k=P;return}}else T=51;while(0);if((T|0)==51)if(!n){k=P;return}if(!(m<0.0)?!(m*m<+g[d+128>>2]):0){k=P;return}if(c[b+76>>2]|0?(T=c[b+28>>2]|0,Qb[c[(c[T>>2]|0)+8>>2]&127](T,P+128|0,P+48|0,P+32|0),x=(+g[P+32>>2]+ +g[P+48>>2])*.5,y=(+g[P+32+4>>2]+ +g[P+48+4>>2])*.5,z=(+g[P+32+8>>2]+ +g[P+48+8>>2])*.5,T=c[b+32>>2]|0,Qb[c[(c[T>>2]|0)+8>>2]&127](T,P+64|0,P+48|0,P+32|0),Q=+g[P+192>>2],R=+g[H>>2],S=+g[I>>2],(x-(+g[P+48>>2]+ +g[P+32>>2])*.5)*Q+(y-(+g[P+48+4>>2]+ +g[P+32+4>>2])*.5)*R+(z-(+g[P+48+8>>2]+ +g[P+32+8>>2])*.5)*S<0.0):0){g[P+192>>2]=-Q;g[H>>2]=-R;g[I>>2]=-S}c[b+4>>2]=c[P+192>>2];c[b+4+4>>2]=c[P+192+4>>2];c[b+4+8>>2]=c[P+192+8>>2];c[b+4+12>>2]=c[P+192+12>>2];g[b+56>>2]=m;T=c[(c[e>>2]|0)+16>>2]|0;g[P+48>>2]=(J+K)*.5+l;g[P+48+4>>2]=(L+M)*.5+j;g[P+48+8>>2]=(N+O)*.5+i;g[P+48+12>>2]=0.0;Ob[T&15](e,P+192|0,P+48|0,m);k=P;return}function Lc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0,_=0,$=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0;aa=k;k=k+1312|0;$=c[b+12>>2]|0;C=+g[$>>2];W=+g[$+4>>2];Y=+g[$+8>>2];E=+g[$+16>>2];G=+g[$+20>>2];I=+g[$+24>>2];J=+g[$+32>>2];M=+g[$+36>>2];O=+g[$+40>>2];P=+g[$+48>>2];S=+g[$+52>>2];U=+g[$+56>>2];$=c[d+12>>2]|0;B=+g[$>>2];V=+g[$+4>>2];X=+g[$+8>>2];D=+g[$+16>>2];F=+g[$+20>>2];H=+g[$+24>>2];K=+g[$+32>>2];L=+g[$+36>>2];N=+g[$+40>>2];Q=+g[$+48>>2];R=+g[$+52>>2];T=+g[$+56>>2];g[aa+672+64>>2]=.009999999776482582;g[aa+600+64>>2]=.009999999776482582;Db[c[(c[e>>2]|0)+112>>2]&511](e);Db[c[(c[f>>2]|0)+112>>2]&511](f);if(!i){$=c[e>>2]|0;$=$+116|0;$=c[$>>2]|0;Db[$&511](e);$=c[f>>2]|0;$=$+116|0;$=c[$>>2]|0;Db[$&511](f);k=aa;return}Z=aa+1024+8|0;_=aa+744+8|0;$=aa+320+8|0;do{i=i+-1|0;z=c[h>>2]|0;c[a+24>>2]=z;c[a+32>>2]=c[h+4>>2];h=h+8|0;x=tb[c[(c[e>>2]|0)+84>>2]&255](e)|0;Nb[c[(c[x>>2]|0)+20>>2]&127](x,z,aa+672|0);z=c[a+32>>2]|0;x=tb[c[(c[f>>2]|0)+84>>2]&255](f)|0;Nb[c[(c[x>>2]|0)+20>>2]&127](x,z,aa+600|0);ia=+g[aa+672>>2];ha=+g[aa+672+4>>2];ga=+g[aa+672+8>>2];g[aa+672>>2]=P+(C*ia+W*ha+Y*ga);g[aa+672+4>>2]=S+(E*ia+G*ha+I*ga);g[aa+672+8>>2]=U+(J*ia+M*ha+O*ga);g[aa+672+12>>2]=0.0;ja=+g[aa+672+16>>2];ea=+g[aa+672+20>>2];fa=+g[aa+672+24>>2];g[aa+672+16>>2]=P+(C*ja+W*ea+Y*fa);g[aa+672+20>>2]=S+(E*ja+G*ea+I*fa);g[aa+672+24>>2]=U+(J*ja+M*ea+O*fa);g[aa+672+28>>2]=0.0;la=+g[aa+672+32>>2];ba=+g[aa+672+36>>2];p=+g[aa+672+40>>2];g[aa+672+32>>2]=P+(C*la+W*ba+Y*p);g[aa+672+36>>2]=S+(E*la+G*ba+I*p);g[aa+672+40>>2]=U+(J*la+M*ba+O*p);g[aa+672+44>>2]=0.0;l=+g[aa+600>>2];y=+g[aa+600+4>>2];w=+g[aa+600+8>>2];g[aa+600>>2]=Q+(B*l+V*y+X*w);g[aa+600+4>>2]=R+(D*l+F*y+H*w);g[aa+600+8>>2]=T+(K*l+L*y+N*w);g[aa+600+12>>2]=0.0;s=+g[aa+600+16>>2];n=+g[aa+600+20>>2];ca=+g[aa+600+24>>2];g[aa+600+16>>2]=Q+(B*s+V*n+X*ca);g[aa+600+20>>2]=R+(D*s+F*n+H*ca);g[aa+600+24>>2]=T+(K*s+L*n+N*ca);g[aa+600+28>>2]=0.0;t=+g[aa+600+32>>2];v=+g[aa+600+36>>2];u=+g[aa+600+40>>2];g[aa+600+32>>2]=Q+(B*t+V*v+X*u);g[aa+600+36>>2]=R+(D*t+F*v+H*u);g[aa+600+40>>2]=T+(K*t+L*v+N*u);g[aa+600+44>>2]=0.0;da=P+(C*ja+W*ea+Y*fa)-(P+(C*ia+W*ha+Y*ga));ka=S+(E*ja+G*ea+I*fa)-(S+(E*ia+G*ha+I*ga));fa=U+(J*ja+M*ea+O*fa)-(U+(J*ia+M*ha+O*ga));ea=P+(C*la+W*ba+Y*p)-(P+(C*ia+W*ha+Y*ga));ja=S+(E*la+G*ba+I*p)-(S+(E*ia+G*ha+I*ga));p=U+(J*la+M*ba+O*p)-(U+(J*ia+M*ha+O*ga));ba=1.0/+A(+((da*ja-ka*ea)*(da*ja-ka*ea)+((ka*p-fa*ja)*(ka*p-fa*ja)+(fa*ea-da*p)*(fa*ea-da*p))));g[aa+672+48>>2]=(ka*p-fa*ja)*ba;g[aa+672+52>>2]=(fa*ea-da*p)*ba;g[aa+672+56>>2]=(da*ja-ka*ea)*ba;g[aa+672+60>>2]=(U+(J*ia+M*ha+O*ga))*(da*ja-ka*ea)*ba+((P+(C*ia+W*ha+Y*ga))*(ka*p-fa*ja)*ba+(S+(E*ia+G*ha+I*ga))*(fa*ea-da*p)*ba);ba=Q+(B*s+V*n+X*ca)-(Q+(B*l+V*y+X*w));p=R+(D*s+F*n+H*ca)-(R+(D*l+F*y+H*w));ca=T+(K*s+L*n+N*ca)-(T+(K*l+L*y+N*w));n=Q+(B*t+V*v+X*u)-(Q+(B*l+V*y+X*w));s=R+(D*t+F*v+H*u)-(R+(D*l+F*y+H*w));u=T+(K*t+L*v+N*u)-(T+(K*l+L*y+N*w));v=1.0/+A(+((ba*s-p*n)*(ba*s-p*n)+((p*u-ca*s)*(p*u-ca*s)+(ca*n-ba*u)*(ca*n-ba*u))));t=(p*u-ca*s)*v;u=(ca*n-ba*u)*v;v=(ba*s-p*n)*v;w=(T+(K*l+L*y+N*w))*v+((Q+(B*l+V*y+X*w))*t+(R+(D*l+F*y+H*w))*u);g[aa+600+48>>2]=t;g[aa+600+52>>2]=u;g[aa+600+56>>2]=v;g[aa+600+60>>2]=w;y=+g[aa+672+64>>2]+ +g[aa+600+64>>2];l=+g[aa+672+48>>2];n=+g[aa+672+52>>2];p=+g[aa+672+56>>2];s=+g[aa+672+60>>2];a:do if(!((+g[aa+600>>2]*l+ +g[aa+600+4>>2]*n+ +g[aa+600+8>>2]*p-s-y>0.0?l*+g[aa+600+16>>2]+n*+g[aa+600+20>>2]+p*+g[aa+600+24>>2]-s-y>0.0:0)&l*+g[aa+600+32>>2]+n*+g[aa+600+36>>2]+p*+g[aa+600+40>>2]-s-y>0.0)?!((+g[aa+672>>2]*t+ +g[aa+672+4>>2]*u+ +g[aa+672+8>>2]*v-w-y>0.0?t*+g[aa+672+16>>2]+u*+g[aa+672+20>>2]+v*+g[aa+672+24>>2]-w-y>0.0:0)&t*+g[aa+672+32>>2]+u*+g[aa+672+36>>2]+v*+g[aa+672+40>>2]-w-y>0.0):0){c[Z>>2]=c[aa+672+48>>2];c[Z+4>>2]=c[aa+672+48+4>>2];c[Z+8>>2]=c[aa+672+48+8>>2];c[Z+12>>2]=c[aa+672+48+12>>2];r=le(aa+672|0,aa+600|0,aa)|0;do if(r|0){c[aa+1024+4>>2]=0;g[aa+1024>>2]=-1.0e3;if((r|0)<=0)break;t=+g[Z>>2];u=+g[aa+1024+12>>2];v=+g[aa+1024+16>>2];s=+g[aa+1024+20>>2];q=0;n=-1.0e3;m=0;l=-1.0e3;j=0;while(1){p=y-(+g[aa+(q<<4)>>2]*t+ +g[aa+(q<<4)+4>>2]*u+ +g[aa+(q<<4)+8>>2]*v-s);do if(p>=0.0){if(p>n){c[aa+256>>2]=q;z=1;l=p;m=1;n=p;break}o=m+1|0;if(p+1.1920928955078125e-07>=n){c[aa+256+(m<<2)>>2]=q;z=o;m=o}else z=j}else z=j;while(0);q=q+1|0;if((q|0)==(r|0))break;else j=z}c[aa+1024+4>>2]=z;g[aa+1024>>2]=l;if((m|0)>0){j=0;do{r=aa+(c[aa+256+(j<<2)>>2]<<4)|0;x=aa+1024+24+(j<<4)|0;c[x>>2]=c[r>>2];c[x+4>>2]=c[r+4>>2];c[x+8>>2]=c[r+8>>2];c[x+12>>2]=c[r+12>>2];j=j+1|0}while((j|0)!=(m|0))}if(z|0){g[Z>>2]=-t;g[aa+1024+12>>2]=-u;g[aa+1024+16>>2]=-v;c[_>>2]=c[aa+600+48>>2];c[_+4>>2]=c[aa+600+48+4>>2];c[_+8>>2]=c[aa+600+48+8>>2];c[_+12>>2]=c[aa+600+48+12>>2];r=le(aa+600|0,aa+672|0,aa)|0;do if(r|0){c[aa+744+4>>2]=0;g[aa+744>>2]=-1.0e3;if((r|0)<=0)break;t=+g[_>>2];u=+g[aa+744+12>>2];v=+g[aa+744+16>>2];w=+g[aa+744+20>>2];q=0;n=-1.0e3;m=0;p=-1.0e3;j=0;while(1){s=y-(+g[aa+(q<<4)>>2]*t+ +g[aa+(q<<4)+4>>2]*u+ +g[aa+(q<<4)+8>>2]*v-w);do if(s>=0.0){if(s>n){c[aa+256>>2]=q;x=1;p=s;m=1;n=s;break}o=m+1|0;if(s+1.1920928955078125e-07>=n){c[aa+256+(m<<2)>>2]=q;x=o;m=o}else x=j}else x=j;while(0);q=q+1|0;if((q|0)==(r|0))break;else j=x}c[aa+744+4>>2]=x;g[aa+744>>2]=p;if((m|0)>0){j=0;do{q=aa+(c[aa+256+(j<<2)>>2]<<4)|0;r=aa+744+24+(j<<4)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];j=j+1|0}while((j|0)!=(m|0))}if(x|0){if(p<l){g[aa+320>>2]=p;c[$>>2]=c[_>>2];c[$+4>>2]=c[_+4>>2];c[$+8>>2]=c[_+8>>2];c[$+12>>2]=c[_+12>>2];c[aa+320+4>>2]=x;j=x;do{j=j+-1|0;r=aa+744+24+(j<<4)|0;z=aa+320+24+(j<<4)|0;c[z>>2]=c[r>>2];c[z+4>>2]=c[r+4>>2];c[z+8>>2]=c[r+8>>2];c[z+12>>2]=c[r+12>>2]}while((j|0)!=0);j=x;l=p}else{g[aa+320>>2]=l;c[$>>2]=c[Z>>2];c[$+4>>2]=c[Z+4>>2];c[$+8>>2]=c[Z+8>>2];c[$+12>>2]=c[Z+12>>2];c[aa+320+4>>2]=z;j=z;do{j=j+-1|0;r=aa+1024+24+(j<<4)|0;x=aa+320+24+(j<<4)|0;c[x>>2]=c[r>>2];c[x+4>>2]=c[r+4>>2];c[x+8>>2]=c[r+8>>2];c[x+12>>2]=c[r+12>>2]}while((j|0)!=0);j=z}if(!j)break a;while(1){m=j+-1|0;j=c[a+16>>2]|0;Nb[c[(c[j>>2]|0)+8>>2]&127](j,c[a+28>>2]|0,c[a+24>>2]|0);j=c[a+16>>2]|0;Nb[c[(c[j>>2]|0)+12>>2]&127](j,c[a+36>>2]|0,c[a+32>>2]|0);j=c[a+12>>2]|0;if(!j){j=c[a+4>>2]|0;j=xb[c[(c[j>>2]|0)+12>>2]&63](j,c[b+8>>2]|0,c[d+8>>2]|0)|0;c[a+12>>2]=j}z=c[a+16>>2]|0;c[z+4>>2]=j;Ob[c[(c[z>>2]|0)+16>>2]&15](z,aa+320+8|0,aa+320+24+(m<<4)|0,-l);if(!m)break a;j=m;l=+g[aa+320>>2]}}}while(0);break a}}while(0)}while(0)}while((i|0)!=0);$=c[e>>2]|0;$=$+116|0;$=c[$>>2]|0;Db[$&511](e);$=c[f>>2]|0;$=$+116|0;$=c[$>>2]|0;Db[$&511](f);k=aa;return}function Mc(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;c[d+168>>2]=c[d+152>>2];c[e>>2]=12348;c[e+52>>2]=282;a[e+60>>0]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;c[e+144>>2]=0;a[e+164>>0]=1;c[e+160>>2]=0;c[e+152>>2]=0;c[e+156>>2]=0;c[e+168>>2]=0;c[e+4>>2]=-8388609;c[e+8>>2]=-8388609;c[e+12>>2]=-8388609;g[e+16>>2]=0.0;c[e+20>>2]=2139095039;c[e+24>>2]=2139095039;c[e+28>>2]=2139095039;g[e+32>>2]=0.0;f=c[d+56>>2]|0;if(h){c[e+56>>2]=WC(f|0)|0;a[e+4>>0]=a[d+4+3>>0]|0;a[e+5>>0]=a[d+4+2>>0]|0;a[e+6>>0]=a[d+4+1>>0]|0;a[e+7>>0]=a[d+4>>0]|0;a[e+8>>0]=a[d+8+3>>0]|0;a[e+9>>0]=a[d+8+2>>0]|0;a[e+10>>0]=a[d+8+1>>0]|0;a[e+11>>0]=a[d+8>>0]|0;a[e+12>>0]=a[d+12+3>>0]|0;a[e+13>>0]=a[d+12+2>>0]|0;a[e+14>>0]=a[d+12+1>>0]|0;a[e+15>>0]=a[d+12>>0]|0;a[e+16>>0]=a[d+16+3>>0]|0;a[e+17>>0]=a[d+16+2>>0]|0;a[e+18>>0]=a[d+16+1>>0]|0;a[e+19>>0]=a[d+16>>0]|0;a[e+20>>0]=a[d+20+3>>0]|0;a[e+21>>0]=a[d+20+2>>0]|0;a[e+22>>0]=a[d+20+1>>0]|0;a[e+23>>0]=a[d+20>>0]|0;a[e+24>>0]=a[d+24+3>>0]|0;a[e+25>>0]=a[d+24+2>>0]|0;a[e+26>>0]=a[d+24+1>>0]|0;a[e+27>>0]=a[d+24>>0]|0;a[e+28>>0]=a[d+28+3>>0]|0;a[e+29>>0]=a[d+28+2>>0]|0;a[e+30>>0]=a[d+28+1>>0]|0;a[e+31>>0]=a[d+28>>0]|0;a[e+32>>0]=a[d+32+3>>0]|0;a[e+33>>0]=a[d+32+2>>0]|0;a[e+34>>0]=a[d+32+1>>0]|0;a[e+35>>0]=a[d+32>>0]|0;a[e+36>>0]=a[d+36+3>>0]|0;a[e+37>>0]=a[d+36+2>>0]|0;a[e+38>>0]=a[d+36+1>>0]|0;a[e+39>>0]=a[d+36>>0]|0;a[e+40>>0]=a[d+40+3>>0]|0;a[e+41>>0]=a[d+40+2>>0]|0;a[e+42>>0]=a[d+40+1>>0]|0;a[e+43>>0]=a[d+40>>0]|0;a[e+44>>0]=a[d+44+3>>0]|0;a[e+45>>0]=a[d+44+2>>0]|0;a[e+46>>0]=a[d+44+1>>0]|0;a[e+47>>0]=a[d+44>>0]|0;a[e+48>>0]=a[d+48+3>>0]|0;a[e+49>>0]=a[d+48+2>>0]|0;a[e+50>>0]=a[d+48+1>>0]|0;a[e+51>>0]=a[d+48>>0]|0;c[e+144>>2]=WC(c[d+144>>2]|0)|0;f=WC(c[d+168>>2]|0)|0}else{c[e+56>>2]=f;c[e+4>>2]=c[d+4>>2];c[e+4+4>>2]=c[d+4+4>>2];c[e+4+8>>2]=c[d+4+8>>2];c[e+4+12>>2]=c[d+4+12>>2];c[e+20>>2]=c[d+20>>2];c[e+20+4>>2]=c[d+20+4>>2];c[e+20+8>>2]=c[d+20+8>>2];c[e+20+12>>2]=c[d+20+12>>2];c[e+36>>2]=c[d+36>>2];c[e+36+4>>2]=c[d+36+4>>2];c[e+36+8>>2]=c[d+36+8>>2];c[e+36+12>>2]=c[d+36+12>>2];c[e+144>>2]=c[d+144>>2];f=c[d+168>>2]|0}c[e+168>>2]=f;a[e+60>>0]=a[d+60>>0]|0;k=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){f=c[e+96>>2]|0;if(f|0){if(a[e+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[e+96>>2]=0}a[e+100>>0]=0;c[e+96>>2]=e+172;c[e+88>>2]=k;c[e+92>>2]=k;if(h)if((k|0)>0){i=0;j=c[d+96>>2]|0;f=e+172|0;do{l=j+(i<<6)|0;n=f+(i<<6)|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=j+(i<<6)+4|0;l=f+(i<<6)+4|0;a[l>>0]=a[n+3>>0]|0;a[l+1>>0]=a[n+2>>0]|0;a[l+2>>0]=a[n+1>>0]|0;a[l+3>>0]=a[n>>0]|0;l=j+(i<<6)+8|0;n=f+(i<<6)+8|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=j+(i<<6)+12|0;f=f+(i<<6)+12|0;a[f>>0]=a[n+3>>0]|0;a[f+1>>0]=a[n+2>>0]|0;a[f+2>>0]=a[n+1>>0]|0;a[f+3>>0]=a[n>>0]|0;f=c[d+96>>2]|0;n=f+(i<<6)+16|0;l=c[e+96>>2]|0;m=l+(i<<6)+16|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;m=f+(i<<6)+20|0;n=l+(i<<6)+20|0;a[n>>0]=a[m+3>>0]|0;a[n+1>>0]=a[m+2>>0]|0;a[n+2>>0]=a[m+1>>0]|0;a[n+3>>0]=a[m>>0]|0;n=f+(i<<6)+24|0;m=l+(i<<6)+24|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;f=f+(i<<6)+28|0;l=l+(i<<6)+28|0;a[l>>0]=a[f+3>>0]|0;a[l+1>>0]=a[f+2>>0]|0;a[l+2>>0]=a[f+1>>0]|0;a[l+3>>0]=a[f>>0]|0;j=c[d+96>>2]|0;l=WC(c[j+(i<<6)+32>>2]|0)|0;f=c[e+96>>2]|0;c[f+(i<<6)+32>>2]=l;c[f+(i<<6)+36>>2]=WC(c[j+(i<<6)+36>>2]|0)|0;c[f+(i<<6)+40>>2]=WC(c[j+(i<<6)+40>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0));i=29}else i=28;else if((k|0)>0){i=0;j=c[d+96>>2]|0;f=e+172|0;do{m=j+(i<<6)|0;n=f+(i<<6)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];n=(c[d+96>>2]|0)+(i<<6)+16|0;f=(c[e+96>>2]|0)+(i<<6)+16|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];j=c[d+96>>2]|0;f=c[e+96>>2]|0;c[f+(i<<6)+32>>2]=c[j+(i<<6)+32>>2];c[f+(i<<6)+36>>2]=c[j+(i<<6)+36>>2];c[f+(i<<6)+40>>2]=c[j+(i<<6)+40>>2];i=i+1|0}while((i|0)!=(k|0));i=29}else i=28;if((i|0)==28){f=k<<6;i=32}else if((i|0)==29)if(f)if((a[e+100>>0]|0)==0|(f|0)==0){f=k<<6;i=32}else{c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);f=k<<6;i=32}else f=k<<6;if((i|0)==32)c[e+96>>2]=0;c[e+88>>2]=0;c[e+88+4>>2]=0;c[e+88+8>>2]=0;a[e+88+12>>0]=0}else{f=c[e+136>>2]|0;if(f|0){if(a[e+140>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[e+136>>2]=0}a[e+140>>0]=0;c[e+136>>2]=e+172;c[e+128>>2]=k;c[e+132>>2]=k;if(h){if((k|0)>0){i=c[d+136>>2]|0;f=0;do{b[e+172+(f<<4)>>1]=ZI(b[i+(f<<4)>>1]|0)|0;b[e+172+(f<<4)+2>>1]=ZI(b[i+(f<<4)+2>>1]|0)|0;b[e+172+(f<<4)+4>>1]=ZI(b[i+(f<<4)+4>>1]|0)|0;b[e+172+(f<<4)+6>>1]=ZI(b[i+(f<<4)+6>>1]|0)|0;b[e+172+(f<<4)+8>>1]=ZI(b[i+(f<<4)+8>>1]|0)|0;b[e+172+(f<<4)+10>>1]=ZI(b[i+(f<<4)+10>>1]|0)|0;c[e+172+(f<<4)+12>>2]=WC(c[i+(f<<4)+12>>2]|0)|0;f=f+1|0}while((f|0)!=(k|0))}}else if((k|0)>0){i=c[d+136>>2]|0;f=0;do{b[e+172+(f<<4)>>1]=b[i+(f<<4)>>1]|0;b[e+172+(f<<4)+2>>1]=b[i+(f<<4)+2>>1]|0;b[e+172+(f<<4)+4>>1]=b[i+(f<<4)+4>>1]|0;b[e+172+(f<<4)+6>>1]=b[i+(f<<4)+6>>1]|0;b[e+172+(f<<4)+8>>1]=b[i+(f<<4)+8>>1]|0;b[e+172+(f<<4)+10>>1]=b[i+(f<<4)+10>>1]|0;c[e+172+(f<<4)+12>>2]=c[i+(f<<4)+12>>2];f=f+1|0}while((f|0)!=(k|0))}c[e+128>>2]=0;c[e+128+4>>2]=0;c[e+128+8>>2]=0;a[e+128+12>>0]=0;f=k<<4}k=e+172+f|0;f=c[d+168>>2]|0;i=c[e+160>>2]|0;if(i|0){if(a[e+164>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[e+160>>2]=0}a[e+164>>0]=0;c[e+160>>2]=k;c[e+152>>2]=f;c[e+156>>2]=f;j=c[d+168>>2]|0;if(h){if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}i=c[d+160>>2]|0;f=0;do{b[k+(f<<5)>>1]=ZI(b[i+(f<<5)>>1]|0)|0;b[k+(f<<5)+2>>1]=ZI(b[i+(f<<5)+2>>1]|0)|0;b[k+(f<<5)+4>>1]=ZI(b[i+(f<<5)+4>>1]|0)|0;b[k+(f<<5)+6>>1]=ZI(b[i+(f<<5)+6>>1]|0)|0;b[k+(f<<5)+8>>1]=ZI(b[i+(f<<5)+8>>1]|0)|0;b[k+(f<<5)+10>>1]=ZI(b[i+(f<<5)+10>>1]|0)|0;c[k+(f<<5)+12>>2]=WC(c[i+(f<<5)+12>>2]|0)|0;c[k+(f<<5)+16>>2]=WC(c[i+(f<<5)+16>>2]|0)|0;f=f+1|0}while((f|0)!=(j|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}else{if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}i=c[d+160>>2]|0;f=0;do{b[k+(f<<5)>>1]=b[i+(f<<5)>>1]|0;b[k+(f<<5)+2>>1]=b[i+(f<<5)+2>>1]|0;b[k+(f<<5)+4>>1]=b[i+(f<<5)+4>>1]|0;b[k+(f<<5)+6>>1]=b[i+(f<<5)+6>>1]|0;b[k+(f<<5)+8>>1]=b[i+(f<<5)+8>>1]|0;b[k+(f<<5)+10>>1]=b[i+(f<<5)+10>>1]|0;c[k+(f<<5)+12>>2]=c[i+(f<<5)+12>>2];c[k+(f<<5)+16>>2]=c[i+(f<<5)+16>>2];c[k+(f<<5)+20>>2]=0;c[k+(f<<5)+24>>2]=0;c[k+(f<<5)+28>>2]=0;f=f+1|0}while((f|0)<(c[d+168>>2]|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}return 0}function Nc(b,d,e,f,h,i,j,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;n=n|0;var o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;C=k;k=k+4224|0;if(((c[e+4>>2]|0)+-17|0)>>>0<2)A=((c[f+4>>2]|0)+-17|0)>>>0<2;else A=0;b=0;do{$e();v=+g[27216+(b<<4)>>2];w=+g[27216+(b<<4)+4>>2];x=+g[27216+(b<<4)+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+992+(b<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+992+(b<<4)+4>>2]=z;g[C+992+(b<<4)+8>>2]=y;g[C+992+(b<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+(b<<4)>>2]=v*+g[i>>2]+w*+g[i+16>>2]+x*+g[i+32>>2];g[C+(b<<4)+4>>2]=y;g[C+(b<<4)+8>>2]=z;g[C+(b<<4)+12>>2]=0.0;b=b+1|0}while((b|0)!=42);q=tb[c[(c[e>>2]|0)+84>>2]&255](e)|0;if((q|0)>0){b=0;p=42;while(1){Nb[c[(c[e>>2]|0)+88>>2]&127](e,b,C+4144|0);y=+g[C+4144>>2];z=+g[C+4144+4>>2];x=+g[C+4144+8>>2];w=y*+g[h+16>>2]+z*+g[h+20>>2]+x*+g[h+24>>2];v=y*+g[h+32>>2]+z*+g[h+36>>2]+x*+g[h+40>>2];g[C+4144>>2]=+g[h>>2]*y+ +g[h+4>>2]*z+ +g[h+8>>2]*x;g[C+4144+4>>2]=w;g[C+4144+8>>2]=v;g[C+4144+12>>2]=0.0;$e();r=27216+(p<<4)|0;c[r>>2]=c[C+4144>>2];c[r+4>>2]=c[C+4144+4>>2];c[r+8>>2]=c[C+4144+8>>2];c[r+12>>2]=c[C+4144+12>>2];v=+g[C+4144>>2];w=+g[C+4144+4>>2];x=+g[C+4144+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+992+(p<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+992+(p<<4)+4>>2]=z;g[C+992+(p<<4)+8>>2]=y;g[C+992+(p<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+(p<<4)>>2]=v*+g[i>>2]+w*+g[i+16>>2]+x*+g[i+32>>2];g[C+(p<<4)+4>>2]=y;g[C+(p<<4)+8>>2]=z;g[C+(p<<4)+12>>2]=0.0;b=b+1|0;if((b|0)==(q|0))break;else p=p+1|0}p=q+42|0}else p=42;r=tb[c[(c[f>>2]|0)+84>>2]&255](f)|0;if((r|0)>0){b=0;q=p;while(1){Nb[c[(c[f>>2]|0)+88>>2]&127](f,b,C+4144|0);y=+g[C+4144>>2];z=+g[C+4144+4>>2];x=+g[C+4144+8>>2];w=y*+g[i+16>>2]+z*+g[i+20>>2]+x*+g[i+24>>2];v=y*+g[i+32>>2]+z*+g[i+36>>2]+x*+g[i+40>>2];g[C+4144>>2]=+g[i>>2]*y+ +g[i+4>>2]*z+ +g[i+8>>2]*x;g[C+4144+4>>2]=w;g[C+4144+8>>2]=v;g[C+4144+12>>2]=0.0;$e();D=27216+(q<<4)|0;c[D>>2]=c[C+4144>>2];c[D+4>>2]=c[C+4144+4>>2];c[D+8>>2]=c[C+4144+8>>2];c[D+12>>2]=c[C+4144+12>>2];v=+g[C+4144>>2];w=+g[C+4144+4>>2];x=+g[C+4144+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+992+(q<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+992+(q<<4)+4>>2]=z;g[C+992+(q<<4)+8>>2]=y;g[C+992+(q<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+(q<<4)>>2]=v*+g[i>>2]+w*+g[i+16>>2]+x*+g[i+32>>2];g[C+(q<<4)+4>>2]=y;g[C+(q<<4)+8>>2]=z;g[C+(q<<4)+12>>2]=0.0;b=b+1|0;if((b|0)==(r|0))break;else q=q+1|0}p=r+p|0}Qb[c[(c[e>>2]|0)+76>>2]&127](e,C+992|0,C+2976|0,p);Qb[c[(c[f>>2]|0)+76>>2]&127](f,C,C+1984|0,p);if((p|0)>0){v=999999984306749440.0;b=0;y=0.0;o=0.0;x=0.0;s=0.0;while(1){$e();u=+g[27216+(b<<4)>>2];w=+g[27216+(b<<4)+4>>2];t=+g[27216+(b<<4)+12>>2];z=A?0.0:+g[27216+(b<<4)+8>>2];if(u*u+w*w+z*z>.01?(F=+g[C+2976+(b<<4)>>2],E=+g[C+2976+(b<<4)+4>>2],B=+g[C+2976+(b<<4)+8>>2],I=+g[C+1984+(b<<4)>>2],H=+g[C+1984+(b<<4)+4>>2],G=+g[C+1984+(b<<4)+8>>2],B=u*(I*+g[i>>2]+H*+g[i+4>>2]+G*+g[i+8>>2]+ +g[i+48>>2]-(F*+g[h>>2]+E*+g[h+4>>2]+B*+g[h+8>>2]+ +g[h+48>>2]))+w*(I*+g[i+16>>2]+H*+g[i+20>>2]+G*+g[i+24>>2]+ +g[i+52>>2]-(F*+g[h+16>>2]+E*+g[h+20>>2]+B*+g[h+24>>2]+ +g[h+52>>2]))+z*(A?0.0:I*+g[i+32>>2]+H*+g[i+36>>2]+G*+g[i+40>>2]+ +g[i+56>>2]-(F*+g[h+32>>2]+E*+g[h+36>>2]+B*+g[h+40>>2]+ +g[h+56>>2])),B<v):0){v=B;o=z}else{t=y;u=s;w=x}b=b+1|0;if((b|0)==(p|0)){x=o;break}else{y=t;x=w;s=u}}}else{v=999999984306749440.0;x=0.0;w=0.0;u=0.0;t=0.0}switch(c[e+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+jb[c[(c[e>>2]|0)+48>>2]&15](e)}switch(c[f+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+jb[c[(c[f>>2]|0)+48>>2]&15](f)}if(v<0.0){D=0;k=C;return D|0}switch(c[e+4>>2]|0){case 8:{o=+g[e+28>>2]*+g[e+12>>2];break}case 0:{o=+g[e+44>>2];break}case 1:{o=+g[e+44>>2];break}case 13:{o=+g[e+44>>2];break}case 11:{o=+g[e+44>>2];break}case 10:{o=+g[e+44>>2];break}case 4:case 5:{o=+g[e+44>>2];break}default:o=+jb[c[(c[e>>2]|0)+48>>2]&15](e)}b=c[f+4>>2]|0;switch(b|0){case 8:{s=+g[f+28>>2]*+g[f+12>>2];b=8;break}case 0:{s=+g[f+44>>2];b=0;break}case 1:{s=+g[f+44>>2];b=1;break}case 13:{s=+g[f+44>>2];b=13;break}case 11:{s=+g[f+44>>2];b=11;break}case 10:{s=+g[f+44>>2];b=10;break}case 4:case 5:{s=+g[f+44>>2];break}default:{s=+jb[c[(c[f>>2]|0)+48>>2]&15](f);b=c[f+4>>2]|0}}o=v+(o+s+.5);c[C+4144>>2]=13256;c[C+4144+4>>2]=0;c[C+4144+8>>2]=1065353216;c[C+4144+12>>2]=0;g[C+4144+16>>2]=0.0;c[C+4144+20>>2]=0;c[C+4144+24>>2]=d;c[C+4144+28>>2]=e;c[C+4144+32>>2]=f;c[C+4144+36>>2]=c[e+4>>2];c[C+4144+40>>2]=b;g[C+4144+44>>2]=+jb[c[(c[e>>2]|0)+48>>2]&15](e);g[C+4144+48>>2]=+jb[c[(c[f>>2]|0)+48>>2]&15](f);a[C+4144+52>>0]=0;c[C+4144+60>>2]=-1;c[C+4144+72>>2]=1;c[C+4144+76>>2]=1;G=u*o+ +g[h+48>>2];H=w*o+ +g[h+52>>2];I=x*o+ +g[h+56>>2];c[C+4012>>2]=c[h>>2];c[C+4012+4>>2]=c[h+4>>2];c[C+4012+8>>2]=c[h+8>>2];c[C+4012+12>>2]=c[h+12>>2];c[C+4012+16>>2]=c[h+16>>2];c[C+4012+16+4>>2]=c[h+16+4>>2];c[C+4012+16+8>>2]=c[h+16+8>>2];c[C+4012+16+12>>2]=c[h+16+12>>2];c[C+4012+32>>2]=c[h+32>>2];c[C+4012+32+4>>2]=c[h+32+4>>2];c[C+4012+32+8>>2]=c[h+32+8>>2];c[C+4012+32+12>>2]=c[h+32+12>>2];g[C+4012+48>>2]=G;g[C+4012+52>>2]=H;g[C+4012+56>>2]=I;g[C+4012+60>>2]=0.0;c[C+4012+64>>2]=c[i>>2];c[C+4012+64+4>>2]=c[i+4>>2];c[C+4012+64+8>>2]=c[i+8>>2];c[C+4012+64+12>>2]=c[i+12>>2];c[C+4012+80>>2]=c[i+16>>2];c[C+4012+80+4>>2]=c[i+16+4>>2];c[C+4012+80+8>>2]=c[i+16+8>>2];c[C+4012+80+12>>2]=c[i+16+12>>2];c[C+4012+96>>2]=c[i+32>>2];c[C+4012+96+4>>2]=c[i+32+4>>2];c[C+4012+96+8>>2]=c[i+32+8>>2];c[C+4012+96+12>>2]=c[i+32+12>>2];c[C+4012+112>>2]=c[i+48>>2];c[C+4012+112+4>>2]=c[i+48+4>>2];c[C+4012+112+8>>2]=c[i+48+8>>2];c[C+4012+112+12>>2]=c[i+48+12>>2];g[C+4012+128>>2]=999999984306749440.0;c[C+3968>>2]=13140;a[C+3968+40>>0]=0;g[C+4144+4>>2]=-u;g[C+4144+8>>2]=-w;g[C+4144+12>>2]=-x;g[C+4144+16>>2]=0.0;Kc(C+4144|0,C+4012|0,C+3968|0,n,0);o=o-+g[C+3968+36>>2];b=a[C+3968+40>>0]|0;if(b<<24>>24){D=C+3968+20|0;H=+g[C+3968+24>>2]-w*o;I=+g[C+3968+28>>2]-x*o;g[l>>2]=+g[D>>2]-u*o;g[l+4>>2]=H;g[l+8>>2]=I;g[l+12>>2]=0.0;c[m>>2]=c[D>>2];c[m+4>>2]=c[D+4>>2];c[m+8>>2]=c[D+8>>2];c[m+12>>2]=c[D+12>>2];g[j>>2]=u;g[j+4>>2]=w;g[j+8>>2]=x;g[j+12>>2]=t}D=b<<24>>24!=0;k=C;return D|0}function Oc(d,e){d=d|0;e=+e;var f=0,h=0,i=0,j=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;B=k;k=k+464|0;Wj(17445);f=c[d+84>>2]|0;if(f|0)Eb[f&31](d,e);Eb[c[(c[d>>2]|0)+140>>2]&31](d,e);g[d+28>>2]=e;c[d+32>>2]=0;c[d+48>>2]=tb[c[(c[d>>2]|0)+20>>2]&255](d)|0;Wj(17488);Wj(17513);f=c[d+316>>2]|0;if((c[d+308>>2]|0)>0){h=0;do{s=c[d+24>>2]|0;Jb[c[(c[s>>2]|0)+16>>2]&127](s,c[f+(h<<2)>>2]|0);h=h+1|0;f=c[d+316>>2]|0}while((h|0)<(c[d+308>>2]|0))}if(f|0){if(a[d+320>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=0;c[d+308>>2]=0;c[d+312>>2]=0;f=c[3369]|0;s=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=s;do if(!s){if(c[f+4>>2]|0){bb(B+368|0,0)|0;s=c[7583]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[s+4>>2]|0)+(((c[B+368>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[3369]|0}c[3369]=c[f+20>>2]}while(0);a:do if((c[d+232>>2]|0)>0){s=B+304+48|0;r=B+368+44|0;q=0;while(1){j=c[(c[d+240>>2]|0)+(q<<2)>>2]|0;g[j+244>>2]=1.0;b:do switch(c[j+216>>2]|0){case 2:case 5:break;default:if(((c[j+204>>2]&3|0)==0?(oh(j+4|0,+g[j+312>>2],+g[j+316>>2],+g[j+320>>2],j+328|0,e,B+304|0),t=+g[s>>2],u=t-+g[j+52>>2],v=+g[B+304+52>>2],w=v-+g[j+56>>2],x=+g[B+304+56>>2],y=x-+g[j+60>>2],a[d+44>>0]|0):0)?(o=+g[j+252>>2],o*o!=0.0?o*o<u*u+w*w+y*y:0):0){Wj(17550);if((c[(c[j+192>>2]|0)+4>>2]|0)<20?(c[7247]=(c[7247]|0)+1,i=c[d+68>>2]|0,i=tb[c[(c[i>>2]|0)+36>>2]&255](i)|0,p=c[d+24>>2]|0,g[B+368+4>>2]=1.0,c[B+368+12>>2]=c[j+52>>2],c[B+368+12+4>>2]=c[j+52+4>>2],c[B+368+12+8>>2]=c[j+52+8>>2],c[B+368+12+12>>2]=c[j+52+12>>2],c[B+368+28>>2]=c[s>>2],c[B+368+28+4>>2]=c[s+4>>2],c[B+368+28+8>>2]=c[s+8>>2],c[B+368+28+12>>2]=c[s+12>>2],c[B+368+76>>2]=0,c[B+368>>2]=7520,c[B+368+80>>2]=j,c[B+368+88>>2]=i,c[B+368+92>>2]=p,p=c[j+248>>2]|0,c[B+248+8>>2]=0,c[B+248+12>>2]=1065353216,c[B+248+16>>2]=1065353216,c[B+248+20>>2]=1065353216,g[B+248+24>>2]=0.0,c[B+248>>2]=9908,c[B+248+4>>2]=8,c[B+248+28>>2]=p,c[B+248+44>>2]=p,c[B+368+84>>2]=c[d+56>>2],p=c[j+188>>2]|0,b[B+368+8>>1]=b[p+4>>1]|0,b[B+368+10>>1]=b[p+6>>1]|0,c[B+184+48>>2]=c[s>>2],c[B+184+48+4>>2]=c[s+4>>2],c[B+184+48+8>>2]=c[s+8>>2],c[B+184+48+12>>2]=c[s+12>>2],c[B+184>>2]=c[j+4>>2],c[B+184+4>>2]=c[j+4+4>>2],c[B+184+8>>2]=c[j+4+8>>2],c[B+184+12>>2]=c[j+4+12>>2],c[B+184+16>>2]=c[j+20>>2],c[B+184+16+4>>2]=c[j+20+4>>2],c[B+184+16+8>>2]=c[j+20+8>>2],c[B+184+16+12>>2]=c[j+20+12>>2],c[B+184+32>>2]=c[j+36>>2],c[B+184+32+4>>2]=c[j+36+4>>2],c[B+184+32+8>>2]=c[j+36+8>>2],c[B+184+32+12>>2]=c[j+36+12>>2],Nd(d,B+248|0,j+4|0,B+184|0,B+368|0,0.0),z=+g[B+368+4>>2],z<1.0):0){l=z*(t-+g[j+52>>2]);m=z*(v-+g[j+56>>2]);n=z*(x-+g[j+60>>2]);o=-(m*+g[B+368+48>>2])-l*+g[r>>2]-n*+g[B+368+52>>2];p=c[d+24>>2]|0;p=xb[c[(c[p>>2]|0)+12>>2]&63](p,j,c[B+368+76>>2]|0)|0;h=c[d+308>>2]|0;if((h|0)==(c[d+312>>2]|0)?(A=(h|0)==0?1:h<<1,(h|0)<(A|0)):0){if(!A)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((A<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[d+308>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[d+316>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[d+316>>2]|0;if(i){if(a[d+320>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[d+308>>2]|0}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=f;c[d+312>>2]=A;f=h}else f=h;c[(c[d+316>>2]|0)+(f<<2)>>2]=p;c[d+308>>2]=f+1;l=l+ +g[j+52>>2];m=m+ +g[j+56>>2];n=n+ +g[j+60>>2];i=c[B+368+76>>2]|0;N=+g[i+4>>2];M=+g[i+20>>2];L=+g[i+36>>2];K=+g[i+8>>2];J=+g[i+24>>2];I=+g[i+40>>2];H=+g[i+12>>2];F=+g[i+28>>2];D=+g[i+44>>2];G=-+g[i+52>>2];E=-+g[i+56>>2];C=-+g[i+60>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;g[B+16>>2]=l*N+m*M+n*L+(N*G+M*E+L*C);g[B+20>>2]=l*K+m*J+n*I+(K*G+J*E+I*C);g[B+24>>2]=l*H+m*F+n*D+(H*G+F*E+D*C);g[B+28>>2]=0.0;c[B+64>>2]=c[r>>2];c[B+64+4>>2]=c[r+4>>2];c[B+64+8>>2]=c[r+8>>2];c[B+64+12>>2]=c[r+12>>2];g[B+80>>2]=o;g[B+84>>2]=0.0;g[B+88>>2]=0.0;g[B+92>>2]=0.0;c[B+112>>2]=0;a[B+116>>0]=0;c[B+120>>2]=0;c[B+120+4>>2]=0;c[B+120+8>>2]=0;c[B+120+12>>2]=0;c[B+120+16>>2]=0;c[B+120+20>>2]=0;c[B+120+24>>2]=0;c[B+120+28>>2]=0;i=Bf(p,B)|0;g[p+4+(i*184|0)+92>>2]=0.0;o=+g[j+224>>2]*+g[(c[B+368+76>>2]|0)+224>>2];o=o<-10.0?-10.0:o;g[p+4+(i*184|0)+84>>2]=o>10.0?10.0:o;c[p+4+(i*184|0)+48>>2]=c[j+52>>2];c[p+4+(i*184|0)+48+4>>2]=c[j+52+4>>2];c[p+4+(i*184|0)+48+8>>2]=c[j+52+8>>2];c[p+4+(i*184|0)+48+12>>2]=c[j+52+12>>2];g[p+4+(i*184|0)+32>>2]=l;g[p+4+(i*184|0)+36>>2]=m;g[p+4+(i*184|0)+40>>2]=n;g[p+4+(i*184|0)+44>>2]=0.0}f=c[3369]|0;p=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=p;if(!p){if(c[f+4>>2]|0){bb(B+368|0,0)|0;p=c[7583]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[p+4>>2]|0)+(((c[B+368>>2]|0)-(c[p>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break b;f=c[3369]|0}c[3369]=c[f+20>>2]}}}while(0);q=q+1|0;if((q|0)>=(c[d+232>>2]|0))break a}}while(0);f=c[3369]|0;A=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=A;do if(!A){if(c[f+4>>2]|0){bb(B+368|0,0)|0;A=c[7583]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[A+4>>2]|0)+(((c[B+368>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[3369]|0}c[3369]=c[f+20>>2]}while(0);Db[c[(c[d>>2]|0)+44>>2]&511](d);Db[c[(c[d>>2]|0)+148>>2]&511](d);g[d+104>>2]=e;Jb[c[(c[d>>2]|0)+152>>2]&127](d,d+92|0);Eb[c[(c[d>>2]|0)+144>>2]&31](d,e);Wj(17474);if((c[d+280>>2]|0)>0){f=0;do{A=c[(c[d+288>>2]|0)+(f<<2)>>2]|0;Kb[c[(c[A>>2]|0)+8>>2]&7](A,d,e);f=f+1|0}while((f|0)<(c[d+280>>2]|0))}f=c[3369]|0;A=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=A;do if(!A){if(c[f+4>>2]|0){bb(B+368|0,0)|0;A=c[7583]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[A+4>>2]|0)+(((c[B+368>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[3369]|0}c[3369]=c[f+20>>2]}while(0);Eb[c[(c[d>>2]|0)+156>>2]&31](d,e);f=c[d+80>>2]|0;if(f|0)Eb[f&31](d,e);f=c[3369]|0;d=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=d;if(d|0){k=B;return}do if(c[f+4>>2]|0){bb(B+368|0,0)|0;d=c[7583]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[d+4>>2]|0)+(((c[B+368>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[f+16>>2]|0)){f=c[3369]|0;break}else{k=B;return}}while(0);c[3369]=c[f+20>>2];k=B;return}function Pc(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;H=k;k=k+192|0;Wj(16584);d=c[b+1112>>2]|0;if((d|0)>0){G=0;do{F=c[(c[b+1120>>2]|0)+(G<<2)>>2]|0;E=c[F+24>>2]|0;if(E){i=H+144+4|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));g[H+144>>2]=9.999999747378752e-05;g[H+144+20>>2]=1.9999999494757503e-04;g[H+144+40>>2]=2.9999998514540493e-04;if((E|0)>0){i=c[F+32>>2]|0;j=c[F+12>>2]|0;d=0;e=0.0;f=0.0;h=0.0;do{D=c[i+(d<<2)>>2]|0;C=+g[j+(d<<2)>>2];e=e+ +g[D+8>>2]*C;f=f+C*+g[D+12>>2];h=h+C*+g[D+16>>2];d=d+1|0}while((d|0)!=(E|0))}else{h=0.0;f=0.0;e=0.0}r=+g[F+128>>2];t=e*r;s=f*r;r=h*r;g[F+228>>2]=t;g[F+232>>2]=s;g[F+236>>2]=r;g[F+240>>2]=0.0;if((E|0)>0){i=c[F+32>>2]|0;j=c[F+52>>2]|0;d=0;e=9.999999747378752e-05;f=0.0;h=0.0;l=0.0;m=1.9999999494757503e-04;n=0.0;o=0.0;p=0.0;q=2.9999998514540493e-04;do{D=c[i+(d<<2)>>2]|0;x=+g[D+8>>2]-t;y=+g[D+12>>2]-s;B=+g[D+16>>2]-r;z=+g[j+(d<<4)>>2];A=+g[j+(d<<4)+4>>2];C=+g[j+(d<<4)+8>>2];e=x*z+e;f=x*A+f;h=x*C+h;l=y*z+l;m=y*A+m;n=y*C+n;o=B*z+o;p=B*A+p;q=B*C+q;d=d+1|0}while((d|0)!=(E|0));g[H+144>>2]=e;g[H+144+4>>2]=f;g[H+144+8>>2]=h;g[H+144+16>>2]=l;g[H+144+20>>2]=m;g[H+144+24>>2]=n;g[H+144+32>>2]=o;g[H+144+36>>2]=p;g[H+144+40>>2]=q}if((a[28336]|0)==0?_A(28336)|0:0){g[7230]=9.999999747378752e-05;c[7231]=16}fd(H+144|0,H+96|0,H+48|0);c[F+108>>2]=c[F+228>>2];c[F+108+4>>2]=c[F+228+4>>2];c[F+108+8>>2]=c[F+228+8>>2];c[F+108+12>>2]=c[F+228+12>>2];c[F+60>>2]=c[H+96>>2];c[F+60+4>>2]=c[H+96+4>>2];c[F+60+8>>2]=c[H+96+8>>2];c[F+60+12>>2]=c[H+96+12>>2];c[F+76>>2]=c[H+96+16>>2];c[F+76+4>>2]=c[H+96+16+4>>2];c[F+76+8>>2]=c[H+96+16+8>>2];c[F+76+12>>2]=c[H+96+16+12>>2];c[F+92>>2]=c[H+96+32>>2];c[F+92+4>>2]=c[H+96+32+4>>2];c[F+92+8>>2]=c[H+96+32+8>>2];c[F+92+12>>2]=c[H+96+32+12>>2];m=+g[F+132>>2];K=+g[F+60>>2];n=+g[F+148>>2];J=+g[F+64>>2];o=+g[F+164>>2];A=+g[F+68>>2];p=+g[F+136>>2];q=+g[F+152>>2];r=+g[F+168>>2];s=+g[F+140>>2];t=+g[F+156>>2];C=+g[F+172>>2];I=+g[F+76>>2];e=+g[F+80>>2];B=+g[F+84>>2];l=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];u=(m*K+n*J+o*A)*K+(K*p+J*q+A*r)*J+(K*s+J*t+A*C)*A;v=(m*K+n*J+o*A)*I+(K*p+J*q+A*r)*e+(K*s+J*t+A*C)*B;w=(m*K+n*J+o*A)*l+(K*p+J*q+A*r)*h+(K*s+J*t+A*C)*f;x=(m*I+n*e+o*B)*K+(p*I+q*e+r*B)*J+(s*I+t*e+C*B)*A;y=(m*I+n*e+o*B)*I+(p*I+q*e+r*B)*e+(s*I+t*e+C*B)*B;z=(m*I+n*e+o*B)*l+(p*I+q*e+r*B)*h+(s*I+t*e+C*B)*f;A=K*(m*l+n*h+o*f)+(p*l+q*h+r*f)*J+(s*l+t*h+C*f)*A;B=I*(m*l+n*h+o*f)+(p*l+q*h+r*f)*e+(s*l+t*h+C*f)*B;C=(m*l+n*h+o*f)*l+(p*l+q*h+r*f)*h+(s*l+t*h+C*f)*f;g[F+180>>2]=u;g[F+184>>2]=v;g[F+188>>2]=w;g[F+192>>2]=0.0;g[F+196>>2]=x;g[F+200>>2]=y;g[F+204>>2]=z;g[F+208>>2]=0.0;g[F+212>>2]=A;g[F+216>>2]=B;g[F+220>>2]=C;g[F+224>>2]=0.0;c[F+316>>2]=0;c[F+316+4>>2]=0;c[F+316+8>>2]=0;c[F+316+12>>2]=0;c[F+316+16>>2]=0;c[F+316+20>>2]=0;c[F+316+24>>2]=0;c[F+316+28>>2]=0;if((E|0)>0){i=c[F+32>>2]|0;j=c[F+12>>2]|0;r=+g[F+228>>2];s=+g[F+232>>2];t=+g[F+236>>2];d=0;q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0;do{D=c[i+(d<<2)>>2]|0;M=+g[j+(d<<2)>>2];J=+g[D+40>>2]*M;L=M*+g[D+44>>2];M=M*+g[D+48>>2];q=J+q;g[F+316>>2]=q;p=L+p;g[F+320>>2]=p;o=M+o;g[F+324>>2]=o;I=+g[D+8>>2]-r;K=+g[D+12>>2]-s;N=+g[D+16>>2]-t;n=n+(M*K-L*N);g[F+332>>2]=n;m=J*N-M*I+m;g[F+336>>2]=m;e=L*I-J*K+e;g[F+340>>2]=e;d=d+1|0}while((d|0)!=(E|0));D=F+316|0;d=F+332|0}else{D=F+316|0;d=F+332|0;q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0}M=+g[F+128>>2];N=1.0-+g[F+356>>2];g[F+316>>2]=q*M*N;g[F+320>>2]=M*p*N;g[F+324>>2]=M*o*N;g[F+328>>2]=0.0;N=1.0-+g[F+360>>2];g[d>>2]=(u*n+v*m+w*e)*N;g[F+336>>2]=(n*x+m*y+e*z)*N;g[F+340>>2]=N*(n*A+m*B+e*C);g[F+344>>2]=0.0;i=F+244|0;j=i+72|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));e=+g[F+364>>2];a:do if(e>0.0?(c[F+24>>2]|0)>0:0){d=0;while(1){j=c[(c[F+32>>2]|0)+(d<<2)>>2]|0;i=c[F+52>>2]|0;I=+g[i+(d<<4)>>2];J=+g[i+(d<<4)+4>>2];K=+g[i+(d<<4)+8>>2];L=+g[j+8>>2];M=+g[j+12>>2];N=+g[j+16>>2];M=M+e*(I*+g[F+76>>2]+J*+g[F+80>>2]+K*+g[F+84>>2]+ +g[F+112>>2]-M);N=N+e*(I*l+J*h+K*f+ +g[F+116>>2]-N);g[j+8>>2]=L+e*(I*+g[F+60>>2]+J*+g[F+64>>2]+K*+g[F+68>>2]+ +g[F+108>>2]-L);g[j+12>>2]=M;g[j+16>>2]=N;g[j+20>>2]=0.0;d=d+1|0;if((d|0)>=(c[F+24>>2]|0))break a;l=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];e=+g[F+364>>2]}}while(0);if(a[F+377>>0]|0){i=c[F+32>>2]|0;j=c[i>>2]|0;e=+g[j+8>>2];q=+g[j+12>>2];r=+g[j+16>>2];f=+g[j+20>>2];if((E|0)>1){d=1;m=e;p=e;n=f;o=r;l=f;h=q;f=q;e=r;do{j=c[i+(d<<2)>>2]|0;K=+g[j+8>>2];p=K<p?K:p;L=+g[j+12>>2];f=L<f?L:f;M=+g[j+16>>2];o=M<o?M:o;N=+g[j+20>>2];l=N<l?N:l;m=m<K?K:m;h=h<L?L:h;e=e<M?M:e;n=n<N?N:n;d=d+1|0}while((d|0)!=(E|0))}else{m=e;p=e;n=f;o=r;l=f;h=q;f=q;e=r}g[H+16>>2]=p;g[H+16+4>>2]=f;g[H+16+8>>2]=o;g[H+16+12>>2]=l;g[H+16+16>>2]=m;g[H+16+20>>2]=h;g[H+16+24>>2]=e;g[H+16+28>>2]=n;d=c[F+348>>2]|0;if(!d){d=c[b+1052>>2]|0;if(!d){c[7584]=(c[7584]|0)+1;d=lc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+1052>>2]=0;c[d+32>>2]=0;c[d+36>>2]=F;c[d+40>>2]=0;c[d>>2]=c[H+16>>2];c[d+4>>2]=c[H+16+4>>2];c[d+8>>2]=c[H+16+8>>2];c[d+12>>2]=c[H+16+12>>2];c[d+16>>2]=c[H+16+16>>2];c[d+20>>2]=c[H+16+20>>2];c[d+24>>2]=c[H+16+24>>2];c[d+28>>2]=c[H+16+28>>2];tf(b+1048|0,c[b+1048>>2]|0,d);c[b+1060>>2]=(c[b+1060>>2]|0)+1;c[F+348>>2]=d}else{L=+g[b+452>>2];M=L*+g[F+320>>2]*3.0;N=L*+g[F+324>>2]*3.0;g[H>>2]=+g[D>>2]*L*3.0;g[H+4>>2]=M;g[H+8>>2]=N;g[H+12>>2]=0.0;Gh(b+1048|0,d,H+16|0,H,+g[b+464>>2])|0}}d=c[b+1112>>2]|0}G=G+1|0}while((G|0)<(d|0))}d=c[3369]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){k=H;return}do if(c[d+4>>2]|0){bb(H+144|0,0)|0;b=c[7583]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[H+144+4>>2]|0)-(c[b+4>>2]|0)+(((c[H+144>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3369]|0;break}else{k=H;return}}while(0);c[3369]=c[d+20>>2];k=H;return}function Qc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,B=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0;M=k;k=k+64|0;if(!(c[b+12>>2]|0)){k=M;return}O=(a[b+16>>0]|0)!=0;i=O?e:d;O=O?d:e;f=c[i+4>>2]|0;L=c[O+4>>2]|0;i=c[i+12>>2]|0;$=+g[i>>2];_=+g[i+16>>2];Z=+g[i+32>>2];Y=+g[i+4>>2];X=+g[i+20>>2];n=+g[i+36>>2];j=+g[i+8>>2];q=+g[i+24>>2];x=+g[i+40>>2];S=+g[i+48>>2];R=+g[i+52>>2];Q=+g[i+56>>2];aa=c[O+12>>2]|0;W=+g[aa>>2];V=+g[aa+16>>2];o=+g[aa+32>>2];U=+g[aa+4>>2];T=+g[aa+20>>2];p=+g[aa+36>>2];w=+g[aa+8>>2];u=+g[aa+24>>2];s=+g[aa+40>>2];P=-+g[aa+48>>2];H=-+g[aa+52>>2];I=-+g[aa+56>>2];J=+g[i>>2];K=+g[i+16>>2];G=+g[i+32>>2];E=+g[i+4>>2];B=+g[i+20>>2];y=+g[i+36>>2];v=+g[i+8>>2];t=+g[i+24>>2];r=+g[i+40>>2];i=c[(c[f>>2]|0)+64>>2]|0;m=-+g[L+48>>2];l=-+g[L+52>>2];F=-+g[L+56>>2];g[M+48>>2]=($*W+_*V+Z*o)*m+($*U+_*T+Z*p)*l+($*w+_*u+Z*s)*F;g[M+48+4>>2]=(Y*W+X*V+n*o)*m+(Y*U+X*T+n*p)*l+(Y*w+X*u+n*s)*F;g[M+48+8>>2]=(j*W+q*V+x*o)*m+(j*U+q*T+x*p)*l+(j*w+q*u+x*s)*F;g[M+48+12>>2]=0.0;Nb[i&127](M,f,M+48|0);F=+g[M>>2];x=+g[M+4>>2];q=+g[M+8>>2];j=+g[L+48>>2];l=+g[L+52>>2];m=+g[L+56>>2];n=m*(S*w+R*u+Q*s+(w*P+u*H+s*I)+((w*J+u*K+s*G)*F+(w*E+u*B+s*y)*x+(w*v+u*t+s*r)*q))+(j*(S*W+R*V+Q*o+(W*P+V*H+o*I)+((W*J+V*K+o*G)*F+(W*E+V*B+o*y)*x+(W*v+V*t+o*r)*q))+l*(S*U+R*T+Q*p+(U*P+T*H+p*I)+((U*J+T*K+p*G)*F+(U*E+T*B+p*y)*x+(U*v+T*t+p*r)*q)))-+g[L+64>>2];o=S*W+R*V+Q*o+(W*P+V*H+o*I)+((W*J+V*K+o*G)*F+(W*E+V*B+o*y)*x+(W*v+V*t+o*r)*q)-j*n;p=S*U+R*T+Q*p+(U*P+T*H+p*I)+((U*J+T*K+p*G)*F+(U*E+T*B+p*y)*x+(U*v+T*t+p*r)*q)-l*n;q=S*w+R*u+Q*s+(w*P+u*H+s*I)+((w*J+u*K+s*G)*F+(w*E+u*B+s*y)*x+(w*v+u*t+s*r)*q)-m*n;O=c[O+12>>2]|0;r=+g[O>>2];s=+g[O+4>>2];t=+g[O+8>>2];u=+g[O+16>>2];v=+g[O+20>>2];w=+g[O+24>>2];x=+g[O+32>>2];y=+g[O+36>>2];B=+g[O+40>>2];E=+g[O+48>>2];F=+g[O+52>>2];G=+g[O+56>>2];O=c[b+12>>2]|0;i=n<+g[O+752>>2];c[h+4>>2]=O;if(i){g[M+48>>2]=r*j+s*l+t*m;g[M+48+4>>2]=j*u+l*v+m*w;g[M+48+8>>2]=j*x+l*y+m*B;g[M+48+12>>2]=0.0;g[M+32>>2]=t*q+(r*o+s*p)+E;g[M+32+4>>2]=o*u+p*v+q*w+F;g[M+32+8>>2]=o*x+p*y+q*B+G;g[M+32+12>>2]=0.0;Ob[c[(c[h>>2]|0)+16>>2]&15](h,M+48|0,M+32|0,n)}if((c[f+4>>2]|0)<7?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+24>>2]|0):0){j=+g[L+56>>2];if(+z(+j)>.7071067690849304){m=+g[L+52>>2];$=1.0/+A(+(j*j+m*m));l=0.0;m=m*$;j=-(j*$)}else{$=+g[L+48>>2];l=+g[L+52>>2];j=1.0/+A(+($*$+l*l));l=-(l*j);m=0.0;j=$*j}I=.019999999552965164/+jb[c[(c[f>>2]|0)+16>>2]&15](f);I=(I>.39269909262657166?.39269909262657166:I)*.5;H=+D(+I)/+A(+(l*l+j*j+m*m));K=l*H;J=j*H;H=m*H;I=+C(+I);f=c[b+20>>2]|0;if((f|0)>0){i=0;do{u=+g[L+48>>2];$=+g[L+52>>2];E=+g[L+56>>2];y=6.2831854820251465/+(f|0)*+(i|0)*.5;_=+D(+y)/+A(+(u*u+$*$+E*E));y=+C(+y);B=H*-($*_)+(K*y+I*-(u*_))-J*-(E*_);w=K*-(E*_)+(J*y+I*-($*_))-H*-(u*_);da=J*-(u*_)+(H*y+I*-(E*_))-K*-($*_);G=I*y-K*-(u*_)-J*-($*_)-H*-(E*_);ia=E*_*w+(u*_*G+y*B)-$*_*da;ha=u*_*da+(y*w+$*_*G)-E*_*B;la=$*_*B+(E*_*G+y*da)-u*_*w;da=y*G-u*_*B-$*_*w-E*_*da;O=(a[b+16>>0]|0)!=0;ba=O?e:d;O=O?d:e;f=c[ba+4>>2]|0;aa=c[O+4>>2]|0;ba=c[ba+12>>2]|0;_=+g[ba>>2];E=+g[ba+4>>2];w=+g[ba+8>>2];$=+g[ba+16>>2];B=+g[ba+20>>2];u=+g[ba+24>>2];G=+g[ba+32>>2];y=+g[ba+36>>2];s=+g[ba+40>>2];U=+g[ba+48>>2];V=+g[ba+52>>2];W=+g[ba+56>>2];ba=c[O+12>>2]|0;Q=+g[ba>>2];R=+g[ba+16>>2];o=+g[ba+32>>2];S=+g[ba+4>>2];T=+g[ba+20>>2];p=+g[ba+36>>2];v=+g[ba+8>>2];t=+g[ba+24>>2];r=+g[ba+40>>2];X=-+g[ba+48>>2];Y=-+g[ba+52>>2];Z=-+g[ba+56>>2];ga=ia*(2.0/(ia*ia+ha*ha+la*la+da*da));m=ha*(2.0/(ia*ia+ha*ha+la*la+da*da));ca=la*(2.0/(ia*ia+ha*ha+la*la+da*da));na=w*(ia*ca-da*m)+(E*(ia*m+da*ca)+_*(1.0-(ha*m+la*ca)));ka=w*(ha*ca+da*ga)+(_*(ia*m-da*ca)+E*(1.0-(ia*ga+la*ca)));j=_*(ia*ca+da*m)+E*(ha*ca-da*ga)+w*(1.0-(ia*ga+ha*m));ma=u*(ia*ca-da*m)+(B*(ia*m+da*ca)+$*(1.0-(ha*m+la*ca)));ja=u*(ha*ca+da*ga)+($*(ia*m-da*ca)+B*(1.0-(ia*ga+la*ca)));x=$*(ia*ca+da*m)+B*(ha*ca-da*ga)+u*(1.0-(ia*ga+ha*m));oa=s*(ia*ca-da*m)+(y*(ia*m+da*ca)+G*(1.0-(ha*m+la*ca)));la=s*(ha*ca+da*ga)+(G*(ia*m-da*ca)+y*(1.0-(ia*ga+la*ca)));m=G*(ia*ca+da*m)+y*(ha*ca-da*ga)+s*(1.0-(ia*ga+ha*m));ha=+g[ba>>2];ga=+g[ba+16>>2];ia=+g[ba+32>>2];da=+g[ba+4>>2];ca=+g[ba+20>>2];ea=+g[ba+36>>2];l=+g[ba+8>>2];q=+g[ba+24>>2];n=+g[ba+40>>2];ba=c[(c[f>>2]|0)+64>>2]|0;fa=-+g[aa+48>>2];P=-+g[aa+52>>2];F=-+g[aa+56>>2];g[M+32>>2]=(ia*oa+(ha*na+ga*ma))*fa+(ea*oa+(da*na+ca*ma))*P+(n*oa+(l*na+q*ma))*F;g[M+32+4>>2]=(ia*la+(ha*ka+ga*ja))*fa+(ea*la+(da*ka+ca*ja))*P+(n*la+(l*ka+q*ja))*F;g[M+32+8>>2]=(ia*m+(ha*j+ga*x))*fa+(ea*m+(da*j+ca*x))*P+(n*m+(l*j+q*x))*F;g[M+32+12>>2]=0.0;Nb[ba&127](M+48|0,f,M+32|0);F=+g[M+48>>2];x=+g[M+48+4>>2];q=+g[M+48+8>>2];j=+g[aa+48>>2];l=+g[aa+52>>2];m=+g[aa+56>>2];n=m*(U*v+V*t+W*r+(v*X+t*Y+r*Z)+((_*v+$*t+G*r)*F+(E*v+B*t+y*r)*x+(w*v+u*t+s*r)*q))+(j*(U*Q+V*R+W*o+(Q*X+R*Y+o*Z)+((_*Q+$*R+G*o)*F+(E*Q+B*R+y*o)*x+(w*Q+u*R+s*o)*q))+l*(U*S+V*T+W*p+(S*X+T*Y+p*Z)+((_*S+$*T+G*p)*F+(E*S+B*T+y*p)*x+(w*S+u*T+s*p)*q)))-+g[aa+64>>2];o=U*Q+V*R+W*o+(Q*X+R*Y+o*Z)+((_*Q+$*R+G*o)*F+(E*Q+B*R+y*o)*x+(w*Q+u*R+s*o)*q)-j*n;p=U*S+V*T+W*p+(S*X+T*Y+p*Z)+((_*S+$*T+G*p)*F+(E*S+B*T+y*p)*x+(w*S+u*T+s*p)*q)-l*n;q=U*v+V*t+W*r+(v*X+t*Y+r*Z)+((_*v+$*t+G*r)*F+(E*v+B*t+y*r)*x+(w*v+u*t+s*r)*q)-m*n;O=c[O+12>>2]|0;r=+g[O>>2];s=+g[O+4>>2];t=+g[O+8>>2];u=+g[O+16>>2];v=+g[O+20>>2];w=+g[O+24>>2];x=+g[O+32>>2];y=+g[O+36>>2];B=+g[O+40>>2];E=+g[O+48>>2];F=+g[O+52>>2];G=+g[O+56>>2];O=c[b+12>>2]|0;aa=n<+g[O+752>>2];c[h+4>>2]=O;if(aa){g[M+32>>2]=r*j+s*l+t*m;g[M+32+4>>2]=j*u+l*v+m*w;g[M+32+8>>2]=j*x+l*y+m*B;g[M+32+12>>2]=0.0;g[M+16>>2]=t*q+(r*o+s*p)+E;g[M+16+4>>2]=o*u+p*v+q*w+F;g[M+16+8>>2]=o*x+p*y+q*B+G;g[M+16+12>>2]=0.0;Ob[c[(c[h>>2]|0)+16>>2]&15](h,M+32|0,M+16|0,n)}i=i+1|0;f=c[b+20>>2]|0}while((i|0)<(f|0))}}do if((a[b+8>>0]|0?c[(c[b+12>>2]|0)+748>>2]|0:0)?(N=c[h+4>>2]|0,c[N+748>>2]|0):0){f=c[N+740>>2]|0;i=c[(c[h+8>>2]|0)+8>>2]|0;if((f|0)==(i|0)){qf(N,f+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{qf(N,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,i+4|0);break}}while(0);k=M;return}function Rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0;H=k;k=k+784|0;c[H+168+8>>2]=0;c[H+168+12>>2]=1065353216;c[H+168+16>>2]=1065353216;c[H+168+20>>2]=1065353216;g[H+168+24>>2]=0.0;c[H+168>>2]=9908;c[H+168+4>>2]=8;g[H+168+28>>2]=0.0;g[H+168+44>>2]=0.0;F=c[e+4>>2]|0;G=c[e+12>>2]|0;z=c[F+4>>2]|0;if((z|0)<20){c[H+600>>2]=6876;c[H+600+168>>2]=0;g[H+600+172>>2]=0.0;c[H+600+164>>2]=c[f+4>>2];g[H+240+308>>2]=9.999999747378752e-05;a[H+240+332>>0]=0;c[H+224>>2]=8200;c[H+224+4>>2]=H+240;c[H+224+8>>2]=H+168;c[H+224+12>>2]=F;c[H+152>>2]=13188;c[H+152+4>>2]=H+240;c[H+152+8>>2]=H+168;c[H+152+12>>2]=F;F=(c[f+16>>2]&8|0)==0?H+224|0:H+152|0;if((zb[c[(c[F>>2]|0)+8>>2]&3](F,b,d,G,G,H+600|0)|0?(h=H+600+132|0,i=+g[h>>2],j=+g[H+600+136>>2],l=+g[H+600+140>>2],i*i+j*j+l*l>9.999999747378752e-05):0)?(m=+g[H+600+164>>2],m<+g[f+4>>2]):0){E=1.0/+A(+(i*i+j*j+l*l));g[h>>2]=i*E;g[H+600+136>>2]=j*E;g[H+600+140>>2]=l*E;c[H+120>>2]=c[e+8>>2];c[H+120+4>>2]=0;c[H+120+8>>2]=c[h>>2];c[H+120+8+4>>2]=c[h+4>>2];c[H+120+8+8>>2]=c[h+8>>2];c[H+120+8+12>>2]=c[h+12>>2];g[H+120+24>>2]=m;+mb[c[(c[f>>2]|0)+12>>2]&15](f,H+120|0,1)}k=H;return}if((z+-21|0)>>>0>=9){if((z|0)!=31){k=H;return}h=c[F+64>>2]|0;e=c[e+8>>2]|0;c[H+600>>2]=8996;c[H+600+4>>2]=e;c[H+600+8>>2]=F;c[H+600+12>>2]=G;c[H+600+16>>2]=b;c[H+600+20>>2]=d;c[H+600+24>>2]=f;if(!h){b=c[F+16>>2]|0;if((b|0)>0){h=0;do{gg(H+600|0,h);h=h+1|0}while((h|0)<(b|0))}}else{D=+g[G+48>>2];o=+g[b+48>>2]-D;C=+g[G+52>>2];p=+g[b+52>>2]-C;y=+g[G+56>>2];q=+g[b+56>>2]-y;t=+g[G>>2];s=+g[G+16>>2];r=+g[G+32>>2];w=+g[G+4>>2];v=+g[G+20>>2];u=+g[G+36>>2];E=+g[G+8>>2];B=+g[G+24>>2];x=+g[G+40>>2];g[H+240>>2]=o*t+p*s+q*r;g[H+240+4>>2]=o*w+p*v+q*u;g[H+240+8>>2]=o*E+p*B+q*x;g[H+240+12>>2]=0.0;D=+g[d+48>>2]-D;C=+g[d+52>>2]-C;y=+g[d+56>>2]-y;g[H+224>>2]=r*y+(s*C+D*t);g[H+224+4>>2]=u*y+(v*C+D*w);g[H+224+8>>2]=x*y+(B*C+D*E);g[H+224+12>>2]=0.0;Le(c[h>>2]|0,H+240|0,H+224|0,H+600|0)}k=H;return}i=+g[G>>2];s=+g[G+16>>2];t=+g[G+32>>2];j=+g[G+4>>2];w=+g[G+20>>2];x=+g[G+36>>2];l=+g[G+8>>2];B=+g[G+24>>2];C=+g[G+40>>2];D=-+g[G+48>>2];E=-+g[G+52>>2];y=-+g[G+56>>2];p=+g[b+48>>2];q=+g[b+52>>2];m=+g[b+56>>2];g[H+152>>2]=i*D+s*E+t*y+(i*p+s*q+t*m);g[H+152+4>>2]=j*D+w*E+x*y+(j*p+w*q+x*m);g[H+152+8>>2]=l*D+B*E+C*y+(l*p+B*q+C*m);g[H+152+12>>2]=0.0;u=+g[d+48>>2];v=+g[d+52>>2];r=+g[d+56>>2];i=i*D+s*E+t*y+(i*u+s*v+t*r);j=j*D+w*E+x*y+(j*u+w*v+x*r);l=l*D+B*E+C*y+(l*u+B*v+C*r);g[H+120>>2]=i;g[H+120+4>>2]=j;g[H+120+8>>2]=l;g[H+120+12>>2]=0.0;switch(z|0){case 21:{h=c[e+8>>2]|0;e=c[f+16>>2]|0;c[H+4>>2]=c[H+152>>2];c[H+4+4>>2]=c[H+152+4>>2];c[H+4+8>>2]=c[H+152+8>>2];c[H+4+12>>2]=c[H+152+12>>2];c[H+20>>2]=c[H+120>>2];c[H+20+4>>2]=c[H+120+4>>2];c[H+20+8>>2]=c[H+120+8>>2];c[H+20+12>>2]=c[H+120+12>>2];c[H+36>>2]=e;g[H+40>>2]=1.0;c[H>>2]=8948;c[H+44>>2]=f;c[H+48>>2]=h;c[H+52>>2]=F;c[H+56>>2]=c[G>>2];c[H+56+4>>2]=c[G+4>>2];c[H+56+8>>2]=c[G+8>>2];c[H+56+12>>2]=c[G+12>>2];c[H+72>>2]=c[G+16>>2];c[H+72+4>>2]=c[G+16+4>>2];c[H+72+8>>2]=c[G+16+8>>2];c[H+72+12>>2]=c[G+16+12>>2];c[H+88>>2]=c[G+32>>2];c[H+88+4>>2]=c[G+32+4>>2];c[H+88+8>>2]=c[G+32+8>>2];c[H+88+12>>2]=c[G+32+12>>2];c[H+104>>2]=c[G+48>>2];c[H+104+4>>2]=c[G+48+4>>2];c[H+104+8>>2]=c[G+48+8>>2];c[H+104+12>>2]=c[G+48+12>>2];c[H+40>>2]=c[f+4>>2];h=c[F+48>>2]|0;c[H+224>>2]=10120;c[H+224+4>>2]=h;c[H+224+8>>2]=H;h=c[F+52>>2]|0;c[H+600>>2]=0;c[H+600+4>>2]=0;c[H+600+8>>2]=0;c[H+600+12>>2]=0;c[H+240>>2]=0;c[H+240+4>>2]=0;c[H+240+8>>2]=0;c[H+240+12>>2]=0;if(!(a[h+60>>0]|0))Ve(h,H+224|0,H+152|0,i,j,l,H+600|0,H+240|0);else ze(h,H+224|0,H+152|0,i,j,l,H+600|0,H+240|0,c[h+56>>2]|0);break}case 25:{e=c[e+8>>2]|0;z=c[f+16>>2]|0;c[H+600+4>>2]=c[H+152>>2];c[H+600+4+4>>2]=c[H+152+4>>2];c[H+600+4+8>>2]=c[H+152+8>>2];c[H+600+4+12>>2]=c[H+152+12>>2];c[H+600+20>>2]=c[H+120>>2];c[H+600+20+4>>2]=c[H+120+4>>2];c[H+600+20+8>>2]=c[H+120+8>>2];c[H+600+20+12>>2]=c[H+120+12>>2];c[H+600+36>>2]=z;g[H+600+40>>2]=1.0;c[H+600>>2]=8948;c[H+600+44>>2]=f;c[H+600+48>>2]=e;c[H+600+52>>2]=F;c[H+600+56>>2]=c[G>>2];c[H+600+56+4>>2]=c[G+4>>2];c[H+600+56+8>>2]=c[G+8>>2];c[H+600+56+12>>2]=c[G+12>>2];c[H+600+72>>2]=c[G+16>>2];c[H+600+72+4>>2]=c[G+16+4>>2];c[H+600+72+8>>2]=c[G+16+8>>2];c[H+600+72+12>>2]=c[G+16+12>>2];c[H+600+88>>2]=c[G+32>>2];c[H+600+88+4>>2]=c[G+32+4>>2];c[H+600+88+8>>2]=c[G+32+8>>2];c[H+600+88+12>>2]=c[G+32+12>>2];c[H+600+104>>2]=c[G+48>>2];c[H+600+104+4>>2]=c[G+48+4>>2];c[H+600+104+8>>2]=c[G+48+8>>2];c[H+600+104+12>>2]=c[G+48+12>>2];c[H+600+40>>2]=c[f+4>>2];Qb[c[(c[F>>2]|0)+144>>2]&127](F,H+600|0,H+152|0,H+120|0);break}default:{l=+g[G>>2];j=+g[G+4>>2];i=+g[G+8>>2];n=t*m+(s*q+p*l)+(t*y+(s*E+l*D));o=x*m+(w*q+p*j)+(x*y+(w*E+j*D));m=C*m+(B*q+p*i)+(C*y+(B*E+i*D));l=t*r+(s*v+u*l)+(t*y+(s*E+l*D));j=x*r+(w*v+u*j)+(x*y+(w*E+j*D));i=C*r+(B*v+u*i)+(C*y+(B*E+i*D));e=c[e+8>>2]|0;z=c[f+16>>2]|0;g[H+600+4>>2]=n;g[H+600+8>>2]=o;g[H+600+12>>2]=m;g[H+600+16>>2]=0.0;g[H+600+20>>2]=l;g[H+600+24>>2]=j;g[H+600+28>>2]=i;g[H+600+32>>2]=0.0;c[H+600+36>>2]=z;g[H+600+40>>2]=1.0;c[H+600>>2]=8972;c[H+600+44>>2]=f;c[H+600+48>>2]=e;c[H+600+52>>2]=F;c[H+600+56>>2]=c[G>>2];c[H+600+56+4>>2]=c[G+4>>2];c[H+600+56+8>>2]=c[G+8>>2];c[H+600+56+12>>2]=c[G+12>>2];c[H+600+72>>2]=c[G+16>>2];c[H+600+72+4>>2]=c[G+16+4>>2];c[H+600+72+8>>2]=c[G+16+8>>2];c[H+600+72+12>>2]=c[G+16+12>>2];c[H+600+88>>2]=c[G+32>>2];c[H+600+88+4>>2]=c[G+32+4>>2];c[H+600+88+8>>2]=c[G+32+8>>2];c[H+600+88+12>>2]=c[G+32+12>>2];c[H+600+104>>2]=c[G+48>>2];c[H+600+104+4>>2]=c[G+48+4>>2];c[H+600+104+8>>2]=c[G+48+8>>2];c[H+600+104+12>>2]=c[G+48+12>>2];c[H+600+40>>2]=c[f+4>>2];g[H+240>>2]=n;g[H+240+4>>2]=o;g[H+240+8>>2]=m;g[H+240+12>>2]=0.0;if(l<n)g[H+240>>2]=l;if(j<o)g[H+240+4>>2]=j;if(i<m)g[H+240+8>>2]=i;g[H+224>>2]=n;g[H+224+4>>2]=o;g[H+224+8>>2]=m;g[H+224+12>>2]=0.0;if(n<l)g[H+224>>2]=l;if(o<j)g[H+224+4>>2]=j;if(m<i)g[H+224+8>>2]=i;Qb[c[(c[F>>2]|0)+64>>2]&127](F,H+600|0,H+240|0,H+224|0)}}k=H;return}function Sc(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;h=c[b+48>>2]|0;q=c[b+28>>2]|0;r=c[b+68>>2]|0;if(c[l+64>>2]&1|0){if((h|0)>0){i=c[b+136>>2]|0;f=0;p=c[b+192>>2]|0;do{m=i+(f<<2)|0;o=c[m>>2]|0;f=f+1|0;p=(M(p,1664525)|0)+1013904223|0;if(f>>>0<65537){e=(16?p>>>16:p)^p;if(f>>>0<257){e=(8?e>>>8:e)^e;if(f>>>0<17){e=(4?e>>>4:e)^e;u=(2?e>>>2:e)^e;e=f>>>0<5?(f>>>0<3?(1?u>>>1:u):0)^u:e}}}else e=p;u=i+(((e>>>0)%(f>>>0)|0)<<2)|0;c[m>>2]=c[u>>2];c[u>>2]=o}while((f|0)!=(h|0));c[b+192>>2]=p}if((c[l+20>>2]|0)>(d|0)){if((q|0)>0){h=c[b+116>>2]|0;f=0;o=c[b+192>>2]|0;do{i=h+(f<<2)|0;m=c[i>>2]|0;f=f+1|0;o=(M(o,1664525)|0)+1013904223|0;if(f>>>0<65537){e=(16?o>>>16:o)^o;if(f>>>0<257){e=(8?e>>>8:e)^e;if(f>>>0<17){e=(4?e>>>4:e)^e;u=(2?e>>>2:e)^e;e=f>>>0<5?(f>>>0<3?(1?u>>>1:u):0)^u:e}}}else e=o;u=h+(((e>>>0)%(f>>>0)|0)<<2)|0;c[i>>2]=c[u>>2];c[u>>2]=m}while((f|0)!=(q|0));c[b+192>>2]=o}if((r|0)>0){h=c[b+156>>2]|0;f=0;o=c[b+192>>2]|0;do{i=h+(f<<2)|0;m=c[i>>2]|0;f=f+1|0;o=(M(o,1664525)|0)+1013904223|0;if(f>>>0<65537){e=(16?o>>>16:o)^o;if(f>>>0<257){e=(8?e>>>8:e)^e;if(f>>>0<17){e=(4?e>>>4:e)^e;u=(2?e>>>2:e)^e;e=f>>>0<5?(f>>>0<3?(1?u>>>1:u):0)^u:e}}}else e=o;u=h+(((e>>>0)%(f>>>0)|0)<<2)|0;c[i>>2]=c[u>>2];c[u>>2]=m}while((f|0)!=(r|0));c[b+192>>2]=o}}}e=c[b+48>>2]|0;if(!(c[l+64>>2]&256)){if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;Ug(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){e=0;do{f=j+(e<<2)|0;h=c[f>>2]|0;if(a[h+20>>0]|0){s=Rd(b,c[h+28>>2]|0,+g[l+12>>2])|0;u=Rd(b,c[(c[f>>2]|0)+32>>2]|0,+g[l+12>>2])|0;t=c[b+16>>2]|0;d=c[f>>2]|0;Ob[c[(c[d>>2]|0)+24>>2]&15](d,t+(s*244|0)|0,t+(u*244|0)|0,+g[l+12>>2])}e=e+1|0}while((e|0)!=(k|0))}f=c[b+28>>2]|0;if((f|0)>0){e=0;do{u=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;l=c[b+36>>2]|0;k=c[b+16>>2]|0;ah(k+((c[l+(u*152|0)+144>>2]|0)*244|0)|0,k+((c[l+(u*152|0)+148>>2]|0)*244|0)|0,l+(u*152|0)|0);e=e+1|0}while((e|0)!=(f|0))}f=c[b+68>>2]|0;if((f|0)>0){e=0;do{h=c[(c[b+156>>2]|0)+(e<<2)>>2]|0;i=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[i+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){n=n*+g[i+(h*152|0)+104>>2];g[i+(h*152|0)+120>>2]=-n;g[i+(h*152|0)+124>>2]=n;u=c[b+16>>2]|0;Ug(u+((c[i+(h*152|0)+144>>2]|0)*244|0)|0,u+((c[i+(h*152|0)+148>>2]|0)*244|0)|0,i+(h*152|0)|0)}e=e+1|0}while((e|0)!=(f|0))}f=c[b+88>>2]|0;if((f|0)<=0)return 0.0;e=0;do{h=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(e*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){v=+g[h+(e*152|0)+104>>2];n=n*v>v?v:n*v;g[h+(e*152|0)+120>>2]=-n;g[h+(e*152|0)+124>>2]=n;u=c[b+16>>2]|0;Ug(u+((c[h+(e*152|0)+144>>2]|0)*244|0)|0,u+((c[h+(e*152|0)+148>>2]|0)*244|0)|0,h+(e*152|0)|0)}e=e+1|0}while((e|0)!=(f|0));return 0.0}if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;Ug(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){e=0;do{f=j+(e<<2)|0;h=c[f>>2]|0;if(a[h+20>>0]|0){r=Rd(b,c[h+28>>2]|0,+g[l+12>>2])|0;u=Rd(b,c[(c[f>>2]|0)+32>>2]|0,+g[l+12>>2])|0;d=c[b+16>>2]|0;q=c[f>>2]|0;Ob[c[(c[q>>2]|0)+24>>2]&15](q,d+(r*244|0)|0,d+(u*244|0)|0,+g[l+12>>2])}e=e+1|0}while((e|0)!=(k|0))}e=c[l+64>>2]|0;o=c[b+28>>2]|0;if(e&512|0){f=((4?e>>>4:e)&1)+1|0;if((o|0)<=0)return 0.0;e=0;do{h=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;i=c[b+36>>2]|0;m=c[b+16>>2]|0;ah(m+((c[i+(h*152|0)+144>>2]|0)*244|0)|0,m+((c[i+(h*152|0)+148>>2]|0)*244|0)|0,i+(h*152|0)|0);n=+g[i+(h*152|0)+100>>2];h=M(e,f)|0;i=c[(c[b+156>>2]|0)+(h<<2)>>2]|0;m=c[b+76>>2]|0;if(n>0.0){v=n*+g[m+(i*152|0)+104>>2];g[m+(i*152|0)+120>>2]=-v;g[m+(i*152|0)+124>>2]=v;u=c[b+16>>2]|0;Ug(u+((c[m+(i*152|0)+144>>2]|0)*244|0)|0,u+((c[m+(i*152|0)+148>>2]|0)*244|0)|0,m+(i*152|0)|0)}if(c[l+64>>2]&16|0?(s=c[(c[b+156>>2]|0)+(h+1<<2)>>2]|0,t=c[b+76>>2]|0,n>0.0):0){v=n*+g[t+(s*152|0)+104>>2];g[t+(s*152|0)+120>>2]=-v;g[t+(s*152|0)+124>>2]=v;u=c[b+16>>2]|0;Ug(u+((c[t+(s*152|0)+144>>2]|0)*244|0)|0,u+((c[t+(s*152|0)+148>>2]|0)*244|0)|0,t+(s*152|0)|0)}e=e+1|0}while((e|0)!=(o|0));return 0.0}if((o|0)>0){e=0;do{u=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;l=c[b+36>>2]|0;k=c[b+16>>2]|0;ah(k+((c[l+(u*152|0)+144>>2]|0)*244|0)|0,k+((c[l+(u*152|0)+148>>2]|0)*244|0)|0,l+(u*152|0)|0);e=e+1|0}while((e|0)!=(o|0))}f=c[b+68>>2]|0;if((f|0)>0){e=0;do{h=c[(c[b+156>>2]|0)+(e<<2)>>2]|0;i=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[i+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){v=n*+g[i+(h*152|0)+104>>2];g[i+(h*152|0)+120>>2]=-v;g[i+(h*152|0)+124>>2]=v;u=c[b+16>>2]|0;Ug(u+((c[i+(h*152|0)+144>>2]|0)*244|0)|0,u+((c[i+(h*152|0)+148>>2]|0)*244|0)|0,i+(h*152|0)|0)}e=e+1|0}while((e|0)!=(f|0))}f=c[b+88>>2]|0;if((f|0)<=0)return 0.0;e=0;do{h=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(e*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){v=+g[h+(e*152|0)+104>>2];v=n*v>v?v:n*v;g[h+(e*152|0)+120>>2]=-v;g[h+(e*152|0)+124>>2]=v;u=c[b+16>>2]|0;Ug(u+((c[h+(e*152|0)+144>>2]|0)*244|0)|0,u+((c[h+(e*152|0)+148>>2]|0)*244|0)|0,h+(e*152|0)|0)}e=e+1|0}while((e|0)!=(f|0));return 0.0}function Tc(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;B=k;k=k+560|0;c[B+536>>2]=0;A=B+540+12|0;Kx(e)|0;j=x;if((j|0)<0){Kx(-e)|0;e=-e;z=1;w=25416;j=x}else{z=(h&2049|0)!=0&1;w=(h&2048|0)==0?((h&1|0)==0?25417:25422):25419}do if(0==0&(j&2146435072|0)==2146435072){j=z+3|0;Zn(b,32,f,j,h&-65537);EB(b,w,z);EB(b,e!=e|0.0!=0.0?(i&32|0?25443:25447):i&32|0?25435:25439,3);Zn(b,32,f,j,h^8192)}else{o=+wJ(e,B+536|0)*2.0;if(o!=0.0)c[B+536>>2]=(c[B+536>>2]|0)+-1;if((i|32|0)==97){q=(i&32|0)==0?w:w+9|0;p=z|2;do if(!(g>>>0>11|(12-g|0)==0)){e=8.0;j=12-g|0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[q>>0]|0)==45){e=-(e+(-o-e));break}else{e=o+e-e;break}}else e=o;while(0);l=c[B+536>>2]|0;j=(l|0)<0?0-l|0:l;j=Qm(j,((j|0)<0)<<31>>31,A)|0;if((j|0)==(A|0)){a[B+540+11>>0]=48;j=B+540+11|0}a[j+-1>>0]=((31?l>>31:l)&2)+43;n=j+-2|0;a[n>>0]=i+15;j=B;do{z=~~e;l=j+1|0;a[j>>0]=i&32|d[2384+z>>0];e=(e-+(z|0))*16.0;if((l-B|0)==1?!((h&8|0)==0&((g|0)<1&e==0.0)):0){a[l>>0]=46;j=j+2|0}else j=l}while(e!=0.0);m=j;if((g|0)!=0?(-2-B+m|0)<(g|0):0){g=g+2+A-n|0;j=A;l=n}else{g=A-B-n+m|0;j=A;l=n}A=g+p|0;Zn(b,32,f,A,h);EB(b,q,p);Zn(b,48,f,A,h^65536);EB(b,B,m-B|0);j=j-l|0;Zn(b,48,g-(m-B+j)|0,0,0);EB(b,n,j);Zn(b,32,f,A,h^8192);j=A;break}l=(g|0)<0?6:g;if(o!=0.0){j=(c[B+536>>2]|0)+-28|0;c[B+536>>2]=j;e=o*268435456.0}else{e=o;j=c[B+536>>2]|0}y=(j|0)<0?B+32|0:B+32+288|0;g=y;do{u=~~e>>>0;c[g>>2]=u;g=g+4|0;e=(e-+(u>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){p=y;while(1){n=(j|0)<29?j:29;j=g+-4|0;if(j>>>0>=p>>>0){m=0;do{s=uv(c[j>>2]|0,0,n|0)|0;s=Rx(s|0,x|0,m|0,0)|0;t=x;m=EC(s|0,t|0,1e9,0)|0;u=$t(m|0,x|0,-1e9,-1)|0;u=Rx(s|0,t|0,u|0,x|0)|0;c[j>>2]=u;j=j+-4|0}while(j>>>0>=p>>>0);if(m){u=p+-4|0;c[u>>2]=m;m=u}else m=p}else m=p;a:do if(g>>>0>m>>>0){j=g;while(1){g=j+-4|0;if(c[g>>2]|0){g=j;break a}if(g>>>0>m>>>0)j=g;else break}}while(0);j=(c[B+536>>2]|0)-n|0;c[B+536>>2]=j;if((j|0)>0)p=m;else break}}else m=y;if((j|0)<0){do{q=0-j|0;q=(q|0)<9?q:9;if(m>>>0<g>>>0){n=q?1e9>>>q:1e9;p=0;j=m;do{u=c[j>>2]|0;c[j>>2]=(q?u>>>q:u)+p;p=M(u&(1<<q)+-1,n)|0;j=j+4|0}while(j>>>0<g>>>0);j=(c[m>>2]|0)==0?m+4|0:m;if(!p)m=j;else{c[g>>2]=p;g=g+4|0;m=j}}else m=(c[m>>2]|0)==0?m+4|0:m;j=(i|32|0)==102?y:m;u=g-j|0;g=((2?u>>2:u)|0)>(((l+25|0)/9|0)+1|0)?j+(((l+25|0)/9|0)+1<<2)|0:g;j=(c[B+536>>2]|0)+q|0;c[B+536>>2]=j}while((j|0)<0);j=m}else j=m;if(j>>>0<g>>>0){m=y-j|0;m=(2?m>>2:m)*9|0;p=c[j>>2]|0;if(p>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(p>>>0>=n>>>0)}}else m=0;n=l-((i|32|0)==102?0:m)+(((l|0)!=0&(i|32|0)==103)<<31>>31)|0;u=g-y|0;if((n|0)<(((2?u>>2:u)*9|0)+-9|0)){q=y+4+(((n+9216|0)/9|0)+-1024<<2)|0;n=n+9216+(M((n+9216|0)/9|0,-9)|0)|0;if((n|0)<8){p=10;while(1){p=p*10|0;if((n|0)<7)n=n+1|0;else break}}else p=10;r=c[q>>2]|0;n=(r>>>0)/(p>>>0)|0;t=M(n,p)|0;s=(q+4|0)==(g|0);if(!(s&(r-t|0)==0)){e=(n&1|0)==0?9007199254740992.0:9007199254740994.0;u=1?p>>>1:p;o=(r-t|0)>>>0<u>>>0?.5:s&(r-t|0)==(u|0)?1.0:1.5;if(z){u=(a[w>>0]|0)==45;o=u?-o:o;e=u?-e:e}c[q>>2]=t;if(e+o!=e){u=t+p|0;c[q>>2]=u;if(u>>>0>999999999){n=q;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{q=m;break}}}m=y-j|0;m=(2?m>>2:m)*9|0;p=c[j>>2]|0;if(p>>>0<10)n=q;else{n=10;do{n=n*10|0;m=m+1|0}while(p>>>0>=n>>>0);n=q}}else n=q}else n=q;t=n+4|0;g=g>>>0>t>>>0?t:g;t=j}else t=j;q=0-m|0;b:do if(g>>>0>t>>>0)while(1){j=g+-4|0;if(c[j>>2]|0){u=g;s=1;break b}if(j>>>0>t>>>0)g=j;else{u=j;s=0;break}}else{u=g;s=0}while(0);do if((i|32|0)==103){if((m|0)>-5?(l+(((l|0)!=0^1)&1)|0)>(m|0):0){n=i+-1|0;l=l+(((l|0)!=0^1)&1)+-1-m|0}else{n=i+-2|0;l=l+(((l|0)!=0^1)&1)+-1|0}if(!(h&8)){if(s?(v=c[u+-4>>2]|0,(v|0)!=0):0)if(!((v>>>0)%10|0)){j=0;g=10;do{g=g*10|0;j=j+1|0}while(!((v>>>0)%(g>>>0)|0|0))}else j=0;else j=9;g=u-y|0;g=((2?g>>2:g)*9|0)+-9|0;if((n|32|0)==102){i=g-j|0;i=(i|0)>0?i:0;l=(l|0)<(i|0)?l:i;break}else{i=g+m-j|0;i=(i|0)>0?i:0;l=(l|0)<(i|0)?l:i;break}}}else n=i;while(0);r=(l|0)!=0;g=r?1:(3?h>>>3:h)&1;p=(n|32|0)==102;if(p){q=0;j=(m|0)>0?m:0}else{j=(m|0)<0?q:m;j=Qm(j,((j|0)<0)<<31>>31,A)|0;if((A-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((A-j|0)<2);a[j+-1>>0]=((31?m>>31:m)&2)+43;j=j+-2|0;a[j>>0]=n;q=j;j=A-j|0}j=z+1+l+g+j|0;Zn(b,32,f,j,h);EB(b,w,z);Zn(b,48,f,j,h^65536);if(p){n=t>>>0>y>>>0?y:t;m=n;do{g=Qm(c[m>>2]|0,0,B+9|0)|0;if((m|0)==(n|0)){if((g|0)==(B+9|0)){a[B+8>>0]=48;g=B+8|0}}else if(g>>>0>B>>>0){Bl(B|0,48,g-B|0)|0;do g=g+-1|0;while(g>>>0>B>>>0)}EB(b,g,B+9-g|0);m=m+4|0}while(m>>>0<=y>>>0);if(!((h&8|0)==0&(r^1)))EB(b,25451,1);if(m>>>0<u>>>0&(l|0)>0)while(1){g=Qm(c[m>>2]|0,0,B+9|0)|0;if(g>>>0>B>>>0){Bl(B|0,48,g-B|0)|0;do g=g+-1|0;while(g>>>0>B>>>0)}EB(b,g,(l|0)<9?l:9);m=m+4|0;g=l+-9|0;if(!(m>>>0<u>>>0&(l|0)>9)){l=g;break}else l=g}Zn(b,48,l+9|0,9,0)}else{p=s?u:t+4|0;if(t>>>0<p>>>0&(l|0)>-1){n=t;do{g=Qm(c[n>>2]|0,0,B+9|0)|0;if((g|0)==(B+9|0)){a[B+8>>0]=48;g=B+8|0}do if((n|0)==(t|0)){m=g+1|0;EB(b,g,1);if((h&8|0)==0&(l|0)<1){g=m;break}EB(b,25451,1);g=m}else{if(g>>>0<=B>>>0)break;Bl(B|0,48,g+(0-B)|0)|0;do g=g+-1|0;while(g>>>0>B>>>0)}while(0);z=B+9-g|0;EB(b,g,(l|0)>(z|0)?z:l);l=l-z|0;n=n+4|0}while(n>>>0<p>>>0&(l|0)>-1)}Zn(b,48,l+18|0,18,0);EB(b,q,A-q|0)}Zn(b,32,f,j,h^8192)}while(0);k=B;return ((j|0)<(f|0)?f:j)|0}function Uc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0,t=0.0;p=k;k=k+80|0;i=c[b+28>>2]|0;d=c[f+64>>2]|0;if((d&4|0)!=0&(i|0)>0){e=c[b+36>>2]|0;h=c[b+76>>2]|0;if(!(d&16)){d=0;do{l=c[e+(d*152|0)+132>>2]|0;c[l+120>>2]=c[e+(d*152|0)+100>>2];c[l+124>>2]=c[h+((c[e+(d*152|0)+140>>2]|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(i|0))}else{d=0;do{l=c[e+(d*152|0)+132>>2]|0;c[l+120>>2]=c[e+(d*152|0)+100>>2];j=c[e+(d*152|0)+140>>2]|0;c[l+124>>2]=c[h+(j*152|0)+100>>2];c[l+128>>2]=c[h+((j+1|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(i|0))}}h=c[b+48>>2]|0;if((h|0)>0){d=0;do{i=c[b+56>>2]|0;j=c[i+(d*152|0)+132>>2]|0;l=c[j+44>>2]|0;e=i+(d*152|0)+100|0;if(l|0){o=+g[e>>2];s=c[j+28>>2]|0;n=1.0/+g[f+12>>2];m=o*+g[i+(d*152|0)+20>>2]*+g[s+352>>2]*n;q=o*+g[i+(d*152|0)+24>>2]*+g[s+356>>2]*n;g[l>>2]=+g[l>>2]+ +g[i+(d*152|0)+16>>2]*o*+g[s+348>>2]*n;g[l+4>>2]=m+ +g[l+4>>2];g[l+8>>2]=q+ +g[l+8>>2];q=+g[e>>2];r=c[j+32>>2]|0;m=1.0/+g[f+12>>2];n=q*+g[i+(d*152|0)+52>>2]*+g[r+352>>2]*m;o=q*+g[i+(d*152|0)+56>>2]*+g[r+356>>2]*m;g[l+32>>2]=+g[l+32>>2]+ +g[i+(d*152|0)+48>>2]*q*+g[r+348>>2]*m;g[l+36>>2]=n+ +g[l+36>>2];g[l+40>>2]=o+ +g[l+40>>2];o=+g[e>>2];n=1.0/+g[f+12>>2];m=+g[i+(d*152|0)+4>>2]*+g[s+548>>2]*o*n;q=o*+g[i+(d*152|0)+8>>2]*+g[s+552>>2]*n;g[l+16>>2]=+g[l+16>>2]+ +g[i+(d*152|0)>>2]*+g[s+544>>2]*o*n;g[l+20>>2]=m+ +g[l+20>>2];g[l+24>>2]=q+ +g[l+24>>2];q=+g[e>>2];m=1.0/+g[f+12>>2];n=+g[i+(d*152|0)+36>>2]*+g[r+548>>2]*q*m;o=q*+g[i+(d*152|0)+40>>2]*+g[r+552>>2]*m;g[l+48>>2]=+g[l+48>>2]+ +g[i+(d*152|0)+32>>2]*+g[r+544>>2]*q*m;g[l+52>>2]=n+ +g[l+52>>2];g[l+56>>2]=o+ +g[l+56>>2]}q=+g[e>>2];g[j+36>>2]=q;q=+z(+q);if(q>=+g[j+16>>2])a[j+20>>0]=0;d=d+1|0}while((d|0)!=(h|0))}d=c[b+8>>2]|0;if((d|0)>0){j=0;e=c[b+16>>2]|0;do{h=e+(j*244|0)|0;i=c[e+(j*244|0)+240>>2]|0;if(i){if(!(c[f+44>>2]|0)){h=e+(j*244|0)+176|0;n=+g[e+(j*244|0)+64>>2]+ +g[h>>2];g[h>>2]=n;h=e+(j*244|0)+180|0;o=+g[e+(j*244|0)+68>>2]+ +g[h>>2];g[h>>2]=o;h=e+(j*244|0)+184|0;m=+g[e+(j*244|0)+72>>2]+ +g[h>>2];g[h>>2]=m;h=e+(j*244|0)+192|0;g[h>>2]=+g[e+(j*244|0)+80>>2]+ +g[h>>2];h=e+(j*244|0)+196|0;g[h>>2]=+g[e+(j*244|0)+84>>2]+ +g[h>>2];h=e+(j*244|0)+200|0;g[h>>2]=+g[e+(j*244|0)+88>>2]+ +g[h>>2];h=e;d=i}else{m=+g[f+12>>2];n=+g[f+52>>2];d=e+(j*244|0)+176|0;g[d>>2]=+g[e+(j*244|0)+64>>2]+ +g[d>>2];d=e+(j*244|0)+180|0;g[d>>2]=+g[e+(j*244|0)+68>>2]+ +g[d>>2];d=e+(j*244|0)+184|0;g[d>>2]=+g[e+(j*244|0)+72>>2]+ +g[d>>2];d=e+(j*244|0)+192|0;g[d>>2]=+g[e+(j*244|0)+80>>2]+ +g[d>>2];d=e+(j*244|0)+196|0;g[d>>2]=+g[e+(j*244|0)+84>>2]+ +g[d>>2];d=e+(j*244|0)+200|0;g[d>>2]=+g[e+(j*244|0)+88>>2]+ +g[d>>2];o=+g[e+(j*244|0)+144>>2];d=e+(j*244|0)+148|0;if(((((!(o!=0.0)?!(+g[d>>2]!=0.0):0)?!(+g[e+(j*244|0)+152>>2]!=0.0):0)?!(+g[e+(j*244|0)+160>>2]!=0.0):0)?!(+g[e+(j*244|0)+164>>2]!=0.0):0)?!(+g[e+(j*244|0)+168>>2]!=0.0):0)d=i;else{t=+g[e+(j*244|0)+164>>2]*n;q=+g[e+(j*244|0)+168>>2]*n;g[p>>2]=+g[e+(j*244|0)+160>>2]*n;g[p+4>>2]=t;g[p+8>>2]=q;g[p+12>>2]=0.0;oh(h,o,+g[d>>2],+g[e+(j*244|0)+152>>2],p,m,p+16|0);c[h>>2]=c[p+16>>2];c[h+4>>2]=c[p+16+4>>2];c[h+8>>2]=c[p+16+8>>2];c[h+12>>2]=c[p+16+12>>2];d=e+(j*244|0)+16|0;c[d>>2]=c[p+16+16>>2];c[d+4>>2]=c[p+16+16+4>>2];c[d+8>>2]=c[p+16+16+8>>2];c[d+12>>2]=c[p+16+16+12>>2];d=e+(j*244|0)+32|0;c[d>>2]=c[p+16+32>>2];c[d+4>>2]=c[p+16+32+4>>2];c[d+8>>2]=c[p+16+32+8>>2];c[d+12>>2]=c[p+16+32+12>>2];d=e+(j*244|0)+48|0;c[d>>2]=c[p+16+48>>2];c[d+4>>2]=c[p+16+48+4>>2];c[d+8>>2]=c[p+16+48+8>>2];c[d+12>>2]=c[p+16+48+12>>2];d=c[b+16>>2]|0;e=d;d=c[d+(j*244|0)+240>>2]|0}h=e;n=+g[e+(j*244|0)+176>>2];o=+g[e+(j*244|0)+180>>2];m=+g[e+(j*244|0)+184>>2]}t=n+ +g[h+(j*244|0)+208>>2];q=o+ +g[h+(j*244|0)+212>>2];o=m+ +g[h+(j*244|0)+216>>2];r=d+260|0;c[r>>2]=(c[r>>2]|0)+1;g[d+312>>2]=t;g[d+316>>2]=q;g[d+320>>2]=o;g[d+324>>2]=0.0;r=c[b+16>>2]|0;s=c[r+(j*244|0)+240>>2]|0;o=+g[r+(j*244|0)+192>>2]+ +g[r+(j*244|0)+224>>2];q=+g[r+(j*244|0)+196>>2]+ +g[r+(j*244|0)+228>>2];t=+g[r+(j*244|0)+200>>2]+ +g[r+(j*244|0)+232>>2];c[s+260>>2]=(c[s+260>>2]|0)+1;g[s+328>>2]=o;g[s+332>>2]=q;g[s+336>>2]=t;g[s+340>>2]=0.0;if(c[f+44>>2]|0){r=c[b+16>>2]|0;s=c[r+(j*244|0)+240>>2]|0;l=r+(j*244|0)|0;c[s+260>>2]=(c[s+260>>2]|0)+1;c[s+4>>2]=c[l>>2];c[s+4+4>>2]=c[l+4>>2];c[s+4+8>>2]=c[l+8>>2];c[s+4+12>>2]=c[l+12>>2];l=r+(j*244|0)+16|0;c[s+20>>2]=c[l>>2];c[s+20+4>>2]=c[l+4>>2];c[s+20+8>>2]=c[l+8>>2];c[s+20+12>>2]=c[l+12>>2];l=r+(j*244|0)+32|0;c[s+36>>2]=c[l>>2];c[s+36+4>>2]=c[l+4>>2];c[s+36+8>>2]=c[l+8>>2];c[s+36+12>>2]=c[l+12>>2];r=r+(j*244|0)+48|0;c[s+52>>2]=c[r>>2];c[s+52+4>>2]=c[r+4>>2];c[s+52+8>>2]=c[r+8>>2];c[s+52+12>>2]=c[r+12>>2]}e=c[b+16>>2]|0;c[(c[e+(j*244|0)+240>>2]|0)+212>>2]=-1;d=c[b+8>>2]|0}j=j+1|0}while((j|0)<(d|0))}if((c[b+28>>2]|0)<0?(c[b+32>>2]|0)<0:0){d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+32>>2]=0}c[b+28>>2]=0;if((c[b+48>>2]|0)<0?(c[b+52>>2]|0)<0:0){d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+52>>2]=0}c[b+48>>2]=0;if((c[b+68>>2]|0)<0?(c[b+72>>2]|0)<0:0){d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+72>>2]=0}c[b+68>>2]=0;if((c[b+88>>2]|0)<0?(c[b+92>>2]|0)<0:0){d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+92>>2]=0}c[b+88>>2]=0;if((c[b+8>>2]|0)>=0){c[b+8>>2]=0;k=p;return 0.0}if((c[b+12>>2]|0)>=0){c[b+8>>2]=0;k=p;return 0.0}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0;c[b+8>>2]=0;k=p;return 0.0}function Vc(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0;y=k;k=k+64|0;c[y+56>>2]=e;w=y+40|0;j=0;e=0;o=0;a:while(1){do{do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[7586]=75;e=-1;break}else{e=j+e|0;break}while(0);s=c[y+56>>2]|0;j=a[s>>0]|0;if(!(j<<24>>24)){v=93;break a}l=s;b:while(1){switch(j<<24>>24){case 37:{v=10;break b}case 0:{j=l;break b}default:{}}u=l+1|0;c[y+56>>2]=u;j=a[u>>0]|0;l=u}c:do if((v|0)==10){v=0;j=l;do{if((a[l+1>>0]|0)!=37)break c;j=j+1|0;l=l+2|0;c[y+56>>2]=l}while((a[l>>0]|0)==37)}while(0);j=j-s|0;if(d|0)EB(d,s,j)}while((j|0)!=0);l=c[y+56>>2]|0;j=a[l+1>>0]|0;if(!(KJ(j)|0)){r=-1;j=1}else{u=(a[l+2>>0]|0)==36;r=u?j+-48|0:-1;o=u?1:o;j=u?3:1}m=l+j|0;c[y+56>>2]=m;j=a[m>>0]|0;if(((j<<24>>24)+-32|0)>>>0>31|(1<<(j<<24>>24)+-32&75913|0)==0)l=0;else{l=0;n=(j<<24>>24)+-32|0;j=m;while(1){l=1<<n|l;m=j+1|0;c[y+56>>2]=m;j=a[m>>0]|0;n=(j<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)break;else j=m}}if(j<<24>>24==42){n=m+1|0;j=a[n>>0]|0;if((KJ(j)|0)!=0?(a[m+2>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;j=c[g+((a[n>>0]|0)+-48<<3)>>2]|0;o=1;n=m+3|0}else{if(o|0){e=-1;break}if(d|0){o=(c[f>>2]|0)+(4-1)&~(4-1);j=c[o>>2]|0;c[f>>2]=o+4;o=0}else{j=0;o=0}}c[y+56>>2]=n;t=(j|0)<0;u=t?0-j|0:j;l=t?l|8192:l}else{j=kq(y+56|0)|0;if((j|0)<0){e=-1;break}u=j;n=c[y+56>>2]|0}do if((a[n>>0]|0)==46){j=n+1|0;if((a[j>>0]|0)!=42){c[y+56>>2]=j;p=kq(y+56|0)|0;j=c[y+56>>2]|0;break}m=n+2|0;j=a[m>>0]|0;if(KJ(j)|0?(a[n+3>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;p=c[g+((a[m>>0]|0)+-48<<3)>>2]|0;j=n+4|0;c[y+56>>2]=j;break}if(o|0){e=-1;break a}if(d|0){t=(c[f>>2]|0)+(4-1)&~(4-1);j=c[t>>2]|0;c[f>>2]=t+4}else j=0;c[y+56>>2]=m;p=j;j=m}else{p=-1;j=n}while(0);q=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}m=j+1|0;c[y+56>>2]=m;n=a[(a[j>>0]|0)+-65+(1920+(q*58|0))>>0]|0;if(((n&255)+-1|0)>>>0<8){q=n&255;j=m}else break}if(!(n<<24>>24)){e=-1;break}m=(r|0)>-1;do if(n<<24>>24==19)if(m){e=-1;break a}else v=52;else{if(m){c[i+(r<<2)>>2]=n&255;t=g+(r<<3)|0;v=c[t+4>>2]|0;c[y+40>>2]=c[t>>2];c[y+40+4>>2]=v;v=52;break}if(!d){e=0;break a}ih(y+40|0,n&255,f);v=53}while(0);if((v|0)==52){v=0;if(d|0)v=53;else j=0}d:do if((v|0)==53){v=0;j=a[j>>0]|0;j=(q|0)!=0&(j&15|0)==3?j&-33:j;m=l&-65537;t=(l&8192|0)==0?l:m;e:do switch(j|0){case 110:switch((q&255)<<24>>24){case 0:{c[c[y+40>>2]>>2]=e;j=0;break d}case 1:{c[c[y+40>>2]>>2]=e;j=0;break d}case 2:{j=c[y+40>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}case 3:{b[c[y+40>>2]>>1]=e;j=0;break d}case 4:{a[c[y+40>>2]>>0]=e;j=0;break d}case 6:{c[c[y+40>>2]>>2]=e;j=0;break d}case 7:{j=c[y+40>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}default:{j=0;break d}}case 112:{j=120;l=p>>>0>8?p:8;m=t|8;v=65;break}case 88:case 120:{l=p;m=t;v=65;break}case 111:{j=c[y+40>>2]|0;l=c[y+40+4>>2]|0;m=ps(j,l,y+40|0)|0;q=m;r=0;n=25399;p=(t&8|0)==0|(p|0)>(w-m|0)?p:w-m+1|0;m=t;v=71;break}case 105:case 100:{j=c[y+40>>2]|0;l=c[y+40+4>>2]|0;if((l|0)<0){j=yx(0,0,j|0,l|0)|0;l=x;c[y+40>>2]=j;c[y+40+4>>2]=l;m=1;n=25399;v=70;break e}else{m=(t&2049|0)!=0&1;n=(t&2048|0)==0?((t&1|0)==0?25399:25401):25400;v=70;break e}}case 117:{m=0;n=25399;j=c[y+40>>2]|0;l=c[y+40+4>>2]|0;v=70;break}case 99:{a[y+39>>0]=c[y+40>>2];s=y+39|0;r=0;n=25399;q=1;l=m;j=w;break}case 109:{j=JJ(c[7586]|0)|0;v=75;break}case 115:{j=c[y+40>>2]|0;j=(j|0)==0?25409:j;v=75;break}case 67:{c[y+48>>2]=c[y+40>>2];c[y+48+4>>2]=0;c[y+40>>2]=y+48;p=-1;m=y+48|0;v=80;break}case 83:if(!p){Zn(d,32,u,0,t);j=0;v=90;break e}else{m=c[y+40>>2]|0;v=80;break e}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=Tc(d,+h[y+40>>3],u,p,t,j)|0;break d}default:{r=0;n=25399;q=p;l=t;j=w}}while(0);f:do if((v|0)==65){s=c[y+40>>2]|0;t=c[y+40+4>>2]|0;q=jr(s,t,y+40|0,j&32)|0;n=(m&8|0)==0|(s|0)==0&(t|0)==0;r=n?0:2;n=n?25399:25399+(4?j>>>4:j)|0;p=l;j=s;l=t;v=71}else if((v|0)==70){q=Qm(j,l,y+40|0)|0;r=m;m=t;v=71}else if((v|0)==75){v=0;t=Kj(j,p)|0;s=j;r=0;n=25399;q=(t|0)==0?p:t-j|0;l=m;j=(t|0)==0?j+p|0:t}else if((v|0)==80){v=0;n=m;j=0;while(1){l=c[n>>2]|0;if(!l)break;l=XB(y+60|0,l)|0;if((l|0)<0|l>>>0>(p-j|0)>>>0){v=84;break}j=l+j|0;if(p>>>0>j>>>0)n=n+4|0;else break}if((v|0)==84){v=0;if((l|0)<0){e=-1;break a}}Zn(d,32,u,j,t);if(!j){j=0;v=90}else{n=0;while(1){l=c[m>>2]|0;if(!l){v=90;break f}l=XB(y+60|0,l)|0;n=l+n|0;if((n|0)>(j|0)){v=90;break f}EB(d,y+60|0,l);if(n>>>0>=j>>>0){v=90;break}else m=m+4|0}}}while(0);if((v|0)==71){v=0;l=(j|0)!=0|(l|0)!=0;j=(p|0)!=0|l;l=w-q+((l^1)&1)|0;s=j?q:y+40|0;q=j?((p|0)>(l|0)?p:l):0;l=(p|0)>-1?m&-65537:m;j=w}else if((v|0)==90){v=0;Zn(d,32,u,j,t^8192);j=(u|0)>(j|0)?u:j;break}p=j-s|0;q=(q|0)<(p|0)?p:q;t=q+r|0;j=(u|0)<(t|0)?t:u;Zn(d,32,j,t,l);EB(d,n,r);Zn(d,48,j,t,l^65536);Zn(d,48,q,p,0);EB(d,s,p);Zn(d,32,j,t,l^8192)}while(0)}g:do if((v|0)==93)if(!d)if(!o)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;ih(g+(e<<3)|0,j,f);e=e+1|0;if(e>>>0>=10){e=1;break g}}l=0;while(1){j=e+1|0;if(l|0){e=-1;break g}if(j>>>0>=10){e=1;break g}e=j;l=c[i+(j<<2)>>2]|0}}while(0);k=y;return e|0}function Wc(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0;j=c[a+372>>2]|0;a:do switch(c[j+32>>2]|0){case 1:{g[j+20>>2]=0.0;k=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=k;k=c[a+348+(k<<2)>>2]|0;c[j+4>>2]=k;c[j+32>>2]=2;ci(a,1.0,0.0,0.0,k);if(Wc(a)|0){k=1;return k|0}j=c[a+372>>2]|0;k=(c[j+32>>2]|0)+-1|0;c[j+32>>2]=k;k=c[j+(k<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=k;j=c[a+372>>2]|0;l=c[j+32>>2]|0;g[j+16+(l<<2)>>2]=0.0;c[j+(l<<2)>>2]=k;c[j+32>>2]=l+1;ci(a,-1.0,-0.0,-0.0,k);if(Wc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;ci(a,0.0,1.0,0.0,l);if(Wc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;ci(a,-0.0,-1.0,-0.0,l);if(Wc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;ci(a,0.0,0.0,1.0,l);if(Wc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;ci(a,-0.0,-0.0,-1.0,l);if(Wc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break a}}case 2:{k=c[j+4>>2]|0;l=c[j>>2]|0;d=+g[k+16>>2]-+g[l+16>>2];e=+g[k+20>>2]-+g[l+20>>2];f=+g[k+24>>2]-+g[l+24>>2];b=e*0.0-f*0.0;do if((d*0.0-e)*(d*0.0-e)+(b*b+(f-d*0.0)*(f-d*0.0))>0.0){g[j+24>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[j+8>>2]=l;c[j+32>>2]=3;ci(a,b,f-d*0.0,d*0.0-e,l);if(Wc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;ci(a,-b,-(f-d*0.0),-(d*0.0-e),l);if(Wc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break}}while(0);b=f*0.0-d*0.0;do if((d-e*0.0)*(d-e*0.0)+((e*0.0-f)*(e*0.0-f)+b*b)>0.0){k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;ci(a,e*0.0-f,b,d-e*0.0,l);if(Wc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;ci(a,-(e*0.0-f),-b,-(d-e*0.0),l);if(Wc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break}}while(0);b=d*0.0-e*0.0;if(b*b+((e-f*0.0)*(e-f*0.0)+(f*0.0-d)*(f*0.0-d))>0.0){k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;ci(a,e-f*0.0,f*0.0-d,b,l);if(Wc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;ci(a,-(e-f*0.0),-(f*0.0-d),-b,l);if(Wc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break a}}break}case 3:{l=c[j+4>>2]|0;k=c[j>>2]|0;f=+g[k+16>>2];b=+g[l+16>>2]-f;h=+g[k+20>>2];d=+g[l+20>>2]-h;i=+g[k+24>>2];e=+g[l+24>>2]-i;l=c[j+8>>2]|0;f=+g[l+16>>2]-f;h=+g[l+20>>2]-h;i=+g[l+24>>2]-i;if((b*h-d*f)*(b*h-d*f)+((d*i-e*h)*(d*i-e*h)+(e*f-b*i)*(e*f-b*i))>0.0){g[j+28>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[j+12>>2]=l;c[j+32>>2]=4;ci(a,d*i-e*h,e*f-b*i,b*h-d*f,l);if(Wc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;g[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;ci(a,-(d*i-e*h),-(e*f-b*i),-(b*h-d*f),l);if(Wc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break a}}break}case 4:{l=c[j>>2]|0;k=c[j+12>>2]|0;i=+g[k+16>>2];o=+g[l+16>>2]-i;m=+g[k+20>>2];b=+g[l+20>>2]-m;e=+g[k+24>>2];f=+g[l+24>>2]-e;l=c[j+4>>2]|0;d=+g[l+16>>2]-i;h=+g[l+20>>2]-m;n=+g[l+24>>2]-e;l=c[j+8>>2]|0;i=+g[l+16>>2]-i;m=+g[l+20>>2]-m;e=+g[l+24>>2]-e;if(!((0.0!=0.0?1:o*h*e+(b*n*i+f*d*m-o*n*m-b*d*e)-f*h*i!=o*h*e+(b*n*i+f*d*m-o*n*m-b*d*e)-f*h*i)|o*h*e+(b*n*i+f*d*m-o*n*m-b*d*e)-f*h*i==0.0)){l=1;return l|0}break}default:{}}while(0);l=0;return l|0}function Xc(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;o=k;k=k+48|0;d=c[a+24>>2]|0;if((d|0)<=0){k=o;return}n=0;a:while(1){m=c[(c[a+32>>2]|0)+(n<<2)>>2]|0;switch(c[m+216>>2]|0){case 2:case 5:break;default:{Wd(m,0);e=c[m+732>>2]|0;if((e|0)>0){d=0;do{l=c[m+740>>2]|0;i=c[l+(d*52|0)+12>>2]|0;j=c[l+(d*52|0)+8>>2]|0;y=+g[i+24>>2]-+g[j+24>>2];x=+g[i+28>>2]-+g[j+28>>2];b=+g[i+32>>2]-+g[j+32>>2];g[l+(d*52|0)+36>>2]=y;g[l+(d*52|0)+40>>2]=x;g[l+(d*52|0)+44>>2]=b;g[l+(d*52|0)+48>>2]=0.0;g[l+(d*52|0)+32>>2]=1.0/(+g[l+(d*52|0)+24>>2]*(y*y+x*x+b*b));d=d+1|0}while((d|0)!=(e|0))}f=c[m+792>>2]|0;if((f|0)>0){d=0;b=+g[m+452>>2];do{l=c[m+800>>2]|0;e=l+(d*96|0)+20|0;i=c[e>>2]|0;B=+g[l+(d*96|0)+4>>2];A=+g[l+(d*96|0)+8>>2];y=+g[l+(d*96|0)+12>>2];z=+g[i+4>>2]*B+ +g[i+8>>2]*A+ +g[i+12>>2]*y;x=B*+g[i+20>>2]+A*+g[i+24>>2]+y*+g[i+28>>2];y=B*+g[i+36>>2]+A*+g[i+40>>2]+y*+g[i+44>>2];j=l+(d*96|0)|0;ag(o,b,+g[(c[j>>2]|0)+88>>2],+g[i+344>>2],i+264|0,z,x,y);i=l+(d*96|0)+28|0;c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];i=l+(d*96|0)+44|0;c[i>>2]=c[o+16>>2];c[i+4>>2]=c[o+16+4>>2];c[i+8>>2]=c[o+16+8>>2];c[i+12>>2]=c[o+16+12>>2];i=l+(d*96|0)+60|0;c[i>>2]=c[o+32>>2];c[i+4>>2]=c[o+32+4>>2];c[i+8>>2]=c[o+32+8>>2];c[i+12>>2]=c[o+32+12>>2];g[l+(d*96|0)+76>>2]=z;g[l+(d*96|0)+80>>2]=x;g[l+(d*96|0)+84>>2]=y;g[l+(d*96|0)+88>>2]=0.0;b=+g[m+452>>2];g[l+(d*96|0)+92>>2]=b*+g[(c[j>>2]|0)+88>>2];e=c[e>>2]|0;if(!(c[e+204>>2]&3)){if((c[e+216>>2]&-2|0)!=4)c[e+216>>2]=1;g[e+220>>2]=0.0}d=d+1|0}while((d|0)!=(f|0))}d=c[m+372>>2]|0;if((d|0)>0){f=0;e=c[m+396>>2]|0;do{if((e|0)>0){d=0;do{Eb[((c[(c[m+404>>2]|0)+(d<<2)>>2]|0)==0?26:0)&31](m,1.0);d=d+1|0;e=c[m+396>>2]|0}while((d|0)<(e|0));d=c[m+372>>2]|0}f=f+1|0}while((f|0)<(d|0));e=c[m+712>>2]|0;if((e|0)>0){d=0;do{l=c[m+720>>2]|0;z=+g[m+452>>2];A=z*+g[l+(d*104|0)+44>>2]+ +g[l+(d*104|0)+28>>2];B=z*+g[l+(d*104|0)+48>>2]+ +g[l+(d*104|0)+32>>2];g[l+(d*104|0)+8>>2]=+g[l+(d*104|0)+40>>2]*z+ +g[l+(d*104|0)+24>>2];g[l+(d*104|0)+12>>2]=A;g[l+(d*104|0)+16>>2]=B;g[l+(d*104|0)+20>>2]=0.0;d=d+1|0}while((d|0)!=(e|0))}}d=c[m+376>>2]|0;if((d|0)>0){h=0;e=c[m+416>>2]|0;do{b=+(h|0)/+(d|0);if((e|0)>0){f=0;do{switch(c[(c[m+424>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:{w=37;break a}}Fb[d&7](m,1.0,b);f=f+1|0;e=c[m+416>>2]|0}while((f|0)<(e|0));d=c[m+376>>2]|0}h=h+1|0}while((h|0)<(d|0));b=+g[m+456>>2]*(1.0-+g[m+296>>2]);e=c[m+712>>2]|0;if((e|0)>0){d=0;do{l=c[m+720>>2]|0;A=b*(+g[l+(d*104|0)+12>>2]-+g[l+(d*104|0)+28>>2]);B=b*(+g[l+(d*104|0)+16>>2]-+g[l+(d*104|0)+32>>2]);g[l+(d*104|0)+40>>2]=b*(+g[l+(d*104|0)+8>>2]-+g[l+(d*104|0)+24>>2]);g[l+(d*104|0)+44>>2]=A;g[l+(d*104|0)+48>>2]=B;l=l+(d*104|0)+52|0;d=d+1|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0}while((d|0)!=(e|0))}}d=c[m+380>>2]|0;if((d|0)>0){b=+g[m+292>>2]*+g[m+456>>2];e=c[m+712>>2]|0;if((e|0)>0){d=0;do{l=c[m+720>>2]|0;j=l+(d*104|0)+8|0;l=l+(d*104|0)+24|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];d=d+1|0}while((d|0)!=(e|0));d=c[m+380>>2]|0;if((d|0)>0)w=45}else w=45;if((w|0)==45){w=0;h=0;e=c[m+436>>2]|0;do{if((e|0)>0){f=0;do{switch(c[(c[m+444>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:{w=56;break a}}Fb[d&7](m,1.0,0.0);f=f+1|0;e=c[m+436>>2]|0}while((f|0)<(e|0));d=c[m+380>>2]|0}h=h+1|0}while((h|0)<(d|0))}e=c[m+712>>2]|0;if((e|0)>0){f=c[m+720>>2]|0;d=0;do{A=b*(+g[f+(d*104|0)+12>>2]-+g[f+(d*104|0)+28>>2]);B=b*(+g[f+(d*104|0)+16>>2]-+g[f+(d*104|0)+32>>2]);l=f+(d*104|0)+40|0;g[l>>2]=b*(+g[f+(d*104|0)+8>>2]-+g[f+(d*104|0)+24>>2])+ +g[l>>2];l=f+(d*104|0)+44|0;g[l>>2]=A+ +g[l>>2];l=f+(d*104|0)+48|0;g[l>>2]=B+ +g[l>>2];d=d+1|0}while((d|0)!=(e|0))}}f=c[m+1112>>2]|0;if((f|0)>0){h=c[m+1120>>2]|0;e=0;do{i=c[h+(e<<2)>>2]|0;if(+g[i+352>>2]>0.0?(p=c[i+24>>2]|0,(p|0)>0):0){j=c[i+32>>2]|0;d=0;do{l=c[j+(d<<2)>>2]|0;if(+g[l+88>>2]>0.0?(t=+g[l+24>>2]-+g[i+228>>2],v=+g[l+28>>2]-+g[i+232>>2],r=+g[l+32>>2]-+g[i+236>>2],s=+g[i+336>>2],B=+g[i+340>>2],u=+g[i+332>>2],q=+g[i+316>>2]+(s*r-v*B),r=+g[i+320>>2]+(t*B-r*u),s=v*u-t*s+ +g[i+324>>2],t=+g[l+40>>2],u=+g[l+44>>2],v=+g[l+48>>2],q*q+r*r+s*s<=t*t+u*u+v*v):0){B=+g[i+352>>2];g[l+40>>2]=t+(q-t)*B;g[l+44>>2]=u+(r-u)*B;g[l+48>>2]=v+(s-v)*B}d=d+1|0}while((d|0)!=(p|0))}e=e+1|0}while((e|0)!=(f|0))}Wd(m,1);d=c[a+24>>2]|0}}n=n+1|0;if((n|0)>=(d|0)){w=3;break}}if((w|0)==3){k=o;return}}function Yc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,B=0.0;if((d|0)<=1){x=0;return x|0}w=c[b+712>>2]|0;x=M(w,w)|0;x=vK(x>>>0>1073741823?-1:x<<2)|0;if((w|0)>0){h=0;do{i=M(h,w)|0;j=x+(h+i<<2)|0;f=0;do{k=x+((M(f,w)|0)+h<<2)|0;if((f|0)==(h|0)){c[k>>2]=0;c[j>>2]=0}else{c[k>>2]=2147483647;c[x+(f+i<<2)>>2]=2147483647}f=f+1|0}while((f|0)!=(w|0));h=h+1|0}while((h|0)!=(w|0))}h=c[b+732>>2]|0;if((h|0)>0){i=c[b+740>>2]|0;j=c[b+720>>2]|0;f=0;do{p=((c[i+(f*52|0)+8>>2]|0)-j|0)/104|0;t=((c[i+(f*52|0)+12>>2]|0)-j|0)/104|0;c[x+((M(t,w)|0)+p<<2)>>2]=1;c[x+((M(p,w)|0)+t<<2)>>2]=1;f=f+1|0}while((f|0)!=(h|0))}do if((d|0)!=2)if((w|0)>0){f=0;do{k=M(f,w)|0;h=0;do{i=h;h=h+1|0;if((h|0)<(w|0)){n=M(i,w)|0;l=x+(n+f<<2)|0;j=h;do{m=(c[l>>2]|0)+(c[x+(j+k<<2)>>2]|0)|0;o=x+(j+n<<2)|0;if((c[o>>2]|0)>>>0>m>>>0){c[x+((M(j,w)|0)+i<<2)>>2]=m;c[o>>2]=m}j=j+1|0}while((j|0)!=(w|0))}}while((h|0)!=(w|0));f=f+1|0}while((f|0)!=(w|0));q=97}else f=0;else{if((w|0)<0)cb();if((w|0)>0){c[7584]=(c[7584]|0)+1;f=lc((w*20|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=0;do{a[f+(h*20|0)+16>>0]=1;c[f+(h*20|0)+12>>2]=0;t=f+(h*20|0)+4|0;c[t>>2]=0;c[f+(h*20|0)+8>>2]=0;c[t>>2]=0;h=h+1|0}while((h|0)!=(w|0));t=f}else t=0;if((c[b+732>>2]|0)>0){n=0;do{m=c[b+740>>2]|0;p=c[b+720>>2]|0;o=((c[m+(n*52|0)+8>>2]|0)-p|0)/104|0;p=((c[m+(n*52|0)+12>>2]|0)-p|0)/104|0;m=t+(o*20|0)+4|0;f=c[m>>2]|0;a:do if((f|0)>0){i=c[t+(o*20|0)+12>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(p|0))break;h=h+1|0;if((h|0)>=(f|0)){q=28;break a}}if((h|0)==(f|0))q=28}else q=28;while(0);if((q|0)==28){q=0;l=t+(o*20|0)+8|0;if((f|0)==(c[l>>2]|0)?(s=(f|0)==0?1:f<<1,(f|0)<(s|0)):0){if(!s)k=0;else{c[7584]=(c[7584]|0)+1;f=lc((s<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f;f=c[m>>2]|0}j=t+(o*20|0)+12|0;i=c[j>>2]|0;if((f|0)<=0)if(!i)h=t+(o*20|0)+16|0;else q=39;else{h=0;do{c[k+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0));q=39}if((q|0)==39){q=0;f=t+(o*20|0)+16|0;if(a[f>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[j>>2]=0;h=f;f=c[m>>2]|0}a[h>>0]=1;c[j>>2]=k;c[l>>2]=s}c[(c[t+(o*20|0)+12>>2]|0)+(f<<2)>>2]=p;c[m>>2]=(c[m>>2]|0)+1}m=t+(p*20|0)+4|0;f=c[m>>2]|0;b:do if((f|0)>0){i=c[t+(p*20|0)+12>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(o|0))break;h=h+1|0;if((h|0)>=(f|0)){q=49;break b}}if((h|0)==(f|0))q=49}else q=49;while(0);if((q|0)==49){q=0;l=t+(p*20|0)+8|0;if((f|0)==(c[l>>2]|0)?(r=(f|0)==0?1:f<<1,(f|0)<(r|0)):0){if(!r)k=0;else{c[7584]=(c[7584]|0)+1;f=lc((r<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f;f=c[m>>2]|0}j=t+(p*20|0)+12|0;i=c[j>>2]|0;if((f|0)<=0)if(!i)h=t+(p*20|0)+16|0;else q=60;else{h=0;do{c[k+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0));q=60}if((q|0)==60){q=0;f=t+(p*20|0)+16|0;if(a[f>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[j>>2]=0;h=f;f=c[m>>2]|0}a[h>>0]=1;c[j>>2]=k;c[l>>2]=r}c[(c[t+(p*20|0)+12>>2]|0)+(f<<2)>>2]=o;c[m>>2]=(c[m>>2]|0)+1}n=n+1|0}while((n|0)<(c[b+732>>2]|0))}if((w|0)<=0){if(!t){f=0;break}}else{o=0;do{q=t+(o*20|0)+4|0;f=c[q>>2]|0;if((f|0)>0){r=M(o,w)|0;p=c[t+(o*20|0)+12>>2]|0;n=0;do{l=c[p+(n<<2)>>2]|0;m=t+(l*20|0)+4|0;h=c[m>>2]|0;if((h|0)>0){j=c[t+(l*20|0)+12>>2]|0;k=x+((M(l,w)|0)+o<<2)|0;i=0;f=h;do{h=c[j+(i<<2)>>2]|0;if((o|0)!=(h|0)?(v=M(h,w)|0,u=(c[x+(v+l<<2)>>2]|0)+(c[k>>2]|0)|0,v=x+(v+o<<2)|0,(c[v>>2]|0)>>>0>u>>>0):0){c[x+(h+r<<2)>>2]=u;c[v>>2]=u;f=c[m>>2]|0}i=i+1|0}while((i|0)<(f|0));f=c[q>>2]|0}n=n+1|0}while((n|0)<(f|0))}o=o+1|0}while((o|0)!=(w|0));f=0;do{i=t+(f*20|0)+4|0;j=t+(f*20|0)+12|0;k=c[j>>2]|0;h=t+(f*20|0)+16|0;if(k|0){if(a[h>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[k+-4>>2]|0)}c[j>>2]=0}a[h>>0]=1;c[j>>2]=0;c[i>>2]=0;c[t+(f*20|0)+8>>2]=0;f=f+1|0}while((f|0)!=(w|0))}c[7585]=(c[7585]|0)+1;Bd(c[t+-4>>2]|0);q=97}while(0);if((q|0)==97)if((w|0)>0){f=0;k=0;do{i=k;k=k+1|0;if((k|0)<(w|0)){j=M(i,w)|0;h=k;do{if((c[x+(h+j<<2)>>2]|0)==(d|0)){t=c[b+720>>2]|0;xi(b,e);v=(c[b+732>>2]|0)+-1|0;u=c[b+740>>2]|0;c[u+(v*52|0)+8>>2]=t+(h*104|0);c[u+(v*52|0)+12>>2]=t+(i*104|0);B=+g[t+(h*104|0)+8>>2]-+g[t+(i*104|0)+8>>2];z=+g[t+(h*104|0)+12>>2]-+g[t+(i*104|0)+12>>2];y=+g[t+(h*104|0)+16>>2]-+g[t+(i*104|0)+16>>2];g[u+(v*52|0)+16>>2]=+A(+(B*B+z*z+y*y));a[b+924>>0]=1;v=(c[b+740>>2]|0)+(v*52|0)+20|0;a[v>>0]=a[v>>0]|1;f=f+1|0}h=h+1|0}while((h|0)!=(w|0))}}while((k|0)!=(w|0))}else f=0;wK(x);x=f;return x|0}function Zc(d,e){d=d|0;e=+e;var f=0,h=0.0,i=0,j=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0;s=k;k=k+304|0;Wj(17680);a:do if((c[d+232>>2]|0)>0){n=s+136+48|0;m=0;while(1){o=c[(c[d+240>>2]|0)+(m<<2)>>2]|0;g[o+244>>2]=1.0;b:do switch(c[o+216>>2]|0){case 2:case 5:break;default:if(!(c[o+204>>2]&3)){oh(o+4|0,+g[o+312>>2],+g[o+316>>2],+g[o+320>>2],o+328|0,e,s+136|0);h=+g[n>>2]-+g[o+52>>2];j=+g[s+136+52>>2]-+g[o+56>>2];l=+g[s+136+56>>2]-+g[o+60>>2];if(a[d+44>>0]|0?(t=+g[o+252>>2],t*t!=0.0?t*t<h*h+j*j+l*l:0):0){Wj(17700);if((c[(c[o+192>>2]|0)+4>>2]|0)<20){c[7247]=(c[7247]|0)+1;f=c[d+68>>2]|0;f=tb[c[(c[f>>2]|0)+36>>2]&255](f)|0;i=c[d+24>>2]|0;g[s+200+4>>2]=1.0;c[s+200+12>>2]=c[o+52>>2];c[s+200+12+4>>2]=c[o+52+4>>2];c[s+200+12+8>>2]=c[o+52+8>>2];c[s+200+12+12>>2]=c[o+52+12>>2];c[s+200+28>>2]=c[n>>2];c[s+200+28+4>>2]=c[n+4>>2];c[s+200+28+8>>2]=c[n+8>>2];c[s+200+28+12>>2]=c[n+12>>2];c[s+200+76>>2]=0;c[s+200>>2]=7520;c[s+200+80>>2]=o;c[s+200+88>>2]=f;c[s+200+92>>2]=i;i=c[o+248>>2]|0;c[s+80+8>>2]=0;c[s+80+12>>2]=1065353216;c[s+80+16>>2]=1065353216;c[s+80+20>>2]=1065353216;g[s+80+24>>2]=0.0;c[s+80>>2]=9908;c[s+80+4>>2]=8;c[s+80+28>>2]=i;c[s+80+44>>2]=i;c[s+200+84>>2]=c[d+56>>2];i=c[o+188>>2]|0;b[s+200+8>>1]=b[i+4>>1]|0;b[s+200+10>>1]=b[i+6>>1]|0;c[s+16+48>>2]=c[n>>2];c[s+16+48+4>>2]=c[n+4>>2];c[s+16+48+8>>2]=c[n+8>>2];c[s+16+48+12>>2]=c[n+12>>2];c[s+16>>2]=c[o+4>>2];c[s+16+4>>2]=c[o+4+4>>2];c[s+16+8>>2]=c[o+4+8>>2];c[s+16+12>>2]=c[o+4+12>>2];c[s+16+16>>2]=c[o+20>>2];c[s+16+16+4>>2]=c[o+20+4>>2];c[s+16+16+8>>2]=c[o+20+8>>2];c[s+16+16+12>>2]=c[o+20+12>>2];c[s+16+32>>2]=c[o+36>>2];c[s+16+32+4>>2]=c[o+36+4>>2];c[s+16+32+8>>2]=c[o+36+8>>2];c[s+16+32+12>>2]=c[o+36+12>>2];Nd(d,s+80|0,o+4|0,s+16|0,s+200|0,0.0);h=+g[s+200+4>>2];if(h<1.0){g[o+244>>2]=h;oh(o+4|0,+g[o+312>>2],+g[o+316>>2],+g[o+320>>2],o+328|0,h*e,s+136|0);g[o+244>>2]=0.0;Ze(o,s+136|0);f=4}else f=0;if(!f)p=12}else p=12;if((p|0)==12){p=0;f=0}i=c[3369]|0;u=(c[i+16>>2]|0)+-1|0;c[i+16>>2]=u;do if(!u){if(c[i+4>>2]|0){bb(s+200|0,0)|0;u=c[7583]|0;g[i+8>>2]=+g[i+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[i+12>>2]|0)|0)>>>0)/1.0e3;if(c[i+16>>2]|0)break;i=c[3369]|0}c[3369]=c[i+20>>2]}while(0);if(f|0)break b}Ze(o,s+136|0)}}while(0);m=m+1|0;if((m|0)>=(c[d+232>>2]|0))break a}}while(0);do if(a[d+275>>0]|0){Wj(17720);if((c[d+308>>2]|0)>0){o=0;do{p=c[(c[d+316>>2]|0)+(o<<2)>>2]|0;i=c[p+740>>2]|0;i=(c[i+236>>2]&2|0)==0?0:i;n=c[p+744>>2]|0;n=(c[n+236>>2]&2|0)==0?0:n;f=c[p+748>>2]|0;if((f|0)>0)if(!i){i=0;do{h=+g[57]*+g[n+228>>2];if(h>0.0?(q=+g[p+4+(i*184|0)+120>>2],q!=0.0):0){l=h*q*+g[p+4+(i*184|0)+64>>2];e=h*q*+g[p+4+(i*184|0)+68>>2];t=h*q*+g[p+4+(i*184|0)+72>>2];h=+g[p+4+(i*184|0)+36>>2]-+g[n+56>>2];j=+g[p+4+(i*184|0)+40>>2]-+g[n+60>>2];g[s+16>>2]=+g[p+4+(i*184|0)+32>>2]-+g[n+52>>2];g[s+16+4>>2]=h;g[s+16+8>>2]=j;g[s+16+12>>2]=0.0;g[s>>2]=l;g[s+4>>2]=e;g[s+8>>2]=t;g[s+12>>2]=0.0;Rl(n,s,s+16|0);f=c[p+748>>2]|0}i=i+1|0}while((i|0)<(f|0))}else{m=0;do{h=+g[i+228>>2]*+g[n+228>>2];if(h>0.0?(r=+g[p+4+(m*184|0)+120>>2],r!=0.0):0){l=h*r*+g[p+4+(m*184|0)+64>>2];e=h*r*+g[p+4+(m*184|0)+68>>2];t=h*r*+g[p+4+(m*184|0)+72>>2];g[s+200>>2]=-l;g[s+200+4>>2]=-e;g[s+200+8>>2]=-t;g[s+200+12>>2]=0.0;j=+g[p+4+(m*184|0)+52>>2]-+g[i+56>>2];h=+g[p+4+(m*184|0)+56>>2]-+g[i+60>>2];g[s+80>>2]=+g[p+4+(m*184|0)+48>>2]-+g[i+52>>2];g[s+80+4>>2]=j;g[s+80+8>>2]=h;g[s+80+12>>2]=0.0;h=+g[p+4+(m*184|0)+36>>2]-+g[n+56>>2];j=+g[p+4+(m*184|0)+40>>2]-+g[n+60>>2];g[s+16>>2]=+g[p+4+(m*184|0)+32>>2]-+g[n+52>>2];g[s+16+4>>2]=h;g[s+16+8>>2]=j;g[s+16+12>>2]=0.0;Rl(i,s+200|0,s+80|0);g[s>>2]=l;g[s+4>>2]=e;g[s+8>>2]=t;g[s+12>>2]=0.0;Rl(n,s,s+16|0);f=c[p+748>>2]|0}m=m+1|0}while((m|0)<(f|0))}o=o+1|0}while((o|0)<(c[d+308>>2]|0))}f=c[3369]|0;u=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=u;if(!u){if(c[f+4>>2]|0){bb(s+200|0,0)|0;u=c[7583]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[3369]|0}c[3369]=c[f+20>>2]}}while(0);f=c[3369]|0;u=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=u;if(u|0){k=s;return}do if(c[f+4>>2]|0){bb(s+200|0,0)|0;u=c[7583]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[f+16>>2]|0)){f=c[3369]|0;break}else{k=s;return}}while(0);c[3369]=c[f+20>>2];k=s;return}function _c(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0;J=k;k=k+96|0;e=c[b+216>>2]|0;if(+g[e+4>>2]==0.0){I=0;k=J;return I|0}I=c[d>>2]|0;if(!(vb[c[(c[e>>2]|0)+8>>2]&31](e,c[I+188>>2]|0)|0)){I=1;k=J;return I|0}d=c[I+192>>2]|0;H=c[b+216>>2]|0;if((c[d+4>>2]|0)!=32){c[J+32>>2]=0;c[J+32+4>>2]=d;c[J+32+8>>2]=I;c[J+32+12>>2]=I+4;c[J+32+16>>2]=-1;c[J+32+20>>2]=-1;Rc(b+68|0,b+132|0,J+32|0,H);I=1;k=J;return I|0}if((I|0)==0?1:(c[I+236>>2]|0)!=8){I=1;k=J;return I|0}d=c[I+752>>2]|0;if(d)if(!(c[I+988>>2]|0)){d=c[I+988+4>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[I+988+4>>2]=0;c[I+988+8>>2]=-1;d=c[I+988+32>>2]|0;if(d|0){if(a[I+988+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[I+988+32>>2]=0}a[I+988+36>>0]=1;c[I+988+32>>2]=0;c[I+988+24>>2]=0;c[I+988+28>>2]=0;c[I+988+16>>2]=0;d=c[I+752>>2]|0;if((d|0)>0){t=0;do{n=c[I+760>>2]|0;r=n+(t*44|0)|0;u=c[n+(t*44|0)+8>>2]|0;D=c[n+(t*44|0)+12>>2]|0;d=c[n+(t*44|0)+16>>2]|0;p=+g[u+8>>2];q=+g[u+12>>2];s=+g[u+16>>2];m=+g[u+20>>2];C=+g[D+8>>2];f=C<p?C:p;G=+g[D+12>>2];o=G<q?G:q;F=+g[D+16>>2];h=F<s?F:s;E=+g[D+20>>2];i=E<m?E:m;p=p<C?C:p;q=q<G?G:q;s=s<F?F:s;m=m<E?E:m;E=+g[d+8>>2];f=E<f?E:f;F=+g[d+12>>2];o=F<o?F:o;G=+g[d+16>>2];h=G<h?G:h;C=+g[d+20>>2];i=C<i?C:i;m=m<C?C:m;p=(p<E?E:p)+0.0;q=(q<F?F:q)+0.0;s=(s<G?G:s)+0.0;d=c[I+988+4>>2]|0;if(!d){c[7584]=(c[7584]|0)+1;d=lc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=d;l=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(l|0))}else c[I+988+4>>2]=0;c[d+32>>2]=0;c[d+36>>2]=r;c[d+40>>2]=0;g[d>>2]=f;g[d+4>>2]=o;g[d+8>>2]=h;g[d+12>>2]=i;g[d+16>>2]=p;g[d+20>>2]=q;g[d+24>>2]=s;g[d+28>>2]=m;tf(I+988|0,c[I+988>>2]|0,d);c[I+988+12>>2]=(c[I+988+12>>2]|0)+1;c[n+(t*44|0)+40>>2]=d;t=t+1|0;d=c[I+752>>2]|0}while((t|0)<(d|0));e=I+988|0}else e=I+988|0}else e=I+988|0;else{e=I+988|0;d=0}E=+g[b+180>>2]-+g[b+116>>2];F=+g[b+184>>2]-+g[b+120>>2];G=+g[b+188>>2]-+g[b+124>>2];e=c[e>>2]|0;if(!e)if((d|0)>0){u=c[I+760>>2]|0;t=0;e=0;r=-1;l=1065353216;n=0;h=1.0;f=1.0;do{L=c[u+(t*44|0)+8>>2]|0;K=c[u+(t*44|0)+12>>2]|0;D=c[u+(t*44|0)+16>>2]|0;i=+ei(b+116|0,E,F,G,+g[L+8>>2],+g[L+12>>2],+g[L+16>>2],+g[K+8>>2],+g[K+12>>2],+g[K+16>>2],+g[D+8>>2],+g[D+12>>2],+g[D+16>>2],h);if(i>0.0){e=e+1|0;r=t;l=(g[j>>2]=i,c[j>>2]|0);n=3;f=i;h=i}t=t+1|0}while((t|0)!=(d|0));d=r}else{e=0;d=-1;l=1065353216;n=0;f=1.0}else{c[J+32>>2]=6408;c[J+32+4>>2]=c[b+116>>2];c[J+32+4+4>>2]=c[b+116+4>>2];c[J+32+4+8>>2]=c[b+116+8>>2];c[J+32+4+12>>2]=c[b+116+12>>2];g[J+32+36>>2]=E;g[J+32+40>>2]=F;g[J+32+44>>2]=G;g[J+32+48>>2]=0.0;c[J+32+20>>2]=c[b+180>>2];c[J+32+20+4>>2]=c[b+180+4>>2];c[J+32+20+8>>2]=c[b+180+8>>2];c[J+32+20+12>>2]=c[b+180+12>>2];c[J+32+52>>2]=1065353216;c[J+32+56>>2]=0;c[J+32+60>>2]=0;Le(e,b+116|0,b+180|0,J+32|0);d=c[J+32+56>>2]|0;if(!d){e=0;d=-1;l=1065353216;n=0;f=1.0}else{L=c[J+32+52>>2]|0;e=1;d=(d-(c[I+760>>2]|0)|0)/44|0;l=L;n=3;f=(c[j>>2]=L,+g[j>>2])}}u=c[I+772>>2]|0;if((u|0)>0){D=c[I+780>>2]|0;t=0;do{L=c[D+(t*104|0)+8>>2]|0;x=+g[L+8>>2];z=+g[L+12>>2];C=+g[L+16>>2];L=c[D+(t*104|0)+12>>2]|0;o=+g[L+8>>2];q=+g[L+12>>2];v=+g[L+16>>2];L=c[D+(t*104|0)+16>>2]|0;w=+g[L+8>>2];y=+g[L+12>>2];B=+g[L+16>>2];h=(c[j>>2]=l,+g[j>>2]);i=+ei(b+116|0,E,F,G,x,z,C,o,q,v,w,y,B,h);if(i>0.0){e=e+1|0;d=t;l=(g[j>>2]=i,c[j>>2]|0);n=4;h=i;f=i}L=c[D+(t*104|0)+20>>2]|0;m=+g[L+8>>2];p=+g[L+12>>2];s=+g[L+16>>2];i=+ei(b+116|0,E,F,G,x,z,C,o,q,v,m,p,s,h);if(i>0.0){e=e+1|0;d=t;r=(g[j>>2]=i,c[j>>2]|0);n=4;h=i;f=i}else{r=l;h=(c[j>>2]=l,+g[j>>2])}i=+ei(b+116|0,E,F,G,o,q,v,w,y,B,m,p,s,h);if(i>0.0){e=e+1|0;d=t;l=(g[j>>2]=i,c[j>>2]|0);n=4;h=i;f=i}else{l=r;h=(c[j>>2]=r,+g[j>>2])}h=+ei(b+116|0,E,F,G,x,z,C,w,y,B,m,p,s,h);if(h>0.0){e=e+1|0;d=t;l=(g[j>>2]=h,c[j>>2]|0);n=4;f=h}t=t+1|0}while((t|0)!=(u|0));l=n;q=f}else{l=n;q=f}if(!e){L=1;k=J;return L|0}if(!(q<=+g[H+4>>2])){L=1;k=J;return L|0}c[J+32>>2]=0;c[J+32+4>>2]=d;m=+g[b+180>>2]-+g[b+116>>2];o=+g[b+184>>2]-+g[b+120>>2];p=+g[b+188>>2]-+g[b+124>>2];f=1.0/+A(+(m*m+o*o+p*p));if((l|0)==3){e=c[I+748+12>>2]|0;f=+g[e+(d*44|0)+20>>2];i=+g[e+(d*44|0)+24>>2];h=+g[e+(d*44|0)+28>>2];if(m*f+o*i+p*h>0.0){m=-f;i=-i;h=-h;f=0.0}else{m=f;f=+g[e+(d*44|0)+32>>2]}}else{m=-(m*f);i=-(o*f);h=-(p*f);f=0.0}c[J>>2]=I;c[J+4>>2]=J+32;g[J+8>>2]=m;g[J+12>>2]=i;g[J+16>>2]=h;g[J+20>>2]=f;g[J+24>>2]=q;+mb[c[(c[H>>2]|0)+12>>2]&15](H,J,1);L=1;k=J;return L|0}function $c(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0,s=0;s=k;k=k+112|0;j=c[b+716>>2]|0;if((j|0)==(c[b+712>>2]|0)){a:do if(j){i=c[b+720>>2]|0;if((j|0)>0){f=0;h=i;while(1){h=c[h+(f*104|0)+96>>2]|0;if(h|0)c[h+36>>2]=f;f=f+1|0;if((f|0)==(j|0)){l=i;break a}h=c[b+720>>2]|0}}else l=i}else l=0;while(0);h=c[b+732>>2]|0;if((h|0)>0){f=0;do{p=(c[b+740>>2]|0)+(f*52|0)+8|0;c[p>>2]=((c[p>>2]|0)-l|0)/104|0;p=(c[b+740>>2]|0)+(f*52|0)+12|0;c[p>>2]=((c[p>>2]|0)-l|0)/104|0;f=f+1|0}while((f|0)!=(h|0))}h=c[b+752>>2]|0;if((h|0)>0){f=0;do{i=(c[b+760>>2]|0)+(f*44|0)+8|0;c[i>>2]=((c[i>>2]|0)-l|0)/104|0;i=(c[b+760>>2]|0)+(f*44|0)+12|0;c[i>>2]=((c[i>>2]|0)-l|0)/104|0;i=(c[b+760>>2]|0)+(f*44|0)+16|0;c[i>>2]=((c[i>>2]|0)-l|0)/104|0;i=c[(c[b+760>>2]|0)+(f*44|0)+40>>2]|0;if(i|0)c[i+36>>2]=f;f=f+1|0}while((f|0)!=(h|0))}h=c[b+792>>2]|0;if((h|0)>0){i=c[b+800>>2]|0;f=0;do{p=i+(f*96|0)|0;c[p>>2]=((c[p>>2]|0)-l|0)/104|0;f=f+1|0}while((f|0)!=(h|0))}j=c[b+692>>2]|0;if((j|0)>0){i=0;f=c[b+700>>2]|0;do{if((c[f+(i*60|0)+24>>2]|0)>0){h=0;do{f=f+(i*60|0)+28+(h<<2)|0;c[f>>2]=((c[f>>2]|0)-l|0)/104|0;h=h+1|0;f=c[b+700>>2]|0}while((h|0)<(c[f+(i*60|0)+24>>2]|0))}i=i+1|0}while((i|0)!=(j|0))}j=c[b+712>>2]|0;if((c[b+716>>2]|0)<(j<<1|1|0)){c[7584]=(c[7584]|0)+1;f=lc(((j<<1|1)*104|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}h=c[b+712>>2]|0;if((h|0)>0){f=0;do{o=i+(f*104|0)|0;l=(c[b+720>>2]|0)+(f*104|0)|0;p=o+104|0;do{c[o>>2]=c[l>>2];o=o+4|0;l=l+4|0}while((o|0)<(p|0));f=f+1|0}while((f|0)!=(h|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=i;c[b+716>>2]=j<<1|1;j=c[b+712>>2]|0}b:do if(j){l=c[b+720>>2]|0;if((j|0)>0){f=0;h=l;while(1){i=c[h+(f*104|0)+96>>2]|0;if(i|0)c[i+36>>2]=h+(f*104|0);f=f+1|0;if((f|0)==(j|0))break b;h=c[b+720>>2]|0}}}else l=0;while(0);h=c[b+732>>2]|0;if((h|0)>0){f=0;do{p=(c[b+740>>2]|0)+(f*52|0)+8|0;c[p>>2]=l+((c[p>>2]|0)*104|0);p=(c[b+740>>2]|0)+(f*52|0)+12|0;c[p>>2]=l+((c[p>>2]|0)*104|0);f=f+1|0}while((f|0)!=(h|0))}h=c[b+752>>2]|0;if((h|0)>0){f=0;do{i=(c[b+760>>2]|0)+(f*44|0)+8|0;c[i>>2]=l+((c[i>>2]|0)*104|0);i=(c[b+760>>2]|0)+(f*44|0)+12|0;c[i>>2]=l+((c[i>>2]|0)*104|0);i=(c[b+760>>2]|0)+(f*44|0)+16|0;c[i>>2]=l+((c[i>>2]|0)*104|0);i=c[b+760>>2]|0;j=c[i+(f*44|0)+40>>2]|0;if(j|0)c[j+36>>2]=i+(f*44|0);f=f+1|0}while((f|0)!=(h|0))}i=c[b+792>>2]|0;if((i|0)>0){h=c[b+800>>2]|0;f=0;do{p=h+(f*96|0)|0;c[p>>2]=l+((c[p>>2]|0)*104|0);f=f+1|0}while((f|0)!=(i|0))}j=c[b+692>>2]|0;if((j|0)>0){i=0;f=c[b+700>>2]|0;do{if((c[f+(i*60|0)+24>>2]|0)>0){h=0;do{f=f+(i*60|0)+28+(h<<2)|0;c[f>>2]=l+((c[f>>2]|0)*104|0);h=h+1|0;f=c[b+700>>2]|0}while((h|0)<(c[f+(i*60|0)+24>>2]|0))}i=i+1|0}while((i|0)!=(j|0))}}o=c[b+192>>2]|0;q=+jb[c[(c[o>>2]|0)+48>>2]&15](o);o=s;p=o+100|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f=c[b+712>>2]|0;if((f|0)==(c[b+716>>2]|0)?(r=(f|0)==0?1:f<<1,(f|0)<(r|0)):0){if(!r)i=0;else{c[7584]=(c[7584]|0)+1;f=lc((r*104|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[b+712>>2]|0}if((f|0)>0){h=0;do{o=i+(h*104|0)|0;l=(c[b+720>>2]|0)+(h*104|0)|0;p=o+104|0;do{c[o>>2]=c[l>>2];o=o+4|0;l=l+4|0}while((o|0)<(p|0));h=h+1|0}while((h|0)!=(f|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=i;c[b+716>>2]=r;f=c[b+712>>2]|0}o=c[b+720>>2]|0;c[o+(f*104|0)>>2]=0;o=o+(f*104|0)+4|0;l=s;p=o+100|0;do{c[o>>2]=c[l>>2];o=o+4|0;l=l+4|0}while((o|0)<(p|0));h=c[b+712>>2]|0;c[b+712>>2]=h+1;i=c[b+720>>2]|0;o=i+(h*104|0)|0;p=o+104|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));c[i+(h*104|0)+8>>2]=c[d>>2];c[i+(h*104|0)+8+4>>2]=c[d+4>>2];c[i+(h*104|0)+8+8>>2]=c[d+8>>2];c[i+(h*104|0)+8+12>>2]=c[d+12>>2];Sq(i+(h*104|0)+24|0,d|0,16)|0;g[i+(h*104|0)+88>>2]=e>0.0?1.0/e:0.0;c[i+(h*104|0)+4>>2]=c[c[b+880>>2]>>2];e=+g[i+(h*104|0)+8>>2];m=+g[i+(h*104|0)+12>>2];n=+g[i+(h*104|0)+16>>2];f=c[b+932>>2]|0;if(f|0){c[b+932>>2]=0;d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=i+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-q;r=d+4|0;g[r>>2]=m-q;r=d+8|0;g[r>>2]=n-q;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=q+e;r=d+20|0;g[r>>2]=q+m;r=d+24|0;g[r>>2]=q+n;r=d+28|0;g[r>>2]=0.0;r=c[b+928>>2]|0;tf(b+928|0,r,d);b=b+940|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=i+(h*104|0)+96|0;c[b>>2]=d;k=s;return}c[7584]=(c[7584]|0)+1;f=lc(63)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}o=f;p=o+44|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=i+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-q;r=d+4|0;g[r>>2]=m-q;r=d+8|0;g[r>>2]=n-q;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=q+e;r=d+20|0;g[r>>2]=q+m;r=d+24|0;g[r>>2]=q+n;r=d+28|0;g[r>>2]=0.0;r=c[b+928>>2]|0;tf(b+928|0,r,d);b=b+940|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=i+(h*104|0)+96|0;c[b>>2]=d;k=s;return}function ad(b,d,e,f,h,i,j,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;var n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0;I=k;k=k+32|0;c[I+12>>2]=i;c[I+12+4>>2]=j;c[I+12+8>>2]=l;c[I>>2]=e;c[I+4>>2]=f;c[I+8>>2]=h;if(!(+g[d+52>>2]<+g[b+12>>2])){m=0;k=I;return m|0}w=+g[d+36>>2];y=+g[d+40>>2];x=+g[d+44>>2];l=c[d+48>>2]|0;z=1.0/+A(+(w*w+y*y+x*x));h=Ui(I)|0;B=+g[d+4>>2]-+g[h+48>>2];C=+g[d+8>>2]-+g[h+52>>2];D=+g[d+12>>2]-+g[h+56>>2];h=Ui(I+12|0)|0;E=+g[d+20>>2]-+g[h+48>>2];F=+g[d+24>>2]-+g[h+52>>2];G=+g[d+28>>2]-+g[h+56>>2];if(!f)if(!e){n=0.0;o=0.0;r=0.0;s=0.0;p=0.0;q=0.0}else{q=+g[e+336>>2];r=+g[e+340>>2];v=+g[e+332>>2];n=D*q-C*r;o=+g[e+316>>2];r=B*r-D*v;s=+g[e+320>>2];p=+g[e+324>>2];q=C*v-B*q}else{q=+g[f+332>>2];r=+g[f+336>>2];v=+g[f+328>>2];n=D*q-C*r;o=+g[f+312>>2];r=B*r-D*v;s=+g[f+316>>2];p=+g[f+320>>2];q=C*v-B*q}v=o+n;u=s+r;t=p+q;if(!j)if(!i){p=0.0;q=0.0;r=0.0;s=0.0;n=0.0;o=0.0}else{o=+g[i+336>>2];r=+g[i+340>>2];J=+g[i+332>>2];p=G*o-F*r;q=+g[i+316>>2];r=E*r-G*J;s=+g[i+320>>2];n=+g[i+324>>2];o=F*J-E*o}else{o=+g[j+332>>2];r=+g[j+336>>2];J=+g[j+328>>2];p=G*o-F*r;q=+g[j+312>>2];r=E*r-G*J;s=+g[j+316>>2];n=+g[j+320>>2];o=F*J-E*o}q=v-(q+p);u=u-(s+r);t=t-(n+o);v=x*z*t+(y*z*u+w*z*q);J=+g[d+52>>2]-+g[b+12>>2];c[m+4>>2]=c[I>>2];c[m+4+4>>2]=c[I+4>>2];c[m+4+8>>2]=c[I+8>>2];c[m+16>>2]=c[I+12>>2];c[m+16+4>>2]=c[I+12+4>>2];c[m+16+8>>2]=c[I+12+8>>2];d=Ui(I)|0;s=B*+g[d+4>>2]+C*+g[d+20>>2]+D*+g[d+36>>2];r=B*+g[d+8>>2]+C*+g[d+24>>2]+D*+g[d+40>>2];g[m+28>>2]=B*+g[d>>2]+C*+g[d+16>>2]+D*+g[d+32>>2];g[m+32>>2]=s;g[m+36>>2]=r;g[m+40>>2]=0.0;d=Ui(I+12|0)|0;r=E*+g[d+4>>2]+F*+g[d+20>>2]+G*+g[d+36>>2];s=E*+g[d+8>>2]+F*+g[d+24>>2]+G*+g[d+40>>2];g[m+44>>2]=E*+g[d>>2]+F*+g[d+16>>2]+G*+g[d+32>>2];g[m+48>>2]=r;g[m+52>>2]=s;g[m+56>>2]=0.0;g[m+164>>2]=B;g[m+168>>2]=C;g[m+172>>2]=D;g[m+176>>2]=0.0;g[m+180>>2]=E;g[m+184>>2]=F;g[m+188>>2]=G;g[m+192>>2]=0.0;g[m+60>>2]=1.0;g[m+64>>2]=1.0;c[m+156>>2]=0;c[m+160>>2]=0;g[m+68>>2]=1.0;g[m+72>>2]=w*z*J;g[m+76>>2]=y*z*J;g[m+80>>2]=x*z*J;g[m+84>>2]=0.0;g[m+196>>2]=w*z;g[m+200>>2]=y*z;g[m+204>>2]=x*z;c[m+208>>2]=l;a[m+152>>0]=0;J=+g[b+16>>2];g[m+212>>2]=(t-x*z*v)*(t-x*z*v)+((q-w*z*v)*(q-w*z*v)+(u-y*z*v)*(u-y*z*v))<J*v*v*J?1.0:J;l=c[I+4>>2]|0;if(!l){l=c[I>>2]|0;if(!l)o=0.0;else{l=l+128|0;H=14}}else{l=l+344|0;H=14}if((H|0)==14)o=+g[l>>2];if((a[28312]|0)==0?_A(28312)|0:0){l=28792;h=l+48|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(h|0))}l=c[I+4>>2]|0;if(!l){e=c[I>>2]|0;e=(e|0)==0?28792:e+180|0}else e=l+264|0;l=c[I+12+4>>2]|0;if(!l){l=c[I+12>>2]|0;if(!l)n=0.0;else{l=l+128|0;H=25}}else{l=l+344|0;H=25}if((H|0)==25)n=+g[l>>2];if((a[28312]|0)==0?_A(28312)|0:0){l=28792;h=l+48|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(h|0))}l=c[I+12+4>>2]|0;if(!l){l=c[I+12>>2]|0;l=(l|0)==0?28792:l+180|0}else l=l+264|0;W=+g[m+172>>2];O=+g[m+168>>2];N=+g[m+164>>2];V=+g[e>>2];U=+g[e+16>>2];T=+g[e+32>>2];S=+g[e+4>>2];R=+g[e+20>>2];Q=+g[e+36>>2];P=+g[e+8>>2];M=+g[e+24>>2];L=+g[e+40>>2];C=+g[m+188>>2];v=+g[m+184>>2];w=+g[m+180>>2];K=+g[l>>2];p=+g[l+16>>2];q=+g[l+32>>2];r=+g[l+4>>2];s=+g[l+20>>2];t=+g[l+36>>2];u=+g[l+8>>2];J=+g[l+24>>2];x=+g[l+40>>2];E=o-((V*0.0+U*-W+O*T)*0.0+W*(S*0.0+R*-W+O*Q)+(P*0.0+M*-W+O*L)*-O)+(n-((K*0.0+p*-C+v*q)*0.0+C*(r*0.0+s*-C+v*t)+(u*0.0+J*-C+v*x)*-v));G=0.0-((V*0.0+U*-W+O*T)*-W+(S*0.0+R*-W+O*Q)*0.0+N*(P*0.0+M*-W+O*L))+(0.0-((K*0.0+p*-C+v*q)*-C+(r*0.0+s*-C+v*t)*0.0+w*(u*0.0+J*-C+v*x)));y=0.0-(O*(V*0.0+U*-W+O*T)+(S*0.0+R*-W+O*Q)*-N+(P*0.0+M*-W+O*L)*0.0)+(0.0-(v*(K*0.0+p*-C+v*q)+(r*0.0+s*-C+v*t)*-w+(u*0.0+J*-C+v*x)*0.0));F=0.0-((W*V+U*0.0+T*-N)*0.0+W*(W*S+R*0.0+Q*-N)+(W*P+M*0.0+L*-N)*-O)+(0.0-((C*K+p*0.0+q*-w)*0.0+C*(C*r+s*0.0+t*-w)+(C*u+J*0.0+x*-w)*-v));D=o-((W*V+U*0.0+T*-N)*-W+(W*S+R*0.0+Q*-N)*0.0+N*(W*P+M*0.0+L*-N))+(n-((C*K+p*0.0+q*-w)*-C+(C*r+s*0.0+t*-w)*0.0+w*(C*u+J*0.0+x*-w)));z=0.0-(O*(W*V+U*0.0+T*-N)+(W*S+R*0.0+Q*-N)*-N+(W*P+M*0.0+L*-N)*0.0)+(0.0-(v*(C*K+p*0.0+q*-w)+(C*r+s*0.0+t*-w)*-w+(C*u+J*0.0+x*-w)*0.0));B=0.0-((V*-O+N*U+T*0.0)*0.0+W*(S*-O+N*R+Q*0.0)+(P*-O+N*M+L*0.0)*-O)+(0.0-((K*-v+w*p+q*0.0)*0.0+C*(r*-v+w*s+t*0.0)+(u*-v+w*J+x*0.0)*-v));C=0.0-((V*-O+N*U+T*0.0)*-W+(S*-O+N*R+Q*0.0)*0.0+N*(P*-O+N*M+L*0.0))+(0.0-((K*-v+w*p+q*0.0)*-C+(r*-v+w*s+t*0.0)*0.0+w*(u*-v+w*J+x*0.0)));x=o-(O*(V*-O+N*U+T*0.0)+(S*-O+N*R+Q*0.0)*-N+(P*-O+N*M+L*0.0)*0.0)+(n-(v*(K*-v+w*p+q*0.0)+(r*-v+w*s+t*0.0)*-w+(u*-v+w*J+x*0.0)*0.0));J=1.0/(y*(C*F-D*B)+(E*(D*x-z*C)+G*(z*B-x*F)));g[m+104>>2]=(D*x-z*C)*J;g[m+108>>2]=(C*y-x*G)*J;g[m+112>>2]=(z*G-D*y)*J;g[m+116>>2]=0.0;g[m+120>>2]=(z*B-x*F)*J;g[m+124>>2]=(x*E-B*y)*J;g[m+128>>2]=(F*y-z*E)*J;g[m+132>>2]=0.0;g[m+136>>2]=(C*F-D*B)*J;g[m+140>>2]=(B*G-C*E)*J;g[m+144>>2]=(D*E-F*G)*J;g[m+148>>2]=0.0;m=1;k=I;return m|0}function bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;w=(a[b+180>>0]|0)==0;if(w?(a[b+48>>0]|0)!=0:0){r=+g[b+116>>2];h=+g[e>>2];J=+g[b+132>>2];f=+g[e+4>>2];K=+g[b+148>>2];z=+g[e+8>>2];s=+g[b+120>>2];H=+g[b+136>>2];I=+g[b+152>>2];t=+g[b+124>>2];G=+g[b+140>>2];u=+g[b+156>>2];x=+g[e+16>>2];y=+g[e+20>>2];A=+g[e+24>>2];F=+g[e+32>>2];v=+g[e+36>>2];B=+g[e+40>>2];m=+g[b+164>>2];i=+g[b+168>>2];E=+g[b+172>>2];D=+g[e+48>>2]+(h*m+f*i+z*E);C=x*m+y*i+A*E+ +g[e+52>>2];E=F*m+v*i+B*E+ +g[e+56>>2];g[b+824>>2]=r*h+J*f+K*z;g[b+828>>2]=h*s+f*H+z*I;g[b+832>>2]=h*t+f*G+z*u;g[b+836>>2]=0.0;g[b+840>>2]=r*x+J*y+K*A;g[b+844>>2]=s*x+H*y+I*A;g[b+848>>2]=t*x+G*y+u*A;g[b+852>>2]=0.0;g[b+856>>2]=r*F+J*v+K*B;g[b+860>>2]=s*F+H*v+I*B;g[b+864>>2]=t*F+G*v+u*B;g[b+868>>2]=0.0;g[b+872>>2]=D;g[b+876>>2]=C;g[b+880>>2]=E;g[b+884>>2]=0.0;E=+g[b+52>>2];C=+g[d>>2];D=+g[b+68>>2];B=+g[d+4>>2];u=+g[b+84>>2];v=+g[d+8>>2];G=+g[b+56>>2];F=+g[b+72>>2];t=+g[b+88>>2];I=+g[b+60>>2];H=+g[b+76>>2];s=+g[b+92>>2];K=+g[d+16>>2];J=+g[d+20>>2];r=+g[d+24>>2];A=+g[d+32>>2];y=+g[d+36>>2];x=+g[d+40>>2];z=+g[b+100>>2];f=+g[b+104>>2];h=+g[b+108>>2];k=b+856|0;l=b+840|0;i=K*z+J*f+r*h;m=I*A+H*y+s*x;n=G*A+F*y+t*x;o=E*A+D*y+u*x;p=I*K+H*J+s*r;q=G*K+F*J+t*r;r=E*K+D*J+u*r;s=C*I+B*H+v*s;t=C*G+B*F+v*t;u=E*C+D*B+u*v;v=C*z+B*f+v*h;f=A*z+y*f;h=x*h}else{r=+g[b+52>>2];h=+g[d>>2];y=+g[b+68>>2];f=+g[d+4>>2];x=+g[b+84>>2];I=+g[d+8>>2];s=+g[b+56>>2];A=+g[b+72>>2];z=+g[b+88>>2];t=+g[b+60>>2];B=+g[b+76>>2];u=+g[b+92>>2];K=+g[d+16>>2];J=+g[d+20>>2];H=+g[d+24>>2];C=+g[d+32>>2];v=+g[d+36>>2];G=+g[d+40>>2];m=+g[b+100>>2];i=+g[b+104>>2];D=+g[b+108>>2];E=+g[d+48>>2]+(h*m+f*i+I*D);F=K*m+J*i+H*D+ +g[d+52>>2];D=C*m+v*i+G*D+ +g[d+56>>2];g[b+824>>2]=r*h+y*f+x*I;g[b+828>>2]=h*s+f*A+I*z;g[b+832>>2]=h*t+f*B+I*u;g[b+836>>2]=0.0;g[b+840>>2]=r*K+y*J+x*H;g[b+844>>2]=s*K+A*J+z*H;g[b+848>>2]=t*K+B*J+u*H;g[b+852>>2]=0.0;g[b+856>>2]=r*C+y*v+x*G;g[b+860>>2]=s*C+A*v+z*G;g[b+864>>2]=t*C+B*v+u*G;g[b+868>>2]=0.0;g[b+872>>2]=E;g[b+876>>2]=F;g[b+880>>2]=D;g[b+884>>2]=0.0;D=+g[b+116>>2];F=+g[e>>2];E=+g[b+132>>2];G=+g[e+4>>2];u=+g[b+148>>2];v=+g[e+8>>2];B=+g[b+120>>2];C=+g[b+136>>2];t=+g[b+152>>2];z=+g[b+124>>2];A=+g[b+140>>2];s=+g[b+156>>2];x=+g[e+16>>2];y=+g[e+20>>2];r=+g[e+24>>2];H=+g[e+32>>2];J=+g[e+36>>2];K=+g[e+40>>2];I=+g[b+164>>2];f=+g[b+168>>2];h=+g[b+172>>2];k=b+856|0;l=b+840|0;i=x*I+y*f+r*h;m=z*H+A*J+s*K;n=B*H+C*J+t*K;o=D*H+E*J+u*K;p=z*x+A*y+s*r;q=B*x+C*y+t*r;r=D*x+E*y+u*r;s=F*z+G*A+v*s;t=F*B+G*C+v*t;u=D*F+E*G+u*v;v=F*I+G*f+v*h;d=e;f=H*I+J*f;h=K*h}K=+g[d+48>>2]+v;i=i+ +g[d+52>>2];f=f+h+ +g[d+56>>2];g[b+888>>2]=u;g[b+892>>2]=t;g[b+896>>2]=s;g[b+900>>2]=0.0;g[b+904>>2]=r;g[b+908>>2]=q;g[b+912>>2]=p;g[b+916>>2]=0.0;g[b+920>>2]=o;g[b+924>>2]=n;g[b+928>>2]=m;g[b+932>>2]=0.0;g[b+936>>2]=K;g[b+940>>2]=i;g[b+944>>2]=f;g[b+948>>2]=0.0;c[b+968>>2]=c[b+872>>2];c[b+968+4>>2]=c[b+872+4>>2];c[b+968+8>>2]=c[b+872+8>>2];c[b+968+12>>2]=c[b+872+12>>2];c[b+984>>2]=c[b+936>>2];c[b+984+4>>2]=c[b+936+4>>2];c[b+984+8>>2]=c[b+936+8>>2];c[b+984+12>>2]=c[b+936+12>>2];d=c[b+824>>2]|0;e=c[l>>2]|0;l=c[k>>2]|0;c[b+952>>2]=d;c[b+956>>2]=e;c[b+960>>2]=l;g[b+964>>2]=0.0;f=(c[j>>2]=d,+g[j>>2]);h=(c[j>>2]=e,+g[j>>2]);i=(c[j>>2]=l,+g[j>>2]);if(w?(a[b+48>>0]|0)==0:0){B=+g[b+968>>2];C=+g[b+972>>2];D=+g[b+976>>2];I=D-+g[b+992>>2];G=C-+g[b+988>>2];F=B-+g[b+984>>2];w=b+1016|0;g[w>>2]=F;w=b+1020|0;g[w>>2]=G;w=b+1024|0;g[w>>2]=I;w=b+1028|0;g[w>>2]=0.0;K=F*f;E=G*h;E=K+E;K=I*i;K=E+K;E=K*f;H=K*h;J=K*i;E=B+E;H=C+H;J=D+J;w=b+1e3|0;g[w>>2]=E;w=b+1004|0;g[w>>2]=H;w=b+1008|0;g[w>>2]=J;w=b+1012|0;g[w>>2]=0.0;w=b+1032|0;g[w>>2]=K;w=b+828|0;l=b+844|0;k=b+860|0;K=+g[w>>2];J=+g[l>>2];H=+g[k>>2];K=F*K;J=G*J;J=K+J;H=I*H;H=J+H;k=b+1036|0;g[k>>2]=H;k=b+832|0;l=b+848|0;w=b+864|0;H=+g[k>>2];J=+g[l>>2];K=+g[w>>2];H=F*H;J=G*J;J=H+J;K=I*K;K=J+K;w=b+1040|0;g[w>>2]=K;return}B=+g[b+968>>2];C=+g[b+972>>2];D=+g[b+976>>2];I=+g[b+992>>2]-D;G=+g[b+988>>2]-C;F=+g[b+984>>2]-B;w=b+1016|0;g[w>>2]=F;w=b+1020|0;g[w>>2]=G;w=b+1024|0;g[w>>2]=I;w=b+1028|0;g[w>>2]=0.0;K=F*f;E=G*h;E=K+E;K=I*i;K=E+K;E=K*f;H=K*h;J=K*i;E=B+E;H=C+H;J=D+J;w=b+1e3|0;g[w>>2]=E;w=b+1004|0;g[w>>2]=H;w=b+1008|0;g[w>>2]=J;w=b+1012|0;g[w>>2]=0.0;w=b+1032|0;g[w>>2]=K;w=b+828|0;l=b+844|0;k=b+860|0;K=+g[w>>2];J=+g[l>>2];H=+g[k>>2];K=F*K;J=G*J;J=K+J;H=I*H;H=J+H;k=b+1036|0;g[k>>2]=H;k=b+832|0;l=b+848|0;w=b+864|0;H=+g[k>>2];J=+g[l>>2];K=+g[w>>2];H=F*H;J=G*J;J=H+J;K=I*K;K=J+K;w=b+1040|0;g[w>>2]=K;return}function cd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0;u=k;k=k+672|0;c[u+448+8>>2]=0;c[u+448+12>>2]=1065353216;c[u+448+16>>2]=1065353216;c[u+448+20>>2]=1065353216;g[u+448+24>>2]=0.0;c[u+448>>2]=9908;c[u+448+4>>2]=8;g[u+448+28>>2]=0.0;g[u+448+44>>2]=0.0;g[u+384>>2]=1.0;c[u+384+4>>2]=0;c[u+384+4+4>>2]=0;c[u+384+4+8>>2]=0;c[u+384+4+12>>2]=0;g[u+384+20>>2]=1.0;c[u+384+24>>2]=0;c[u+384+24+4>>2]=0;c[u+384+24+8>>2]=0;c[u+384+24+12>>2]=0;g[u+384+40>>2]=1.0;g[u+384+44>>2]=0.0;c[u+384+48>>2]=c[a>>2];c[u+384+48+4>>2]=c[a+4>>2];c[u+384+48+8>>2]=c[a+8>>2];c[u+384+48+12>>2]=c[a+12>>2];a=e;l=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(l|0));c[u+504>>2]=b;c[u+504+4>>2]=u+448;w=+g[d>>2];v=+g[d+16>>2];f=+g[d+32>>2];h=+g[d+4>>2];i=+g[d+20>>2];j=+g[d+36>>2];n=+g[d+8>>2];q=+g[d+24>>2];s=+g[d+40>>2];g[u+504+8>>2]=w+v*0.0+f*0.0;g[u+504+12>>2]=h+i*0.0+j*0.0;g[u+504+16>>2]=n+q*0.0+s*0.0;g[u+504+20>>2]=0.0;g[u+504+24>>2]=w*0.0+v+f*0.0;g[u+504+28>>2]=h*0.0+i+j*0.0;g[u+504+32>>2]=n*0.0+q+s*0.0;g[u+504+36>>2]=0.0;g[u+504+40>>2]=w*0.0+v*0.0+f;g[u+504+44>>2]=h*0.0+i*0.0+j;g[u+504+48>>2]=n*0.0+q*0.0+s;g[u+504+52>>2]=0.0;m=+g[u+384+48>>2]-+g[d+48>>2];o=+g[u+384+52>>2]-+g[d+52>>2];r=+g[u+384+56>>2]-+g[d+56>>2];g[u+504+56>>2]=w+v*0.0+f*0.0;g[u+504+60>>2]=w*0.0+v+f*0.0;g[u+504+64>>2]=w*0.0+v*0.0+f;g[u+504+68>>2]=0.0;g[u+504+72>>2]=h+i*0.0+j*0.0;g[u+504+76>>2]=h*0.0+i+j*0.0;g[u+504+80>>2]=h*0.0+i*0.0+j;g[u+504+84>>2]=0.0;g[u+504+88>>2]=n+q*0.0+s*0.0;g[u+504+92>>2]=n*0.0+q+s*0.0;g[u+504+96>>2]=n*0.0+q*0.0+s;g[u+504+100>>2]=0.0;g[u+504+104>>2]=m*w+o*v+r*f;g[u+504+108>>2]=m*h+o*i+r*j;g[u+504+112>>2]=m*n+o*q+r*s;g[u+504+116>>2]=0.0;c[u+504+120>>2]=92;c[u+504+124>>2]=0;c[u+364>>2]=0;c[u+128>>2]=0;c[u+128+4>>2]=0;c[u+128+8>>2]=0;c[u+128+12>>2]=0;c[u+376>>2]=2;c[u+368>>2]=0;g[u+144>>2]=0.0;c[u+648>>2]=1065353216;c[u+648+4>>2]=1065353216;c[u+648+8>>2]=1065353216;g[u+648+12>>2]=0.0;switch(Hc(u,u+504|0,u+648|0)|0){case 0:{a=c[u+372>>2]|0;if(!(c[a+32>>2]|0)){j=0.0;i=0.0;f=0.0;q=0.0;o=0.0;h=0.0}else{t=0;f=0.0;i=0.0;j=0.0;h=0.0;o=0.0;q=0.0;do{s=+g[a+16+(t<<2)>>2];l=c[u+504+120>>2]|0;x=c[u+504+124>>2]|0;p=(c[u+504>>2]|0)+(1?x>>1:x)|0;if(x&1)l=c[(c[p>>2]|0)+l>>2]|0;Nb[l&127](u+648|0,p,c[a+(t<<2)>>2]|0);f=f+s*+g[u+648>>2];i=i+s*+g[u+648+4>>2];j=j+s*+g[u+648+8>>2];a=c[(c[u+372>>2]|0)+(t<<2)>>2]|0;m=-+g[a>>2];n=-+g[a+4>>2];r=-+g[a+8>>2];a=c[u+504+120>>2]|0;x=c[u+504+124>>2]|0;l=(c[u+504+4>>2]|0)+(1?x>>1:x)|0;if(x&1)a=c[(c[l>>2]|0)+a>>2]|0;w=+g[u+504+24>>2]*m+ +g[u+504+28>>2]*n+ +g[u+504+32>>2]*r;v=+g[u+504+40>>2]*m+ +g[u+504+44>>2]*n+ +g[u+504+48>>2]*r;g[u+632>>2]=+g[u+504+8>>2]*m+ +g[u+504+12>>2]*n+ +g[u+504+16>>2]*r;g[u+632+4>>2]=w;g[u+632+8>>2]=v;g[u+632+12>>2]=0.0;Nb[a&127](u+648|0,l,u+632|0);r=+g[u+648>>2];v=+g[u+648+4>>2];w=+g[u+648+8>>2];h=h+s*(r*+g[u+504+56>>2]+v*+g[u+504+60>>2]+w*+g[u+504+64>>2]+ +g[u+504+104>>2]);o=o+s*(r*+g[u+504+72>>2]+v*+g[u+504+76>>2]+w*+g[u+504+80>>2]+ +g[u+504+108>>2]);q=q+s*(r*+g[u+504+88>>2]+v*+g[u+504+92>>2]+w*+g[u+504+96>>2]+ +g[u+504+112>>2]);t=t+1|0;a=c[u+372>>2]|0}while(t>>>0<(c[a+32>>2]|0)>>>0)}r=f*+g[d>>2]+i*+g[d+4>>2]+j*+g[d+8>>2]+ +g[d+48>>2];s=f*+g[d+16>>2]+i*+g[d+20>>2]+j*+g[d+24>>2]+ +g[d+52>>2];j=f*+g[d+32>>2]+i*+g[d+36>>2]+j*+g[d+40>>2]+ +g[d+56>>2];g[e+4>>2]=r;g[e+8>>2]=s;g[e+12>>2]=j;g[e+16>>2]=0.0;m=h*+g[d>>2]+o*+g[d+4>>2]+q*+g[d+8>>2]+ +g[d+48>>2];n=h*+g[d+16>>2]+o*+g[d+20>>2]+q*+g[d+24>>2]+ +g[d+52>>2];i=h*+g[d+32>>2]+o*+g[d+36>>2]+q*+g[d+40>>2]+ +g[d+56>>2];g[e+20>>2]=m;g[e+24>>2]=n;g[e+28>>2]=i;g[e+32>>2]=0.0;switch(c[b+4>>2]|0){case 8:{f=+g[b+28>>2]*+g[b+12>>2];break}case 0:{f=+g[b+44>>2];break}case 1:{f=+g[b+44>>2];break}case 13:{f=+g[b+44>>2];break}case 11:{f=+g[b+44>>2];break}case 10:{f=+g[b+44>>2];break}case 4:case 5:{f=+g[b+44>>2];break}default:f=+jb[c[(c[b>>2]|0)+48>>2]&15](b)}switch(c[u+448+4>>2]|0){case 8:{h=+g[u+448+28>>2]*+g[u+448+12>>2];break}case 0:{h=+g[u+448+44>>2];break}case 1:{h=+g[u+448+44>>2];break}case 13:{h=+g[u+448+44>>2];break}case 11:{h=+g[u+448+44>>2];break}case 10:{h=+g[u+448+44>>2];break}case 4:case 5:{h=+g[u+448+44>>2];break}default:h=+jb[c[(c[u+448>>2]|0)+48>>2]&15](u+448|0)}w=f+h;v=+A(+((m-r)*(m-r)+(n-s)*(n-s)+(i-j)*(i-j)));g[e+36>>2]=(m-r)*(1.0/v);g[e+40>>2]=(n-s)*(1.0/v);g[e+44>>2]=(i-j)*(1.0/v);g[e+48>>2]=0.0;g[e+4>>2]=w*(m-r)*(1.0/v)+ +g[e+4>>2];g[e+8>>2]=w*(n-s)*(1.0/v)+ +g[e+8>>2];g[e+12>>2]=w*(i-j)*(1.0/v)+ +g[e+12>>2];w=v-w;k=u;return +w}case 1:{if(!(Ec(b,d,u+448|0,u+384|0,u+128|0,e,1)|0)){w=3402823466385288598117041.0e14;k=u;return +w}f=+g[e+4>>2]-+g[e+20>>2];h=+g[e+8>>2]-+g[e+24>>2];i=+g[e+12>>2]-+g[e+28>>2];j=+A(+(f*f+h*h+i*i));if(j>=1.1920928955078125e-07){g[e+36>>2]=f*(1.0/j);g[e+40>>2]=h*(1.0/j);g[e+44>>2]=i*(1.0/j);g[e+48>>2]=0.0}w=-j;k=u;return +w}default:{w=3402823466385288598117041.0e14;k=u;return +w}}return 0.0}function dd(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;r=k;k=k+224|0;p=(a[b+28>>0]|0)!=0;o=p?e:d;p=p?d:e;q=c[o+4>>2]|0;if((c[q+68>>2]|0)!=(c[b+40>>2]|0)){j=c[b+12>>2]|0;if((j|0)>0){i=0;do{l=c[(c[b+20>>2]|0)+(i<<2)>>2]|0;if(l|0){Db[c[c[l>>2]>>2]&511](l);m=c[b+4>>2]|0;Jb[c[(c[m>>2]|0)+60>>2]&127](m,c[(c[b+20>>2]|0)+(i<<2)>>2]|0)}i=i+1|0}while((i|0)!=(j|0))}zh(b,d,e)}m=c[q+64>>2]|0;l=c[b+4>>2]|0;i=c[b+20>>2]|0;d=c[b+32>>2]|0;c[r+192>>2]=9428;c[r+192+4>>2]=o;c[r+192+8>>2]=p;c[r+192+12>>2]=l;c[r+192+16>>2]=f;c[r+192+20>>2]=h;c[r+192+24>>2]=i;c[r+192+28>>2]=d;a[r+128+16>>0]=1;f=r+128+12|0;c[f>>2]=0;c[r+128+4>>2]=0;c[r+128+8>>2]=0;d=c[b+12>>2]|0;if((d|0)>0){l=0;while(1){i=c[i+(l<<2)>>2]|0;if(i){Jb[c[(c[i>>2]|0)+16>>2]&127](i,r+128|0);i=c[r+128+4>>2]|0;if((i|0)>0){j=0;do{e=c[(c[f>>2]|0)+(j<<2)>>2]|0;if(c[e+748>>2]|0){c[h+4>>2]=e;i=c[e+740>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(d|0))qf(e,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else qf(e,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,d+4|0);c[h+4>>2]=0;i=c[r+128+4>>2]|0}j=j+1|0}while((j|0)<(i|0))}if((i|0)<0){if((c[r+128+8>>2]|0)<0){d=c[f>>2]|0;if(d|0){if(a[r+128+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[f>>2]=0}a[r+128+16>>0]=1;c[f>>2]=0;c[r+128+8>>2]=0}do{c[(c[f>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[r+128+4>>2]=0;d=c[b+12>>2]|0}i=l+1|0;if((i|0)>=(d|0))break;l=i;i=c[b+20>>2]|0}i=c[f>>2]|0;if(i|0){if(a[r+128+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[f>>2]=0}}if(!m){d=c[b+12>>2]|0;if((d|0)>0){i=0;do{_e(r+192|0,c[(c[q+24>>2]|0)+(i*80|0)+64>>2]|0,i);i=i+1|0}while((i|0)<(d|0));n=40}}else{n=c[o+12>>2]|0;G=+g[n>>2];F=+g[n+16>>2];E=+g[n+32>>2];D=+g[n+4>>2];C=+g[n+20>>2];B=+g[n+36>>2];x=+g[n+8>>2];v=+g[n+24>>2];t=+g[n+40>>2];A=-+g[n+48>>2];z=-+g[n+52>>2];y=-+g[n+56>>2];n=c[p+12>>2]|0;P=+g[n>>2];O=+g[n+16>>2];N=+g[n+32>>2];M=+g[n+4>>2];L=+g[n+20>>2];K=+g[n+36>>2];J=+g[n+8>>2];I=+g[n+24>>2];H=+g[n+40>>2];w=+g[n+48>>2];u=+g[n+52>>2];s=+g[n+56>>2];g[r+48>>2]=G*P+F*O+E*N;g[r+48+4>>2]=G*M+F*L+E*K;g[r+48+8>>2]=G*J+F*I+E*H;g[r+48+12>>2]=0.0;g[r+48+16>>2]=D*P+C*O+B*N;g[r+48+20>>2]=D*M+C*L+B*K;g[r+48+24>>2]=D*J+C*I+B*H;g[r+48+28>>2]=0.0;g[r+48+32>>2]=x*P+v*O+t*N;g[r+48+36>>2]=x*M+v*L+t*K;g[r+48+40>>2]=x*J+v*I+t*H;g[r+48+44>>2]=0.0;g[r+48+48>>2]=G*A+F*z+E*y+(G*w+F*u+E*s);g[r+48+52>>2]=D*A+C*z+B*y+(D*w+C*u+B*s);g[r+48+56>>2]=x*A+v*z+t*y+(x*w+v*u+t*s);g[r+48+60>>2]=0.0;n=c[p+4>>2]|0;Qb[c[(c[n>>2]|0)+8>>2]&127](n,r+48|0,r+128|0,r+112|0);c[r+16>>2]=c[r+128>>2];c[r+16+4>>2]=c[r+128+4>>2];c[r+16+8>>2]=c[r+128+8>>2];c[r+16+12>>2]=c[r+128+12>>2];c[r+16+16>>2]=c[r+112>>2];c[r+16+16+4>>2]=c[r+112+4>>2];c[r+16+16+8>>2]=c[r+112+8>>2];c[r+16+16+12>>2]=c[r+112+12>>2];kf(c[m>>2]|0,r+16|0,r+192|0);n=40}if((n|0)==40)d=c[b+12>>2]|0;if((d|0)<=0){k=r;return}e=0;do{do if(c[(c[b+20>>2]|0)+(e<<2)>>2]|0){m=c[q+24>>2]|0;n=c[m+(e*80|0)+64>>2]|0;h=c[o+12>>2]|0;v=+g[h>>2];w=+g[h+4>>2];x=+g[h+8>>2];y=+g[h+16>>2];z=+g[h+20>>2];A=+g[h+24>>2];H=+g[h+32>>2];J=+g[h+36>>2];L=+g[h+40>>2];B=+g[m+(e*80|0)>>2];C=+g[m+(e*80|0)+16>>2];D=+g[m+(e*80|0)+32>>2];E=+g[m+(e*80|0)+4>>2];F=+g[m+(e*80|0)+20>>2];G=+g[m+(e*80|0)+36>>2];I=+g[m+(e*80|0)+8>>2];K=+g[m+(e*80|0)+24>>2];M=+g[m+(e*80|0)+40>>2];t=+g[m+(e*80|0)+48>>2];u=+g[m+(e*80|0)+52>>2];P=+g[m+(e*80|0)+56>>2];N=+g[h+48>>2]+(v*t+w*u+x*P);O=+g[h+52>>2]+(y*t+z*u+A*P);P=+g[h+56>>2]+(H*t+J*u+L*P);g[r+128>>2]=v*B+w*C+x*D;g[r+128+4>>2]=v*E+w*F+x*G;g[r+128+8>>2]=v*I+w*K+x*M;g[r+128+12>>2]=0.0;g[r+128+16>>2]=y*B+z*C+A*D;g[r+128+20>>2]=y*E+z*F+A*G;g[r+128+24>>2]=y*I+z*K+A*M;g[r+128+28>>2]=0.0;g[r+128+32>>2]=H*B+J*C+L*D;g[r+128+36>>2]=H*E+J*F+L*G;g[r+128+40>>2]=H*I+J*K+L*M;g[r+128+44>>2]=0.0;g[r+128+48>>2]=N;g[r+128+52>>2]=O;g[r+128+56>>2]=P;g[r+128+60>>2]=0.0;Qb[c[(c[n>>2]|0)+8>>2]&127](n,r+128|0,r+112|0,r+48|0);n=c[p+4>>2]|0;Qb[c[(c[n>>2]|0)+8>>2]&127](n,c[p+12>>2]|0,r+16|0,r);if(!(+g[r+112>>2]>+g[r>>2])?!(+g[r+48>>2]<+g[r+16>>2]):0)i=1;else i=0;if(!(!(+g[r+112+8>>2]>+g[r+8>>2])?!(+g[r+48+8>>2]<+g[r+16+8>>2]):0))i=0;if(!(+g[r+112+4>>2]>+g[r+4>>2])?!(+g[r+48+4>>2]<+g[r+16+4>>2]|i^1):0)break;n=c[(c[b+20>>2]|0)+(e<<2)>>2]|0;Db[c[c[n>>2]>>2]&511](n);n=c[b+4>>2]|0;Jb[c[(c[n>>2]|0)+60>>2]&127](n,c[(c[b+20>>2]|0)+(e<<2)>>2]|0);c[(c[b+20>>2]|0)+(e<<2)>>2]=0}while(0);e=e+1|0}while((e|0)<(d|0));k=r;return}function ed(a,b,f,i){a=a|0;b=b|0;f=f|0;i=i|0;var j=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;o=k;k=k+80|0;n=tb[c[(c[a>>2]|0)+28>>2]&255](a)|0;j=+g[a+4>>2];l=+g[a+8>>2];m=+g[a+12>>2];if((n|0)<=0){k=o;return}i=0;do{_b[c[(c[a>>2]|0)+16>>2]&3](a,o+76|0,o+52|0,o+64|0,o+56|0,o+72|0,o+68|0,o+48|0,o+60|0,i);a:do switch(c[o+64>>2]|0){case 0:{switch(c[o+60>>2]|0){case 2:{if((c[o+48>>2]|0)<=0)break a;f=0;do{s=(c[o+72>>2]|0)+(M(c[o+68>>2]|0,f)|0)|0;t=c[o+76>>2]|0;r=c[o+56>>2]|0;u=t+(M(r,c[s>>2]|0)|0)|0;q=l*+g[u+4>>2];p=m*+g[u+8>>2];g[o>>2]=j*+g[u>>2];g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;u=t+(M(c[s+4>>2]|0,r)|0)|0;p=l*+g[u+4>>2];q=m*+g[u+8>>2];g[o+16>>2]=j*+g[u>>2];g[o+20>>2]=p;g[o+24>>2]=q;g[o+28>>2]=0.0;r=t+(M(c[s+8>>2]|0,r)|0)|0;q=l*+g[r+4>>2];p=m*+g[r+8>>2];g[o+32>>2]=j*+g[r>>2];g[o+36>>2]=q;g[o+40>>2]=p;g[o+44>>2]=0.0;Qb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}case 3:{if((c[o+48>>2]|0)<=0)break a;f=0;do{u=(c[o+72>>2]|0)+(M(c[o+68>>2]|0,f)|0)|0;s=c[o+76>>2]|0;t=c[o+56>>2]|0;r=s+(M(t,e[u>>1]|0)|0)|0;p=l*+g[r+4>>2];q=m*+g[r+8>>2];g[o>>2]=j*+g[r>>2];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(M(t,e[u+2>>1]|0)|0)|0;q=l*+g[r+4>>2];p=m*+g[r+8>>2];g[o+16>>2]=j*+g[r>>2];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(M(t,e[u+4>>1]|0)|0)|0;p=l*+g[u+4>>2];q=m*+g[u+8>>2];g[o+32>>2]=j*+g[u>>2];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Qb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}case 5:{if((c[o+48>>2]|0)<=0)break a;f=0;do{u=(c[o+72>>2]|0)+(M(c[o+68>>2]|0,f)|0)|0;s=c[o+76>>2]|0;t=c[o+56>>2]|0;r=s+(M(t,d[u>>0]|0)|0)|0;p=l*+g[r+4>>2];q=m*+g[r+8>>2];g[o>>2]=j*+g[r>>2];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(M(t,d[u+1>>0]|0)|0)|0;q=l*+g[r+4>>2];p=m*+g[r+8>>2];g[o+16>>2]=j*+g[r>>2];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(M(t,d[u+2>>0]|0)|0)|0;p=l*+g[u+4>>2];q=m*+g[u+8>>2];g[o+32>>2]=j*+g[u>>2];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Qb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}default:break a}break}case 1:{switch(c[o+60>>2]|0){case 2:{if((c[o+48>>2]|0)<=0)break a;f=0;do{t=(c[o+72>>2]|0)+(M(c[o+68>>2]|0,f)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(M(u,c[t>>2]|0)|0)|0;p=l*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=j*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(M(c[t+4>>2]|0,u)|0)|0;q=l*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=j*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(M(c[t+8>>2]|0,u)|0)|0;p=l*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=j*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Qb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}case 3:{if((c[o+48>>2]|0)<=0)break a;f=0;do{u=(c[o+72>>2]|0)+(M(c[o+68>>2]|0,f)|0)|0;s=c[o+76>>2]|0;t=c[o+56>>2]|0;r=s+(M(t,e[u>>1]|0)|0)|0;p=l*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=j*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(M(t,e[u+2>>1]|0)|0)|0;q=l*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=j*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(M(t,e[u+4>>1]|0)|0)|0;p=l*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=j*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Qb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}case 5:{if((c[o+48>>2]|0)<=0)break a;f=0;do{u=(c[o+72>>2]|0)+(M(c[o+68>>2]|0,f)|0)|0;s=c[o+76>>2]|0;t=c[o+56>>2]|0;r=s+(M(t,d[u>>0]|0)|0)|0;p=l*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=j*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(M(t,d[u+1>>0]|0)|0)|0;q=l*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=j*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(M(t,d[u+2>>0]|0)|0)|0;p=l*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=j*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;Qb[c[(c[b>>2]|0)+8>>2]&127](b,o,i,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0));break}default:break a}break}default:{}}while(0);Jb[c[(c[a>>2]|0)+24>>2]&127](a,i);i=i+1|0}while((i|0)!=(n|0));k=o;return}function fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+16+4>>2]=c[a+16+4>>2];c[b+16+8>>2]=c[a+16+8>>2];c[b+16+12>>2]=c[a+16+12>>2];c[b+32>>2]=c[a+32>>2];c[b+32+4>>2]=c[a+32+4>>2];c[b+32+8>>2]=c[a+32+8>>2];c[b+32+12>>2]=c[a+32+12>>2];q=+g[a+20>>2];m=+g[a+40>>2];r=+g[a+24>>2];n=+g[a+36>>2];o=+g[a+32>>2];s=+g[a+16>>2];t=+g[a>>2];p=+g[a+4>>2];u=+g[a+8>>2];v=1.0/((q*m-r*n)*t+p*(r*o-m*s)+(n*s-q*o)*u);g[d>>2]=(q*m-r*n)*v;g[d+4>>2]=(n*u-m*p)*v;g[d+8>>2]=(r*p-q*u)*v;g[d+12>>2]=0.0;g[d+16>>2]=(r*o-m*s)*v;g[d+20>>2]=(m*t-o*u)*v;g[d+24>>2]=(s*u-r*t)*v;g[d+28>>2]=0.0;g[d+32>>2]=(n*s-q*o)*v;g[d+36>>2]=(o*p-n*t)*v;g[d+40>>2]=(q*t-s*p)*v;g[d+44>>2]=0.0;a:do if(!(c[7231]|0)){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0}else{e=0;E=(q*t-s*p)*v;F=(q*m-r*n)*v;G=(r*o-m*s)*v;H=(n*s-q*o)*v;I=(n*u-m*p)*v;D=(m*t-o*u)*v;C=(o*p-n*t)*v;A=(r*p-q*u)*v;y=(s*u-r*t)*v;while(1){o=+z(+F);n=+z(+G);N=+z(+H);W=+z(+I);O=+z(+D);M=+z(+C);Q=+z(+A);P=+z(+y);w=+z(+E);R=o+n+N>W+O+M?o+n+N:W+O+M;O=o+W+Q>n+O+P?o+W+Q:n+O+P;n=+g[b>>2];W=+z(+n);o=+g[b+16>>2];T=+z(+o);p=+g[b+32>>2];K=+z(+p);q=+g[b+4>>2];V=+z(+q);r=+g[b+20>>2];S=+z(+r);s=+g[b+36>>2];J=+z(+s);t=+g[b+8>>2];U=+z(+t);u=+g[b+24>>2];L=+z(+u);v=+g[b+40>>2];x=+z(+v);m=W+T+K>V+S+J?W+T+K:V+S+J;m=m>U+L+x?m:U+L+x;L=W+V+U>T+S+L?W+V+U:T+S+L;w=(R>Q+P+w?R:Q+P+w)*(O>N+M+w?O:N+M+w);x=m*(L>K+J+x?L:K+J+x);if(w<1.1920928955078125e-07|x<1.1920928955078125e-07){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}W=+B(+(w/x),.25);O=(n*(W+-2.0)+1.0/W*F)*.5;Q=(q*(W+-2.0)+1.0/W*G)*.5;S=(t*(W+-2.0)+1.0/W*H)*.5;P=(o*(W+-2.0)+1.0/W*I)*.5;R=(r*(W+-2.0)+1.0/W*D)*.5;T=(u*(W+-2.0)+1.0/W*C)*.5;U=(p*(W+-2.0)+1.0/W*A)*.5;V=(s*(W+-2.0)+1.0/W*y)*.5;W=(v*(W+-2.0)+1.0/W*E)*.5;g[b>>2]=n+O;g[b+4>>2]=q+Q;g[b+8>>2]=t+S;g[b+12>>2]=0.0;g[b+16>>2]=o+P;g[b+20>>2]=r+R;g[b+24>>2]=u+T;g[b+28>>2]=0.0;g[b+32>>2]=p+U;g[b+36>>2]=s+V;g[b+40>>2]=v+W;g[b+44>>2]=0.0;N=1.0/((t+S)*((o+P)*(s+V)-(r+R)*(p+U))+((n+O)*((r+R)*(v+W)-(u+T)*(s+V))+(q+Q)*((u+T)*(p+U)-(o+P)*(v+W))));F=((r+R)*(v+W)-(u+T)*(s+V))*N;I=((t+S)*(s+V)-(q+Q)*(v+W))*N;A=((q+Q)*(u+T)-(t+S)*(r+R))*N;G=((u+T)*(p+U)-(o+P)*(v+W))*N;D=((n+O)*(v+W)-(t+S)*(p+U))*N;y=((t+S)*(o+P)-(n+O)*(u+T))*N;H=((o+P)*(s+V)-(r+R)*(p+U))*N;C=((q+Q)*(p+U)-(n+O)*(s+V))*N;E=((n+O)*(r+R)-(q+Q)*(o+P))*N;g[d>>2]=F;g[d+4>>2]=I;g[d+8>>2]=A;g[d+12>>2]=0.0;g[d+16>>2]=G;g[d+20>>2]=D;g[d+24>>2]=y;g[d+28>>2]=0.0;g[d+32>>2]=H;g[d+36>>2]=C;g[d+40>>2]=E;g[d+44>>2]=0.0;U=+z(+O)+ +z(+P)+ +z(+U);V=+z(+Q)+ +z(+R)+ +z(+V);W=+z(+S)+ +z(+T)+ +z(+W);V=U>V?U:V;if((V>W?V:W)<=m*+g[7230])break;e=e+1|0;if(e>>>0>=(c[7231]|0)>>>0){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}}M=+g[b>>2];O=+g[b+16>>2];Q=+g[b+32>>2];K=+g[b+4>>2];L=+g[b+20>>2];S=+g[b+36>>2];F=+g[b+8>>2];G=+g[b+24>>2];U=+g[b+40>>2];N=+g[a>>2];P=+g[a+16>>2];R=+g[a+32>>2];H=+g[a+4>>2];I=+g[a+20>>2];J=+g[a+36>>2];C=+g[a+8>>2];D=+g[a+24>>2];E=+g[a+40>>2];W=F*C+G*D+U*E+(F*C+G*D+U*E);V=K*C+L*D+S*E+(F*H+G*I+U*J);T=K*H+L*I+S*J+(K*H+L*I+S*J);U=M*C+O*D+Q*E+(F*N+G*P+U*R);S=M*H+O*I+Q*J+(K*N+L*P+S*R);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);V=V*.5;U=U*.5;S=S*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}while(0);M=+g[k>>2];O=+g[b+16>>2];Q=+g[b+32>>2];K=+g[l>>2];L=+g[e>>2];S=+g[f>>2];F=+g[h>>2];G=+g[i>>2];U=+g[j>>2];N=+g[a>>2];P=+g[a+16>>2];R=+g[a+32>>2];H=+g[a+4>>2];I=+g[a+20>>2];J=+g[a+36>>2];C=+g[a+8>>2];D=+g[a+24>>2];E=+g[a+40>>2];W=F*C+G*D+U*E+(F*C+G*D+U*E);V=K*C+L*D+S*E+(F*H+G*I+U*J);T=K*H+L*I+S*J+(K*H+L*I+S*J);U=M*C+O*D+Q*E+(F*N+G*P+U*R);S=M*H+O*I+Q*J+(K*N+L*P+S*R);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);V=V*.5;U=U*.5;S=S*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}function gd(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0;y=k;k=k+128|0;a[d+60>>0]=f&1;if(f){t=+g[h>>2]+-1.0;u=+g[h+4>>2]+-1.0;v=+g[h+8>>2]+-1.0;g[d+4>>2]=t;g[d+8>>2]=u;g[d+12>>2]=v;g[d+16>>2]=0.0;r=+g[i>>2]+1.0;m=+g[i+4>>2]+1.0;w=+g[i+8>>2]+1.0;g[d+20>>2]=r;g[d+24>>2]=m;g[d+28>>2]=w;g[d+32>>2]=0.0;g[d+36>>2]=65533.0/(r-t);g[d+40>>2]=65533.0/(m-u);g[d+44>>2]=65533.0/(w-v);g[d+48>>2]=0.0;a[d+60>>0]=1;j=t+ +(~~((t-t)*(65533.0/(r-t)))&65535&-2&65535)/(65533.0/(r-t))+-1.0;p=u+ +(~~((u-u)*(65533.0/(m-u)))&65535&-2&65535)/(65533.0/(m-u))+-1.0;s=v+ +(~~((v-v)*(65533.0/(w-v)))&65535&-2&65535)/(65533.0/(w-v))+-1.0;if(j<t){g[d+4>>2]=j;x=j}else x=t;if(p<u)g[d+8>>2]=p;else p=u;if(s<v){g[d+12>>2]=s;j=w-s}else{j=w-v;s=v}t=x+ +((~~(65533.0/(r-t)*(r-x)+1.0)&65535|1)&65535)/(65533.0/(r-t))+1.0;u=p+ +((~~(65533.0/(m-u)*(m-p)+1.0)&65535|1)&65535)/(65533.0/(m-u))+1.0;v=s+ +((~~(65533.0/(w-v)*j+1.0)&65535|1)&65535)/(65533.0/(w-v))+1.0;if(r<t){g[d+20>>2]=t;r=t}if(m<u){g[d+24>>2]=u;m=u}if(w<v){g[d+28>>2]=v;j=v-s}g[d+36>>2]=65533.0/(r-x);g[d+40>>2]=65533.0/(m-p);g[d+44>>2]=65533.0/j;g[d+48>>2]=0.0;c[y+96>>2]=11356;c[y+96+4>>2]=d+104;c[y+96+8>>2]=d;Qb[c[(c[e>>2]|0)+8>>2]&127](e,y+96|0,d+4|0,d+20|0);f=c[d+108>>2]|0;c[y+80>>2]=0;c[y+80+4>>2]=0;c[y+80+8>>2]=0;c[y+80+12>>2]=0;l=c[d+128>>2]|0;if((l|0)<(f<<1|0)){if((c[d+132>>2]|0)<(f<<1|0)){if(!f){h=0;e=l}else{c[7584]=(c[7584]|0)+1;h=lc(f<<5|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}e=c[d+128>>2]|0}if((e|0)>0){i=0;do{q=h+(i<<4)|0;o=(c[d+136>>2]|0)+(i<<4)|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];i=i+1|0}while((i|0)!=(e|0))}i=c[d+136>>2]|0;if(i|0){if(a[d+140>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=h;c[d+132>>2]=f<<1;i=d+136|0}else i=d+136|0;h=l;do{q=(c[i>>2]|0)+(h<<4)|0;c[q>>2]=c[y+80>>2];c[q+4>>2]=c[y+80+4>>2];c[q+8>>2]=c[y+80+8>>2];c[q+12>>2]=c[y+80+12>>2];h=h+1|0}while((h|0)!=(f<<1|0))}c[d+128>>2]=f<<1}else{c[y+96>>2]=11376;c[y+96+4>>2]=d+64;c[y+80>>2]=-581039253;c[y+80+4>>2]=-581039253;c[y+80+8>>2]=-581039253;g[y+80+12>>2]=0.0;c[y+64>>2]=1566444395;c[y+64+4>>2]=1566444395;c[y+64+8>>2]=1566444395;g[y+64+12>>2]=0.0;Qb[c[(c[e>>2]|0)+8>>2]&127](e,y+96|0,y+80|0,y+64|0);f=c[d+68>>2]|0;l=y;o=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(o|0));q=c[d+88>>2]|0;if((q|0)<(f<<1|0)){if((c[d+92>>2]|0)<(f<<1|0)){if(!f){h=0;e=q}else{c[7584]=(c[7584]|0)+1;h=lc(f<<7|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}e=c[d+88>>2]|0}if((e|0)>0){i=0;do{l=h+(i<<6)|0;n=(c[d+96>>2]|0)+(i<<6)|0;o=l+64|0;do{c[l>>2]=c[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));i=i+1|0}while((i|0)!=(e|0))}i=c[d+96>>2]|0;if(i|0){if(a[d+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=h;c[d+92>>2]=f<<1;i=d+96|0}else i=d+96|0;h=q;do{l=(c[i>>2]|0)+(h<<6)|0;n=y;o=l+64|0;do{c[l>>2]=c[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));h=h+1|0}while((h|0)!=(f<<1|0))}c[d+88>>2]=f<<1}c[d+56>>2]=0;yc(d,0,f);if(a[d+60>>0]|0?(c[d+152>>2]|0)==0:0){if(!(c[d+156>>2]|0)){c[7584]=(c[7584]|0)+1;f=lc(51)|0;if(!f)e=0;else{c[(f+4+15&-16)+-4>>2]=f;e=f+4+15&-16}h=c[d+152>>2]|0;if((h|0)>0){f=0;do{q=e+(f<<5)|0;o=(c[d+160>>2]|0)+(f<<5)|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[d+160>>2]|0;if(f|0){if(a[d+164>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=e;c[d+156>>2]=1;h=d+160|0;i=(c[d+152>>2]|0)+1|0;f=e}else{h=d+160|0;i=1;f=c[d+160>>2]|0}c[d+152>>2]=i;c[f>>2]=c[y+96>>2];c[f+4>>2]=c[y+96+4>>2];c[f+8>>2]=c[y+96+8>>2];c[f+12>>2]=c[y+96+12>>2];c[f+16>>2]=c[y+96+16>>2];c[f+20>>2]=c[y+96+20>>2];c[f+24>>2]=c[y+96+24>>2];c[f+28>>2]=c[y+96+28>>2];q=c[h>>2]|0;o=c[d+136>>2]|0;b[q>>1]=b[o>>1]|0;b[q+2>>1]=b[o+2>>1]|0;b[q+4>>1]=b[o+4>>1]|0;b[q+6>>1]=b[o+6>>1]|0;b[q+8>>1]=b[o+8>>1]|0;b[q+10>>1]=b[o+10>>1]|0;c[q+12>>2]=0;o=c[o+12>>2]|0;c[q+16>>2]=(o|0)>-1?1:0-o|0}c[d+168>>2]=c[d+152>>2];f=c[d+116>>2]|0;if(f|0){if(a[d+120>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[d+116>>2]=0}a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;f=c[d+76>>2]|0;if(!f){a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;k=y;return}if(a[d+80>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[d+76>>2]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;k=y;return}function hd(b,d,e,f,h,i,k,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0;N=c[b+68>>2]|0;if((N|0)==(c[b+72>>2]|0)?(t=(N|0)==0?1:N<<1,(N|0)<(t|0)):0){if(!t){p=0;r=N}else{c[7584]=(c[7584]|0)+1;p=lc((t*152|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}r=c[b+68>>2]|0}if((r|0)>0){q=0;do{Ki(p+(q*152|0)|0,(c[b+76>>2]|0)+(q*152|0)|0,152)|0;q=q+1|0}while((q|0)!=(r|0))}q=c[b+76>>2]|0;if(q|0){if(a[b+80>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[q+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=p;c[b+72>>2]=t;p=c[b+68>>2]|0}else p=N;c[b+68>>2]=p+1;M=c[b+76>>2]|0;c[M+(N*152|0)+140>>2]=h;r=c[b+16>>2]|0;p=c[r+(e*244|0)+240>>2]|0;t=c[r+(f*244|0)+240>>2]|0;c[M+(N*152|0)+144>>2]=e;c[M+(N*152|0)+148>>2]=f;q=c[i+84>>2]|0;c[M+(N*152|0)+104>>2]=q;c[M+(N*152|0)+132>>2]=0;g[M+(N*152|0)+100>>2]=0.0;g[M+(N*152|0)+96>>2]=0.0;L=(c[j>>2]=q,+g[j>>2]);if(p|0){c[M+(N*152|0)+16>>2]=c[d>>2];c[M+(N*152|0)+16+4>>2]=c[d+4>>2];c[M+(N*152|0)+16+8>>2]=c[d+8>>2];c[M+(N*152|0)+16+12>>2]=c[d+12>>2];K=+g[k+4>>2];D=+g[M+(N*152|0)+24>>2];H=+g[k+8>>2];I=+g[M+(N*152|0)+20>>2];E=+g[M+(N*152|0)+16>>2];J=+g[k>>2];g[M+(N*152|0)>>2]=K*D-H*I;g[M+(N*152|0)+4>>2]=H*E-D*J;g[M+(N*152|0)+8>>2]=I*J-K*E;g[M+(N*152|0)+12>>2]=0.0;v=((K*D-H*I)*+g[p+264>>2]+(H*E-D*J)*+g[p+268>>2]+(I*J-K*E)*+g[p+272>>2])*+g[p+544>>2];s=((K*D-H*I)*+g[p+280>>2]+(H*E-D*J)*+g[p+284>>2]+(I*J-K*E)*+g[p+288>>2])*+g[p+548>>2];u=((K*D-H*I)*+g[p+296>>2]+(H*E-D*J)*+g[p+300>>2]+(I*J-K*E)*+g[p+304>>2])*+g[p+552>>2];g[M+(N*152|0)+64>>2]=v;g[M+(N*152|0)+68>>2]=s;g[M+(N*152|0)+72>>2]=u;g[M+(N*152|0)+76>>2]=0.0;z=E;A=I;B=D;C=K*D-H*I;D=H*E-D*J;E=I*J-K*E}else{c[M+(N*152|0)+64>>2]=0;c[M+(N*152|0)+64+4>>2]=0;c[M+(N*152|0)+64+8>>2]=0;c[M+(N*152|0)+64+12>>2]=0;c[M+(N*152|0)>>2]=0;c[M+(N*152|0)+4>>2]=0;c[M+(N*152|0)+8>>2]=0;c[M+(N*152|0)+12>>2]=0;c[M+(N*152|0)+16>>2]=0;c[M+(N*152|0)+20>>2]=0;c[M+(N*152|0)+24>>2]=0;c[M+(N*152|0)+28>>2]=0;s=0.0;u=0.0;v=0.0;z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0}if(t|0){K=-+g[d>>2];P=-+g[d+4>>2];J=-+g[d+8>>2];g[M+(N*152|0)+48>>2]=K;g[M+(N*152|0)+52>>2]=P;g[M+(N*152|0)+56>>2]=J;g[M+(N*152|0)+60>>2]=0.0;O=+g[l+4>>2];R=+g[l+8>>2];Q=+g[l>>2];g[M+(N*152|0)+32>>2]=O*J-R*P;g[M+(N*152|0)+36>>2]=R*K-Q*J;g[M+(N*152|0)+40>>2]=Q*P-O*K;g[M+(N*152|0)+44>>2]=0.0;w=((O*J-R*P)*+g[t+264>>2]+(R*K-Q*J)*+g[t+268>>2]+(Q*P-O*K)*+g[t+272>>2])*+g[t+544>>2];x=((O*J-R*P)*+g[t+280>>2]+(R*K-Q*J)*+g[t+284>>2]+(Q*P-O*K)*+g[t+288>>2])*+g[t+548>>2];y=((O*J-R*P)*+g[t+296>>2]+(R*K-Q*J)*+g[t+300>>2]+(Q*P-O*K)*+g[t+304>>2])*+g[t+552>>2];g[M+(N*152|0)+80>>2]=w;g[M+(N*152|0)+84>>2]=x;g[M+(N*152|0)+88>>2]=y;g[M+(N*152|0)+92>>2]=0.0;F=K;G=P;H=J;I=O*J-R*P;J=R*K-Q*J;K=Q*P-O*K}else{c[M+(N*152|0)+80>>2]=0;c[M+(N*152|0)+80+4>>2]=0;c[M+(N*152|0)+80+8>>2]=0;c[M+(N*152|0)+80+12>>2]=0;c[M+(N*152|0)+32>>2]=0;c[M+(N*152|0)+32+4>>2]=0;c[M+(N*152|0)+32+8>>2]=0;c[M+(N*152|0)+32+12>>2]=0;c[M+(N*152|0)+32+16>>2]=0;c[M+(N*152|0)+32+20>>2]=0;c[M+(N*152|0)+32+24>>2]=0;c[M+(N*152|0)+32+28>>2]=0;w=0.0;x=0.0;y=0.0;F=0.0;G=0.0;H=0.0;I=0.0;J=0.0;K=0.0}if(p|0){P=+g[k+8>>2];Q=+g[k+4>>2];R=+g[k>>2];u=+g[p+344>>2]+((s*P-u*Q)*+g[d>>2]+(u*R-P*v)*+g[d+4>>2]+(Q*v-s*R)*+g[d+8>>2])}else u=0.0;if(t|0){Q=-w;s=-x;y=-y;O=+g[l+8>>2];P=+g[l+4>>2];R=+g[l>>2];s=+g[t+344>>2]+((O*s-P*y)*+g[d>>2]+(R*y-O*Q)*+g[d+4>>2]+(P*Q-R*s)*+g[d+8>>2])}else s=0.0;x=m/(u+s);g[M+(N*152|0)+108>>2]=x;if(p|0){u=+g[r+(e*244|0)+192>>2];v=+g[r+(e*244|0)+196>>2];w=+g[r+(e*244|0)+200>>2];s=(+g[r+(e*244|0)+176>>2]+ +g[r+(e*244|0)+208>>2])*z+(+g[r+(e*244|0)+180>>2]+ +g[r+(e*244|0)+212>>2])*A+(+g[r+(e*244|0)+184>>2]+ +g[r+(e*244|0)+216>>2])*B}else{u=0.0;v=0.0;w=0.0;s=z*0.0+A*0.0+B*0.0}s=s+(u*C+v*D+w*E);if(t|0){O=+g[r+(f*244|0)+192>>2];P=+g[r+(f*244|0)+196>>2];R=+g[r+(f*244|0)+200>>2];Q=(+g[r+(f*244|0)+176>>2]+ +g[r+(f*244|0)+208>>2])*F+(+g[r+(f*244|0)+180>>2]+ +g[r+(f*244|0)+212>>2])*G+(+g[r+(f*244|0)+184>>2]+ +g[r+(f*244|0)+216>>2])*H;O=O*I;P=P*J;P=O+P;R=R*K;R=P+R;R=Q+R;R=s+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-L;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}else{O=0.0;P=0.0;R=0.0;Q=F*0.0+G*0.0+H*0.0;O=O*I;P=P*J;P=O+P;R=R*K;R=P+R;R=Q+R;R=s+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-L;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}}function id(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0.0;fa=k;k=k+32|0;K=c[b+4>>2]|0;a[K+312>>0]=0;c[K>>2]=0;a[K+356>>0]=1;c[K+292>>2]=1566444395;c[K+296>>2]=1566444395;c[K+300>>2]=1566444395;g[K+304>>2]=0.0;c[K+336>>2]=0;c[K+336+4>>2]=0;c[K+336+8>>2]=0;c[K+336+12>>2]=0;a[K+336+16>>0]=0;a[K+332>>0]=a[K+332>>0]&-16;p=+g[d+48>>2];r=+g[d+52>>2];u=+g[d+56>>2];o=+g[f+48>>2];q=+g[f+52>>2];t=+g[f+56>>2];M=+g[d>>2];Y=+g[d+4>>2];_=+g[d+8>>2];aa=+g[d+16>>2];O=+g[d+20>>2];Q=+g[d+24>>2];S=+g[d+32>>2];U=+g[d+36>>2];W=+g[d+40>>2];L=+g[f>>2];X=+g[f+4>>2];Z=+g[f+8>>2];$=+g[f+16>>2];N=+g[f+20>>2];P=+g[f+24>>2];R=+g[f+32>>2];T=+g[f+36>>2];V=+g[f+40>>2];ca=+g[e+48>>2]-p-(+g[h+48>>2]-o);da=+g[e+52>>2]-r-(+g[h+52>>2]-q);ea=+g[e+56>>2]-u-(+g[h+56>>2]-t);K=c[b+8>>2]|0;z=c[(c[K>>2]|0)+64>>2]|0;g[fa>>2]=M*-ca+aa*-da+S*-ea;g[fa+4>>2]=Y*-ca+O*-da+U*-ea;g[fa+8>>2]=_*-ca+Q*-da+W*-ea;g[fa+12>>2]=0.0;Nb[z&127](fa+16|0,K,fa);I=+g[fa+16>>2];J=+g[fa+16+4>>2];H=+g[fa+16+8>>2];m=I*+g[d>>2]+J*+g[d+4>>2]+H*+g[d+8>>2]+ +g[d+48>>2];w=I*+g[d+16>>2]+J*+g[d+20>>2]+H*+g[d+24>>2]+ +g[d+52>>2];H=I*+g[d+32>>2]+J*+g[d+36>>2]+H*+g[d+40>>2]+ +g[d+56>>2];K=c[b+12>>2]|0;z=c[(c[K>>2]|0)+64>>2]|0;J=ca*+g[f+4>>2]+da*+g[f+20>>2]+ea*+g[f+36>>2];I=ca*+g[f+8>>2]+da*+g[f+24>>2]+ea*+g[f+40>>2];g[fa>>2]=ca*+g[f>>2]+da*+g[f+16>>2]+ea*+g[f+32>>2];g[fa+4>>2]=J;g[fa+8>>2]=I;g[fa+12>>2]=0.0;Nb[z&127](fa+16|0,K,fa);I=+g[fa+16>>2];J=+g[fa+16+4>>2];n=+g[fa+16+8>>2];m=m-(I*+g[f>>2]+J*+g[f+4>>2]+n*+g[f+8>>2]+ +g[f+48>>2]);w=w-(I*+g[f+16>>2]+J*+g[f+20>>2]+n*+g[f+24>>2]+ +g[f+52>>2]);n=H-(I*+g[f+32>>2]+J*+g[f+36>>2]+n*+g[f+40>>2]+ +g[f+56>>2]);a:do if(m*m+w*w+n*n>9.999999747378752e-05){l=0.0;K=32;J=m;j=0;I=n;s=0;B=o;o=0.0;n=0.0;m=0.0;while(1){if(!K)break a;K=K+-1|0;z=c[b+8>>2]|0;x=c[(c[z>>2]|0)+64>>2]|0;E=-J;ga=-w;y=-I;g[fa>>2]=M*E+aa*ga+S*y;g[fa+4>>2]=Y*E+O*ga+U*y;g[fa+8>>2]=_*E+Q*ga+W*y;g[fa+12>>2]=0.0;Nb[x&127](fa+16|0,z,fa);y=+g[fa+16>>2];ga=+g[fa+16+4>>2];E=+g[fa+16+8>>2];C=p+(M*y+Y*ga+_*E);D=r+(aa*y+O*ga+Q*E);E=u+(S*y+U*ga+W*E);z=c[b+12>>2]|0;x=c[(c[z>>2]|0)+64>>2]|0;g[fa>>2]=L*J+$*w+R*I;g[fa+4>>2]=X*J+N*w+T*I;g[fa+8>>2]=Z*J+P*w+V*I;g[fa+12>>2]=0.0;Nb[x&127](fa+16|0,z,fa);ga=+g[fa+16>>2];y=+g[fa+16+4>>2];H=+g[fa+16+8>>2];F=B+(L*ga+X*y+Z*H);G=q+($*ga+N*y+P*H);H=t+(R*ga+T*y+V*H);y=(C-F)*J+(D-G)*w+(E-H)*I;if(l>1.0){j=0;ba=24;break}if(y>0.0){m=ca*J+da*w+ea*I;if(m>=-1.4210854715202004e-14){j=0;ba=24;break}u=l-y/m;l=u;j=s;B=(1.0-u)*+g[f+48>>2]+u*+g[h+48>>2];p=(1.0-u)*+g[d+48>>2]+u*+g[e+48>>2];q=(1.0-u)*+g[f+52>>2]+u*+g[h+52>>2];r=(1.0-u)*+g[d+52>>2]+u*+g[e+52>>2];t=(1.0-u)*+g[f+56>>2]+u*+g[h+56>>2];u=(1.0-u)*+g[d+56>>2]+u*+g[e+56>>2];m=J;n=w;o=I}s=c[b+4>>2]|0;z=c[s>>2]|0;if((z|0)>0){w=+g[s+308>>2];x=0;v=0;do{I=C-F-+g[s+4+(x<<4)>>2];J=D-G-+g[s+4+(x<<4)+4>>2];ga=E-H-+g[s+4+(x<<4)+8>>2];v=v|I*I+J*J+ga*ga<=w;x=x+1|0}while((x|0)!=(z|0))}else v=0;if((+g[s+304>>2]==0.0?E-H==+g[s+300>>2]:0)?D-G==+g[s+296>>2]:0){if(!(C-F==+g[s+292>>2]|v))ba=16}else if(!v)ba=16;if((ba|0)==16){ba=0;g[s+292>>2]=C-F;g[s+296>>2]=D-G;g[s+300>>2]=E-H;g[s+304>>2]=0.0;a[s+356>>0]=1;g[s+4+(z<<4)>>2]=C-F;g[s+4+(z<<4)+4>>2]=D-G;g[s+4+(z<<4)+8>>2]=E-H;g[s+4+(z<<4)+12>>2]=0.0;z=c[s>>2]|0;g[s+84+(z<<4)>>2]=C;g[s+84+(z<<4)+4>>2]=D;g[s+84+(z<<4)+8>>2]=E;g[s+84+(z<<4)+12>>2]=0.0;z=c[s>>2]|0;g[s+164+(z<<4)>>2]=F;g[s+164+(z<<4)+4>>2]=G;g[s+164+(z<<4)+8>>2]=H;g[s+164+(z<<4)+12>>2]=0.0;c[s>>2]=(c[s>>2]|0)+1;s=c[b+4>>2]|0}z=oc(s)|0;J=+g[s+276>>2];w=+g[s+280>>2];I=+g[s+284>>2];if(!z)break a;if(!(J*J+w*w+I*I>9.999999747378752e-05))break a;else s=c[s+288>>2]|0}if((ba|0)==24){k=fa;return j|0}}else{l=0.0;o=0.0;n=0.0;m=0.0;j=0}while(0);g[i+164>>2]=l;l=m*m+n*n+o*o;if(!(l>=1.4210854715202004e-14)){c[i+132>>2]=0;c[i+132+4>>2]=0;c[i+132+8>>2]=0;c[i+132+12>>2]=0;l=0.0;m=0.0;n=0.0}else{ga=1.0/+A(+l);l=m*ga;m=n*ga;n=o*ga;g[i+132>>2]=l;g[i+136>>2]=m;g[i+140>>2]=n;c[i+144>>2]=j}if(ca*l+da*m+ea*n>=-+g[i+172>>2]){i=0;k=fa;return i|0}b=c[b+4>>2]|0;oc(b)|0;Sq(i+148|0,b+260|0,16)|0;i=1;k=fa;return i|0}function jd(b,d,e,f,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,B=0,C=0.0,D=0,E=0;if((j|0)<2|(k|0)<2){m=0;return m|0}w=M(k,j)|0;c[7584]=(c[7584]|0)+1;b=lc(w>>>0>268435455?18:(w<<4|3)+16|0)|0;if(!b)x=0;else{c[(b+4+15&-16)+-4>>2]=b;x=b+4+15&-16}y=vK(w>>>0>1073741823?-1:w<<2)|0;b=0;do{C=+(b|0)/+(k+-1|0);q=+g[e>>2];q=q+C*(+g[h>>2]-q);r=+g[e+4>>2];r=r+C*(+g[h+4>>2]-r);s=+g[e+8>>2];s=s+C*(+g[h+8>>2]-s);t=+g[f>>2];u=+g[f+4>>2];v=+g[f+8>>2];t=t+C*(+g[i>>2]-t)-q;u=u+C*(+g[i+4>>2]-u)-r;v=v+C*(+g[i+8>>2]-v)-s;p=M(b,j)|0;o=0;do{C=+(o|0)/+(j+-1|0);B=o+p|0;g[x+(B<<4)>>2]=q+t*C;g[x+(B<<4)+4>>2]=r+u*C;g[x+(B<<4)+8>>2]=s+v*C;g[x+(B<<4)+12>>2]=0.0;g[y+(B<<2)>>2]=1.0;o=o+1|0}while((o|0)!=(j|0));b=b+1|0}while((b|0)!=(k|0));c[7584]=(c[7584]|0)+1;b=lc(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}xc(b,d,w,x,y);if(l&1|0){g[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){g[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){B=M(k+-1|0,j)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&8|0){B=j+-1+(M(k+-1|0,j)|0)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&16|0){g[(c[b+720>>2]|0)+(((j+-1|0)/2|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&32|0){B=M((k+-1|0)/2|0,j)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&64|0){B=j+-1+(M((k+-1|0)/2|0,j)|0)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&128|0){B=(M(k+-1|0,j)|0)+((j+-1|0)/2|0)|0;g[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(!(l&256)){z=b+720|0;B=b+924|0}else{B=(M((k+-1|0)/2|0,j)|0)+((j+-1|0)/2|0)|0;z=b+720|0;g[(c[z>>2]|0)+(B*104|0)+88>>2]=0.0;B=b+924|0;a[B>>0]=1}c[7585]=(c[7585]|0)+1;Bd(c[x+-4>>2]|0);wK(y);y=b+732|0;l=b+740|0;o=0;d=0;do{p=d;d=d+1|0;a:do if((j|0)>0){x=M(p,j)|0;w=M(d,j)|0;r=1.0/+(k+-1|0)*+(k+-1-p|0);q=1.0/+(k+-1|0)*+(k+-2-p|0);if((d|0)>=(k|0)){p=0;while(1){e=p;p=p+1|0;if((p|0)<(j|0)){h=p+x|0;f=c[z>>2]|0;xi(b,0);w=(c[y>>2]|0)+-1|0;i=c[l>>2]|0;c[i+(w*52|0)+8>>2]=f+((e+x|0)*104|0);c[i+(w*52|0)+12>>2]=f+(h*104|0);u=+g[f+((e+x|0)*104|0)+8>>2]-+g[f+(h*104|0)+8>>2];v=+g[f+((e+x|0)*104|0)+12>>2]-+g[f+(h*104|0)+12>>2];C=+g[f+((e+x|0)*104|0)+16>>2]-+g[f+(h*104|0)+16>>2];g[i+(w*52|0)+16>>2]=+A(+(u*u+v*v+C*C));a[B>>0]=1}if((p|0)==(j|0))break a}}i=0;do{p=i;i=i+1|0;e=i+x|0;f=i+w|0;h=c[z>>2]|0;if((i|0)<(j|0)){xi(b,0);E=(c[y>>2]|0)+-1|0;D=c[l>>2]|0;c[D+(E*52|0)+8>>2]=h+((p+x|0)*104|0);c[D+(E*52|0)+12>>2]=h+(e*104|0);C=+g[h+((p+x|0)*104|0)+8>>2]-+g[h+(e*104|0)+8>>2];v=+g[h+((p+x|0)*104|0)+12>>2]-+g[h+(e*104|0)+12>>2];u=+g[h+((p+x|0)*104|0)+16>>2]-+g[h+(e*104|0)+16>>2];g[D+(E*52|0)+16>>2]=+A(+(C*C+v*v+u*u));a[B>>0]=1;E=c[z>>2]|0;xi(b,0);h=(c[y>>2]|0)+-1|0;D=c[l>>2]|0;c[D+(h*52|0)+8>>2]=E+((p+x|0)*104|0);c[D+(h*52|0)+12>>2]=E+((p+w|0)*104|0);u=+g[E+((p+x|0)*104|0)+8>>2]-+g[E+((p+w|0)*104|0)+8>>2];v=+g[E+((p+x|0)*104|0)+12>>2]-+g[E+((p+w|0)*104|0)+12>>2];C=+g[E+((p+x|0)*104|0)+16>>2]-+g[E+((p+w|0)*104|0)+16>>2];g[D+(h*52|0)+16>>2]=+A(+(u*u+v*v+C*C));a[B>>0]=1;ng(b,p+x|0,p+w|0,f,0);if(!n)ng(b,f,e,p+x|0,0);else{C=1.0/+(j+-1|0)*+(p|0);g[n+(o<<2)>>2]=C;g[n+(o+1<<2)>>2]=r;g[n+(o+2<<2)>>2]=C;g[n+(o+3<<2)>>2]=q;v=1.0/+(j+-1|0)*+(i|0);g[n+(o+4<<2)>>2]=v;g[n+(o+5<<2)>>2]=q;ng(b,f,e,p+x|0,0);g[n+(o+6<<2)>>2]=v;g[n+(o+7<<2)>>2]=q;g[n+(o+8<<2)>>2]=v;g[n+(o+9<<2)>>2]=r;g[n+(o+10<<2)>>2]=C;g[n+(o+11<<2)>>2]=r}if(m){h=c[z>>2]|0;xi(b,0);E=(c[y>>2]|0)+-1|0;D=c[l>>2]|0;c[D+(E*52|0)+8>>2]=h+((p+x|0)*104|0);c[D+(E*52|0)+12>>2]=h+(f*104|0);u=+g[h+((p+x|0)*104|0)+8>>2]-+g[h+(f*104|0)+8>>2];v=+g[h+((p+x|0)*104|0)+12>>2]-+g[h+(f*104|0)+12>>2];C=+g[h+((p+x|0)*104|0)+16>>2]-+g[h+(f*104|0)+16>>2];g[D+(E*52|0)+16>>2]=+A(+(u*u+v*v+C*C));a[B>>0]=1}o=o+12|0}else{xi(b,0);E=(c[y>>2]|0)+-1|0;D=c[l>>2]|0;c[D+(E*52|0)+8>>2]=h+((p+x|0)*104|0);c[D+(E*52|0)+12>>2]=h+((p+w|0)*104|0);u=+g[h+((p+x|0)*104|0)+8>>2]-+g[h+((p+w|0)*104|0)+8>>2];v=+g[h+((p+x|0)*104|0)+12>>2]-+g[h+((p+w|0)*104|0)+12>>2];C=+g[h+((p+x|0)*104|0)+16>>2]-+g[h+((p+w|0)*104|0)+16>>2];g[D+(E*52|0)+16>>2]=+A(+(u*u+v*v+C*C));a[B>>0]=1}}while((i|0)!=(j|0))}while(0)}while((d|0)!=(k|0));return b|0}function kd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;x=k;k=k+64|0;w=c[a>>2]|0;c[a>>2]=w+1;if((f-e|0)==1){d=c[d+12>>2]|0;f=c[a+16>>2]|0;t=+g[d+(e*36|0)>>2];i=+g[d+(e*36|0)+4>>2];B=+g[d+(e*36|0)+8>>2];A=+g[a+24>>2];t=t<A?A:t;l=+g[a+28>>2];i=i<l?l:i;u=+g[a+32>>2];B=B<u?u:B;C=+g[a+40>>2];y=+g[a+44>>2];n=+g[a+48>>2];D=+g[a+56>>2];z=+g[a+60>>2];m=+g[a+64>>2];b[f+(w<<4)>>1]=~~(((C<t?C:t)-A)*D+.5);b[f+(w<<4)+2>>1]=~~(((y<i?y:i)-l)*z+.5);b[f+(w<<4)+4>>1]=~~(((n<B?n:B)-u)*m+.5);B=+g[d+(e*36|0)+16>>2];i=+g[d+(e*36|0)+20>>2];t=+g[d+(e*36|0)+24>>2];B=B<A?A:B;i=i<l?l:i;t=t<u?u:t;b[f+(w<<4)+6>>1]=~~(D*((C<B?C:B)-A)+.5);b[f+(w<<4)+8>>1]=~~(z*((y<i?y:i)-l)+.5);b[f+(w<<4)+10>>1]=~~(m*((n<t?n:t)-u)+.5);c[f+(w<<4)+12>>2]=c[d+(e*36|0)+32>>2];k=x;return}if((f|0)>(e|0)){o=c[d+12>>2]|0;h=e;i=0.0;l=0.0;m=0.0;do{i=i+(+g[o+(h*36|0)+16>>2]+ +g[o+(h*36|0)>>2])*.5;l=l+(+g[o+(h*36|0)+20>>2]+ +g[o+(h*36|0)+4>>2])*.5;m=m+(+g[o+(h*36|0)+24>>2]+ +g[o+(h*36|0)+8>>2])*.5;h=h+1|0}while((h|0)!=(f|0));n=1.0/+(f-e|0);u=n*i;t=n*l;l=n*m;h=e;i=0.0;m=0.0;n=0.0;do{B=(+g[o+(h*36|0)+16>>2]+ +g[o+(h*36|0)>>2])*.5-u;C=(+g[o+(h*36|0)+20>>2]+ +g[o+(h*36|0)+4>>2])*.5-t;D=(+g[o+(h*36|0)+24>>2]+ +g[o+(h*36|0)+8>>2])*.5-l;i=i+B*B;m=m+C*C;n=n+D*D;h=h+1|0}while((h|0)!=(f|0));l=+(f-e|0)}else{n=0.0;m=0.0;i=0.0;l=+(f-e|0)}D=1.0/(l+-1.0);C=D*i;B=D*m;D=D*n;v=C<B?(B<D?2:1):C<D?2:0;c[x+48>>2]=0;c[x+48+4>>2]=0;c[x+48+8>>2]=0;c[x+48+12>>2]=0;if((f|0)>(e|0)){o=c[d+12>>2]|0;h=e;m=0.0;l=0.0;i=0.0;do{m=(+g[o+(h*36|0)+16>>2]+ +g[o+(h*36|0)>>2])*.5+m;l=(+g[o+(h*36|0)+20>>2]+ +g[o+(h*36|0)+4>>2])*.5+l;i=(+g[o+(h*36|0)+24>>2]+ +g[o+(h*36|0)+8>>2])*.5+i;h=h+1|0}while((h|0)!=(f|0));g[x+48>>2]=m;g[x+48+4>>2]=l;g[x+48+8>>2]=i;h=x+48|0}else{h=x+48|0;m=0.0;l=0.0;i=0.0}g[h>>2]=1.0/+(f-e|0)*m;g[x+48+4>>2]=1.0/+(f-e|0)*l;g[x+48+8>>2]=1.0/+(f-e|0)*i;i=+g[x+48+(v<<2)>>2];if((f|0)>(e|0)){h=e;s=e;do{p=c[d+12>>2]|0;o=p+(s*36|0)|0;C=(+g[p+(s*36|0)+20>>2]+ +g[p+(s*36|0)+4>>2])*.5;D=(+g[p+(s*36|0)+24>>2]+ +g[p+(s*36|0)+8>>2])*.5;g[x+32>>2]=(+g[p+(s*36|0)+16>>2]+ +g[o>>2])*.5;g[x+32+4>>2]=C;g[x+32+8>>2]=D;g[x+32+12>>2]=0.0;if(+g[x+32+(v<<2)>>2]>i){c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];r=p+(s*36|0)+16|0;c[x+16>>2]=c[r>>2];c[x+16+4>>2]=c[r+4>>2];c[x+16+8>>2]=c[r+8>>2];c[x+16+12>>2]=c[r+12>>2];r=c[p+(s*36|0)+32>>2]|0;p=p+(h*36|0)|0;q=o+36|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));q=c[d+12>>2]|0;p=q+(h*36|0)|0;c[p>>2]=c[x>>2];c[p+4>>2]=c[x+4>>2];c[p+8>>2]=c[x+8>>2];c[p+12>>2]=c[x+12>>2];c[p+16>>2]=c[x+16>>2];c[p+20>>2]=c[x+20>>2];c[p+24>>2]=c[x+24>>2];c[p+28>>2]=c[x+28>>2];c[q+(h*36|0)+32>>2]=r;h=h+1|0}s=s+1|0}while((s|0)!=(f|0))}else h=e;if(!((h|0)>(((f-e|0)/3|0)+e|0)?(h|0)<(f+-1-((f-e|0)/3|0)|0):0))h=(1?f-e>>1:f-e|0)+e|0;g[x>>2]=3402823466385288598117041.0e14;g[x+4>>2]=3402823466385288598117041.0e14;g[x+8>>2]=3402823466385288598117041.0e14;g[x+16>>2]=-3402823466385288598117041.0e14;g[x+20>>2]=-3402823466385288598117041.0e14;g[x+24>>2]=-3402823466385288598117041.0e14;if((f|0)>(e|0)){p=c[d+12>>2]|0;o=e;t=3402823466385288598117041.0e14;i=3402823466385288598117041.0e14;m=3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;l=-3402823466385288598117041.0e14;n=-3402823466385288598117041.0e14;do{r=p+(o*36|0)|0;D=+g[r>>2];t=t>D?D:t;g[x>>2]=t;q=c[(i>+g[p+(o*36|0)+4>>2]?r:x)+4>>2]|0;c[x+4>>2]=q;r=c[(m>+g[p+(o*36|0)+8>>2]?r:x)+8>>2]|0;c[x+8>>2]=r;v=p+(o*36|0)+16|0;i=+g[v>>2];u=u<i?i:u;g[x+16>>2]=u;s=c[(l<+g[p+(o*36|0)+20>>2]?v:x+16|0)+4>>2]|0;c[x+20>>2]=s;v=c[(n<+g[p+(o*36|0)+24>>2]?v:x+16|0)+8>>2]|0;c[x+24>>2]=v;o=o+1|0;i=(c[j>>2]=q,+g[j>>2]);m=(c[j>>2]=r,+g[j>>2]);l=(c[j>>2]=s,+g[j>>2]);n=(c[j>>2]=v,+g[j>>2])}while((o|0)!=(f|0))}else{u=-3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;n=-3402823466385288598117041.0e14;m=3402823466385288598117041.0e14;l=-3402823466385288598117041.0e14;i=3402823466385288598117041.0e14}v=c[a+16>>2]|0;E=+g[a+24>>2];G=t<E?E:t;z=+g[a+28>>2];C=i<z?z:i;D=+g[a+32>>2];y=m<D?D:m;i=+g[a+40>>2];t=+g[a+44>>2];B=+g[a+48>>2];F=+g[a+56>>2];m=+g[a+60>>2];A=+g[a+64>>2];b[v+(w<<4)>>1]=~~(((i<G?i:G)-E)*F+.5);b[v+(w<<4)+2>>1]=~~(((t<C?t:C)-z)*m+.5);b[v+(w<<4)+4>>1]=~~(((B<y?B:y)-D)*A+.5);u=u<E?E:u;y=l<z?z:l;C=n<D?D:n;b[v+(w<<4)+6>>1]=~~(F*((i<u?i:u)-E)+.5);b[v+(w<<4)+8>>1]=~~(m*((t<y?t:y)-z)+.5);b[v+(w<<4)+10>>1]=~~(A*((B<C?B:C)-D)+.5);kd(a,d,e,h);kd(a,d,h,f);c[(c[a+16>>2]|0)+(w<<4)+12>>2]=w-(c[a>>2]|0);k=x;return}function ld(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0;x=k;k=k+96|0;Db[c[(c[b>>2]|0)+112>>2]&511](b);if(jG(b+68|0)|0){de(b+68|0);w=c[b>>2]|0;w=w+116|0;w=c[w>>2]|0;Db[w&511](b);Vz(x+56|0,b+68|0);w=b+16|0;c[w>>2]=c[x+56>>2];c[w+4>>2]=c[x+56+4>>2];c[w+8>>2]=c[x+56+8>>2];c[w+12>>2]=c[x+56+12>>2];c[w+16>>2]=c[x+56+16>>2];c[w+20>>2]=c[x+56+20>>2];c[w+24>>2]=c[x+56+24>>2];c[w+28>>2]=c[x+56+28>>2];k=x;return}a[x+32+16>>0]=1;w=x+32+12|0;c[w>>2]=0;v=x+32+4|0;c[v>>2]=0;c[x+32+8>>2]=0;d=c[b+140>>2]|0;d=tb[c[(c[d>>2]|0)+12>>2]&255](d)|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;if((d|0)>0){c[7584]=(c[7584]|0)+1;e=lc((d*36|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}i=c[v>>2]|0;h=c[w>>2]|0;if((i|0)<=0){if(h|0)l=10}else{e=0;do{l=f+(e*36|0)|0;y=h+(e*36|0)|0;c[l>>2]=c[y>>2];c[l+4>>2]=c[y+4>>2];c[l+8>>2]=c[y+8>>2];c[l+12>>2]=c[y+12>>2];l=f+(e*36|0)+16|0;y=h+(e*36|0)+16|0;c[l>>2]=c[y>>2];c[l+4>>2]=c[y+4>>2];c[l+8>>2]=c[y+8>>2];c[l+12>>2]=c[y+12>>2];c[f+(e*36|0)+32>>2]=c[h+(e*36|0)+32>>2];e=e+1|0}while((e|0)!=(i|0));l=10}if((l|0)==10){if(a[x+32+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[w>>2]=0}a[x+32+16>>0]=1;c[w>>2]=f;c[x+32+8>>2]=d;c[f>>2]=c[x>>2];c[f+4>>2]=c[x+4>>2];c[f+8>>2]=c[x+8>>2];c[f+12>>2]=c[x+12>>2];y=f+16|0;c[y>>2]=c[x+16>>2];c[y+4>>2]=c[x+16+4>>2];c[y+8>>2]=c[x+16+8>>2];c[y+12>>2]=c[x+16+12>>2];c[f+32>>2]=0;if((d|0)!=1){e=1;do{y=c[w>>2]|0;l=y+(e*36|0)|0;c[l>>2]=c[x>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[l+12>>2]=c[x+12>>2];l=y+(e*36|0)+16|0;c[l>>2]=c[x+16>>2];c[l+4>>2]=c[x+16+4>>2];c[l+8>>2]=c[x+16+8>>2];c[l+12>>2]=c[x+16+12>>2];c[y+(e*36|0)+32>>2]=0;e=e+1|0}while((e|0)!=(d|0))}c[v>>2]=d;e=0;f=c[w>>2]|0;do{d=c[b+140>>2]|0;Nb[c[(c[d>>2]|0)+16>>2]&127](d,e,f+(e*36|0)|0);f=c[w>>2]|0;c[f+(e*36|0)+32>>2]=e;e=e+1|0;d=c[v>>2]|0}while((e|0)<(d|0))}else c[v>>2]=d;g[x>>2]=3402823466385288598117041.0e14;g[x+4>>2]=3402823466385288598117041.0e14;g[x+8>>2]=3402823466385288598117041.0e14;g[x+16>>2]=-3402823466385288598117041.0e14;g[x+20>>2]=-3402823466385288598117041.0e14;g[x+24>>2]=-3402823466385288598117041.0e14;if((d|0)>0){f=c[w>>2]|0;e=0;m=3402823466385288598117041.0e14;n=3402823466385288598117041.0e14;o=3402823466385288598117041.0e14;s=-3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;do{i=f+(e*36|0)|0;r=+g[i>>2];m=m>r?r:m;g[x>>2]=m;h=c[(n>+g[f+(e*36|0)+4>>2]?i:x)+4>>2]|0;c[x+4>>2]=h;i=c[(o>+g[f+(e*36|0)+8>>2]?i:x)+8>>2]|0;c[x+8>>2]=i;y=f+(e*36|0)+16|0;r=+g[y>>2];s=s<r?r:s;g[x+16>>2]=s;l=c[(t<+g[f+(e*36|0)+20>>2]?y:x+16|0)+4>>2]|0;c[x+20>>2]=l;y=c[(u<+g[f+(e*36|0)+24>>2]?y:x+16|0)+8>>2]|0;c[x+24>>2]=y;e=e+1|0;n=(c[j>>2]=h,+g[j>>2]);o=(c[j>>2]=i,+g[j>>2]);t=(c[j>>2]=l,+g[j>>2]);u=(c[j>>2]=y,+g[j>>2])}while((e|0)!=(d|0));r=m+-1.0;q=n+-1.0;p=o+-1.0;o=s+1.0;n=t+1.0;m=u+1.0}else{r=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;p=3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14;n=-3402823466385288598117041.0e14;m=-3402823466385288598117041.0e14}g[b+92>>2]=r;g[b+96>>2]=q;g[b+100>>2]=p;g[b+104>>2]=0.0;g[b+108>>2]=o;g[b+112>>2]=n;g[b+116>>2]=m;g[b+120>>2]=0.0;g[b+124>>2]=65535.0/(o-r);g[b+128>>2]=65535.0/(n-q);g[b+132>>2]=65535.0/(m-p);g[b+136>>2]=0.0;c[b+68>>2]=0;i=d<<1;h=c[b+76>>2]|0;if((h|0)<(i|0)){if((c[b+80>>2]|0)<(i|0)){if(!d){d=0;f=h}else{c[7584]=(c[7584]|0)+1;d=lc(d<<5|19)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+76>>2]|0}if((f|0)>0){e=0;do{y=d+(e<<4)|0;l=(c[b+84>>2]|0)+(e<<4)|0;c[y>>2]=c[l>>2];c[y+4>>2]=c[l+4>>2];c[y+8>>2]=c[l+8>>2];c[y+12>>2]=c[l+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+84>>2]|0;if(e|0){if(a[b+88>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[b+84>>2]=0}a[b+88>>0]=1;c[b+84>>2]=d;c[b+80>>2]=i;e=b+84|0}else e=b+84|0;d=h;do{y=c[e>>2]|0;l=y+(d<<4)|0;c[l>>2]=c[x>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[y+(d<<4)+12>>2]=0;d=d+1|0}while((d|0)!=(i|0));d=c[v>>2]|0}c[b+76>>2]=i;kd(b+68|0,x+32|0,0,d);d=c[w>>2]|0;if(d|0){if(a[x+32+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[w>>2]=0}y=c[b>>2]|0;y=y+116|0;y=c[y>>2]|0;Db[y&511](b);Vz(x+56|0,b+68|0);y=b+16|0;c[y>>2]=c[x+56>>2];c[y+4>>2]=c[x+56+4>>2];c[y+8>>2]=c[x+56+8>>2];c[y+12>>2]=c[x+56+12>>2];c[y+16>>2]=c[x+56+16>>2];c[y+20>>2]=c[x+56+20>>2];c[y+24>>2]=c[x+56+24>>2];c[y+28>>2]=c[x+56+28>>2];k=x;return}function md(b,d,f,h,i,j,l){b=b|0;d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0.0,X=0.0,Y=0.0,Z=0,_=0;_=k;k=k+32|0;q=c[b+16>>2]|0;Y=+g[b+56>>2];X=+g[b+60>>2];W=+g[b+64>>2];A=+g[b+24>>2];B=+g[b+28>>2];C=+g[b+32>>2];S=A+ +(e[q+(i<<4)+6>>1]|0)/Y;T=B+ +(e[q+(i<<4)+8>>1]|0)/X;U=C+ +(e[q+(i<<4)+10>>1]|0)/W;p=c[d+16>>2]|0;u=+g[d+56>>2];v=+g[d+60>>2];y=+g[d+64>>2];F=+g[d+24>>2];r=+(e[p+(j<<4)>>1]|0)/u+F;E=+g[d+28>>2];s=+(e[p+(j<<4)+2>>1]|0)/v+E;D=+g[d+32>>2];t=+(e[p+(j<<4)+4>>1]|0)/y+D;u=F+ +(e[p+(j<<4)+6>>1]|0)/u;v=E+ +(e[p+(j<<4)+8>>1]|0)/v;y=D+ +(e[p+(j<<4)+10>>1]|0)/y;A=(S+(+(e[q+(i<<4)>>1]|0)/Y+A))*.5;B=(T+(+(e[q+(i<<4)+2>>1]|0)/X+B))*.5;C=(U+(+(e[q+(i<<4)+4>>1]|0)/W+C))*.5;g[_+16>>2]=S-A;g[_+16+4>>2]=T-B;g[_+16+8>>2]=U-C;g[_+16+12>>2]=0.0;W=u-(u+r)*.5;X=v-(v+s)*.5;Y=y-(y+t)*.5;D=+g[h+16>>2];E=+g[h+20>>2];F=+g[h+24>>2];G=+g[h>>2]+((u+r)*.5*D+(v+s)*.5*E+(y+t)*.5*F)-A;g[_>>2]=G;H=+g[h+64>>2];w=+g[h+68>>2];x=+g[h+72>>2];if(+z(+G)>S-A+(W*H+X*w+Y*x)){k=_;return}I=+g[h+32>>2];J=+g[h+36>>2];K=+g[h+40>>2];L=+g[h+4>>2]+((u+r)*.5*I+(v+s)*.5*J+(y+t)*.5*K)-B;g[_+4>>2]=L;M=+g[h+80>>2];N=+g[h+84>>2];O=+g[h+88>>2];if(+z(+L)>T-B+(W*M+X*N+Y*O)){k=_;return}R=+g[h+48>>2];P=+g[h+52>>2];Q=+g[h+56>>2];r=+g[h+8>>2]+((u+r)*.5*R+(v+s)*.5*P+(y+t)*.5*Q)-C;g[_+8>>2]=r;u=+g[h+96>>2];s=+g[h+100>>2];t=+g[h+104>>2];if(+z(+r)>U-C+(W*u+X*s+Y*t)){k=_;return}if(+z(+(G*D+L*I+r*R))>W+((S-A)*H+(T-B)*M+(U-C)*u)){k=_;return}if(+z(+(G*E+L*J+r*P))>X+((S-A)*w+(T-B)*N+(U-C)*s)){k=_;return}m=+z(+(G*F+L*K+r*Q))>Y+((S-A)*x+(T-B)*O+(U-C)*t);do if(m|l^1){if(m){k=_;return}}else{q=0;while(1){m=q+1|0;p=(m|0)==3?0:m;l=((q+2|0)>>>0)%3|0;n=(q|0)==0&1;o=(q|0)==2?1:2;s=+g[_+(l<<2)>>2];t=+g[_+(p<<2)>>2];u=+g[_+16+(n<<2)>>2];v=+g[_+16+(o<<2)>>2];if(+z(+(s*+g[h+16+(p<<4)>>2]-t*+g[h+16+(l<<4)>>2]))>u*+g[h+64+(o<<4)>>2]+v*+g[h+64+(n<<4)>>2]+X*x+Y*w){V=44;break}r=+g[h+64+(q<<4)>>2];if(+z(+(s*+g[h+16+(p<<4)+4>>2]-t*+g[h+16+(l<<4)+4>>2]))>u*+g[h+64+(o<<4)+4>>2]+v*+g[h+64+(n<<4)+4>>2]+W*x+Y*r){V=43;break}if(+z(+(s*+g[h+16+(p<<4)+8>>2]-t*+g[h+16+(l<<4)+8>>2]))>u*+g[h+64+(o<<4)+8>>2]+v*+g[h+64+(n<<4)+8>>2]+W*w+X*r){V=42;break}if(m>>>0>=3){V=14;break}q=m;x=+g[h+64+(m<<4)+8>>2];w=+g[h+64+(m<<4)+4>>2]}if((V|0)==14)break;else if((V|0)==42){k=_;return}else if((V|0)==43){k=_;return}else if((V|0)==44){k=_;return}}while(0);p=c[(c[b+16>>2]|0)+(i<<4)+12>>2]|0;q=c[(c[d+16>>2]|0)+(j<<4)+12>>2]|0;if((p|0)<=-1)if((q|0)>-1){md(b,d,f,h,i+1|0,j,0);Z=c[(c[b+16>>2]|0)+(i+1<<4)+12>>2]|0;md(b,d,f,h,(Z|0)>-1?i+2|0:i+1-Z|0,j,0);k=_;return}else{md(b,d,f,h,i+1|0,j+1|0,0);V=c[(c[d+16>>2]|0)+(j+1<<4)+12>>2]|0;md(b,d,f,h,i+1|0,(V|0)>-1?j+2|0:j+1-V|0,0);V=c[(c[b+16>>2]|0)+(i+1<<4)+12>>2]|0;md(b,d,f,h,(V|0)>-1?i+2|0:i+1-V|0,j+1|0,0);V=c[(c[b+16>>2]|0)+(i+1<<4)+12>>2]|0;Z=c[(c[d+16>>2]|0)+(j+1<<4)+12>>2]|0;md(b,d,f,h,(V|0)>-1?i+2|0:i+1-V|0,(Z|0)>-1?j+2|0:j+1-Z|0,0);k=_;return}if((q|0)<=-1){md(b,d,f,h,i,j+1|0,0);Z=c[(c[d+16>>2]|0)+(j+1<<4)+12>>2]|0;md(b,d,f,h,i,(Z|0)>-1?j+2|0:j+1-Z|0,0);k=_;return}m=c[f+4>>2]|0;if((m|0)==(c[f+8>>2]|0)?(Z=(m|0)==0?1:m<<1,(m|0)<(Z|0)):0){if(!Z)o=0;else{c[7584]=(c[7584]|0)+1;m=lc((Z<<3|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}o=m;m=c[f+4>>2]|0}n=c[f+12>>2]|0;if((m|0)<=0)if(!n)l=f+16|0;else V=28;else{l=0;do{c[o+(l<<3)>>2]=c[n+(l<<3)>>2];c[o+(l<<3)+4>>2]=c[n+(l<<3)+4>>2];l=l+1|0}while((l|0)!=(m|0));V=28}if((V|0)==28){if(a[f+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0);m=c[f+4>>2]|0}c[f+12>>2]=0;l=f+16|0}a[l>>0]=1;c[f+12>>2]=o;c[f+8>>2]=Z}Z=c[f+12>>2]|0;c[Z+(m<<3)>>2]=p;c[Z+(m<<3)+4>>2]=q;c[f+4>>2]=m+1;k=_;return}function nd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,H=0.0,J=0.0;B=+g[b+48>>2];i=+g[d>>2];C=+g[b+64>>2];j=+g[d+4>>2];J=+g[b+80>>2];p=+g[d+8>>2];s=+g[b+52>>2];r=+g[b+68>>2];q=+g[b+84>>2];w=+g[b+56>>2];H=+g[b+72>>2];x=+g[b+88>>2];v=+g[d+16>>2];u=+g[d+20>>2];t=+g[d+24>>2];F=+g[d+32>>2];D=+g[d+36>>2];E=+g[d+40>>2];k=+g[b+96>>2];h=+g[b+100>>2];z=+g[b+104>>2];y=+g[d+48>>2]+(i*k+j*h+p*z);f=v*k+u*h+t*z+ +g[d+52>>2];z=F*k+D*h+E*z+ +g[d+56>>2];g[b+1064>>2]=B*i+C*j+J*p;g[b+1068>>2]=i*s+j*r+p*q;g[b+1072>>2]=i*w+j*H+p*x;g[b+1076>>2]=0.0;g[b+1080>>2]=B*v+C*u+J*t;g[b+1084>>2]=s*v+r*u+q*t;g[b+1088>>2]=w*v+H*u+x*t;g[b+1092>>2]=0.0;g[b+1096>>2]=B*F+C*D+J*E;g[b+1100>>2]=s*F+r*D+q*E;g[b+1104>>2]=w*F+H*D+x*E;g[b+1108>>2]=0.0;g[b+1112>>2]=y;g[b+1116>>2]=f;g[b+1120>>2]=z;g[b+1124>>2]=0.0;z=+g[b+112>>2];f=+g[e>>2];y=+g[b+128>>2];E=+g[e+4>>2];x=+g[b+144>>2];D=+g[e+8>>2];H=+g[b+116>>2];F=+g[b+132>>2];w=+g[b+148>>2];q=+g[b+120>>2];r=+g[b+136>>2];s=+g[b+152>>2];J=+g[e+16>>2];C=+g[e+20>>2];B=+g[e+24>>2];t=+g[e+32>>2];u=+g[e+36>>2];v=+g[e+40>>2];p=+g[b+160>>2];j=+g[b+164>>2];i=+g[b+168>>2];h=+g[e+48>>2]+(f*p+E*j+D*i);k=J*p+C*j+B*i+ +g[e+52>>2];i=t*p+u*j+v*i+ +g[e+56>>2];g[b+1128>>2]=z*f+y*E+x*D;g[b+1132>>2]=f*H+E*F+D*w;g[b+1136>>2]=f*q+E*r+D*s;g[b+1140>>2]=0.0;g[b+1144>>2]=z*J+y*C+x*B;g[b+1148>>2]=H*J+F*C+w*B;g[b+1152>>2]=q*J+r*C+s*B;g[b+1156>>2]=0.0;g[b+1160>>2]=z*t+y*u+x*v;g[b+1164>>2]=H*t+F*u+w*v;g[b+1168>>2]=q*t+r*u+s*v;g[b+1172>>2]=0.0;g[b+1176>>2]=h;g[b+1180>>2]=k;g[b+1184>>2]=i;g[b+1188>>2]=0.0;h=h-+g[b+1112>>2];k=k-+g[b+1116>>2];i=i-+g[b+1120>>2];w=+g[b+1084>>2];F=+g[b+1104>>2];H=+g[b+1088>>2];x=+g[b+1100>>2];y=+g[b+1096>>2];z=+g[b+1080>>2];B=+g[b+1064>>2];C=+g[b+1068>>2];J=+g[b+1072>>2];D=1.0/((w*F-H*x)*B+C*(H*y-F*z)+(x*z-w*y)*J);E=(x*z-w*y)*D;f=i*(H*C-w*J)*D+(h*(w*F-H*x)*D+k*(x*J-F*C)*D);j=i*(z*J-H*B)*D+(h*(H*y-F*z)*D+k*(F*B-y*J)*D);k=i*(w*B-z*C)*D+(h*E+k*(y*C-x*B)*D);g[b+1256>>2]=f;g[b+1260>>2]=j;g[b+1264>>2]=k;g[b+1268>>2]=0.0;g[b+840>>2]=f;h=+g[b+680>>2];i=+g[b+696>>2];do if(!(h>i)){if(h>f){c[b+856>>2]=2;f=f-h;break}if(i<f){c[b+856>>2]=1;f=f-i;break}else{c[b+856>>2]=0;f=0.0;break}}else{c[b+856>>2]=0;f=0.0}while(0);g[b+824>>2]=f;g[b+844>>2]=j;f=+g[b+684>>2];h=+g[b+700>>2];do if(!(f>h)){if(f>j){c[b+860>>2]=2;f=j-f;break}if(h<j){c[b+860>>2]=1;f=j-h;break}else{c[b+860>>2]=0;f=0.0;break}}else{c[b+860>>2]=0;f=0.0}while(0);g[b+828>>2]=f;g[b+848>>2]=k;f=+g[b+688>>2];h=+g[b+704>>2];do if(!(f>h)){if(f>k){c[b+864>>2]=2;f=k-f;break}if(h<k){c[b+864>>2]=1;f=k-h;break}else{c[b+864>>2]=0;f=0.0;break}}else{c[b+864>>2]=0;f=0.0}while(0);g[b+832>>2]=f;n=+g[b+1128>>2];o=+g[b+1144>>2];p=+g[b+1160>>2];h=+g[b+1132>>2];i=+g[b+1148>>2];j=+g[b+1164>>2];k=(w*F-H*x)*D*h+(x*J-F*C)*D*i+(H*C-w*J)*D*j;l=h*(H*y-F*z)*D+(F*B-y*J)*D*i+(z*J-H*B)*D*j;m=p*(w*B-z*C)*D+(n*E+o*(y*C-x*B)*D);f=E*+g[b+1136>>2]+(y*C-x*B)*D*+g[b+1152>>2]+(w*B-z*C)*D*(q*t+r*u+s*v);do if(m<1.0)if(m>-1.0){g[b+1192>>2]=+I(+-(h*E+(y*C-x*B)*D*i+(w*B-z*C)*D*j),+f);f=m<-1.0?-1.0:m;g[b+1196>>2]=+G(+(f>1.0?1.0:f));f=+I(+-(p*(z*J-H*B)*D+(n*(H*y-F*z)*D+o*(F*B-y*J)*D)),+(p*(H*C-w*J)*D+(n*(w*F-H*x)*D+o*(x*J-F*C)*D)));break}else{g[b+1192>>2]=-+I(+k,+l);g[b+1196>>2]=-1.5707963705062866;f=0.0;break}else{g[b+1192>>2]=+I(+k,+l);g[b+1196>>2]=1.5707963705062866;f=0.0}while(0);g[b+1200>>2]=f;g[b+1236>>2]=0.0;x=F*(n*F-p*J)-H*(o*J-n*H);y=J*(o*J-n*H)-F*(p*H-o*F);z=H*(p*H-o*F)-J*(n*F-p*J);g[b+1220>>2]=0.0;C=o*(o*J-n*H)-p*(n*F-p*J);D=p*(p*H-o*F)-n*(o*J-n*H);E=n*(n*F-p*J)-o*(p*H-o*F);g[b+1252>>2]=0.0;B=1.0/+A(+(x*x+y*y+z*z));g[b+1208>>2]=x*B;g[b+1212>>2]=y*B;g[b+1216>>2]=z*B;B=1.0/+A(+((o*J-n*H)*(o*J-n*H)+((n*F-p*J)*(n*F-p*J)+(p*H-o*F)*(p*H-o*F))));g[b+1224>>2]=(p*H-o*F)*B;g[b+1228>>2]=(n*F-p*J)*B;g[b+1232>>2]=(o*J-n*H)*B;J=1.0/+A(+(C*C+D*D+E*E));g[b+1240>>2]=C*J;g[b+1244>>2]=D*J;g[b+1248>>2]=E*J;if(!(a[b+1301>>0]|0))return;H=+g[(c[b+28>>2]|0)+344>>2];J=+g[(c[b+32>>2]|0)+344>>2];a[b+1280>>0]=(H<1.1920928955078125e-07|J<1.1920928955078125e-07)&1;J=H+J>0.0?J/(H+J):.5;g[b+1272>>2]=J;g[b+1276>>2]=1.0-J;return}function od(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=k;k=k+32|0;vg(b+4|0,((M(c[b+152>>2]|0,c[b+16>>2]|0)|0)/100|0)+1|0);if(c[b+164>>2]|0){p=((M(c[b+148>>2]|0,c[b+76>>2]|0)|0)/100|0)+1|0;vg(b+64|0,p);p=(c[b+164>>2]|0)-p|0;c[b+164>>2]=(p|0)>0?p:0}f=((c[b+144>>2]|0)+1|0)%2|0;c[b+144>>2]=f;f=c[b+124+(f<<2)>>2]|0;if(f|0){do{j=f+56|0;m=f;f=c[j>>2]|0;h=c[m+52>>2]|0;if(!h)h=b+124+(c[m+60>>2]<<2)|0;else h=h+56|0;c[h>>2]=f;h=c[j>>2]|0;if(h|0)c[h+52>>2]=c[m+52>>2];c[m+52>>2]=0;c[j>>2]=c[b+132>>2];h=c[b+132>>2]|0;if(h|0)c[h+52>>2]=m;c[b+132>>2]=m;h=c[m+48>>2]|0;xh(b+4|0,h)|0;j=c[b+8>>2]|0;if(j|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}c[b+8>>2]=h;c[b+16>>2]=(c[b+16>>2]|0)+-1;c[r>>2]=c[m+16>>2];c[r+4>>2]=c[m+16+4>>2];c[r+8>>2]=c[m+16+8>>2];c[r+12>>2]=c[m+16+12>>2];c[r+16>>2]=c[m+32>>2];c[r+16+4>>2]=c[m+32+4>>2];c[r+16+8>>2]=c[m+32+8>>2];c[r+16+12>>2]=c[m+32+12>>2];h=c[b+68>>2]|0;if(!h){c[7584]=(c[7584]|0)+1;h=lc(63)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=h;l=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0))}else c[b+68>>2]=0;c[h+32>>2]=0;c[h+36>>2]=m;c[h+40>>2]=0;c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[h+12>>2]=c[r+12>>2];c[h+16>>2]=c[r+16>>2];c[h+20>>2]=c[r+20>>2];c[h+24>>2]=c[r+24>>2];c[h+28>>2]=c[r+28>>2];tf(b+64|0,c[b+64>>2]|0,h);j=(c[b+76>>2]|0)+1|0;c[b+76>>2]=j;c[m+48>>2]=h;c[m+60>>2]=2}while((f|0)!=0);c[b+164>>2]=j;a[b+194>>0]=1}c[r>>2]=12240;c[r+4>>2]=b;if(a[b+193>>0]|0?(ve(b+4|0,c[b+4>>2]|0,c[b+64>>2]|0,r),a[b+193>>0]|0):0){p=c[b+4>>2]|0;ve(b+4|0,p,p,r)}if(a[b+194>>0]|0?(n=c[b+136>>2]|0,n=tb[c[(c[n>>2]|0)+28>>2]&255](n)|0,e=c[n+4>>2]|0,(e|0)>0):0){f=(M(c[b+156>>2]|0,e)|0)/100|0;p=c[b+160>>2]|0;f=(p|0)>(f|0)?p:f;f=(e|0)<(f|0)?e:f;if((f|0)>0){h=0;do{l=((c[b+184>>2]|0)+h|0)%(e|0)|0;o=c[n+12>>2]|0;j=c[o+(l<<4)>>2]|0;l=c[o+(l<<4)+4>>2]|0;o=c[j+48>>2]|0;p=c[l+48>>2]|0;if(!(((((+g[o>>2]<=+g[p+16>>2]?+g[o+16>>2]>=+g[p>>2]:0)?+g[o+4>>2]<=+g[p+20>>2]:0)?+g[o+20>>2]>=+g[p+4>>2]:0)?+g[o+8>>2]<=+g[p+24>>2]:0)?+g[o+24>>2]>=+g[p+8>>2]:0)){e=c[b+136>>2]|0;yb[c[(c[e>>2]|0)+12>>2]&31](e,j,l,d)|0;h=h+-1|0;f=f+-1|0;e=c[n+4>>2]|0}h=h+1|0}while((h|0)<(f|0));if((e|0)>0)q=37;else e=0}else q=37;if((q|0)==37)e=((c[b+184>>2]|0)+f|0)%(e|0)|0;c[b+184>>2]=e}c[b+180>>2]=(c[b+180>>2]|0)+1;c[b+160>>2]=1;a[b+194>>0]=0;f=c[b+168>>2]|0;e=c[b+172>>2]|0;if(!f)i=0.0;else i=+(e>>>0)/+(f>>>0);g[b+176>>2]=i;c[b+172>>2]=1?e>>>1:e;c[b+168>>2]=1?f>>>1:f;p=c[b+136>>2]|0;if(!(tb[c[(c[p>>2]|0)+56>>2]&255](p)|0)){k=r;return}p=c[b+136>>2]|0;p=tb[c[(c[p>>2]|0)+28>>2]&255](p)|0;e=c[p+4>>2]|0;if((e|0)>1){Ae(p,0,e+-1|0);e=c[p+4>>2]|0}if((e|0)>0){n=0;m=0;o=0;f=0;while(1){j=c[p+12>>2]|0;h=j+(n<<4)|0;s=o;o=c[h>>2]|0;j=j+(n<<4)+4|0;l=c[j>>2]|0;if(!((o|0)==(s|0)&(l|0)==(f|0))){f=c[o+48>>2]|0;s=c[l+48>>2]|0;if(((((+g[f>>2]<=+g[s+16>>2]?+g[f+16>>2]>=+g[s>>2]:0)?+g[f+4>>2]<=+g[s+20>>2]:0)?+g[f+20>>2]>=+g[s+4>>2]:0)?+g[f+8>>2]<=+g[s+24>>2]:0)?+g[f+24>>2]>=+g[s+8>>2]:0){h=m;f=l}else{f=l;q=53}}else q=53;if((q|0)==53){q=0;e=c[b+136>>2]|0;Nb[c[(c[e>>2]|0)+32>>2]&127](e,h,d);c[h>>2]=0;c[j>>2]=0;h=m+1|0;e=c[p+4>>2]|0}n=n+1|0;if((n|0)>=(e|0))break;else m=h}if((e|0)>1){Ae(p,0,e+-1|0);e=c[p+4>>2]|0}l=e-h|0;if((h|0)<0){if((c[p+8>>2]|0)<(l|0)){if(!l){f=0;j=e}else{c[7584]=(c[7584]|0)+1;f=lc((l<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[p+4>>2]|0}if((j|0)>0){h=0;do{s=c[p+12>>2]|0;c[f+(h<<4)>>2]=c[s+(h<<4)>>2];c[f+(h<<4)+4>>2]=c[s+(h<<4)+4>>2];c[f+(h<<4)+8>>2]=c[s+(h<<4)+8>>2];c[f+(h<<4)+12>>2]=c[s+(h<<4)+12>>2];h=h+1|0}while((h|0)!=(j|0))}h=c[p+12>>2]|0;if(h|0){if(a[p+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[p+12>>2]=0}a[p+16>>0]=1;c[p+12>>2]=f;c[p+8>>2]=l}do{s=(c[p+12>>2]|0)+(e<<4)|0;e=e+1|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0}while((e|0)!=(l|0));e=l}else e=l}c[p+4>>2]=e;k=r;return}function pd(a,d,f,h,i,j,k,l,m){a=a|0;d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0;w=+g[a+8>>2];y=+g[a+12>>2];A=+g[a+16>>2];x=+g[a+40>>2];s=(+g[d>>2]-w)*x;z=+g[a+44>>2];u=(+g[d+4>>2]-y)*z;B=+g[a+48>>2];v=(+g[d+8>>2]-A)*B;if(!(s<=0.0)){t=b[a+6>>1]|0;t=b[a+4>>1]&(!(s>=+(t&65535))?~~s&65535:t)}else t=0;if(!(u<=0.0)){r=b[a+6>>1]|0;r=b[a+4>>1]&(!(u>=+(r&65535))?~~u&65535:r)}else r=0;if(!(v<=0.0)){q=b[a+6>>1]|0;q=b[a+4>>1]&(!(v>=+(q&65535))?~~v&65535:q)}else q=0;v=(+g[f>>2]-w)*x;u=(+g[f+4>>2]-y)*z;s=(+g[f+8>>2]-A)*B;if(!(v<=0.0)){p=b[a+6>>1]|0;p=b[a+4>>1]&(!(v>=+(p&65535))?~~v&65535:p)|1}else p=1;if(!(u<=0.0)){o=b[a+6>>1]|0;o=b[a+4>>1]&(!(u>=+(o&65535))?~~u&65535:o)|1}else o=1;if(!(s<=0.0)){n=b[a+6>>1]|0;n=b[a+4>>1]&(!(s>=+(n&65535))?~~s&65535:n)|1}else n=1;D=b[a+64>>1]|0;C=c[a+60>>2]|0;b[a+64>>1]=b[C+((D&65535)<<6)+48>>1]|0;E=(b[a+56>>1]|0)+1<<16>>16;b[a+56>>1]=E;c[C+((D&65535)<<6)+12>>2]=D&65535;c[C+((D&65535)<<6)>>2]=i;b[C+((D&65535)<<6)+4>>1]=j;b[C+((D&65535)<<6)+6>>1]=k;c[C+((D&65535)<<6)+8>>2]=m;m=(E&65535)<<1&65534;b[C+54>>1]=(e[C+54>>1]|0)+2;F=c[a+68>>2]|0;G=e[F+(m+-1<<2)>>1]|e[F+(m+-1<<2)+2>>1]<<16;b[F+((m|1)<<2)>>1]=G;b[F+((m|1)<<2)+2>>1]=G>>>16;F=c[a+68>>2]|0;b[F+(m+-1<<2)>>1]=t;b[F+(m+-1<<2)+2>>1]=D;b[F+(m<<2)>>1]=p;b[F+(m<<2)+2>>1]=D;b[C+((D&65535)<<6)+48>>1]=m+-1;b[C+((D&65535)<<6)+54>>1]=(E&65535)<<1;p=(c[a+60>>2]|0)+56|0;b[p>>1]=(e[p>>1]|0)+2;p=c[a+72>>2]|0;t=e[p+(m+-1<<2)>>1]|e[p+(m+-1<<2)+2>>1]<<16;b[p+((m|1)<<2)>>1]=t;b[p+((m|1)<<2)+2>>1]=t>>>16;p=c[a+72>>2]|0;b[p+(m+-1<<2)>>1]=r;b[p+(m+-1<<2)+2>>1]=D;b[p+(m<<2)>>1]=o;b[p+(m<<2)+2>>1]=D;b[C+((D&65535)<<6)+50>>1]=m+-1;b[C+((D&65535)<<6)+56>>1]=(E&65535)<<1;o=(c[a+60>>2]|0)+58|0;b[o>>1]=(e[o>>1]|0)+2;o=c[a+76>>2]|0;p=e[o+(m+-1<<2)>>1]|e[o+(m+-1<<2)+2>>1]<<16;b[o+((m|1)<<2)>>1]=p;b[o+((m|1)<<2)+2>>1]=p>>>16;o=c[a+76>>2]|0;b[o+(m+-1<<2)>>1]=q;b[o+(m+-1<<2)+2>>1]=D;b[o+(m<<2)>>1]=n;b[o+(m<<2)+2>>1]=D;b[C+((D&65535)<<6)+52>>1]=m+-1;b[C+((D&65535)<<6)+58>>1]=(E&65535)<<1;o=c[a+68>>2]|0;p=e[C+((D&65535)<<6)+48>>1]|0;t=c[a+60>>2]|0;q=b[o+(p<<2)+-4>>1]|0;if((e[o+(p<<2)>>1]|0)<(q&65535)){m=t+((e[o+(p<<2)+2>>1]|0)<<6)+48|0;n=o+(p<<2)+-4|0;r=o+(p<<2)|0;p=q;o=t;while(1){G=e[r+-2>>1]|0;o=(p&1)==0?o+(G<<6)+48|0:o+(G<<6)+54|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16;b[m>>1]=(b[m>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;p=e[n>>1]|e[n+2>>1]<<16;b[r>>1]=p;b[r+2>>1]=p>>>16;b[n>>1]=o;b[n+2>>1]=o>>>16;o=r+-4|0;n=n+-4|0;p=b[n>>1]|0;if((e[o>>1]|0)>=(p&65535))break;r=o;o=c[a+60>>2]|0}o=c[a+68>>2]|0}n=e[C+((D&65535)<<6)+54>>1]|0;p=o+(n<<2)|0;r=b[p+-4>>1]|0;a:do if((e[p>>1]|0)<(r&65535)){G=c[a+60>>2]|0;t=G+((e[o+(n<<2)+2>>1]|0)<<6)+54|0;n=p+-4|0;q=p;o=r;p=G;while(1){G=e[q+-2>>1]|0;p=(o&1)==0?p+(G<<6)+48|0:p+(G<<6)+54|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;p=e[q>>1]|e[q+2>>1]<<16;o=e[n>>1]|e[n+2>>1]<<16;b[q>>1]=o;b[q+2>>1]=o>>>16;b[n>>1]=p;b[n+2>>1]=p>>>16;p=q+-4|0;n=n+-4|0;o=b[n>>1]|0;if((e[p>>1]|0)>=(o&65535))break a;q=p;p=c[a+60>>2]|0}}while(0);o=c[a+72>>2]|0;p=e[C+((D&65535)<<6)+50>>1]|0;t=c[a+60>>2]|0;q=b[o+(p<<2)+-4>>1]|0;if((e[o+(p<<2)>>1]|0)<(q&65535)){m=t+((e[o+(p<<2)+2>>1]|0)<<6)+50|0;n=o+(p<<2)+-4|0;r=o+(p<<2)|0;p=q;o=t;while(1){G=e[r+-2>>1]|0;o=(p&1)==0?o+(G<<6)+50|0:o+(G<<6)+56|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16;b[m>>1]=(b[m>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;p=e[n>>1]|e[n+2>>1]<<16;b[r>>1]=p;b[r+2>>1]=p>>>16;b[n>>1]=o;b[n+2>>1]=o>>>16;o=r+-4|0;n=n+-4|0;p=b[n>>1]|0;if((e[o>>1]|0)>=(p&65535))break;r=o;o=c[a+60>>2]|0}o=c[a+72>>2]|0}n=e[C+((D&65535)<<6)+56>>1]|0;p=o+(n<<2)|0;r=b[p+-4>>1]|0;b:do if((e[p>>1]|0)<(r&65535)){G=c[a+60>>2]|0;t=G+((e[o+(n<<2)+2>>1]|0)<<6)+56|0;n=p+-4|0;q=p;o=r;p=G;while(1){G=e[q+-2>>1]|0;p=(o&1)==0?p+(G<<6)+50|0:p+(G<<6)+56|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;p=e[q>>1]|e[q+2>>1]<<16;o=e[n>>1]|e[n+2>>1]<<16;b[q>>1]=o;b[q+2>>1]=o>>>16;b[n>>1]=p;b[n+2>>1]=p>>>16;p=q+-4|0;n=n+-4|0;o=b[n>>1]|0;if((e[p>>1]|0)>=(o&65535))break b;q=p;p=c[a+60>>2]|0}}while(0);Uh(a,2,b[C+((D&65535)<<6)+52>>1]|0);Oh(a,2,b[C+((D&65535)<<6)+58>>1]|0,l);o=c[a+60>>2]|0;n=c[a+108>>2]|0;if(!n){G=o+((D&65535)<<6)|0;return G|0}c[o+((D&65535)<<6)+60>>2]=Ab[c[(c[n>>2]|0)+8>>2]&3](n,d,f,h,i,j,k,l,0)|0;G=o+((D&65535)<<6)|0;return G|0}function qd(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0;s=k;k=k+176|0;if(!(a[b+527>>0]|0)){k=s;return}g[b+36>>2]=0.0;g[b+520>>2]=0.0;g[b+516>>2]=0.0;c[b+576>>2]=0;c[b+576+4>>2]=0;c[b+576+8>>2]=0;c[b+576+12>>2]=0;if(!(a[b+524>>0]|0)){t=c[b+28>>2]|0;h=+g[b+348>>2];i=+g[b+352>>2];o=+g[b+356>>2];q=h*+g[t+20>>2]+i*+g[t+24>>2]+o*+g[t+28>>2]+ +g[t+56>>2];d=c[b+32>>2]|0;j=+g[b+412>>2];l=+g[b+416>>2];p=+g[b+420>>2];r=j*+g[d+20>>2]+l*+g[d+24>>2]+p*+g[d+28>>2]+ +g[d+56>>2];m=j*+g[d+36>>2]+l*+g[d+40>>2]+p*+g[d+44>>2]+ +g[d+60>>2];n=h*+g[t+4>>2]+i*+g[t+8>>2]+o*+g[t+12>>2]+ +g[t+52>>2];o=h*+g[t+36>>2]+i*+g[t+40>>2]+o*+g[t+44>>2]+ +g[t+60>>2];p=j*+g[d+4>>2]+l*+g[d+8>>2]+p*+g[d+12>>2]+ +g[d+52>>2];if((p-n)*(p-n)+(r-q)*(r-q)+(m-o)*(m-o)>1.1920928955078125e-07){f=1.0/+A(+((p-n)*(p-n)+(r-q)*(r-q)+(m-o)*(m-o)));g[s>>2]=(p-n)*f;g[s+4>>2]=(r-q)*f;g[s+8>>2]=(m-o)*f;c[s+12>>2]=0;h=(m-o)*f;e=(r-q)*f;f=(p-n)*f}else{c[s>>2]=1065353216;c[s+4>>2]=0;c[s+8>>2]=0;g[s+12>>2]=0.0;h=0.0;e=0.0;f=1.0}if(+z(+h)>.7071067690849304){v=h*h+e*e;u=1.0/+A(+v);h=-(h*u);i=e*u;l=-(f*i);j=f*h;e=v*u;f=i;i=0.0}else{u=f*f+e*e;j=1.0/+A(+u);i=-(e*j);v=f*j;l=h*i;j=u*j;e=-(h*v);f=0.0;h=v}g[s+16>>2]=i;g[s+20>>2]=h;g[s+24>>2]=f;g[s+32>>2]=e;g[s+36>>2]=l;g[s+40>>2]=j;t=c[b+28>>2]|0;c[s+128>>2]=c[t+4>>2];c[s+128+4>>2]=c[t+20>>2];c[s+128+8>>2]=c[t+36>>2];g[s+128+12>>2]=0.0;c[s+128+16>>2]=c[t+8>>2];c[s+128+20>>2]=c[t+24>>2];c[s+128+24>>2]=c[t+40>>2];g[s+128+28>>2]=0.0;c[s+128+32>>2]=c[t+12>>2];c[s+128+36>>2]=c[t+28>>2];c[s+128+40>>2]=c[t+44>>2];g[s+128+44>>2]=0.0;d=c[b+32>>2]|0;c[s+80>>2]=c[d+4>>2];c[s+80+4>>2]=c[d+20>>2];c[s+80+8>>2]=c[d+36>>2];g[s+80+12>>2]=0.0;c[s+80+16>>2]=c[d+8>>2];c[s+80+20>>2]=c[d+24>>2];c[s+80+24>>2]=c[d+40>>2];g[s+80+28>>2]=0.0;c[s+80+32>>2]=c[d+12>>2];c[s+80+36>>2]=c[d+28>>2];c[s+80+40>>2]=c[d+44>>2];g[s+80+44>>2]=0.0;v=q-+g[t+56>>2];u=o-+g[t+60>>2];g[s+64>>2]=n-+g[t+52>>2];g[s+64+4>>2]=v;g[s+64+8>>2]=u;g[s+64+12>>2]=0.0;u=r-+g[d+56>>2];v=m-+g[d+60>>2];g[s+48>>2]=p-+g[d+52>>2];g[s+48+4>>2]=u;g[s+48+8>>2]=v;g[s+48+12>>2]=0.0;kh(b+48|0,s+128|0,s+80|0,s+64|0,s+48|0,s,t+396|0,+g[t+344>>2],d+396|0,+g[d+344>>2]);d=c[b+28>>2]|0;c[s+128>>2]=c[d+4>>2];c[s+128+4>>2]=c[d+20>>2];c[s+128+8>>2]=c[d+36>>2];g[s+128+12>>2]=0.0;c[s+128+16>>2]=c[d+8>>2];c[s+128+20>>2]=c[d+24>>2];c[s+128+24>>2]=c[d+40>>2];g[s+128+28>>2]=0.0;c[s+128+32>>2]=c[d+12>>2];c[s+128+36>>2]=c[d+28>>2];c[s+128+40>>2]=c[d+44>>2];g[s+128+44>>2]=0.0;t=c[b+32>>2]|0;c[s+80>>2]=c[t+4>>2];c[s+80+4>>2]=c[t+20>>2];c[s+80+8>>2]=c[t+36>>2];g[s+80+12>>2]=0.0;c[s+80+16>>2]=c[t+8>>2];c[s+80+20>>2]=c[t+24>>2];c[s+80+24>>2]=c[t+40>>2];g[s+80+28>>2]=0.0;c[s+80+32>>2]=c[t+12>>2];c[s+80+36>>2]=c[t+28>>2];c[s+80+40>>2]=c[t+44>>2];g[s+80+44>>2]=0.0;v=q-+g[d+56>>2];u=o-+g[d+60>>2];g[s+64>>2]=n-+g[d+52>>2];g[s+64+4>>2]=v;g[s+64+8>>2]=u;g[s+64+12>>2]=0.0;u=r-+g[t+56>>2];v=m-+g[t+60>>2];g[s+48>>2]=p-+g[t+52>>2];g[s+48+4>>2]=u;g[s+48+8>>2]=v;g[s+48+12>>2]=0.0;kh(b+132|0,s+128|0,s+80|0,s+64|0,s+48|0,s+16|0,d+396|0,+g[d+344>>2],t+396|0,+g[t+344>>2]);t=c[b+28>>2]|0;c[s+128>>2]=c[t+4>>2];c[s+128+4>>2]=c[t+20>>2];c[s+128+8>>2]=c[t+36>>2];g[s+128+12>>2]=0.0;c[s+128+16>>2]=c[t+8>>2];c[s+128+20>>2]=c[t+24>>2];c[s+128+24>>2]=c[t+40>>2];g[s+128+28>>2]=0.0;c[s+128+32>>2]=c[t+12>>2];c[s+128+36>>2]=c[t+28>>2];c[s+128+40>>2]=c[t+44>>2];g[s+128+44>>2]=0.0;d=c[b+32>>2]|0;c[s+80>>2]=c[d+4>>2];c[s+80+4>>2]=c[d+20>>2];c[s+80+8>>2]=c[d+36>>2];g[s+80+12>>2]=0.0;c[s+80+16>>2]=c[d+8>>2];c[s+80+20>>2]=c[d+24>>2];c[s+80+24>>2]=c[d+40>>2];g[s+80+28>>2]=0.0;c[s+80+32>>2]=c[d+12>>2];c[s+80+36>>2]=c[d+28>>2];c[s+80+40>>2]=c[d+44>>2];g[s+80+44>>2]=0.0;v=q-+g[t+56>>2];u=o-+g[t+60>>2];g[s+64>>2]=n-+g[t+52>>2];g[s+64+4>>2]=v;g[s+64+8>>2]=u;g[s+64+12>>2]=0.0;u=r-+g[d+56>>2];v=m-+g[d+60>>2];g[s+48>>2]=p-+g[d+52>>2];g[s+48+4>>2]=u;g[s+48+8>>2]=v;g[s+48+12>>2]=0.0;kh(b+216|0,s+128|0,s+80|0,s+64|0,s+48|0,s+32|0,t+396|0,+g[t+344>>2],d+396|0,+g[d+344>>2]);d=b+32|0}else d=b+32|0;w=c[b+28>>2]|0;t=c[d>>2]|0;rc(b,w+4|0,t+4|0,w+264|0,t+264|0);k=s;return}function rd(b,d){b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;m=c[b+28>>2]|0;p=c[b+32>>2]|0;rc(b,m+4|0,p+4|0,m+264|0,p+264|0);s=c[d+8>>2]|0;g[s>>2]=1.0;j=c[d+24>>2]|0;g[s+(j+1<<2)>>2]=1.0;g[s+((j<<1)+2<<2)>>2]=1.0;l=+g[b+348>>2];v=+g[b+352>>2];o=+g[b+356>>2];t=+g[m+4>>2]*l+ +g[m+8>>2]*v+ +g[m+12>>2]*o;n=l*+g[m+20>>2]+v*+g[m+24>>2]+o*+g[m+28>>2];o=l*+g[m+36>>2]+v*+g[m+40>>2]+o*+g[m+44>>2];s=c[d+12>>2]|0;c[s>>2]=0;g[s+4>>2]=o;g[s+8>>2]=-n;g[s+12>>2]=0.0;g[s+(j<<2)>>2]=-o;c[s+(j<<2)+4>>2]=0;g[s+(j<<2)+8>>2]=t;g[s+(j<<2)+12>>2]=0.0;g[s+(j<<1<<2)>>2]=n;g[s+(j<<1<<2)+4>>2]=-t;c[s+(j<<1<<2)+8>>2]=0;g[s+(j<<1<<2)+12>>2]=0.0;q=c[d+16>>2]|0;g[q>>2]=-1.0;g[q+(j+1<<2)>>2]=-1.0;g[q+((j<<1)+2<<2)>>2]=-1.0;v=+g[b+412>>2];l=+g[b+416>>2];k=+g[b+420>>2];u=+g[p+4>>2]*v+ +g[p+8>>2]*l+ +g[p+12>>2]*k;e=v*+g[p+20>>2]+l*+g[p+24>>2]+k*+g[p+28>>2];k=v*+g[p+36>>2]+l*+g[p+40>>2]+k*+g[p+44>>2];q=c[d+20>>2]|0;c[q>>2]=0;g[q+4>>2]=-k;g[q+8>>2]=e;g[q+12>>2]=0.0;g[q+(j<<2)>>2]=k;c[q+(j<<2)+4>>2]=0;g[q+(j<<2)+8>>2]=-u;g[q+(j<<2)+12>>2]=0.0;g[q+(j<<1<<2)>>2]=-e;g[q+(j<<1<<2)+4>>2]=u;c[q+(j<<1<<2)+8>>2]=0;g[q+(j<<1<<2)+12>>2]=0.0;r=c[b+592>>2]|0;l=+g[((r&2|0)==0?d+4|0:b+600|0)>>2]*+g[d>>2];h=c[d+28>>2]|0;f=c[d+36>>2]|0;i=c[d+40>>2]|0;g[h>>2]=l*(u+ +g[p+52>>2]-t-+g[m+52>>2]);g[f>>2]=-3402823466385288598117041.0e14;g[i>>2]=3402823466385288598117041.0e14;if(!(r&1)){g[h+(j<<2)>>2]=l*(e+ +g[p+56>>2]-n-+g[m+56>>2]);g[f+(j<<2)>>2]=-3402823466385288598117041.0e14;g[i+(j<<2)>>2]=3402823466385288598117041.0e14;g[h+(j<<1<<2)>>2]=l*(k+ +g[p+60>>2]-o-+g[m+60>>2]);g[f+(j<<1<<2)>>2]=-3402823466385288598117041.0e14;g[i+(j<<1<<2)>>2]=3402823466385288598117041.0e14}else{w=c[d+32>>2]|0;c[w>>2]=c[b+596>>2];g[h+(j<<2)>>2]=l*(e+ +g[p+56>>2]-n-+g[m+56>>2]);g[f+(j<<2)>>2]=-3402823466385288598117041.0e14;g[i+(j<<2)>>2]=3402823466385288598117041.0e14;c[w+(j<<2)>>2]=c[b+596>>2];g[h+(j<<1<<2)>>2]=l*(k+ +g[p+60>>2]-o-+g[m+60>>2]);g[f+(j<<1<<2)>>2]=-3402823466385288598117041.0e14;g[i+(j<<1<<2)>>2]=3402823466385288598117041.0e14;c[w+(j<<1<<2)>>2]=c[b+596>>2]}do if(!(a[b+526>>0]|0))j=j*3|0;else{v=+g[b+456>>2];if(+g[b+444>>2]<v?+g[b+448>>2]<v:0){A=+g[m+4>>2];z=+g[m+8>>2];y=+g[m+12>>2];E=+g[b+304>>2];D=+g[b+320>>2];C=+g[b+336>>2];l=+g[b+308>>2];o=+g[b+324>>2];u=+g[b+340>>2];x=+g[m+20>>2];e=+g[m+24>>2];k=+g[m+28>>2];n=+g[m+36>>2];t=+g[m+40>>2];v=+g[m+44>>2];g[s+(j*3<<2)>>2]=A*E+z*D+y*C;g[s+((j*3|0)+1<<2)>>2]=E*x+D*e+C*k;g[s+((j*3|0)+2<<2)>>2]=E*n+D*t+C*v;g[s+(j<<2<<2)>>2]=A*l+z*o+y*u;g[s+((j<<2|1)<<2)>>2]=l*x+o*e+u*k;g[s+((j<<2|2)<<2)>>2]=l*n+o*t+u*v;g[q+(j*3<<2)>>2]=-(A*E+z*D+y*C);g[q+((j*3|0)+1<<2)>>2]=-(E*x+D*e+C*k);g[q+((j*3|0)+2<<2)>>2]=-(E*n+D*t+C*v);g[q+(j<<2<<2)>>2]=-(A*l+z*o+y*u);g[q+((j<<2|1)<<2)>>2]=-(l*x+o*e+u*k);g[q+((j<<2|2)<<2)>>2]=-(l*n+o*t+u*v);B=+g[d>>2]*+g[b+436>>2];h=c[d+28>>2]|0;g[h+(j*3<<2)>>2]=B*((A*E+z*D+y*C)*+g[b+460>>2]+(E*x+D*e+C*k)*+g[b+464>>2]+(E*n+D*t+C*v)*+g[b+468>>2]);g[h+(j<<2<<2)>>2]=B*((A*l+z*o+y*u)*+g[b+460>>2]+(l*x+o*e+u*k)*+g[b+464>>2]+(l*n+o*t+u*v)*+g[b+468>>2]);f=c[d+36>>2]|0;g[f+(j*3<<2)>>2]=-3402823466385288598117041.0e14;i=c[d+40>>2]|0;g[i+(j*3<<2)>>2]=3402823466385288598117041.0e14;g[f+(j<<2<<2)>>2]=-3402823466385288598117041.0e14;g[i+(j<<2<<2)>>2]=3402823466385288598117041.0e14;j=j*5|0;break}E=+g[b+436>>2];C=E*+g[b+460>>2]*E;D=E*E*+g[b+464>>2];E=E*E*+g[b+468>>2];g[s+(j*3<<2)>>2]=C;g[s+((j*3|0)+1<<2)>>2]=D;g[s+((j*3|0)+2<<2)>>2]=E;g[q+(j*3<<2)>>2]=-C;g[q+((j*3|0)+1<<2)>>2]=-D;g[q+((j*3|0)+2<<2)>>2]=-E;g[h+(j*3<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+504>>2];if(r&4|0)c[(c[d+32>>2]|0)+(j*3<<2)>>2]=c[b+604>>2];g[f+(j*3<<2)>>2]=0.0;g[i+(j*3<<2)>>2]=3402823466385288598117041.0e14;j=j<<2}while(0);if(!(a[b+525>>0]|0))return;E=+g[b+436>>2];C=E*+g[b+476>>2]*E;D=E*E*+g[b+480>>2];E=E*E*+g[b+484>>2];g[s+(j<<2)>>2]=C;p=j+1|0;g[s+(p<<2)>>2]=D;w=j+2|0;g[s+(w<<2)>>2]=E;g[q+(j<<2)>>2]=-C;g[q+(p<<2)>>2]=-D;g[q+(w<<2)>>2]=-E;g[h+(j<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+508>>2];if(r&4|0)c[(c[d+32>>2]|0)+(j<<2)>>2]=c[b+604>>2];do if(+g[b+452>>2]>0.0){f=f+(j<<2)|0;if(+g[b+508>>2]>0.0){g[f>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[f>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[f+(j<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[i+(j<<2)>>2]=e;return}function sd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0;B=k;k=k+272|0;c[B+128>>2]=c[d>>2];c[B+128+4>>2]=c[d+4>>2];c[B+128+8>>2]=c[d+8>>2];c[B+128+12>>2]=c[d+12>>2];c[B+128+16>>2]=c[d+16>>2];c[B+128+16+4>>2]=c[d+16+4>>2];c[B+128+16+8>>2]=c[d+16+8>>2];c[B+128+16+12>>2]=c[d+16+12>>2];c[B+128+32>>2]=c[d+32>>2];c[B+128+32+4>>2]=c[d+32+4>>2];c[B+128+32+8>>2]=c[d+32+8>>2];c[B+128+32+12>>2]=c[d+32+12>>2];c[B+128+48>>2]=c[d+48>>2];c[B+128+48+4>>2]=c[d+48+4>>2];c[B+128+48+8>>2]=c[d+48+8>>2];c[B+128+48+12>>2]=c[d+48+12>>2];c[B+64>>2]=c[e>>2];c[B+64+4>>2]=c[e+4>>2];c[B+64+8>>2]=c[e+8>>2];c[B+64+12>>2]=c[e+12>>2];c[B+64+16>>2]=c[e+16>>2];c[B+64+16+4>>2]=c[e+16+4>>2];c[B+64+16+8>>2]=c[e+16+8>>2];c[B+64+16+12>>2]=c[e+16+12>>2];c[B+64+32>>2]=c[e+32>>2];c[B+64+32+4>>2]=c[e+32+4>>2];c[B+64+32+8>>2]=c[e+32+8>>2];c[B+64+32+12>>2]=c[e+32+12>>2];c[B+64+48>>2]=c[e+48>>2];c[B+64+48+4>>2]=c[e+48+4>>2];c[B+64+48+8>>2]=c[e+48+8>>2];c[B+64+48+12>>2]=c[e+48+12>>2];i=+g[B+64+52>>2]-+g[B+128+52>>2];G=+g[B+64+56>>2]-+g[B+128+56>>2];g[B+16>>2]=+g[B+64+48>>2]-+g[B+128+48>>2];g[B+16+4>>2]=i;g[B+16+8>>2]=G;g[B+16+12>>2]=0.0;Tf(B+128|0,B+64|0,B+208|0,B+192|0);G=+g[B+192>>2];i=G*+g[B+208+4>>2];D=G*+g[B+208+8>>2];g[B>>2]=+g[B+208>>2]*G;g[B+4>>2]=i;g[B+8>>2]=D;g[B+12>>2]=0.0;c[B+208+48>>2]=0;c[B+208+48+4>>2]=0;c[B+208+48+8>>2]=0;c[B+208+48+12>>2]=0;Vh(B+128|0,B+192|0);D=+g[B+192>>2];i=+g[B+192+4>>2];G=+g[B+192+8>>2];E=+g[B+192+12>>2];C=D*(2.0/(D*D+i*i+G*G+E*E));j=i*(2.0/(D*D+i*i+G*G+E*E));F=G*(2.0/(D*D+i*i+G*G+E*E));g[B+208>>2]=1.0-(i*j+G*F);g[B+208+4>>2]=D*j-E*F;g[B+208+8>>2]=D*F+E*j;g[B+208+12>>2]=0.0;g[B+208+16>>2]=D*j+E*F;g[B+208+20>>2]=1.0-(D*C+G*F);g[B+208+24>>2]=i*F-E*C;g[B+208+28>>2]=0.0;g[B+208+32>>2]=D*F-E*j;g[B+208+36>>2]=i*F+E*C;g[B+208+40>>2]=1.0-(D*C+i*j);g[B+208+44>>2]=0.0;Eh(b,B+208|0,B+16|0,B,B+48|0,B+32|0);if((c[a+268>>2]|0)<=0){k=B;return}l=0;do{m=c[(c[a+276>>2]|0)+(l<<2)>>2]|0;if(vb[c[(c[f>>2]|0)+8>>2]&31](f,c[m+188>>2]|0)|0?(z=c[m+192>>2]|0,Qb[c[(c[z>>2]|0)+8>>2]&127](z,m+4|0,B+192|0,B+16|0),n=+g[B+192>>2]+ +g[B+48>>2],o=+g[B+192+4>>2]+ +g[B+48+4>>2],p=+g[B+192+8>>2]+ +g[B+48+8>>2],g[B+192>>2]=n,g[B+192+4>>2]=o,g[B+192+8>>2]=p,g[B+192+12>>2]=0.0,q=+g[B+16>>2]+ +g[B+32>>2],r=+g[B+16+4>>2]+ +g[B+32+4>>2],s=+g[B+16+8>>2]+ +g[B+32+8>>2],g[B+16>>2]=q,g[B+16+4>>2]=r,g[B+16+8>>2]=s,g[B+16+12>>2]=0.0,t=+g[d+48>>2]-(q+n)*.5,u=+g[d+52>>2]-(r+o)*.5,v=+g[d+56>>2]-(s+p)*.5,w=+g[e+48>>2]-(q+n)*.5,x=+g[e+52>>2]-(r+o)*.5,y=+g[e+56>>2]-(s+p)*.5,z=(t>(q-n)*.5?8:0)|t<-((q-n)*.5)|(u<-((r-o)*.5)?2:0)|(u>(r-o)*.5?16:0)|(v<-((s-p)*.5)?4:0)|(v>(s-p)*.5?32:0),A=(w>(q-n)*.5?8:0)|w<-((q-n)*.5)|(x<-((r-o)*.5)?2:0)|(x>(r-o)*.5?16:0)|(y<-((s-p)*.5)?4:0)|(y>(s-p)*.5?32:0),(A&z|0)==0):0){if(t<-((q-n)*.5))if(!((-t-(q-n)*.5)/(w-t)>=0.0)){i=0.0;j=1.0}else{i=(-t-(q-n)*.5)/(w-t);j=1.0}else if(w<-((q-n)*.5)?(-t-(q-n)*.5)/(w-t)<1.0:0){i=0.0;j=(-t-(q-n)*.5)/(w-t)}else{i=0.0;j=1.0}if(u<-((r-o)*.5)){if(i<=(-u-(r-o)*.5)/(x-u))i=(-u-(r-o)*.5)/(x-u)}else if(x<-((r-o)*.5)?(-u-(r-o)*.5)/(x-u)<j:0)j=(-u-(r-o)*.5)/(x-u);if(v<-((s-p)*.5)){if(i<=(-v-(s-p)*.5)/(y-v))i=(-v-(s-p)*.5)/(y-v)}else if(y<-((s-p)*.5)?(-v-(s-p)*.5)/(y-v)<j:0)j=(-v-(s-p)*.5)/(y-v);if(t>(q-n)*.5){if(i<=((q-n)*.5-t)/(w-t))i=((q-n)*.5-t)/(w-t)}else if(w>(q-n)*.5?((q-n)*.5-t)/(w-t)<j:0)j=((q-n)*.5-t)/(w-t);if(u>(r-o)*.5){if(i<=((r-o)*.5-u)/(x-u))i=((r-o)*.5-u)/(x-u)}else if(x>(r-o)*.5?((r-o)*.5-u)/(x-u)<j:0)j=((r-o)*.5-u)/(x-u);if(!(z&32)){if((A&32|0)!=0?((s-p)*.5-v)/(y-v)<j:0)j=((s-p)*.5-v)/(y-v)}else if(i<=((s-p)*.5-v)/(y-v))i=((s-p)*.5-v)/(y-v);if(i<=j){H=c[m+192>>2]|0;c[B+208>>2]=0;c[B+208+4>>2]=H;c[B+208+8>>2]=m;c[B+208+12>>2]=m+4;c[B+208+16>>2]=-1;c[B+208+20>>2]=-1;uc(b,B+128|0,B+64|0,B+208|0,f,h)}}l=l+1|0}while((l|0)<(c[a+268>>2]|0));k=B;return}function td(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,B=0.0,C=0,D=0;if((j|0)<2|(k|0)<2){m=0;return m|0}p=M(k,j)|0;c[7584]=(c[7584]|0)+1;b=lc(p>>>0>268435455?18:(p<<4|3)+16|0)|0;if(!b)q=0;else{c[(b+4+15&-16)+-4>>2]=b;q=b+4+15&-16}r=vK(p>>>0>1073741823?-1:p<<2)|0;b=0;do{B=+(b|0)/+(k+-1|0);s=+g[e>>2];s=s+B*(+g[h>>2]-s);t=+g[e+4>>2];t=t+B*(+g[h+4>>2]-t);u=+g[e+8>>2];u=u+B*(+g[h+8>>2]-u);v=+g[f>>2];w=+g[f+4>>2];x=+g[f+8>>2];v=v+B*(+g[i>>2]-v)-s;w=w+B*(+g[i+4>>2]-w)-t;x=x+B*(+g[i+8>>2]-x)-u;o=M(b,j)|0;n=0;do{B=+(n|0)/+(j+-1|0);z=n+o|0;g[q+(z<<4)>>2]=s+v*B;g[q+(z<<4)+4>>2]=t+w*B;g[q+(z<<4)+8>>2]=u+x*B;g[q+(z<<4)+12>>2]=0.0;g[r+(z<<2)>>2]=1.0;n=n+1|0}while((n|0)!=(j|0));b=b+1|0}while((b|0)!=(k|0));c[7584]=(c[7584]|0)+1;b=lc(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}xc(b,d,p,q,r);if(l&1|0){g[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){g[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){z=M(k+-1|0,j)|0;g[(c[b+720>>2]|0)+(z*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(!(l&8)){y=b+720|0;z=b+924|0}else{z=j+-1+(M(k+-1|0,j)|0)|0;y=b+720|0;g[(c[y>>2]|0)+(z*104|0)+88>>2]=0.0;z=b+924|0;a[z>>0]=1}c[7585]=(c[7585]|0)+1;Bd(c[q+-4>>2]|0);wK(r);r=b+732|0;l=b+740|0;n=0;do a:do if((j|0)>0){q=M(n,j)|0;d=n+1|0;f=M(d,j)|0;if((d|0)>=(k|0)){n=0;while(1){o=n;n=n+1|0;if((n|0)<(j|0)){h=n+q|0;f=c[y>>2]|0;xi(b,0);p=(c[r>>2]|0)+-1|0;i=c[l>>2]|0;c[i+(p*52|0)+8>>2]=f+((o+q|0)*104|0);c[i+(p*52|0)+12>>2]=f+(h*104|0);w=+g[f+((o+q|0)*104|0)+8>>2]-+g[f+(h*104|0)+8>>2];x=+g[f+((o+q|0)*104|0)+12>>2]-+g[f+(h*104|0)+12>>2];B=+g[f+((o+q|0)*104|0)+16>>2]-+g[f+(h*104|0)+16>>2];g[i+(p*52|0)+16>>2]=+A(+(w*w+x*x+B*B));a[z>>0]=1}if((n|0)==(j|0)){n=d;break a}}}o=0;do{h=o+q|0;e=o;o=o+1|0;do if((o|0)<(j|0)){i=o+q|0;C=c[y>>2]|0;xi(b,0);D=(c[r>>2]|0)+-1|0;p=c[l>>2]|0;c[p+(D*52|0)+8>>2]=C+(h*104|0);c[p+(D*52|0)+12>>2]=C+(i*104|0);B=+g[C+(h*104|0)+8>>2]-+g[C+(i*104|0)+8>>2];x=+g[C+(h*104|0)+12>>2]-+g[C+(i*104|0)+12>>2];w=+g[C+(h*104|0)+16>>2]-+g[C+(i*104|0)+16>>2];g[p+(D*52|0)+16>>2]=+A(+(B*B+x*x+w*w));a[z>>0]=1;D=c[y>>2]|0;xi(b,0);p=(c[r>>2]|0)+-1|0;C=c[l>>2]|0;c[C+(p*52|0)+8>>2]=D+(h*104|0);c[C+(p*52|0)+12>>2]=D+((e+f|0)*104|0);w=+g[D+(h*104|0)+8>>2]-+g[D+((e+f|0)*104|0)+8>>2];x=+g[D+(h*104|0)+12>>2]-+g[D+((e+f|0)*104|0)+12>>2];B=+g[D+(h*104|0)+16>>2]-+g[D+((e+f|0)*104|0)+16>>2];g[C+(p*52|0)+16>>2]=+A(+(w*w+x*x+B*B));a[z>>0]=1;if(!(e+n&1)){ng(b,e+f|0,h,i,0);ng(b,e+f|0,i,o+f|0,0);if(!m)break;p=c[y>>2]|0;xi(b,0);D=(c[r>>2]|0)+-1|0;C=c[l>>2]|0;c[C+(D*52|0)+8>>2]=p+(i*104|0);c[C+(D*52|0)+12>>2]=p+((e+f|0)*104|0);w=+g[p+(i*104|0)+8>>2]-+g[p+((e+f|0)*104|0)+8>>2];x=+g[p+(i*104|0)+12>>2]-+g[p+((e+f|0)*104|0)+12>>2];B=+g[p+(i*104|0)+16>>2]-+g[p+((e+f|0)*104|0)+16>>2];g[C+(D*52|0)+16>>2]=+A(+(w*w+x*x+B*B));a[z>>0]=1;break}else{p=o+f|0;ng(b,h,i,p,0);ng(b,h,p,e+f|0,0);if(!m)break;i=c[y>>2]|0;xi(b,0);D=(c[r>>2]|0)+-1|0;C=c[l>>2]|0;c[C+(D*52|0)+8>>2]=i+(h*104|0);c[C+(D*52|0)+12>>2]=i+(p*104|0);w=+g[i+(h*104|0)+8>>2]-+g[i+(p*104|0)+8>>2];x=+g[i+(h*104|0)+12>>2]-+g[i+(p*104|0)+12>>2];B=+g[i+(h*104|0)+16>>2]-+g[i+(p*104|0)+16>>2];g[C+(D*52|0)+16>>2]=+A(+(w*w+x*x+B*B));a[z>>0]=1;break}}else{p=c[y>>2]|0;xi(b,0);D=(c[r>>2]|0)+-1|0;C=c[l>>2]|0;c[C+(D*52|0)+8>>2]=p+(h*104|0);c[C+(D*52|0)+12>>2]=p+((e+f|0)*104|0);w=+g[p+(h*104|0)+8>>2]-+g[p+((e+f|0)*104|0)+8>>2];x=+g[p+(h*104|0)+12>>2]-+g[p+((e+f|0)*104|0)+12>>2];B=+g[p+(h*104|0)+16>>2]-+g[p+((e+f|0)*104|0)+16>>2];g[C+(D*52|0)+16>>2]=+A(+(w*w+x*x+B*B));a[z>>0]=1}while(0)}while((o|0)!=(j|0));n=d}else n=n+1|0;while(0);while((n|0)!=(k|0));return b|0}function ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=c[a+8>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if((c[e+236>>2]|0)==1){Jb[c[(c[e>>2]|0)+24>>2]&127](e,b);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));h=d;if((h|0)<=0)return;i=0;o=0;s=0;r=0;g=0;f=0;y=0;x=0;w=0;e=0;q=0;p=0;d=0;l=0;n=0;while(1){z=c[(c[(c[a+16>>2]|0)+(i<<2)>>2]|0)+192>>2]|0;t=((10?~(z<<15)+z>>10:~(z<<15)+z|0)^~(z<<15)+z)*9|0;t=(6?t>>6:t)^t;t=(16?t+~(t<<11)>>16:t+~(t<<11)|0)^t+~(t<<11);j=t&p+-1;a:do if(j>>>0<y>>>0?(A=c[f+(j<<2)>>2]|0,(A|0)!=-1):0){j=A;while(1){if((c[g+(j<<3)>>2]|0)==(z|0))break;j=c[e+(j<<2)>>2]|0;if((j|0)==-1){F=14;break a}}if(d+(j<<2)|0){j=y;m=x;k=w}else F=14}else F=14;while(0);if((F|0)==14){F=0;m=t&p+-1;b:do if(m>>>0<y>>>0?(B=c[f+(m<<2)>>2]|0,(B|0)!=-1):0){h=B;while(1){if((c[g+(h<<3)>>2]|0)==(z|0))break;h=c[e+(h<<2)>>2]|0;if((h|0)==-1){F=20;break b}}c[d+(h<<2)>>2]=z;j=y;m=x;k=w}else F=20;while(0);if((F|0)==20){F=0;do if((q|0)==(p|0)){j=(p|0)==0?1:p<<1;if((p|0)<(j|0)){if((j|0)!=0?(c[7584]=(c[7584]|0)+1,E=lc((j<<2|3)+16|0)|0,(E|0)!=0):0){c[(E+4+15&-16)+-4>>2]=E;k=E+4+15&-16}else k=0;if((p|0)<=0){if(!d){v=j;d=k;h=p;break}}else{h=0;do{c[k+(h<<2)>>2]=c[d+(h<<2)>>2];h=h+1|0}while((h|0)!=(p|0))}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);v=j;d=k;h=p}else{v=p;h=p}}else{v=p;h=q}while(0);c[d+(h<<2)>>2]=z;u=h+1|0;do if((s|0)==(r|0)){j=(s|0)==0?1:s<<1;if((s|0)<(j|0)){if((j|0)!=0?(c[7584]=(c[7584]|0)+1,C=lc((j<<3|3)+16|0)|0,(C|0)!=0):0){c[(C+4+15&-16)+-4>>2]=C;k=C+4+15&-16}else k=0;if((s|0)<=0){if(!g){r=j;g=k;break}}else{h=0;do{H=g+(h<<3)|0;G=c[H+4>>2]|0;r=k+(h<<3)|0;c[r>>2]=c[H>>2];c[r+4>>2]=G;h=h+1|0}while((h|0)!=(s|0))}c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0);r=j;g=k}else r=s}while(0);H=g+(s<<3)|0;c[H>>2]=z;c[H+4>>2]=0;s=s+1|0;if((p|0)<(v|0)){if((y|0)<(v|0)){do if((o|0)<(v|0)){if((v|0)!=0?(c[7584]=(c[7584]|0)+1,D=lc((v<<2|3)+16|0)|0,(D|0)!=0):0){c[(D+4+15&-16)+-4>>2]=D;j=D+4+15&-16}else j=0;if((y|0)<=0){if(!f){o=v;f=j;n=j;break}}else{h=0;do{c[j+(h<<2)>>2]=c[f+(h<<2)>>2];h=h+1|0}while((h|0)!=(y|0))}c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);o=v;f=j;n=j}while(0);m=v<<2;Bl(f+(y<<2)|0,0,m-(y<<2)|0)|0;if((x|0)<(v|0)){do if((w|0)<(v|0)){do if(!v)j=0;else{c[7584]=(c[7584]|0)+1;h=lc((m|3)+16|0)|0;if(!h){j=0;break}c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}while(0);if((x|0)<=0){if(!e){k=v;e=j;h=j;break}}else{h=0;do{c[j+(h<<2)>>2]=c[e+(h<<2)>>2];h=h+1|0}while((h|0)!=(x|0))}c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);k=v;e=j;h=j}else{k=w;h=l}while(0);Bl(e+(x<<2)|0,0,m-(x<<2)|0)|0;l=h}else k=w;if((v|0)>0){Bl(n|0,-1,m|0)|0;Bl(l|0,-1,m|0)|0}if((y|0)>0){j=v+-1|0;h=0;do{H=c[g+(h<<3)>>2]|0;H=((10?H+~(H<<15)>>10:H+~(H<<15)|0)^H+~(H<<15))*9|0;H=(6?H>>6:H)^H;H=f+((((16?H+~(H<<11)>>16:H+~(H<<11)|0)^H+~(H<<11))&j)<<2)|0;c[e+(h<<2)>>2]=c[H>>2];c[H>>2]=h;h=h+1|0}while((h|0)!=(y|0));j=v;m=v;h=n}else{j=v;m=v;h=n}}else{j=y;m=x;k=w;h=n}p=t&v+-1}else{p=m;j=y;m=x;k=w;h=n}p=f+(p<<2)|0;c[e+(q<<2)>>2]=c[p>>2];c[p>>2]=q;q=u;p=v;n=h}Jb[c[(c[z>>2]|0)+60>>2]&127](z,b);h=c[a+8>>2]|0}i=i+1|0;if((i|0)>=(h|0))break;y=j;x=m;w=k}if(g|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}if(e|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}if(!f)return;c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);return}function vd(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+108>>2]|0;if(g|0)Nb[c[(c[g>>2]|0)+12>>2]&127](g,c[d+60>>2]|0,f);o=c[d+12>>2]|0;m=c[a+60>>2]|0;n=c[a+92>>2]|0;if(!(tb[c[(c[n>>2]|0)+56>>2]&255](n)|0)){n=c[a+92>>2]|0;Nb[c[(c[n>>2]|0)+16>>2]&127](n,m+((o&65535)<<6)|0,f)}n=e[a+56>>1]|0;d=c[a+60>>2]|0;b[d+54>>1]=(e[d+54>>1]|0)+65534;b[d+56>>1]=(e[d+56>>1]|0)+65534;b[d+58>>1]=(e[d+58>>1]|0)+65534;l=c[a+68>>2]|0;g=b[a+6>>1]|0;f=e[m+((o&65535)<<6)+54>>1]|0;b[l+(f<<2)>>1]=g;h=b[l+(f<<2)+6>>1]|0;if(!(h<<16>>16))f=l;else{j=d+((e[l+(f<<2)+2>>1]|0)<<6)+54|0;i=l+(f<<2)|0;while(1){f=i;i=i+4|0;d=b[i>>1]|0;if((g&65535)<(d&65535))break;g=c[a+60>>2]|0;k=h&65535;d=(d&1)==0?g+(k<<6)+48|0:g+(k<<6)+54|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;d=e[f>>1]|e[f+2>>1]<<16;k=e[i>>1]|e[i+2>>1]<<16;b[f>>1]=k;b[f+2>>1]=k>>>16;b[i>>1]=d;b[i+2>>1]=d>>>16;h=b[f+10>>1]|0;if(!(h<<16>>16))break;else g=d&65535}g=b[a+6>>1]|0;f=c[a+68>>2]|0}d=e[m+((o&65535)<<6)+48>>1]|0;b[l+(d<<2)>>1]=g;i=f+(d<<2)|0;h=b[i+6>>1]|0;if(h<<16>>16){k=(c[a+60>>2]|0)+((e[f+(d<<2)+2>>1]|0)<<6)+48|0;j=i;f=b[i>>1]|0;while(1){g=j;j=j+4|0;d=b[j>>1]|0;if((f&65535)<(d&65535))break;f=c[a+60>>2]|0;i=h&65535;d=(d&1)==0?f+(i<<6)+48|0:f+(i<<6)+54|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+1<<16>>16;d=e[g>>1]|e[g+2>>1]<<16;i=e[j>>1]|e[j+2>>1]<<16;b[g>>1]=i;b[g+2>>1]=i>>>16;b[j>>1]=d;b[j+2>>1]=d>>>16;h=b[g+10>>1]|0;if(!(h<<16>>16))break;else f=d&65535}g=b[a+6>>1]|0}b[l+((n<<1)+-1<<2)+2>>1]=0;b[l+((n<<1)+-1<<2)>>1]=g;l=c[a+72>>2]|0;d=e[m+((o&65535)<<6)+56>>1]|0;b[l+(d<<2)>>1]=g;f=b[l+(d<<2)+6>>1]|0;if(!(f<<16>>16))f=l;else{j=(c[a+60>>2]|0)+((e[l+(d<<2)+2>>1]|0)<<6)+56|0;i=l+(d<<2)|0;while(1){h=i;i=i+4|0;d=b[i>>1]|0;if((g&65535)<(d&65535))break;g=c[a+60>>2]|0;k=f&65535;d=(d&1)==0?g+(k<<6)+50|0:g+(k<<6)+56|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;d=e[h>>1]|e[h+2>>1]<<16;k=e[i>>1]|e[i+2>>1]<<16;b[h>>1]=k;b[h+2>>1]=k>>>16;b[i>>1]=d;b[i+2>>1]=d>>>16;f=b[h+10>>1]|0;if(!(f<<16>>16))break;else g=d&65535}g=b[a+6>>1]|0;f=c[a+72>>2]|0}d=e[m+((o&65535)<<6)+50>>1]|0;b[l+(d<<2)>>1]=g;h=f+(d<<2)|0;i=b[h+6>>1]|0;if(i<<16>>16){k=(c[a+60>>2]|0)+((e[f+(d<<2)+2>>1]|0)<<6)+50|0;j=h;f=b[h>>1]|0;h=i;while(1){g=j;j=j+4|0;d=b[j>>1]|0;if((f&65535)<(d&65535))break;f=c[a+60>>2]|0;i=h&65535;d=(d&1)==0?f+(i<<6)+50|0:f+(i<<6)+56|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+1<<16>>16;d=e[g>>1]|e[g+2>>1]<<16;i=e[j>>1]|e[j+2>>1]<<16;b[g>>1]=i;b[g+2>>1]=i>>>16;b[j>>1]=d;b[j+2>>1]=d>>>16;h=b[g+10>>1]|0;if(!(h<<16>>16))break;else f=d&65535}g=b[a+6>>1]|0}b[l+((n<<1)+-1<<2)+2>>1]=0;b[l+((n<<1)+-1<<2)>>1]=g;l=c[a+76>>2]|0;d=e[m+((o&65535)<<6)+58>>1]|0;b[l+(d<<2)>>1]=g;f=b[l+(d<<2)+6>>1]|0;if(!(f<<16>>16))f=l;else{j=(c[a+60>>2]|0)+((e[l+(d<<2)+2>>1]|0)<<6)+58|0;i=l+(d<<2)|0;while(1){h=i;i=i+4|0;d=b[i>>1]|0;if((g&65535)<(d&65535))break;g=c[a+60>>2]|0;k=f&65535;d=(d&1)==0?g+(k<<6)+52|0:g+(k<<6)+58|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;d=e[h>>1]|e[h+2>>1]<<16;k=e[i>>1]|e[i+2>>1]<<16;b[h>>1]=k;b[h+2>>1]=k>>>16;b[i>>1]=d;b[i+2>>1]=d>>>16;f=b[h+10>>1]|0;if(!(f<<16>>16))break;else g=d&65535}g=b[a+6>>1]|0;f=c[a+76>>2]|0}d=e[m+((o&65535)<<6)+52>>1]|0;b[l+(d<<2)>>1]=g;h=f+(d<<2)|0;i=b[h+6>>1]|0;if(!(i<<16>>16)){k=g;m=l+((n<<1)+-1<<2)+2|0;b[m>>1]=0;m=l+((n<<1)+-1<<2)|0;b[m>>1]=k;m=c[a+60>>2]|0;n=a+64|0;l=b[n>>1]|0;m=m+((o&65535)<<6)+48|0;b[m>>1]=l;b[n>>1]=o;o=b[a+56>>1]|0;o=o+-1<<16>>16;b[a+56>>1]=o;return}k=(c[a+60>>2]|0)+((e[f+(d<<2)+2>>1]|0)<<6)+52|0;j=h;f=b[h>>1]|0;h=i;while(1){g=j;j=j+4|0;d=b[j>>1]|0;if((f&65535)<(d&65535))break;i=c[a+60>>2]|0;m=h&65535;d=(d&1)==0?i+(m<<6)+52|0:i+(m<<6)+58|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+1<<16>>16;d=e[g>>1]|e[g+2>>1]<<16;m=e[j>>1]|e[j+2>>1]<<16;b[g>>1]=m;b[g+2>>1]=m>>>16;b[j>>1]=d;b[j+2>>1]=d>>>16;h=b[g+10>>1]|0;if(!(h<<16>>16))break;else f=d&65535}k=b[a+6>>1]|0;m=l+((n<<1)+-1<<2)+2|0;b[m>>1]=0;m=l+((n<<1)+-1<<2)|0;b[m>>1]=k;m=c[a+60>>2]|0;n=a+64|0;l=b[n>>1]|0;m=m+((o&65535)<<6)+48|0;b[m>>1]=l;b[n>>1]=o;o=b[a+56>>1]|0;o=o+-1<<16>>16;b[a+56>>1]=o;return}function wd(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=k;k=k+64|0;g[d+20>>2]=+h[e+32>>3];g[d+24>>2]=+h[e+40>>3];g[d+28>>2]=+h[e+48>>3];g[d+32>>2]=+h[e+56>>3];g[d+4>>2]=+h[e>>3];g[d+8>>2]=+h[e+8>>3];g[d+12>>2]=+h[e+16>>3];g[d+16>>2]=+h[e+24>>3];g[d+36>>2]=+h[e+64>>3];g[d+40>>2]=+h[e+72>>3];g[d+44>>2]=+h[e+80>>3];g[d+48>>2]=+h[e+88>>3];c[d+56>>2]=c[e+96>>2];a[d+60>>0]=(c[e+100>>2]|0)!=0&1;p=c[e+104>>2]|0;l=q;n=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));o=c[d+88>>2]|0;if((o|0)<(p|0)){if((c[d+92>>2]|0)<(p|0)){if(!p){f=0;j=o}else{c[7584]=(c[7584]|0)+1;f=lc(p<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+88>>2]|0}if((j|0)>0){i=0;do{l=f+(i<<6)|0;m=(c[d+96>>2]|0)+(i<<6)|0;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i=i+1|0}while((i|0)!=(j|0))}i=c[d+96>>2]|0;if(i|0){if(a[d+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=p;i=d+96|0}else i=d+96|0;f=o;do{l=(c[i>>2]|0)+(f<<6)|0;m=q;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));f=f+1|0}while((f|0)!=(p|0))}c[d+88>>2]=p;if((p|0)>0){j=c[d+96>>2]|0;f=c[e+112>>2]|0;i=0;while(1){g[j+(i<<6)+16>>2]=+h[f+32>>3];g[j+(i<<6)+20>>2]=+h[f+40>>3];g[j+(i<<6)+24>>2]=+h[f+48>>3];g[j+(i<<6)+28>>2]=+h[f+56>>3];g[j+(i<<6)>>2]=+h[f>>3];g[j+(i<<6)+4>>2]=+h[f+8>>3];g[j+(i<<6)+8>>2]=+h[f+16>>3];g[j+(i<<6)+12>>2]=+h[f+24>>3];c[j+(i<<6)+32>>2]=c[f+64>>2];c[j+(i<<6)+36>>2]=c[f+68>>2];c[j+(i<<6)+40>>2]=c[f+72>>2];i=i+1|0;if((i|0)==(p|0))break;else f=f+80|0}}m=c[e+108>>2]|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;l=c[d+128>>2]|0;if((l|0)<(m|0)){if((c[d+132>>2]|0)<(m|0)){if(!m){f=0;j=l}else{c[7584]=(c[7584]|0)+1;f=lc((m<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+128>>2]|0}if((j|0)>0){i=0;do{p=f+(i<<4)|0;o=(c[d+136>>2]|0)+(i<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[d+136>>2]|0;if(i|0){if(a[d+140>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=m;i=d+136|0}else i=d+136|0;f=l;do{p=(c[i>>2]|0)+(f<<4)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];f=f+1|0}while((f|0)!=(m|0))}c[d+128>>2]=m;if((m|0)>0){j=c[d+136>>2]|0;f=0;i=c[e+116>>2]|0;while(1){c[j+(f<<4)+12>>2]=c[i+12>>2];b[j+(f<<4)+6>>1]=b[i+6>>1]|0;b[j+(f<<4)+8>>1]=b[i+8>>1]|0;b[j+(f<<4)+10>>1]=b[i+10>>1]|0;b[j+(f<<4)>>1]=b[i>>1]|0;b[j+(f<<4)+2>>1]=b[i+2>>1]|0;b[j+(f<<4)+4>>1]=b[i+4>>1]|0;f=f+1|0;if((f|0)==(m|0))break;else i=i+16|0}}c[d+144>>2]=c[e+120>>2];m=c[e+124>>2]|0;l=c[d+152>>2]|0;if((l|0)<(m|0)){if((c[d+156>>2]|0)<(m|0)){if(!m){f=0;j=l}else{c[7584]=(c[7584]|0)+1;f=lc(m<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+152>>2]|0}if((j|0)>0){i=0;do{p=f+(i<<5)|0;o=(c[d+160>>2]|0)+(i<<5)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[d+160>>2]|0;if(i|0){if(a[d+164>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=m;i=d+160|0}else i=d+160|0;f=l;do{p=(c[i>>2]|0)+(f<<5)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];c[p+16>>2]=c[q+16>>2];c[p+20>>2]=c[q+20>>2];c[p+24>>2]=c[q+24>>2];c[p+28>>2]=c[q+28>>2];f=f+1|0}while((f|0)!=(m|0))}c[d+152>>2]=m;if((m|0)<=0){k=q;return}j=c[d+160>>2]|0;i=0;f=c[e+128>>2]|0;while(1){b[j+(i<<5)+6>>1]=b[f+14>>1]|0;b[j+(i<<5)+8>>1]=b[f+16>>1]|0;b[j+(i<<5)+10>>1]=b[f+18>>1]|0;b[j+(i<<5)>>1]=b[f+8>>1]|0;b[j+(i<<5)+2>>1]=b[f+10>>1]|0;b[j+(i<<5)+4>>1]=b[f+12>>1]|0;c[j+(i<<5)+12>>2]=c[f>>2];c[j+(i<<5)+16>>2]=c[f+4>>2];i=i+1|0;if((i|0)==(m|0))break;else f=f+20|0}k=q;return}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0;Y=c[d+36>>2]|0;W=c[e+36>>2]|0;K=+g[Y+8>>2];M=+g[Y+12>>2];L=+g[Y+16>>2];h=c[W+8>>2]|0;Q=+g[h+8>>2];R=+g[h+12>>2];S=+g[h+16>>2];d=c[W+12>>2]|0;N=+g[d+8>>2];O=+g[d+12>>2];P=+g[d+16>>2];e=c[W+16>>2]|0;T=+g[e+8>>2];U=+g[e+12>>2];V=+g[e+16>>2];s=N-K-(Q-K);z=O-M-(R-M);u=P-L-(S-L);t=z*(V-L-(S-L))-u*(U-M-(R-M));B=u*(T-K-(Q-K))-s*(V-L-(S-L));v=s*(U-M-(R-M))-z*(T-K-(Q-K));do if(v*v+(t*t+B*B)>1.1920928955078125e-07?(D=1.0/+A(+(v*v+(t*t+B*B))),E=(S-L)*v*D+((Q-K)*t*D+(R-M)*B*D),E*E<3402823466385288598117041.0e14):0){f=Q-K-t*D*E;k=R-M-B*D*E;m=S-L-v*D*E;n=N-K-t*D*E;q=O-M-B*D*E;r=P-L-v*D*E;if((v*(q*f-k*n)+(t*(k*r-m*q)+B*(m*n-r*f))>0.0?(w=T-K-t*D*E,x=U-M-B*D*E,y=V-L-v*D*E,v*(x*n-q*w)+(t*(q*y-r*x)+B*(r*w-y*n))>0.0):0)?v*(k*w-x*f)+(t*(x*m-y*k)+B*(y*f-m*w))>0.0:0){p=E*E;n=t*D*E;m=v*D*E;l=B*D*E;break}if(s*s+z*z+u*u>1.1920928955078125e-07?(C=-((Q-K)*s+(R-M)*z+(S-L)*u)/(s*s+z*z+u*u),C=C<0.0?0.0:C>1.0?1.0:C,p=(S-L+u*C)*(S-L+u*C)+((Q-K+s*C)*(Q-K+s*C)+(R-M+z*C)*(R-M+z*C)),p<3402823466385288598117041.0e14):0){n=Q-K+s*C;m=S-L+u*C;k=R-M+z*C}else{p=3402823466385288598117041.0e14;n=0.0;m=0.0;k=0.0}f=(T-K-(N-K))*(T-K-(N-K))+(U-M-(O-M))*(U-M-(O-M))+(V-L-(P-L))*(V-L-(P-L));if(f>1.1920928955078125e-07?(G=-((N-K)*(T-K-(N-K))+(O-M)*(U-M-(O-M))+(P-L)*(V-L-(P-L)))/f,G=G<0.0?0.0:G>1.0?1.0:G,F=N-K+(T-K-(N-K))*G,H=O-M+(U-M-(O-M))*G,G=P-L+(V-L-(P-L))*G,G*G+(F*F+H*H)<p):0){p=G*G+(F*F+H*H);n=F;m=G;k=H}f=(Q-K-(T-K))*(Q-K-(T-K))+(R-M-(U-M))*(R-M-(U-M))+(S-L-(V-L))*(S-L-(V-L));if(f>1.1920928955078125e-07?(J=-((T-K)*(Q-K-(T-K))+(U-M)*(R-M-(U-M))+(V-L)*(S-L-(V-L)))/f,J=J<0.0?0.0:J>1.0?1.0:J,I=T-K+(Q-K-(T-K))*J,l=U-M+(R-M-(U-M))*J,J=V-L+(S-L-(V-L))*J,J*J+(I*I+l*l)<p):0){p=J*J+(I*I+l*l);n=I;m=J}else l=k}else{p=3402823466385288598117041.0e14;n=0.0;m=0.0;l=0.0}while(0);I=K-+g[Y+24>>2];J=M-+g[Y+28>>2];u=L-+g[Y+32>>2];u=+g[b+12>>2]+ +A(+(I*I+J*J+u*u))*2.0;if(!(p<u*u))return;r=K+n;f=M+l;k=L+m;t=+A(+(((Q-r)*(O-f)-(R-f)*(N-r))*((Q-r)*(O-f)-(R-f)*(N-r))+(((R-f)*(P-k)-(S-k)*(O-f))*((R-f)*(P-k)-(S-k)*(O-f))+((S-k)*(N-r)-(Q-r)*(P-k))*((S-k)*(N-r)-(Q-r)*(P-k)))));s=+A(+(((N-r)*(U-f)-(O-f)*(T-r))*((N-r)*(U-f)-(O-f)*(T-r))+(((O-f)*(V-k)-(P-k)*(U-f))*((O-f)*(V-k)-(P-k)*(U-f))+((P-k)*(T-r)-(N-r)*(V-k))*((P-k)*(T-r)-(N-r)*(V-k)))));r=+A(+(((R-f)*(T-r)-(Q-r)*(U-f))*((R-f)*(T-r)-(Q-r)*(U-f))+(((S-k)*(U-f)-(R-f)*(V-k))*((S-k)*(U-f)-(R-f)*(V-k))+((Q-r)*(V-k)-(S-k)*(T-r))*((Q-r)*(V-k)-(S-k)*(T-r)))));k=+g[Y+88>>2];V=+g[h+88>>2];f=+g[d+88>>2];U=+g[e+88>>2];f=!(V<=0.0)&!(f<=0.0)&!(U<=0.0)?U*t*(1.0/(r+(t+s)))+(V*s*(1.0/(r+(t+s)))+f*r*(1.0/(r+(t+s)))):0.0;if(!(k+f>0.0))return;V=1.0/-+A(+p);q=n*V;p=V*l;n=V*m;o=c[b+4>>2]|0;d=c[b+8>>2]|0;m=+g[o+316>>2];l=+g[d+316>>2];l=m>l?m:l;m=k/(k+f)*+g[o+332>>2];f=f/(k+f)*+g[d+332>>2];d=c[o+832>>2]|0;if((d|0)==(c[o+836>>2]|0)?(X=(d|0)==0?1:d<<1,(d|0)<(X|0)):0){if(!X)j=0;else{c[7584]=(c[7584]|0)+1;d=lc((X*56|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;d=c[o+832>>2]|0}if((d|0)>0){e=0;do{h=j+(e*56|0)|0;b=(c[o+840>>2]|0)+(e*56|0)|0;i=h+56|0;do{c[h>>2]=c[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(i|0));e=e+1|0}while((e|0)!=(d|0))}d=c[o+840>>2]|0;if(d|0){if(a[o+844>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[o+840>>2]=0}a[o+844>>0]=1;c[o+840>>2]=j;c[o+836>>2]=X;d=c[o+832>>2]|0}X=c[o+840>>2]|0;c[X+(d*56|0)>>2]=Y;c[X+(d*56|0)+4>>2]=W;g[X+(d*56|0)+8>>2]=s*(1.0/(r+(t+s)));g[X+(d*56|0)+12>>2]=r*(1.0/(r+(t+s)));g[X+(d*56|0)+16>>2]=t*(1.0/(r+(t+s)));g[X+(d*56|0)+20>>2]=0.0;g[X+(d*56|0)+24>>2]=q;g[X+(d*56|0)+28>>2]=p;g[X+(d*56|0)+32>>2]=n;g[X+(d*56|0)+36>>2]=0.0;g[X+(d*56|0)+40>>2]=u;g[X+(d*56|0)+44>>2]=l;g[X+(d*56|0)+48>>2]=m;g[X+(d*56|0)+52>>2]=f;c[o+832>>2]=(c[o+832>>2]|0)+1;return}function yd(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=k;k=k+1136|0;h=c[b+44>>2]|0;h=tb[c[(c[h>>2]|0)+84>>2]&255](h)|0;if((h|0)>0){e=0;f=42;while(1){p=c[b+44>>2]|0;Nb[c[(c[p>>2]|0)+88>>2]&127](p,e,r);af();p=26128+(f<<4)|0;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];e=e+1|0;if((e|0)==(h|0))break;else f=f+1|0}f=h+42|0}else f=42;e=0;do{p=c[b+44>>2]|0;o=c[(c[p>>2]|0)+64>>2]|0;af();Nb[o&127](r+1104|0,p,26128+(e<<4)|0);p=r+(e<<4)|0;c[p>>2]=c[r+1104>>2];c[p+4>>2]=c[r+1104+4>>2];c[p+8>>2]=c[r+1104+8>>2];c[p+12>>2]=c[r+1104+12>>2];e=e+1|0}while(e>>>0<f>>>0);g[r+1104+16>>2]=1.0000000474974513e-03;c[r+1104+20>>2]=4096;c[r+1104+24>>2]=4096;c[r+1104>>2]=1;c[r+1104+4>>2]=f;c[r+1104+8>>2]=r;c[r+1104+12>>2]=16;a[r+1064+16>>0]=1;c[r+1064+12>>2]=0;c[r+1064+4>>2]=0;c[r+1064+8>>2]=0;a[r+1064+36>>0]=1;c[r+1064+32>>2]=0;c[r+1064+24>>2]=0;c[r+1064+28>>2]=0;a[r+1008+24>>0]=1;p=r+1008+20|0;c[p>>2]=0;c[r+1008+12>>2]=0;c[r+1008+16>>2]=0;n=r+1008+52|0;a[n>>0]=1;o=r+1008+48|0;c[o>>2]=0;c[r+1008+40>>2]=0;c[r+1008+44>>2]=0;a[r+1008>>0]=1;m=r+1008+4|0;c[m>>2]=0;c[r+1008+28>>2]=0;c[r+1008+32>>2]=0;if((cc(r+1064|0,r+1104|0,r+1008|0)|0)!=1){j=c[m>>2]|0;i=c[b+4>>2]|0;if((i|0)<(j|0)){if((c[b+8>>2]|0)<(j|0)){if(!j){e=0;h=i}else{c[7584]=(c[7584]|0)+1;e=lc((j<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+4>>2]|0}if((h|0)>0){f=0;do{l=e+(f<<4)|0;s=(c[b+12>>2]|0)+(f<<4)|0;c[l>>2]=c[s>>2];c[l+4>>2]=c[s+4>>2];c[l+8>>2]=c[s+8>>2];c[l+12>>2]=c[s+12>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=j;f=b+12|0}else f=b+12|0;e=i;do{s=(c[f>>2]|0)+(e<<4)|0;c[s>>2]=c[r+992>>2];c[s+4>>2]=c[r+992+4>>2];c[s+8>>2]=c[r+992+8>>2];c[s+12>>2]=c[r+992+12>>2];e=e+1|0}while((e|0)!=(j|0));e=c[m>>2]|0}else e=j;c[b+4>>2]=j;if((e|0)>0){f=c[p>>2]|0;e=0;do{l=f+(e<<4)|0;s=(c[b+12>>2]|0)+(e<<4)|0;c[s>>2]=c[l>>2];c[s+4>>2]=c[l+4>>2];c[s+8>>2]=c[l+8>>2];c[s+12>>2]=c[l+12>>2];e=e+1|0}while((e|0)<(c[m>>2]|0))}l=c[r+1008+32>>2]|0;c[b+40>>2]=l;j=c[b+24>>2]|0;if((l|0)>(j|0)){do if((c[b+28>>2]|0)<(l|0)){if(!l){e=0;h=j}else{c[7584]=(c[7584]|0)+1;e=lc((l<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+24>>2]|0}i=c[b+32>>2]|0;if((h|0)<=0){if(!i){a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=l;break}}else{f=0;do{c[e+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=l}else e=c[b+32>>2]|0;while(0);Bl(e+(j<<2)|0,0,l-j<<2|0)|0;e=c[b+40>>2]|0}else e=l;c[b+24>>2]=l;if((e|0)>0){f=c[o>>2]|0;h=c[b+32>>2]|0;e=0;do{c[h+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}while((e|0)<(c[b+40>>2]|0))}if(c[r+1008+12>>2]|0){c[m>>2]=0;e=c[p>>2]|0;if(e|0){if(a[r+1008+24>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[p>>2]=0}a[r+1008+24>>0]=1;c[p>>2]=0;c[r+1008+12>>2]=0;c[r+1008+16>>2]=0}if(!(c[r+1008+40>>2]|0)){f=1;q=60}else{c[r+1008+32>>2]=0;e=c[o>>2]|0;if(e|0){if(a[n>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[o>>2]=0}a[n>>0]=1;c[o>>2]=0;c[r+1008+40>>2]=0;c[r+1008+44>>2]=0;f=1}}else{f=0;q=60}if((q|0)==60){e=c[o>>2]|0;if(e){if(a[n>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[o>>2]=0}}a[n>>0]=1;c[o>>2]=0;c[r+1008+40>>2]=0;c[r+1008+44>>2]=0;e=c[p>>2]|0;if(e|0){if(a[r+1008+24>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[p>>2]=0}e=c[r+1064+32>>2]|0;if(e|0){if(a[r+1064+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[r+1064+32>>2]=0}a[r+1064+36>>0]=1;c[r+1064+32>>2]=0;c[r+1064+24>>2]=0;c[r+1064+28>>2]=0;e=c[r+1064+12>>2]|0;if(!e){k=r;return f|0}if(a[r+1064+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[r+1064+12>>2]=0;k=r;return f|0}function zd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[b>>2]=6368;d=c[b+192>>2]|0;if(d|0)Db[c[(c[d>>2]|0)+4>>2]&511](d);a:do if((c[b+1112>>2]|0)>0)do{h=c[c[b+1120>>2]>>2]|0;d=c[h+348>>2]|0;if(d|0){xh(b+1048|0,d)|0;e=c[b+1052>>2]|0;if(e|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[b+1052>>2]=d;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}d=c[h+52>>2]|0;if(d|0){if(a[h+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[h+52>>2]=0}a[h+56>>0]=1;c[h+52>>2]=0;c[h+44>>2]=0;c[h+48>>2]=0;d=c[h+32>>2]|0;if(d|0){if(a[h+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[h+32>>2]=0}a[h+36>>0]=1;c[h+32>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=c[h+12>>2]|0;if(d|0){if(a[h+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[h+12>>2]=0}a[h+16>>0]=1;c[h+12>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);d=c[b+1112>>2]|0;if((d|0)<=0)break a;g=c[b+1120>>2]|0;e=0;do{f=g+(e<<2)|0;if((c[f>>2]|0)==(h|0)){i=25;break}e=e+1|0}while((e|0)<(d|0));if((i|0)==25){i=0;if((e|0)<(d|0)){c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[b+1120>>2]|0)+(d+-1<<2)>>2]=h;c[b+1112>>2]=d+-1;d=d+-1|0}}}while((d|0)>0);while(0);d=c[b+872>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+880>>2]|0)+(f<<2)>>2]|0;if(e){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);d=c[b+872>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+852>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+860>>2]|0)+(f<<2)>>2]|0;if(e){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);d=c[b+852>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+1244>>2]|0;if(d|0){if(a[b+1248>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+1244>>2]=0}a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;d=c[b+1140>>2]|0;if(d|0){if(a[b+1144>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+1140>>2]=0}a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;d=c[b+1120>>2]|0;if(d|0){if(a[b+1124>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;Hi(b+1048|0);Hi(b+988|0);Hi(b+928|0);d=c[b+880>>2]|0;if(d|0){if(a[b+884>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;d=c[b+860>>2]|0;if(d|0){if(a[b+864>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+860>>2]=0}a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;d=c[b+840>>2]|0;if(d|0){if(a[b+844>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+840>>2]=0}a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;d=c[b+820>>2]|0;if(d|0){if(a[b+824>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+820>>2]=0}a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;d=c[b+800>>2]|0;if(d|0){if(a[b+804>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;d=c[b+780>>2]|0;if(d|0){if(a[b+784>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;d=c[b+760>>2]|0;if(d|0){if(a[b+764>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;d=c[b+740>>2]|0;if(d|0){if(a[b+744>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;d=c[b+720>>2]|0;if(d|0){if(a[b+724>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;d=c[b+700>>2]|0;if(d|0){if(a[b+704>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+700>>2]=0}a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;d=c[b+512>>2]|0;if(d|0){if(a[b+516>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+512>>2]=0}a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;d=c[b+492>>2]|0;if(d|0){if(a[b+496>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+492>>2]=0}a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;Gv(b+288|0);d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=8244;return}if(a[b+280>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=8244;return}function Ad(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=k;k=k+64|0;c[d+20>>2]=c[e+16>>2];c[d+24>>2]=c[e+20>>2];c[d+28>>2]=c[e+24>>2];c[d+32>>2]=c[e+28>>2];c[d+4>>2]=c[e>>2];c[d+8>>2]=c[e+4>>2];c[d+12>>2]=c[e+8>>2];c[d+16>>2]=c[e+12>>2];c[d+36>>2]=c[e+32>>2];c[d+40>>2]=c[e+36>>2];c[d+44>>2]=c[e+40>>2];c[d+48>>2]=c[e+44>>2];c[d+56>>2]=c[e+48>>2];a[d+60>>0]=(c[e+52>>2]|0)!=0&1;n=c[e+56>>2]|0;i=o;l=i+64|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(l|0));m=c[d+88>>2]|0;if((m|0)<(n|0)){if((c[d+92>>2]|0)<(n|0)){if(!n){f=0;h=m}else{c[7584]=(c[7584]|0)+1;f=lc(n<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[d+88>>2]|0}if((h|0)>0){g=0;do{i=f+(g<<6)|0;j=(c[d+96>>2]|0)+(g<<6)|0;l=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));g=g+1|0}while((g|0)!=(h|0))}g=c[d+96>>2]|0;if(g|0){if(a[d+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=n;g=d+96|0}else g=d+96|0;f=m;do{i=(c[g>>2]|0)+(f<<6)|0;j=o;l=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(l|0));f=f+1|0}while((f|0)!=(n|0))}c[d+88>>2]=n;if((n|0)>0){h=c[d+96>>2]|0;f=c[e+64>>2]|0;g=0;while(1){c[h+(g<<6)+16>>2]=c[f+16>>2];c[h+(g<<6)+20>>2]=c[f+20>>2];c[h+(g<<6)+24>>2]=c[f+24>>2];c[h+(g<<6)+28>>2]=c[f+28>>2];c[h+(g<<6)>>2]=c[f>>2];c[h+(g<<6)+4>>2]=c[f+4>>2];c[h+(g<<6)+8>>2]=c[f+8>>2];c[h+(g<<6)+12>>2]=c[f+12>>2];c[h+(g<<6)+32>>2]=c[f+32>>2];c[h+(g<<6)+36>>2]=c[f+36>>2];c[h+(g<<6)+40>>2]=c[f+40>>2];g=g+1|0;if((g|0)==(n|0))break;else f=f+48|0}}j=c[e+60>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;i=c[d+128>>2]|0;if((i|0)<(j|0)){if((c[d+132>>2]|0)<(j|0)){if(!j){f=0;h=i}else{c[7584]=(c[7584]|0)+1;f=lc((j<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[d+128>>2]|0}if((h|0)>0){g=0;do{n=f+(g<<4)|0;m=(c[d+136>>2]|0)+(g<<4)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[d+136>>2]|0;if(g|0){if(a[d+140>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=j;g=d+136|0}else g=d+136|0;f=i;do{n=(c[g>>2]|0)+(f<<4)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];f=f+1|0}while((f|0)!=(j|0))}c[d+128>>2]=j;if((j|0)>0){h=c[d+136>>2]|0;f=0;g=c[e+68>>2]|0;while(1){c[h+(f<<4)+12>>2]=c[g+12>>2];b[h+(f<<4)+6>>1]=b[g+6>>1]|0;b[h+(f<<4)+8>>1]=b[g+8>>1]|0;b[h+(f<<4)+10>>1]=b[g+10>>1]|0;b[h+(f<<4)>>1]=b[g>>1]|0;b[h+(f<<4)+2>>1]=b[g+2>>1]|0;b[h+(f<<4)+4>>1]=b[g+4>>1]|0;f=f+1|0;if((f|0)==(j|0))break;else g=g+16|0}}c[d+144>>2]=c[e+76>>2];j=c[e+80>>2]|0;i=c[d+152>>2]|0;if((i|0)<(j|0)){if((c[d+156>>2]|0)<(j|0)){if(!j){f=0;h=i}else{c[7584]=(c[7584]|0)+1;f=lc(j<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[d+152>>2]|0}if((h|0)>0){g=0;do{n=f+(g<<5)|0;m=(c[d+160>>2]|0)+(g<<5)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[d+160>>2]|0;if(g|0){if(a[d+164>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=j;g=d+160|0}else g=d+160|0;f=i;do{n=(c[g>>2]|0)+(f<<5)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[n+16>>2]=c[o+16>>2];c[n+20>>2]=c[o+20>>2];c[n+24>>2]=c[o+24>>2];c[n+28>>2]=c[o+28>>2];f=f+1|0}while((f|0)!=(j|0))}c[d+152>>2]=j;if((j|0)<=0){k=o;return}h=c[d+160>>2]|0;g=0;f=c[e+72>>2]|0;while(1){b[h+(g<<5)+6>>1]=b[f+14>>1]|0;b[h+(g<<5)+8>>1]=b[f+16>>1]|0;b[h+(g<<5)+10>>1]=b[f+18>>1]|0;b[h+(g<<5)>>1]=b[f+8>>1]|0;b[h+(g<<5)+2>>1]=b[f+10>>1]|0;b[h+(g<<5)+4>>1]=b[f+12>>1]|0;c[h+(g<<5)+12>>2]=c[f>>2];c[h+(g<<5)+16>>2]=c[f+4>>2];g=g+1|0;if((g|0)==(j|0))break;else f=f+20|0}k=o;return}function Bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;b=c[7607]|0;d=c[a+-4>>2]|0;j=a+-8+(d&-8)|0;do if(!(d&1)){e=c[a+-8>>2]|0;if(!(d&3))return;h=a+-8+(0-e)|0;g=e+(d&-8)|0;if(h>>>0<b>>>0)return;if((c[7608]|0)==(h|0)){b=c[j+4>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[7605]=g;c[j+4>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=3?e>>>3:e;if(e>>>0<256){b=c[h+8>>2]|0;a=c[h+12>>2]|0;if((a|0)==(b|0)){c[7603]=c[7603]&~(1<<d);i=h;b=g;break}else{c[b+12>>2]=a;c[a+8>>2]=b;i=h;b=g;break}}f=c[h+24>>2]|0;b=c[h+12>>2]|0;do if((b|0)==(h|0)){b=c[h+16+4>>2]|0;if(!b){b=c[h+16>>2]|0;if(!b){b=0;break}else a=h+16|0}else a=h+16+4|0;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=b;c[b+8>>2]=i}while(0);if(f){a=c[h+28>>2]|0;if((c[30716+(a<<2)>>2]|0)==(h|0)){c[30716+(a<<2)>>2]=b;if(!b){c[7604]=c[7604]&~(1<<a);i=h;b=g;break}}else{c[((c[f+16>>2]|0)==(h|0)?f+16|0:f+20|0)>>2]=b;if(!b){i=h;b=g;break}}c[b+24>>2]=f;a=c[h+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[h+16+4>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=a+-8|0;b=d&-8;h=a+-8|0}while(0);if(h>>>0>=j>>>0)return;a=c[j+4>>2]|0;if(!(a&1))return;if(!(a&2)){if((c[7609]|0)==(j|0)){j=(c[7606]|0)+b|0;c[7606]=j;c[7609]=i;c[i+4>>2]=j|1;if((i|0)!=(c[7608]|0))return;c[7608]=0;c[7605]=0;return}if((c[7608]|0)==(j|0)){j=(c[7605]|0)+b|0;c[7605]=j;c[7608]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(a&-8)+b|0;d=3?a>>>3:a;do if(a>>>0<256){a=c[j+8>>2]|0;b=c[j+12>>2]|0;if((b|0)==(a|0)){c[7603]=c[7603]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[j+24>>2]|0;b=c[j+12>>2]|0;do if((b|0)==(j|0)){b=c[j+16+4>>2]|0;if(!b){b=c[j+16>>2]|0;if(!b){a=0;break}else a=j+16|0}else a=j+16+4|0;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;a=b}else{a=c[j+8>>2]|0;c[a+12>>2]=b;c[b+8>>2]=a;a=b}while(0);if(g|0){b=c[j+28>>2]|0;if((c[30716+(b<<2)>>2]|0)==(j|0)){c[30716+(b<<2)>>2]=a;if(!a){c[7604]=c[7604]&~(1<<b);break}}else{c[((c[g+16>>2]|0)==(j|0)?g+16|0:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;b=c[j+16>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}b=c[j+16+4>>2]|0;if(b|0){c[a+20>>2]=b;c[b+24>>2]=a}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[7608]|0)){c[7605]=f;return}}else{c[j+4>>2]=a&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}d=3?f>>>3:f;if(f>>>0<256){b=c[7603]|0;if(!(b&1<<d)){c[7603]=b|1<<d;b=30452+(d<<1<<2)|0;a=30452+(d<<1<<2)+8|0}else{b=c[30452+(d<<1<<2)+8>>2]|0;a=30452+(d<<1<<2)+8|0}c[a>>2]=i;c[b+12>>2]=i;c[i+8>>2]=b;c[i+12>>2]=30452+(d<<1<<2);return}b=8?f>>>8:f;if(b)if(f>>>0>16777215)e=31;else{h=(16?(b+1048320|0)>>>16:b+1048320|0)&8;j=(16?((b<<h)+520192|0)>>>16:(b<<h)+520192|0)&4;e=(16?((b<<h<<j)+245760|0)>>>16:(b<<h<<j)+245760|0)&2;e=14-(j|h|e)+(15?b<<h<<j<<e>>>15:b<<h<<j<<e)|0;e=(e+7|0?f>>>(e+7|0):f)&1|e<<1}else e=0;b=30716+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;a=c[7604]|0;d=1<<e;a:do if(!(a&d)){c[7604]=a|d;c[b>>2]=i;c[i+24>>2]=b;c[i+12>>2]=i;c[i+8>>2]=i}else{b=c[b>>2]|0;b:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(1?e>>>1:e)|0);while(1){d=b+16+((31?e>>>31:e)<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break b}else{e=e<<1;b=a}}c[d>>2]=i;c[i+24>>2]=b;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=b+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=b;c[i+24>>2]=0}while(0);j=(c[7611]|0)+-1|0;c[7611]=j;if(j|0)return;b=30868;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[7611]=-1;return}function Cd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0;r=k;k=k+176|0;c[r+96>>2]=1;c[r+96+4>>2]=e;c[r+96+8>>2]=d;c[r+96+12>>2]=16;g[r+96+16>>2]=1.0000000474974513e-03;a[r+40+24>>0]=1;q=r+40+20|0;c[q>>2]=0;c[r+40+12>>2]=0;c[r+40+16>>2]=0;o=r+40+52|0;a[o>>0]=1;p=r+40+48|0;c[p>>2]=0;c[r+40+40>>2]=0;c[r+40+44>>2]=0;a[r+40>>0]=1;c[r+40+4>>2]=0;c[r+40+28>>2]=0;c[r+40+32>>2]=0;a[r+16>>0]=1;c[r+12>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;a[r+36>>0]=1;c[r+32>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r+96+20>>2]=e;cc(r,r+96|0,r+40|0)|0;c[7584]=(c[7584]|0)+1;d=lc(1271)|0;if(!d)n=0;else{c[(d+4+15&-16)+-4>>2]=d;n=d+4+15&-16}xc(n,b,c[r+40+4>>2]|0,c[q>>2]|0,0);if((c[r+40+28>>2]|0)>0){e=n+720|0;b=n+732|0;h=n+740|0;i=n+924|0;d=0;do{m=d*3|0;s=c[p>>2]|0;j=c[s+(m<<2)>>2]|0;l=c[s+(m+1<<2)>>2]|0;m=c[s+(m+2<<2)>>2]|0;if((j|0)<(l|0)){x=c[e>>2]|0;xi(n,0);s=(c[b>>2]|0)+-1|0;t=c[h>>2]|0;c[t+(s*52|0)+8>>2]=x+(j*104|0);c[t+(s*52|0)+12>>2]=x+(l*104|0);w=+g[x+(j*104|0)+8>>2]-+g[x+(l*104|0)+8>>2];v=+g[x+(j*104|0)+12>>2]-+g[x+(l*104|0)+12>>2];u=+g[x+(j*104|0)+16>>2]-+g[x+(l*104|0)+16>>2];g[t+(s*52|0)+16>>2]=+A(+(w*w+v*v+u*u));a[i>>0]=1}if((l|0)<(m|0)){s=c[e>>2]|0;xi(n,0);x=(c[b>>2]|0)+-1|0;t=c[h>>2]|0;c[t+(x*52|0)+8>>2]=s+(l*104|0);c[t+(x*52|0)+12>>2]=s+(m*104|0);u=+g[s+(l*104|0)+8>>2]-+g[s+(m*104|0)+8>>2];v=+g[s+(l*104|0)+12>>2]-+g[s+(m*104|0)+12>>2];w=+g[s+(l*104|0)+16>>2]-+g[s+(m*104|0)+16>>2];g[t+(x*52|0)+16>>2]=+A(+(u*u+v*v+w*w));a[i>>0]=1}if((m|0)<(j|0)){s=c[e>>2]|0;xi(n,0);x=(c[b>>2]|0)+-1|0;t=c[h>>2]|0;c[t+(x*52|0)+8>>2]=s+(m*104|0);c[t+(x*52|0)+12>>2]=s+(j*104|0);u=+g[s+(m*104|0)+8>>2]-+g[s+(j*104|0)+8>>2];v=+g[s+(m*104|0)+12>>2]-+g[s+(j*104|0)+12>>2];w=+g[s+(m*104|0)+16>>2]-+g[s+(j*104|0)+16>>2];g[t+(x*52|0)+16>>2]=+A(+(u*u+v*v+w*w));a[i>>0]=1}ng(n,j,l,m,0);d=d+1|0}while((d|0)<(c[r+40+28>>2]|0))}if(c[r+40+12>>2]|0){c[r+40+4>>2]=0;d=c[q>>2]|0;if(d|0){if(a[r+40+24>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[q>>2]=0}a[r+40+24>>0]=1;c[q>>2]=0;c[r+40+12>>2]=0;c[r+40+16>>2]=0}if(c[r+40+40>>2]|0){c[r+40+32>>2]=0;d=c[p>>2]|0;if(d|0){if(a[o>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[p>>2]=0}a[o>>0]=1;c[p>>2]=0;c[r+40+40>>2]=0;c[r+40+44>>2]=0}if(f){b=c[n+732>>2]|0;if((b|0)>0){h=n+740|0;d=243703;e=0;do{i=c[h>>2]|0;j=i+(e*52|0)|0;d=(M(d,1664525)|0)+1013904223|0;l=r+124|0;m=j;f=l+52|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(f|0));l=j;m=i+(((d>>>0)%(b>>>0)|0)*52|0)|0;f=l+52|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(f|0));l=i+(((d>>>0)%(b>>>0)|0)*52|0)|0;m=r+124|0;f=l+52|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(f|0));e=e+1|0}while((e|0)!=(b|0))}else d=243703;i=c[n+752>>2]|0;if((i|0)>0){j=n+760|0;e=0;do{h=c[j>>2]|0;b=h+(e*44|0)|0;d=(M(d,1664525)|0)+1013904223|0;h=h+(((d>>>0)%(i>>>0)|0)*44|0)|0;l=r+124|0;m=b;f=l+44|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(f|0));l=b;m=h;f=l+44|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(f|0));l=h;m=r+124|0;f=l+44|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(f|0));e=e+1|0}while((e|0)!=(i|0))}}d=c[r+32>>2]|0;if(d|0){if(a[r+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[r+32>>2]=0}a[r+36>>0]=1;c[r+32>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;d=c[r+12>>2]|0;if(d|0){if(a[r+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[r+12>>2]=0}d=c[p>>2]|0;if(d|0){if(a[o>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[p>>2]=0}a[o>>0]=1;c[p>>2]=0;c[r+40+40>>2]=0;c[r+40+44>>2]=0;d=c[q>>2]|0;if(!d){k=r;return n|0}if(a[r+40+24>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[q>>2]=0;k=r;return n|0}function Dd(b,d,e,f,h,i,j,k,l,m,n,o,p){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;A=M(c[l+24>>2]|0,m)|0;y=a[d+44>>0]|0;B=c[d+56>>2]|0;if(!(y<<24>>24!=0|(B|0)!=0)){l=0;return l|0}C=c[(o|0?l+12|0:l+8|0)>>2]|0;m=c[(o|0?l+20|0:l+16|0)>>2]|0;c[C+(A<<2)>>2]=c[n>>2];c[C+(A+1<<2)>>2]=c[n+4>>2];c[C+(A+2<<2)>>2]=c[n+8>>2];g[m+(A<<2)>>2]=-+g[n>>2];g[m+(A+1<<2)>>2]=-+g[n+4>>2];g[m+(A+2<<2)>>2]=-+g[n+8>>2];do if(!o){q=+g[b+1176>>2];if(!(a[b+1301>>0]|0)){t=q-+g[e+48>>2];w=+g[b+1180>>2]-+g[e+52>>2];x=+g[b+1184>>2]-+g[e+56>>2];v=+g[n+8>>2];s=+g[n+4>>2];u=+g[n>>2];C=c[l+12>>2]|0;g[C+(A<<2)>>2]=w*v-x*s;g[C+(A+1<<2)>>2]=x*u-t*v;g[C+(A+2<<2)>>2]=t*s-w*u;u=+g[b+1176>>2]-+g[f+48>>2];w=+g[b+1180>>2]-+g[f+52>>2];s=+g[b+1184>>2]-+g[f+56>>2];t=+g[n+8>>2];v=+g[n+4>>2];x=+g[n>>2];C=c[l+20>>2]|0;g[C+(A<<2)>>2]=-(w*t-s*v);g[C+(A+1<<2)>>2]=-(s*x-u*t);g[C+(A+2<<2)>>2]=-(u*v-w*x);break}I=q-+g[f+48>>2];G=+g[b+1180>>2]-+g[f+52>>2];E=+g[b+1184>>2]-+g[f+56>>2];H=+g[n>>2];F=+g[n+4>>2];D=+g[n+8>>2];K=+g[b+1112>>2]-+g[e+48>>2];s=+g[b+1116>>2]-+g[e+52>>2];t=+g[b+1120>>2]-+g[e+56>>2];r=+g[d+52>>2]-+g[d+48>>2];J=H*(H*K+F*s+D*t)+H*r-H*(I*H+G*F+E*D);q=F*(H*K+F*s+D*t)+F*r-F*(I*H+G*F+E*D);r=D*(H*K+F*s+D*t)+D*r-D*(I*H+G*F+E*D);w=+g[b+1272>>2];x=+g[b+1276>>2];u=D*(s-F*(H*K+F*s+D*t)+w*q)-F*(t-D*(H*K+F*s+D*t)+w*r);v=H*(t-D*(H*K+F*s+D*t)+w*r)-D*(K-H*(H*K+F*s+D*t)+w*J);t=F*(K-H*(H*K+F*s+D*t)+w*J)-H*(s-F*(H*K+F*s+D*t)+w*q);s=D*(G-F*(I*H+G*F+E*D)-x*q)-F*(E-D*(I*H+G*F+E*D)-x*r);r=H*(E-D*(I*H+G*F+E*D)-x*r)-D*(I-H*(I*H+G*F+E*D)-x*J);q=F*(I-H*(I*H+G*F+E*D)-x*J)-H*(G-F*(I*H+G*F+E*D)-x*q);if(!((p|0)!=0|(a[b+1280>>0]|0)==0)){u=w*u;v=w*v;t=w*t;s=x*s;r=x*r;q=x*q}C=(c[l+12>>2]|0)+(A<<2)|0;g[C>>2]=u;g[C+4>>2]=v;g[C+8>>2]=t;C=c[l+20>>2]|0;g[C+(A<<2)>>2]=-s;g[C+(A+1<<2)>>2]=-r;g[C+(A+2<<2)>>2]=-q}while(0);if(B|0?+g[d>>2]==+g[d+4>>2]:0){e=(c[l+28>>2]|0)+(A<<2)|0;g[e>>2]=0.0;q=0.0}else z=11;do if((z|0)==11){m=(c[l+28>>2]|0)+(A<<2)|0;g[m>>2]=0.0;if(!(y<<24>>24)){if(B|0){e=m;q=0.0;break}else i=1;return i|0}c[(c[l+32>>2]|0)+(A<<2)>>2]=c[d+28>>2];if(B|0){e=m;q=+g[m>>2];break}v=+g[d+8>>2];q=o|0?v:-v;r=+g[d+52>>2];s=+g[d>>2];t=+g[d+4>>2];u=+g[l>>2]*+g[d+32>>2];do if(!(s>t))if(!(s==t)){if(q/u<0.0)if(r>=s?s-q/u>r:0){q=(s-r)/(q/u);break}else{q=r<s?0.0:1.0;break}if(q/u>0.0)if(r<=t?t-q/u<r:0){q=(t-r)/(q/u);break}else{q=r>t?0.0:1.0;break}else q=0.0}else q=0.0;else q=1.0;while(0);g[m>>2]=q*v+ +g[m>>2];g[(c[l+36>>2]|0)+(A<<2)>>2]=-+g[d+12>>2];c[(c[l+40>>2]|0)+(A<<2)>>2]=c[d+12>>2];C=1;return C|0}while(0);K=+g[l>>2]*+g[d+32>>2]*+g[d+48>>2];g[e>>2]=q+(o|0?-K:K);c[(c[l+32>>2]|0)+(A<<2)>>2]=c[d+36>>2];if(+g[d>>2]==+g[d+4>>2]){g[(c[l+36>>2]|0)+(A<<2)>>2]=-3402823466385288598117041.0e14;g[(c[l+40>>2]|0)+(A<<2)>>2]=3402823466385288598117041.0e14;C=1;return C|0}g[(c[l+36>>2]|0)+(A<<2)>>2]=(B|0)==1?0.0:-3402823466385288598117041.0e14;g[(c[l+40>>2]|0)+(A<<2)>>2]=(B|0)==1?3402823466385288598117041.0e14:0.0;v=+g[d+40>>2];if(!(v>0.0)){C=1;return C|0}if(o|0){K=+g[n>>2];r=+g[n+4>>2];q=+g[n+8>>2];s=q;t=r;u=K;i=k;r=+g[j>>2]*K+ +g[j+4>>2]*r;q=+g[j+8>>2]*q}else{K=+g[n>>2];r=+g[n+4>>2];q=+g[n+8>>2];s=q;t=r;u=K;r=+g[h>>2]*K+ +g[h+4>>2]*r;q=+g[h+8>>2]*q}q=r+q-(u*+g[i>>2]+t*+g[i+4>>2]+s*+g[i+8>>2]);if((B|0)==1){if(!(q<0.0)){C=1;return C|0}if(!(+g[e>>2]<-(v*q))){C=1;return C|0}g[e>>2]=-(v*q);C=1;return C|0}else{if(!(q>0.0)){C=1;return C|0}if(!(+g[e>>2]>-(v*q))){C=1;return C|0}g[e>>2]=-(v*q);C=1;return C|0}return 0}function Ed(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0;u=k;k=k+288|0;q=c[b+4>>2]|0;a[q+312>>0]=0;c[q>>2]=0;a[q+356>>0]=1;c[q+292>>2]=1566444395;c[q+296>>2]=1566444395;c[q+300>>2]=1566444395;g[q+304>>2]=0.0;c[q+336>>2]=0;c[q+336+4>>2]=0;c[q+336+8>>2]=0;c[q+336+12>>2]=0;a[q+336+16>>0]=0;a[q+332>>0]=a[q+332>>0]&-16;r=+g[e+48>>2]-+g[d+48>>2]-(+g[h+48>>2]-+g[f+48>>2]);s=+g[e+52>>2]-+g[d+52>>2]-(+g[h+52>>2]-+g[f+52>>2]);t=+g[e+56>>2]-+g[d+56>>2]-(+g[h+56>>2]-+g[f+56>>2]);c[u+216>>2]=13208;g[u+216+36>>2]=999999984306749440.0;a[u+216+40>>0]=0;q=c[b+8>>2]|0;p=c[b+12>>2]|0;o=c[b+4>>2]|0;c[u+136>>2]=13256;c[u+136+4>>2]=0;c[u+136+8>>2]=1065353216;c[u+136+12>>2]=0;g[u+136+16>>2]=0.0;c[u+136+20>>2]=0;c[u+136+24>>2]=o;c[u+136+28>>2]=q;c[u+136+32>>2]=p;c[u+136+36>>2]=c[q+4>>2];c[u+136+40>>2]=c[p+4>>2];g[u+136+44>>2]=+jb[c[(c[q>>2]|0)+48>>2]&15](q);g[u+136+48>>2]=+jb[c[(c[p>>2]|0)+48>>2]&15](p);a[u+136+52>>0]=0;c[u+136+60>>2]=-1;c[u+136+72>>2]=1;c[u+136+76>>2]=1;g[u+128>>2]=999999984306749440.0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2];c[u+16>>2]=c[d+16>>2];c[u+16+4>>2]=c[d+16+4>>2];c[u+16+8>>2]=c[d+16+8>>2];c[u+16+12>>2]=c[d+16+12>>2];c[u+32>>2]=c[d+32>>2];c[u+32+4>>2]=c[d+32+4>>2];c[u+32+8>>2]=c[d+32+8>>2];c[u+32+12>>2]=c[d+32+12>>2];c[u+48>>2]=c[d+48>>2];c[u+48+4>>2]=c[d+48+4>>2];c[u+48+8>>2]=c[d+48+8>>2];c[u+48+12>>2]=c[d+48+12>>2];c[u+64>>2]=c[f>>2];c[u+64+4>>2]=c[f+4>>2];c[u+64+8>>2]=c[f+8>>2];c[u+64+12>>2]=c[f+12>>2];c[u+80>>2]=c[f+16>>2];c[u+80+4>>2]=c[f+16+4>>2];c[u+80+8>>2]=c[f+16+8>>2];c[u+80+12>>2]=c[f+16+12>>2];c[u+96>>2]=c[f+32>>2];c[u+96+4>>2]=c[f+32+4>>2];c[u+96+8>>2]=c[f+32+8>>2];c[u+96+12>>2]=c[f+32+12>>2];c[u+112>>2]=c[f+48>>2];c[u+112+4>>2]=c[f+48+4>>2];c[u+112+8>>2]=c[f+48+8>>2];c[u+112+12>>2]=c[f+48+12>>2];Kc(u+136|0,u,u+216|0,0,0);p=(a[u+216+40>>0]|0)==0;q=u+216+20|0;c[u+264>>2]=c[q>>2];c[u+264+4>>2]=c[q+4>>2];c[u+264+8>>2]=c[q+8>>2];c[u+264+12>>2]=c[q+12>>2];if(p){i=0;k=u;return i|0}n=+g[u+216+36>>2];l=+g[u+216+16>>2];b=c[u+216+12>>2]|0;m=c[u+216+8>>2]|0;o=c[u+216+4>>2]|0;do if(n>1.0000000474974513e-03){p=0;l=0.0;while(1){if(p>>>0>31){b=0;p=13;break}w=r*(c[j>>2]=o,+g[j>>2]);w=s*(c[j>>2]=m,+g[j>>2])+w;v=l;l=l-n/(t*(c[j>>2]=b,+g[j>>2])+w);if(!(!(l<=v)&(!(l<0.0)&!(l>1.0)))){b=0;p=13;break}Eb[c[c[i>>2]>>2]&31](i,l);w=1.0-l;g[u+48>>2]=w*+g[d+48>>2]+l*+g[e+48>>2];g[u+52>>2]=w*+g[d+52>>2]+l*+g[e+52>>2];g[u+56>>2]=w*+g[d+56>>2]+l*+g[e+56>>2];g[u+112>>2]=w*+g[f+48>>2]+l*+g[h+48>>2];g[u+116>>2]=w*+g[f+52>>2]+l*+g[h+52>>2];g[u+120>>2]=w*+g[f+56>>2]+l*+g[h+56>>2];Kc(u+136|0,u,u+216|0,0,0);if(!(a[u+216+40>>0]|0)){b=0;p=13;break}n=+g[u+216+36>>2];if(n<0.0){p=8;break}c[u+264>>2]=c[q>>2];c[u+264+4>>2]=c[q+4>>2];c[u+264+8>>2]=c[q+8>>2];c[u+264+12>>2]=c[q+12>>2];b=c[u+216+12>>2]|0;m=c[u+216+8>>2]|0;o=c[u+216+4>>2]|0;if(!(n>1.0000000474974513e-03)){p=10;break}else p=p+1|0}if((p|0)==8){g[i+164>>2]=l;e=c[u+216+8>>2]|0;f=c[u+216+12>>2]|0;h=c[u+216+16>>2]|0;c[i+132>>2]=c[u+216+4>>2];c[i+136>>2]=e;c[i+140>>2]=f;c[i+144>>2]=h;c[i+148>>2]=c[q>>2];c[i+148+4>>2]=c[q+4>>2];c[i+148+8>>2]=c[q+8>>2];c[i+148+12>>2]=c[q+12>>2];i=1;k=u;return i|0}else if((p|0)==10){n=l;l=+g[u+216+16>>2];break}else if((p|0)==13){k=u;return b|0}}else n=0.0;while(0);w=r*(c[j>>2]=o,+g[j>>2]);w=s*(c[j>>2]=m,+g[j>>2])+w;if(t*(c[j>>2]=b,+g[j>>2])+w>=-+g[i+172>>2]){i=0;k=u;return i|0}g[i+164>>2]=n;c[i+132>>2]=o;c[i+136>>2]=m;c[i+140>>2]=b;g[i+144>>2]=l;c[i+148>>2]=c[u+264>>2];c[i+148+4>>2]=c[u+264+4>>2];c[i+148+8>>2]=c[u+264+8>>2];c[i+148+12>>2]=c[u+264+12>>2];i=1;k=u;return i|0}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0;m=k;k=k+240|0;c[a+4>>2]=(c[a+4>>2]|0)+1;j=c[b+36>>2]|0;i=c[d+36>>2]|0;K=c[a+8>>2]|0;f=c[a+12>>2]|0;L=c[(c[K+4>>2]|0)+24>>2]|0;d=c[L+(j*80|0)+64>>2]|0;b=(c[f+4>>2]|0)+24|0;e=c[(c[b>>2]|0)+(i*80|0)+64>>2]|0;K=c[K+12>>2]|0;n=+g[K>>2];I=+g[K+4>>2];J=+g[K+8>>2];q=+g[K+16>>2];s=+g[K+20>>2];u=+g[K+24>>2];r=+g[K+32>>2];v=+g[K+36>>2];D=+g[K+40>>2];w=+g[L+(j*80|0)>>2];x=+g[L+(j*80|0)+16>>2];y=+g[L+(j*80|0)+32>>2];z=+g[L+(j*80|0)+4>>2];A=+g[L+(j*80|0)+20>>2];B=+g[L+(j*80|0)+36>>2];t=+g[L+(j*80|0)+8>>2];C=+g[L+(j*80|0)+24>>2];E=+g[L+(j*80|0)+40>>2];o=+g[L+(j*80|0)+48>>2];p=+g[L+(j*80|0)+52>>2];H=+g[L+(j*80|0)+56>>2];F=+g[K+48>>2]+(n*o+I*p+J*H);G=+g[K+52>>2]+(q*o+s*p+u*H);H=+g[K+56>>2]+(r*o+v*p+D*H);g[m+176>>2]=n*w+I*x+J*y;g[m+176+4>>2]=n*z+I*A+J*B;g[m+176+8>>2]=n*t+I*C+J*E;g[m+176+12>>2]=0.0;g[m+176+16>>2]=q*w+s*x+u*y;g[m+176+20>>2]=q*z+s*A+u*B;g[m+176+24>>2]=q*t+s*C+u*E;g[m+176+28>>2]=0.0;g[m+176+32>>2]=r*w+v*x+D*y;g[m+176+36>>2]=r*z+v*A+D*B;g[m+176+40>>2]=r*t+v*C+D*E;g[m+176+44>>2]=0.0;g[m+176+48>>2]=F;g[m+176+52>>2]=G;g[m+176+56>>2]=H;g[m+176+60>>2]=0.0;f=c[f+12>>2]|0;H=+g[f>>2];G=+g[f+4>>2];F=+g[f+8>>2];E=+g[f+16>>2];D=+g[f+20>>2];C=+g[f+24>>2];v=+g[f+32>>2];t=+g[f+36>>2];r=+g[f+40>>2];b=c[b>>2]|0;B=+g[b+(i*80|0)>>2];A=+g[b+(i*80|0)+16>>2];z=+g[b+(i*80|0)+32>>2];y=+g[b+(i*80|0)+4>>2];x=+g[b+(i*80|0)+20>>2];w=+g[b+(i*80|0)+36>>2];u=+g[b+(i*80|0)+8>>2];s=+g[b+(i*80|0)+24>>2];q=+g[b+(i*80|0)+40>>2];J=+g[b+(i*80|0)+48>>2];I=+g[b+(i*80|0)+52>>2];n=+g[b+(i*80|0)+56>>2];p=+g[f+48>>2]+(H*J+G*I+F*n);o=+g[f+52>>2]+(E*J+D*I+C*n);n=+g[f+56>>2]+(v*J+t*I+r*n);g[m+112>>2]=H*B+G*A+F*z;g[m+112+4>>2]=H*y+G*x+F*w;g[m+112+8>>2]=H*u+G*s+F*q;g[m+112+12>>2]=0.0;g[m+112+16>>2]=E*B+D*A+C*z;g[m+112+20>>2]=E*y+D*x+C*w;g[m+112+24>>2]=E*u+D*s+C*q;g[m+112+28>>2]=0.0;g[m+112+32>>2]=v*B+t*A+r*z;g[m+112+36>>2]=v*y+t*x+r*w;g[m+112+40>>2]=v*u+t*s+r*q;g[m+112+44>>2]=0.0;g[m+112+48>>2]=p;g[m+112+52>>2]=o;g[m+112+56>>2]=n;g[m+112+60>>2]=0.0;Qb[c[(c[d>>2]|0)+8>>2]&127](d,m+176|0,m+96|0,m+80|0);Qb[c[(c[e>>2]|0)+8>>2]&127](e,m+112|0,m+64|0,m+48|0);if(!(+g[m+96>>2]>+g[m+48>>2])?!(+g[m+80>>2]<+g[m+64>>2]):0)b=1;else b=0;if(!(!(+g[m+96+8>>2]>+g[m+48+8>>2])?!(+g[m+80+8>>2]<+g[m+64+8>>2]):0))b=0;if(+g[m+96+4>>2]>+g[m+48+4>>2]){k=m;return}if(+g[m+80+4>>2]<+g[m+64+4>>2]|b^1){k=m;return}f=c[a+8>>2]|0;b=c[f+8>>2]|0;c[m+24>>2]=f;c[m+24+4>>2]=d;c[m+24+8>>2]=b;c[m+24+12>>2]=m+176;c[m+24+16>>2]=-1;c[m+24+20>>2]=j;b=c[a+12>>2]|0;f=c[b+8>>2]|0;c[m>>2]=b;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=m+112;c[m+16>>2]=-1;c[m+20>>2]=i;f=c[a+28>>2]|0;c[7572]=(c[7572]|0)+1;b=(i<<16|j)+~((i<<16|j)<<15)|0;b=((10?b>>10:b)^b)*9|0;b=(6?b>>6:b)^b;b=(c[f+12>>2]|0)+-1&((16?b+~(b<<11)>>16:b+~(b<<11)|0)^b+~(b<<11));a:do if((b|0)<(c[f+32>>2]|0)?(h=c[(c[f+40>>2]|0)+(b<<2)>>2]|0,(h|0)!=-1):0){e=c[f+16>>2]|0;b=h;while(1){d=e+(b*12|0)|0;if((c[d>>2]|0)==(j|0)?(c[e+(b*12|0)+4>>2]|0)==(i|0):0)break;b=c[(c[f+60>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){l=16;break a}}if(d)b=c[e+(b*12|0)+8>>2]|0;else l=16}else l=16;while(0);if((l|0)==16){b=c[a+16>>2]|0;b=yb[c[(c[b>>2]|0)+8>>2]&31](b,m+24|0,m,c[a+32>>2]|0)|0;L=c[a+28>>2]|0;c[(xb[c[(c[L>>2]|0)+12>>2]&63](L,j,i)|0)+8>>2]=b}L=c[a+24>>2]|0;l=c[L+8>>2]|0;K=c[L+12>>2]|0;c[L+8>>2]=m+24;c[L+12>>2]=m;Nb[c[(c[L>>2]|0)+8>>2]&127](L,-1,j);L=c[a+24>>2]|0;Nb[c[(c[L>>2]|0)+12>>2]&127](L,-1,i);Ub[c[(c[b>>2]|0)+8>>2]&31](b,m+24|0,m,c[a+20>>2]|0,c[a+24>>2]|0);L=c[a+24>>2]|0;c[L+8>>2]=l;c[L+12>>2]=K;k=m;return}function Gd(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;j=c[d+8>>2]|0;if(!j){h=0;return h|0}i=0;D=j;do{if((c[D+20>>2]|0)>(c[a+100>>2]|0)){B=c[D+12>>2]|0;w=c[B+88>>2]|0;y=w-(c[d+88>>2]|0)|0;z=c[B+92>>2]|0;A=z-(c[d+92>>2]|0)|0;B=c[B+96>>2]|0;C=B-(c[d+96>>2]|0)|0;k=$t(c[g>>2]|0,c[g+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;p=x;j=$t(c[g+8>>2]|0,c[g+8+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;p=Rx(j|0,x|0,k|0,p|0)|0;k=x;j=$t(c[g+16>>2]|0,c[g+16+4>>2]|0,C|0,((C|0)<0)<<31>>31|0)|0;j=Rx(p|0,k|0,j|0,x|0)|0;k=x;p=$t(c[f>>2]|0,c[f+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;v=x;o=$t(c[f+8>>2]|0,c[f+8+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;v=Rx(o|0,x|0,p|0,v|0)|0;p=x;o=$t(c[f+16>>2]|0,c[f+16+4>>2]|0,C|0,((C|0)<0)<<31>>31|0)|0;o=Rx(v|0,p|0,o|0,x|0)|0;p=x;if((k|0)>0|(k|0)==0&j>>>0>0){l=1;m=-1;v=j}else{v=yx(0,0,j|0,k|0)|0;l=((j|0)!=0|(k|0)!=0)<<31>>31;m=((j|0)!=0|(k|0)!=0)&1;v=(j|0)!=0|(k|0)!=0?v:0;k=(j|0)!=0|(k|0)!=0?x:0}if(!((p|0)>0|(p|0)==0&o>>>0>0)){j=yx(0,0,o|0,p|0)|0;j=(o|0)!=0|(p|0)!=0?j:0;n=(o|0)!=0|(p|0)!=0?x:0;if(!((((o|0)!=0|(p|0)!=0?m:l)|0)==0&((j|0)==0&(n|0)==0))){l=(o|0)!=0|(p|0)!=0?m:l;o=j;q=8}}else{n=p;q=8}a:do if((q|0)==8){q=0;if(!i){c[h>>2]=v;c[h+4>>2]=k;c[h+8>>2]=o;c[h+8+4>>2]=n;c[h+16>>2]=l;i=D;break}j=c[h+16>>2]|0;if((l|0)==(j|0)){if(l|0){p=c[h+8>>2]|0;s=c[h+8+4>>2]|0;m=$t(p|0,0,v|0,0)|0;j=x;t=$t(s|0,0,v|0,0)|0;r=x;p=$t(p|0,0,k|0,0)|0;q=x;s=$t(s|0,0,k|0,0)|0;G=x;p=Rx(t|0,0,p|0,0)|0;t=x;G=Rx(r|0,0,s|0,G|0)|0;q=Rx(G|0,x|0,q|0,0)|0;t=Rx(q|0,x|0,t|0,0)|0;q=x;j=Rx(0,p|0,m|0,j|0)|0;m=x;p=Rx(t|0,q|0,(m>>>0<p>>>0|(m|0)==(p|0)&j>>>0<0)&1|0,0)|0;q=x;t=c[h>>2]|0;G=c[h+4>>2]|0;s=$t(t|0,0,o|0,0)|0;r=x;E=$t(G|0,0,o|0,0)|0;H=x;t=$t(t|0,0,n|0,0)|0;u=x;G=$t(G|0,0,n|0,0)|0;F=x;t=Rx(E|0,0,t|0,0)|0;E=x;F=Rx(H|0,0,G|0,F|0)|0;u=Rx(F|0,x|0,u|0,0)|0;E=Rx(u|0,x|0,E|0,0)|0;u=x;r=Rx(0,t|0,s|0,r|0)|0;s=x;t=Rx(E|0,u|0,(s>>>0<t>>>0|(s|0)==(t|0)&r>>>0<0)&1|0,0)|0;u=x;if(!(q>>>0<u>>>0|(q|0)==(u|0)&p>>>0<t>>>0))if(q>>>0>u>>>0|(q|0)==(u|0)&p>>>0>t>>>0)j=1;else j=m>>>0<s>>>0|(m|0)==(s|0)&j>>>0<r>>>0?-1:(m>>>0>s>>>0|(m|0)==(s|0)&j>>>0>r>>>0)&1;else j=-1;j=M(j,l)|0;q=17}}else{j=l-j|0;q=17}do if((q|0)==17){q=0;if((j|0)>=0)if(!j)break;else break a;else{c[h>>2]=v;c[h+4>>2]=k;c[h+8>>2]=o;c[h+8+4>>2]=n;c[h+16>>2]=l;i=D;break a}}while(0);j=(c[i+4>>2]|0)==(D|0);if((c[i>>2]|0)==(D|0))if(j){H=c[e+8>>2]|0;E=M(H,A)|0;u=c[e+4>>2]|0;E=E-(M(u,C)|0)|0;G=c[e>>2]|0;H=(M(G,C)|0)-(M(H,y)|0)|0;G=(M(u,y)|0)-(M(G,A)|0)|0;u=c[i+12>>2]|0;j=c[(c[D+8>>2]|0)+12>>2]|0;C=c[j+88>>2]|0;y=(c[u+88>>2]|0)-C|0;v=c[j+92>>2]|0;A=(c[u+92>>2]|0)-v|0;j=c[j+96>>2]|0;u=(c[u+96>>2]|0)-j|0;F=(M(B-j|0,A)|0)-(M(u,z-v|0)|0)|0;j=(M(u,w-C|0)|0)-(M(B-j|0,y)|0)|0;C=(M(z-v|0,y)|0)-(M(A,w-C|0)|0)|0;E=$t(F|0,((F|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;F=x;H=$t(j|0,((j|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;j=x;G=$t(C|0,((C|0)<0)<<31>>31|0,G|0,((G|0)<0)<<31>>31|0)|0;G=Rx(E|0,F|0,G|0,x|0)|0;j=Rx(G|0,x|0,H|0,j|0)|0;H=x;j=(H|0)>0|(H|0)==0&j>>>0>0?2:1}else j=2;else j=j&1;i=(j|0)==2^b?i:D}while(0);j=c[d+8>>2]|0}D=c[D>>2]|0}while((D|0)!=(j|0));return i|0}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0;z=k;k=k+48|0;switch(c[b+4>>2]|0){case 8:{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;k=z;return}case 0:{w=+g[b+28>>2];x=+g[b+28+4>>2];x=+g[d+4>>2]>=0.0?x:-x;y=+g[b+28+8>>2];y=+g[d+8>>2]>=0.0?y:-y;g[a>>2]=+g[d>>2]>=0.0?w:-w;g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;k=z;return}case 1:{u=+g[d>>2];v=+g[d+4>>2];y=+g[d+8>>2];x=u*+g[b+56>>2]+v*+g[b+56+4>>2]+y*+g[b+56+8>>2];w=u*+g[b+56+16>>2]+v*+g[b+56+20>>2]+y*+g[b+56+24>>2];y=u*+g[b+56+32>>2]+v*+g[b+56+36>>2]+y*+g[b+56+40>>2];o=x<w?(w<y?2:1):x<y?2:0;p=c[b+56+(o<<4)+4>>2]|0;s=c[b+56+(o<<4)+8>>2]|0;c[a>>2]=c[b+56+(o<<4)>>2];c[a+4>>2]=p;c[a+8>>2]=s;g[a+12>>2]=0.0;k=z;return}case 13:{c[z+32>>2]=c[b+28>>2];c[z+32+4>>2]=c[b+28+4>>2];c[z+32+8>>2]=c[b+28+8>>2];c[z+32+12>>2]=c[b+28+12>>2];c[z+16>>2]=c[d>>2];e=c[d+4>>2]|0;c[z+16+4>>2]=e;s=c[d+8>>2]|0;c[z+16+8>>2]=s;g[z+16+12>>2]=0.0;d=c[b+52>>2]|0;f=(c[j>>2]=s,+g[j>>2]);switch(d|0){case 2:{b=0;o=2;p=1;h=(c[j>>2]=e,+g[j>>2]);break}case 1:{b=0;o=1;p=2;h=f;break}default:{b=1;o=0;p=2;h=f}}f=+g[z+32+(b<<2)>>2];i=+g[z+32+(d<<2)>>2];n=+g[z+16+(b<<2)>>2];m=+A(+(n*n+h*h));if(m!=0.0){l=h*(f/m);h=+g[z+16+(o<<2)>>2]<0.0?-i:i;f=n*(f/m)}else{l=0.0;h=+g[z+16+(o<<2)>>2]<0.0?-i:i}g[z+(b<<2)>>2]=f;g[z+(o<<2)>>2]=h;g[z+(p<<2)>>2]=l;c[a>>2]=c[z>>2];c[a+4>>2]=c[z+4>>2];c[a+8>>2]=c[z+8>>2];g[a+12>>2]=0.0;k=z;return}case 10:{f=+g[d>>2];h=+g[d+4>>2];i=+g[d+8>>2];e=c[b+52>>2]|0;x=+g[b+28+(e<<2)>>2];l=+g[b+28+(((e+2|0)%3|0)<<2)>>2];if(f*f+h*h+i*i<9.999999747378752e-05){y=1.0;w=0.0;v=0.0}else{v=1.0/+A(+(f*f+h*h+i*i));y=f*v;w=h*v;v=i*v}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;g[z+32+(e<<2)>>2]=x;t=l*y;u=l*w;r=l*v;q=+g[b+44>>2];m=y*q;n=w*q;q=v*q;l=t+ +g[z+32>>2]-m;f=u+ +g[z+32+4>>2]-n;h=r+ +g[z+32+8>>2]-q;i=v*h+(y*l+w*f);if(i>-999999984306749440.0){p=(g[j>>2]=h,c[j>>2]|0);s=(g[j>>2]=f,c[j>>2]|0);o=(g[j>>2]=l,c[j>>2]|0)}else{i=-999999984306749440.0;o=0;p=0;s=0}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;g[z+32+(e<<2)>>2]=-x;t=t+ +g[z+32>>2]-m;x=u+ +g[z+32+4>>2]-n;f=r+ +g[z+32+8>>2]-q;e=y*t+w*x+v*f>i;d=(g[j>>2]=t,c[j>>2]|0);b=(g[j>>2]=x,c[j>>2]|0);p=e?(g[j>>2]=f,c[j>>2]|0):p;c[a>>2]=e?d:o;c[a+4>>2]=e?b:s;c[a+8>>2]=p;g[a+12>>2]=0.0;k=z;return}case 5:{p=c[b+92>>2]|0;o=c[b+96>>2]|0;q=+g[b+12>>2];r=+g[b+16>>2];n=+g[b+20>>2];l=+g[d>>2]*q;m=+g[d+4>>2]*r;h=+g[d+8>>2]*n;if((o|0)>0){e=-1;d=0;f=-3402823466385288598117041.0e14;while(1){i=l*+g[p+(d<<4)>>2]+m*+g[p+(d<<4)+4>>2]+h*+g[p+(d<<4)+8>>2];b=i>f;e=b?d:e;d=d+1|0;if((d|0)==(o|0))break;else f=b?i:f}}else e=-1;x=r*+g[p+(e<<4)+4>>2];y=n*+g[p+(e<<4)+8>>2];g[a>>2]=q*+g[p+(e<<4)>>2];g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;k=z;return}case 4:{p=c[b+104>>2]|0;o=c[b+96>>2]|0;q=+g[b+12>>2];r=+g[b+16>>2];n=+g[b+20>>2];l=+g[d>>2]*q;m=+g[d+4>>2]*r;h=+g[d+8>>2]*n;if((o|0)>0){e=-1;d=0;f=-3402823466385288598117041.0e14;while(1){i=l*+g[p+(d<<4)>>2]+m*+g[p+(d<<4)+4>>2]+h*+g[p+(d<<4)+8>>2];b=i>f;e=b?d:e;d=d+1|0;if((d|0)==(o|0))break;else f=b?i:f}}else e=-1;x=r*+g[p+(e<<4)+4>>2];y=n*+g[p+(e<<4)+8>>2];g[a>>2]=q*+g[p+(e<<4)>>2];g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;k=z;return}default:{Nb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);k=z;return}}}function Id(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0;D=c[b+88>>2]|0;if((D|0)==(c[b+92>>2]|0)?(o=(D|0)==0?1:D<<1,(D|0)<(o|0)):0){if(!o){k=0;m=D}else{c[7584]=(c[7584]|0)+1;k=lc((o*152|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}m=c[b+88>>2]|0}if((m|0)>0){l=0;do{Ki(k+(l*152|0)|0,(c[b+96>>2]|0)+(l*152|0)|0,152)|0;l=l+1|0}while((l|0)!=(m|0))}l=c[b+96>>2]|0;if(l|0){if(a[b+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=k;c[b+92>>2]=o;k=c[b+88>>2]|0}else k=D;c[b+88>>2]=k+1;C=c[b+96>>2]|0;c[C+(D*152|0)+140>>2]=h;c[C+(D*152|0)+16>>2]=0;c[C+(D*152|0)+16+4>>2]=0;c[C+(D*152|0)+16+8>>2]=0;c[C+(D*152|0)+16+12>>2]=0;g[C+(D*152|0)+48>>2]=-0.0;g[C+(D*152|0)+52>>2]=-0.0;g[C+(D*152|0)+56>>2]=-0.0;g[C+(D*152|0)+60>>2]=0.0;h=c[b+16>>2]|0;o=c[h+(e*244|0)+240>>2]|0;B=c[h+(f*244|0)+240>>2]|0;c[C+(D*152|0)+144>>2]=e;c[C+(D*152|0)+148>>2]=f;b=c[i+88>>2]|0;c[C+(D*152|0)+104>>2]=b;c[C+(D*152|0)+132>>2]=0;g[C+(D*152|0)+100>>2]=0.0;g[C+(D*152|0)+96>>2]=0.0;x=-+g[d>>2];y=-+g[d+4>>2];z=-+g[d+8>>2];g[C+(D*152|0)>>2]=x;g[C+(D*152|0)+4>>2]=y;g[C+(D*152|0)+8>>2]=z;g[C+(D*152|0)+12>>2]=0.0;A=(c[j>>2]=b,+g[j>>2]);if(o|0){k=(g[j>>2]=(+g[o+264>>2]*x+ +g[o+268>>2]*y+ +g[o+272>>2]*z)*+g[o+544>>2],c[j>>2]|0);l=(g[j>>2]=(+g[o+280>>2]*x+ +g[o+284>>2]*y+ +g[o+288>>2]*z)*+g[o+548>>2],c[j>>2]|0);m=(g[j>>2]=(+g[o+296>>2]*x+ +g[o+300>>2]*y+ +g[o+304>>2]*z)*+g[o+552>>2],c[j>>2]|0)}else{k=0;l=0;m=0}c[C+(D*152|0)+64>>2]=k;c[C+(D*152|0)+68>>2]=l;c[C+(D*152|0)+72>>2]=m;g[C+(D*152|0)+76>>2]=0.0;u=+g[d>>2];v=+g[d+4>>2];w=+g[d+8>>2];d=c[d+12>>2]|0;g[C+(D*152|0)+32>>2]=u;g[C+(D*152|0)+36>>2]=v;g[C+(D*152|0)+40>>2]=w;c[C+(D*152|0)+44>>2]=d;if(B|0){k=(g[j>>2]=(u*+g[B+264>>2]+v*+g[B+268>>2]+w*+g[B+272>>2])*+g[B+544>>2],c[j>>2]|0);l=(g[j>>2]=(u*+g[B+280>>2]+v*+g[B+284>>2]+w*+g[B+288>>2])*+g[B+548>>2],c[j>>2]|0);m=(g[j>>2]=(u*+g[B+296>>2]+v*+g[B+300>>2]+w*+g[B+304>>2])*+g[B+552>>2],c[j>>2]|0)}else{k=0;l=0;m=0}c[C+(D*152|0)+80>>2]=k;c[C+(D*152|0)+84>>2]=l;c[C+(D*152|0)+88>>2]=m;g[C+(D*152|0)+92>>2]=0.0;if(o|0){n=+g[o+264>>2]*x+ +g[o+268>>2]*y+ +g[o+272>>2]*z;p=+g[o+280>>2]*x+ +g[o+284>>2]*y+ +g[o+288>>2]*z;q=+g[o+296>>2]*x+ +g[o+300>>2]*y+ +g[o+304>>2]*z}else{n=0.0;p=0.0;q=0.0}if(B|0){r=+g[B+264>>2]*u+ +g[B+268>>2]*v+ +g[B+272>>2]*w;s=u*+g[B+280>>2]+v*+g[B+284>>2]+w*+g[B+288>>2];t=u*+g[B+296>>2]+v*+g[B+300>>2]+w*+g[B+304>>2]}else{r=0.0;s=0.0;t=0.0}s=1.0/(n*x+p*y+q*z+0.0+(r*u+s*v+t*w));g[C+(D*152|0)+108>>2]=s;if(o|0){p=+g[h+(e*244|0)+192>>2];q=+g[h+(e*244|0)+196>>2];r=+g[h+(e*244|0)+200>>2];n=(+g[h+(e*244|0)+176>>2]+ +g[h+(e*244|0)+208>>2])*0.0+(+g[h+(e*244|0)+180>>2]+ +g[h+(e*244|0)+212>>2])*0.0+(+g[h+(e*244|0)+184>>2]+ +g[h+(e*244|0)+216>>2])*0.0}else{p=0.0;q=0.0;r=0.0;n=0.0}n=n+(r*z+(q*y+p*x));if(!B){z=0.0;t=0.0;x=0.0;y=-0.0;z=u*z;v=v*t;z=v+z;x=w*x;z=x+z;z=y+z;z=n+z;z=0.0-z;z=s*z;f=C+(D*152|0)+112|0;g[f>>2]=z;f=C+(D*152|0)+116|0;g[f>>2]=0.0;A=-A;f=C+(D*152|0)+120|0;g[f>>2]=A;D=C+(D*152|0)+124|0;c[D>>2]=b;return}z=+g[h+(f*244|0)+192>>2];t=+g[h+(f*244|0)+196>>2];x=+g[h+(f*244|0)+200>>2];y=(+g[h+(f*244|0)+176>>2]+ +g[h+(f*244|0)+208>>2])*-0.0+(+g[h+(f*244|0)+180>>2]+ +g[h+(f*244|0)+212>>2])*-0.0+(+g[h+(f*244|0)+184>>2]+ +g[h+(f*244|0)+216>>2])*-0.0;z=u*z;v=v*t;z=v+z;x=w*x;z=x+z;z=y+z;z=n+z;z=0.0-z;z=s*z;f=C+(D*152|0)+112|0;g[f>>2]=z;f=C+(D*152|0)+116|0;g[f>>2]=0.0;A=-A;f=C+(D*152|0)+120|0;g[f>>2]=A;D=C+(D*152|0)+124|0;c[D>>2]=b;return}function Jd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0;h=k;k=k+240|0;if(!(c[b+16>>2]|0)){K=c[b+12>>2]|0;b=c[b+20>>2]|0;x=+g[d>>2];q=+g[d+4>>2];u=+g[d+8>>2];j=+g[d+16>>2];r=+g[d+20>>2];i=+g[d+24>>2];m=+g[d+32>>2];s=+g[d+36>>2];n=+g[d+40>>2];F=+g[d+48>>2];E=+g[d+52>>2];D=+g[d+56>>2];J=+g[e>>2];I=+g[e+16>>2];z=+g[e+32>>2];H=+g[e+4>>2];G=+g[e+20>>2];y=+g[e+36>>2];v=+g[e+8>>2];l=+g[e+24>>2];p=+g[e+40>>2];C=-+g[e+48>>2];B=-+g[e+52>>2];w=-+g[e+56>>2];d=c[(c[K>>2]|0)+64>>2]|0;A=-+g[b+48>>2];t=-+g[b+52>>2];o=-+g[b+56>>2];g[h+16>>2]=(x*J+j*I+m*z)*A+(x*H+j*G+m*y)*t+(x*v+j*l+m*p)*o;g[h+16+4>>2]=(q*J+r*I+s*z)*A+(q*H+r*G+s*y)*t+(q*v+r*l+s*p)*o;g[h+16+8>>2]=(u*J+i*I+n*z)*A+(u*H+i*G+n*y)*t+(u*v+i*l+n*p)*o;g[h+16+12>>2]=0.0;Nb[d&127](h+152|0,K,h+16|0);o=+g[h+152>>2];t=+g[h+152+4>>2];A=+g[h+152+8>>2];z=F*J+E*I+D*z+(J*C+I*B+z*w)+((x*J+j*I+m*z)*o+(q*J+r*I+s*z)*t+(u*J+i*I+n*z)*A);y=F*H+E*G+D*y+(H*C+G*B+y*w)+((x*H+j*G+m*y)*o+(q*H+r*G+s*y)*t+(u*H+i*G+n*y)*A);A=F*v+E*l+D*p+(v*C+l*B+p*w)+((x*v+j*l+m*p)*o+(q*v+r*l+s*p)*t+(u*v+i*l+n*p)*A);p=+g[b+48>>2];n=+g[b+52>>2];l=+g[b+56>>2];i=l*A+(p*z+n*y)-+g[b+64>>2];v=+g[e>>2];u=+g[e+4>>2];t=+g[e+8>>2];s=+g[e+16>>2];r=+g[e+20>>2];q=+g[e+24>>2];o=+g[e+32>>2];m=+g[e+36>>2];j=+g[e+40>>2];x=(z-p*i)*s+(y-n*i)*r+(A-l*i)*q+ +g[e+52>>2];w=(z-p*i)*o+(y-n*i)*m+(A-l*i)*j+ +g[e+56>>2];g[h+16>>2]=t*(A-l*i)+(v*(z-p*i)+u*(y-n*i))+ +g[e+48>>2];g[h+16+4>>2]=x;g[h+16+8>>2]=w;g[h+16+12>>2]=0.0;g[h>>2]=p*v+n*u+l*t;g[h+4>>2]=p*s+n*r+l*q;g[h+8>>2]=p*o+n*m+l*j;g[h+12>>2]=0.0;Ob[c[(c[f>>2]|0)+16>>2]&15](f,h,h+16|0,i);k=h;return}else{N=c[b+4>>2]|0;a[N+312>>0]=0;c[N>>2]=0;a[N+356>>0]=1;c[N+292>>2]=1566444395;c[N+296>>2]=1566444395;c[N+300>>2]=1566444395;g[N+304>>2]=0.0;c[N+336>>2]=0;c[N+336+4>>2]=0;c[N+336+8>>2]=0;c[N+336+12>>2]=0;a[N+336+16>>0]=0;a[N+332>>0]=a[N+332>>0]&-16;N=c[b+12>>2]|0;M=c[b+16>>2]|0;L=c[N+4>>2]|0;K=c[M+4>>2]|0;I=+jb[c[(c[N>>2]|0)+48>>2]&15](N);O=c[b+16>>2]|0;J=+jb[c[(c[O>>2]|0)+48>>2]&15](O);O=c[b+4>>2]|0;b=c[b+8>>2]|0;c[h+152>>2]=13256;c[h+152+4>>2]=0;c[h+152+8>>2]=1065353216;c[h+152+12>>2]=0;g[h+152+16>>2]=0.0;c[h+152+20>>2]=b;c[h+152+24>>2]=O;c[h+152+28>>2]=N;c[h+152+32>>2]=M;c[h+152+36>>2]=L;c[h+152+40>>2]=K;g[h+152+44>>2]=I;g[h+152+48>>2]=J;a[h+152+52>>0]=0;c[h+152+60>>2]=-1;c[h+152+72>>2]=1;c[h+152+76>>2]=1;g[h+16+128>>2]=999999984306749440.0;c[h+16>>2]=c[d>>2];c[h+16+4>>2]=c[d+4>>2];c[h+16+8>>2]=c[d+8>>2];c[h+16+12>>2]=c[d+12>>2];c[h+16+16>>2]=c[d+16>>2];c[h+16+16+4>>2]=c[d+16+4>>2];c[h+16+16+8>>2]=c[d+16+8>>2];c[h+16+16+12>>2]=c[d+16+12>>2];c[h+16+32>>2]=c[d+32>>2];c[h+16+32+4>>2]=c[d+32+4>>2];c[h+16+32+8>>2]=c[d+32+8>>2];c[h+16+32+12>>2]=c[d+32+12>>2];c[h+16+48>>2]=c[d+48>>2];c[h+16+48+4>>2]=c[d+48+4>>2];c[h+16+48+8>>2]=c[d+48+8>>2];c[h+16+48+12>>2]=c[d+48+12>>2];c[h+16+64>>2]=c[e>>2];c[h+16+64+4>>2]=c[e+4>>2];c[h+16+64+8>>2]=c[e+8>>2];c[h+16+64+12>>2]=c[e+12>>2];c[h+16+80>>2]=c[e+16>>2];c[h+16+80+4>>2]=c[e+16+4>>2];c[h+16+80+8>>2]=c[e+16+8>>2];c[h+16+80+12>>2]=c[e+16+12>>2];c[h+16+96>>2]=c[e+32>>2];c[h+16+96+4>>2]=c[e+32+4>>2];c[h+16+96+8>>2]=c[e+32+8>>2];c[h+16+96+12>>2]=c[e+32+12>>2];c[h+16+112>>2]=c[e+48>>2];c[h+16+112+4>>2]=c[e+48+4>>2];c[h+16+112+8>>2]=c[e+48+8>>2];c[h+16+112+12>>2]=c[e+48+12>>2];Kc(h+152|0,h+16|0,f,0,0);k=h;return}}function Kd(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;n=k;k=k+16|0;c[b+236>>2]=2;c[b+312>>2]=0;c[b+312+4>>2]=0;c[b+312+8>>2]=0;c[b+312+12>>2]=0;c[b+312+16>>2]=0;c[b+312+20>>2]=0;c[b+312+24>>2]=0;c[b+312+28>>2]=0;c[b+544>>2]=1065353216;c[b+548>>2]=1065353216;c[b+552>>2]=1065353216;g[b+556>>2]=0.0;c[b+348>>2]=1065353216;c[b+352>>2]=1065353216;c[b+356>>2]=1065353216;e=b+360|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+412>>2]=0;c[b+412+4>>2]=0;c[b+412+8>>2]=0;c[b+412+12>>2]=0;c[b+412+16>>2]=0;c[b+412+20>>2]=0;c[b+412+24>>2]=0;c[b+412+28>>2]=0;f=+g[d+92>>2];m=+g[d+96>>2];g[n+12>>2]=f;g[n+8>>2]=m;g[n+4>>2]=0.0;g[n>>2]=1.0;c[b+444>>2]=c[(f<0.0?n+4|0:f>1.0?n:n+12|0)>>2];g[n+4>>2]=0.0;g[n>>2]=1.0;c[b+448>>2]=c[(m<0.0?n+4|0:m>1.0?n:n+8|0)>>2];c[b+472>>2]=c[d+112>>2];c[b+476>>2]=c[d+116>>2];e=c[d+4>>2]|0;c[b+480>>2]=e;c[b+608>>2]=0;c[b+612>>2]=0;a[b+452>>0]=a[d+120>>0]|0;c[b+456>>2]=c[d+124>>2];c[b+460>>2]=c[d+128>>2];c[b+464>>2]=c[d+132>>2];c[b+468>>2]=c[d+136>>2];if(!e){c[b+4>>2]=c[d+8>>2];c[b+4+4>>2]=c[d+8+4>>2];c[b+4+8>>2]=c[d+8+8>>2];c[b+4+12>>2]=c[d+8+12>>2];c[b+20>>2]=c[d+24>>2];c[b+20+4>>2]=c[d+24+4>>2];c[b+20+8>>2]=c[d+24+8>>2];c[b+20+12>>2]=c[d+24+12>>2];c[b+36>>2]=c[d+40>>2];c[b+36+4>>2]=c[d+40+4>>2];c[b+36+8>>2]=c[d+40+8>>2];c[b+36+12>>2]=c[d+40+12>>2];c[b+52>>2]=c[d+56>>2];c[b+52+4>>2]=c[d+56+4>>2];c[b+52+8>>2]=c[d+56+8>>2];c[b+52+12>>2]=c[d+56+12>>2];e=b+20|0;h=b+36|0;i=b+52|0;l=b+4|0}else{Jb[c[(c[e>>2]|0)+8>>2]&127](e,b+4|0);e=b+20|0;h=b+36|0;i=b+52|0;l=b+4|0}c[b+68>>2]=c[l>>2];c[b+68+4>>2]=c[l+4>>2];c[b+68+8>>2]=c[l+8>>2];c[b+68+12>>2]=c[l+12>>2];c[b+84>>2]=c[e>>2];c[b+84+4>>2]=c[e+4>>2];c[b+84+8>>2]=c[e+8>>2];c[b+84+12>>2]=c[e+12>>2];c[b+100>>2]=c[h>>2];c[b+100+4>>2]=c[h+4>>2];c[b+100+8>>2]=c[h+8>>2];c[b+100+12>>2]=c[h+12>>2];c[b+116>>2]=c[i>>2];c[b+116+4>>2]=c[i+4>>2];c[b+116+8>>2]=c[i+8>>2];c[b+116+12>>2]=c[i+12>>2];c[b+132>>2]=0;c[b+132+4>>2]=0;c[b+132+8>>2]=0;c[b+132+12>>2]=0;c[b+132+16>>2]=0;c[b+132+20>>2]=0;c[b+132+24>>2]=0;c[b+132+28>>2]=0;c[b+224>>2]=c[d+100>>2];c[b+232>>2]=c[d+104>>2];c[b+228>>2]=c[d+108>>2];Jb[c[(c[b>>2]|0)+12>>2]&127](b,c[d+72>>2]|0);e=c[7246]|0;c[7246]=e+1;c[b+508>>2]=e;f=+g[d>>2];e=c[b+204>>2]|0;if(f==0.0){c[b+204>>2]=e|1;m=0.0}else{c[b+204>>2]=e&-2;m=1.0/f}g[b+344>>2]=m;p=f*+g[b+384>>2];o=f*+g[b+388>>2];g[b+364>>2]=f*+g[b+380>>2];g[b+368>>2]=p;g[b+372>>2]=o;g[b+376>>2]=0.0;f=+g[d+76>>2];h=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;f=+g[d+80>>2];e=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;f=+g[d+84>>2];d=f!=0.0?(g[j>>2]=1.0/f,c[j>>2]|0):0;c[b+396>>2]=h;c[b+400>>2]=e;c[b+404>>2]=d;g[b+408>>2]=0.0;r=m*+g[b+352>>2];y=m*+g[b+356>>2];g[b+560>>2]=m*+g[b+348>>2];g[b+564>>2]=r;g[b+568>>2]=y;g[b+572>>2]=0.0;y=+g[b+4>>2];r=(c[j>>2]=h,+g[j>>2]);x=+g[b+8>>2];f=(c[j>>2]=e,+g[j>>2]);w=+g[b+12>>2];o=(c[j>>2]=d,+g[j>>2]);v=+g[b+20>>2];u=+g[b+24>>2];t=+g[b+28>>2];s=+g[b+36>>2];q=+g[b+40>>2];p=+g[b+44>>2];g[b+264>>2]=y*y*r+x*x*f+w*w*o;g[b+268>>2]=y*r*v+x*f*u+w*o*t;g[b+272>>2]=y*r*s+x*f*q+w*o*p;g[b+276>>2]=0.0;g[b+280>>2]=y*v*r+x*u*f+w*t*o;g[b+284>>2]=v*v*r+u*u*f+t*t*o;g[b+288>>2]=v*r*s+u*f*q+t*o*p;g[b+292>>2]=0.0;g[b+296>>2]=y*s*r+x*q*f+w*p*o;g[b+300>>2]=v*s*r+u*q*f+t*p*o;g[b+304>>2]=s*s*r+q*q*f+p*p*o;g[b+308>>2]=0.0;c[b+504>>2]=0;c[b+512>>2]=0;c[b+512+4>>2]=0;c[b+512+8>>2]=0;c[b+512+12>>2]=0;c[b+512+16>>2]=0;c[b+512+20>>2]=0;c[b+512+24>>2]=0;c[b+512+28>>2]=0;o=m*+g[b+352>>2];p=m*+g[b+356>>2];g[b+560>>2]=m*+g[b+348>>2];g[b+564>>2]=o;g[b+568>>2]=p;e=b+572|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));k=n;return}function Ld(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;v=k;k=k+544|0;j=h;l=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[v+384>>2]=a;c[v+384+4>>2]=d;B=+g[e>>2];H=+g[b>>2];z=+g[e+16>>2];G=+g[b+16>>2];y=+g[e+32>>2];F=+g[b+32>>2];E=+g[b+4>>2];D=+g[b+20>>2];C=+g[b+36>>2];m=+g[b+8>>2];o=+g[b+24>>2];q=+g[b+40>>2];x=+g[e+4>>2];w=+g[e+20>>2];i=+g[e+36>>2];n=+g[e+8>>2];p=+g[e+24>>2];r=+g[e+40>>2];g[v+384+8>>2]=B*H+z*G+y*F;g[v+384+12>>2]=B*E+z*D+y*C;g[v+384+16>>2]=B*m+z*o+y*q;g[v+384+20>>2]=0.0;g[v+384+24>>2]=H*x+G*w+F*i;g[v+384+28>>2]=E*x+D*w+C*i;g[v+384+32>>2]=m*x+o*w+q*i;g[v+384+36>>2]=0.0;g[v+384+40>>2]=H*n+G*p+F*r;g[v+384+44>>2]=E*n+D*p+C*r;g[v+384+48>>2]=m*n+o*p+q*r;g[v+384+52>>2]=0.0;J=+g[e+48>>2]-+g[b+48>>2];I=+g[e+52>>2]-+g[b+52>>2];u=+g[e+56>>2]-+g[b+56>>2];s=J*+g[b>>2]+I*+g[b+16>>2]+u*+g[b+32>>2];t=J*+g[b+4>>2]+I*+g[b+20>>2]+u*+g[b+36>>2];u=J*+g[b+8>>2]+I*+g[b+24>>2]+u*+g[b+40>>2];g[v+384+56>>2]=B*H+z*G+y*F;g[v+384+60>>2]=H*x+G*w+F*i;g[v+384+64>>2]=H*n+G*p+F*r;g[v+384+68>>2]=0.0;g[v+384+72>>2]=B*E+z*D+y*C;g[v+384+76>>2]=E*x+D*w+C*i;g[v+384+80>>2]=E*n+D*p+C*r;g[v+384+84>>2]=0.0;g[v+384+88>>2]=B*m+z*o+y*q;g[v+384+92>>2]=m*x+o*w+q*i;g[v+384+96>>2]=m*n+o*p+q*r;g[v+384+100>>2]=0.0;g[v+384+104>>2]=s;g[v+384+108>>2]=t;g[v+384+112>>2]=u;g[v+384+116>>2]=0.0;c[v+384+120>>2]=92;c[v+384+124>>2]=0;c[v+364>>2]=0;c[v+128>>2]=0;c[v+128+4>>2]=0;c[v+128+8>>2]=0;c[v+128+12>>2]=0;c[v+376>>2]=2;c[v+368>>2]=0;g[v+144>>2]=0.0;a=Hc(v,v+384|0,f)|0;if(a|0){c[h>>2]=(a|0)==1?1:2;h=0;k=v;return h|0}a=c[v+372>>2]|0;if(!(c[a+32>>2]|0)){q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;i=0.0}else{f=0;o=0.0;p=0.0;q=0.0;i=0.0;m=0.0;n=0.0;do{u=+g[a+16+(f<<2)>>2];d=c[v+384+120>>2]|0;l=c[v+384+124>>2]|0;e=(c[v+384>>2]|0)+(1?l>>1:l)|0;if(l&1)d=c[(c[e>>2]|0)+d>>2]|0;Nb[d&127](v+528|0,e,c[a+(f<<2)>>2]|0);o=o+u*+g[v+528>>2];p=p+u*+g[v+528+4>>2];q=q+u*+g[v+528+8>>2];a=c[(c[v+372>>2]|0)+(f<<2)>>2]|0;r=-+g[a>>2];s=-+g[a+4>>2];t=-+g[a+8>>2];a=c[v+384+120>>2]|0;l=c[v+384+124>>2]|0;d=(c[v+384+4>>2]|0)+(1?l>>1:l)|0;if(l&1)a=c[(c[d>>2]|0)+a>>2]|0;I=+g[v+384+24>>2]*r+ +g[v+384+28>>2]*s+ +g[v+384+32>>2]*t;H=+g[v+384+40>>2]*r+ +g[v+384+44>>2]*s+ +g[v+384+48>>2]*t;g[v+512>>2]=+g[v+384+8>>2]*r+ +g[v+384+12>>2]*s+ +g[v+384+16>>2]*t;g[v+512+4>>2]=I;g[v+512+8>>2]=H;g[v+512+12>>2]=0.0;Nb[a&127](v+528|0,d,v+512|0);H=+g[v+528>>2];I=+g[v+528+4>>2];J=+g[v+528+8>>2];i=i+u*(H*+g[v+384+56>>2]+I*+g[v+384+60>>2]+J*+g[v+384+64>>2]+ +g[v+384+104>>2]);m=m+u*(H*+g[v+384+72>>2]+I*+g[v+384+76>>2]+J*+g[v+384+80>>2]+ +g[v+384+108>>2]);n=n+u*(H*+g[v+384+88>>2]+I*+g[v+384+92>>2]+J*+g[v+384+96>>2]+ +g[v+384+112>>2]);f=f+1|0;a=c[v+372>>2]|0}while(f>>>0<(c[a+32>>2]|0)>>>0)}G=o*+g[b+16>>2]+p*+g[b+20>>2]+q*+g[b+24>>2]+ +g[b+52>>2];H=o*+g[b+32>>2]+p*+g[b+36>>2]+q*+g[b+40>>2]+ +g[b+56>>2];g[h+4>>2]=o*+g[b>>2]+p*+g[b+4>>2]+q*+g[b+8>>2]+ +g[b+48>>2];g[h+8>>2]=G;g[h+12>>2]=H;g[h+16>>2]=0.0;H=i*+g[b+16>>2]+m*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];G=i*+g[b+32>>2]+m*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[h+20>>2]=i*+g[b>>2]+m*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[h+24>>2]=H;g[h+28>>2]=G;g[h+32>>2]=0.0;G=o-i;H=p-m;I=q-n;g[h+48>>2]=0.0;J=+A(+(G*G+H*H+I*I));g[h+52>>2]=J;J=J>9.999999747378752e-05?1.0/J:1.0;g[h+36>>2]=G*J;g[h+40>>2]=H*J;g[h+44>>2]=I*J;h=1;k=v;return h|0}function Md(a,b,d,e,f,h){a=a|0;b=+b;d=+d;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0;q=k;k=k+704|0;p=AJ(f)|0;m=+g[p>>2];n=+g[p+4>>2];o=+g[p+8>>2];g[q+680>>2]=0.0;g[q+676>>2]=0.0;g[q+672>>2]=0.0;Yt(q+688|0,q+680|0,q+676|0,q+672|0);g[(DK(q+688|0)|0)+(e<<2)>>2]=d*.5;g[q+648>>2]=0.0;g[q+644>>2]=0.0;g[q+640>>2]=0.0;Yt(q+656|0,q+648|0,q+644|0,q+640|0);g[(DK(q+656|0)|0)+(((e+1|0)%3|0)<<2)>>2]=b;g[q+616>>2]=0.0;g[q+612>>2]=0.0;g[q+608>>2]=0.0;Yt(q+624|0,q+616|0,q+612|0,q+608|0);g[(DK(q+624|0)|0)+(((e+2|0)%3|0)<<2)>>2]=b;g[q+584>>2]=0.0;g[q+580>>2]=0.0;g[q+576>>2]=0.0;Yt(q+592|0,q+584|0,q+580|0,q+576|0);p=DK(q+592|0)|0;g[p+(e<<2)>>2]=-(d*.5);j=q+688+4|0;l=q+688+8|0;i=0;while(1){if(i>>>0>=360)break;d=+(i|0)*.01745329238474369;g[p+(((e+1|0)%3|0)<<2)>>2]=+rK(d)*b;g[p+(((e+2|0)%3|0)<<2)>>2]=+sK(d)*b;r=c[(c[a>>2]|0)+8>>2]|0;s=DK(f)|0;Nm(q+544|0,s,+g[q+688>>2],+g[j>>2],+g[l>>2]);ar(q+560|0,m,n,o,+g[q+544>>2],+g[q+544+4>>2],+g[q+544+8>>2]);Nm(q+512|0,s,+g[q+592>>2],+g[q+592+4>>2],+g[q+592+8>>2]);ar(q+528|0,m,n,o,+g[q+512>>2],+g[q+512+4>>2],+g[q+512+8>>2]);Qb[r&127](a,q+560|0,q+528|0,h);i=i+30|0}s=c[(c[a>>2]|0)+8>>2]|0;r=DK(f)|0;Nm(q+480|0,r,+g[q+688>>2],+g[j>>2],+g[l>>2]);ar(q+496|0,m,n,o,+g[q+480>>2],+g[q+480+4>>2],+g[q+480+8>>2]);Cs(q+416|0,+g[q+688>>2],+g[j>>2],+g[l>>2]);ar(q+432|0,+g[q+416>>2],+g[q+416+4>>2],+g[q+416+8>>2],+g[q+656>>2],+g[q+656+4>>2],+g[q+656+8>>2]);Nm(q+448|0,r,+g[q+432>>2],+g[q+432+4>>2],+g[q+432+8>>2]);ar(q+464|0,m,n,o,+g[q+448>>2],+g[q+448+4>>2],+g[q+448+8>>2]);Qb[s&127](a,q+496|0,q+464|0,h);s=c[(c[a>>2]|0)+8>>2]|0;Nm(q+384|0,r,+g[q+688>>2],+g[j>>2],+g[l>>2]);ar(q+400|0,m,n,o,+g[q+384>>2],+g[q+384+4>>2],+g[q+384+8>>2]);Cs(q+320|0,+g[q+688>>2],+g[j>>2],+g[l>>2]);cr(q+336|0,+g[q+320>>2],+g[q+320+4>>2],+g[q+320+8>>2],+g[q+656>>2],+g[q+656+4>>2],+g[q+656+8>>2]);Nm(q+352|0,r,+g[q+336>>2],+g[q+336+4>>2],+g[q+336+8>>2]);ar(q+368|0,m,n,o,+g[q+352>>2],+g[q+352+4>>2],+g[q+352+8>>2]);Qb[s&127](a,q+400|0,q+368|0,h);s=c[(c[a>>2]|0)+8>>2]|0;Nm(q+288|0,r,+g[q+688>>2],+g[j>>2],+g[l>>2]);ar(q+304|0,m,n,o,+g[q+288>>2],+g[q+288+4>>2],+g[q+288+8>>2]);Cs(q+224|0,+g[q+688>>2],+g[j>>2],+g[l>>2]);ar(q+240|0,+g[q+224>>2],+g[q+224+4>>2],+g[q+224+8>>2],+g[q+624>>2],+g[q+624+4>>2],+g[q+624+8>>2]);Nm(q+256|0,r,+g[q+240>>2],+g[q+240+4>>2],+g[q+240+8>>2]);ar(q+272|0,m,n,o,+g[q+256>>2],+g[q+256+4>>2],+g[q+256+8>>2]);Qb[s&127](a,q+304|0,q+272|0,h);s=c[(c[a>>2]|0)+8>>2]|0;Nm(q+192|0,r,+g[q+688>>2],+g[j>>2],+g[l>>2]);ar(q+208|0,m,n,o,+g[q+192>>2],+g[q+192+4>>2],+g[q+192+8>>2]);Cs(q+128|0,+g[q+688>>2],+g[j>>2],+g[l>>2]);cr(q+144|0,+g[q+128>>2],+g[q+128+4>>2],+g[q+128+8>>2],+g[q+624>>2],+g[q+624+4>>2],+g[q+624+8>>2]);Nm(q+160|0,r,+g[q+144>>2],+g[q+144+4>>2],+g[q+144+8>>2]);ar(q+176|0,m,n,o,+g[q+160>>2],+g[q+160+4>>2],+g[q+160+8>>2]);Qb[s&127](a,q+208|0,q+176|0,h);g[q+104>>2]=0.0;g[q+100>>2]=0.0;g[q+96>>2]=0.0;Yt(q+112|0,q+104|0,q+100|0,q+96|0);g[(DK(q+112|0)|0)+(e<<2)>>2]=1.0;g[q+72>>2]=0.0;g[q+68>>2]=0.0;g[q+64>>2]=0.0;Yt(q+80|0,q+72|0,q+68|0,q+64|0);g[(DK(q+80|0)|0)+(((e+1|0)%3|0)<<2)>>2]=1.0;s=c[(c[a>>2]|0)+60>>2]|0;Nm(q+32|0,r,+g[q+688>>2],+g[j>>2],+g[l>>2]);cr(q+48|0,m,n,o,+g[q+32>>2],+g[q+32+4>>2],+g[q+32+8>>2]);Nm(q+16|0,r,+g[q+112>>2],+g[q+112+4>>2],+g[q+112+8>>2]);Nm(q,r,+g[q+80>>2],+g[q+80+4>>2],+g[q+80+8>>2]);Tb[s&1](a,q+48|0,q+16|0,q,b,b,0.0,6.2831854820251465,h,0,10.0);k=q;return}function Nd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0;i=k;k=k+464|0;Wj(21297);c[i+128>>2]=c[d>>2];c[i+128+4>>2]=c[d+4>>2];c[i+128+8>>2]=c[d+8>>2];c[i+128+12>>2]=c[d+12>>2];c[i+128+16>>2]=c[d+16>>2];c[i+128+16+4>>2]=c[d+16+4>>2];c[i+128+16+8>>2]=c[d+16+8>>2];c[i+128+16+12>>2]=c[d+16+12>>2];c[i+128+32>>2]=c[d+32>>2];c[i+128+32+4>>2]=c[d+32+4>>2];c[i+128+32+8>>2]=c[d+32+8>>2];c[i+128+32+12>>2]=c[d+32+12>>2];l=i+128+48|0;c[l>>2]=c[d+48>>2];c[l+4>>2]=c[d+48+4>>2];c[l+8>>2]=c[d+48+8>>2];c[l+12>>2]=c[d+48+12>>2];c[i+64>>2]=c[e>>2];c[i+64+4>>2]=c[e+4>>2];c[i+64+8>>2]=c[e+8>>2];c[i+64+12>>2]=c[e+12>>2];c[i+64+16>>2]=c[e+16>>2];c[i+64+16+4>>2]=c[e+16+4>>2];c[i+64+16+8>>2]=c[e+16+8>>2];c[i+64+16+12>>2]=c[e+16+12>>2];c[i+64+32>>2]=c[e+32>>2];c[i+64+32+4>>2]=c[e+32+4>>2];c[i+64+32+8>>2]=c[e+32+8>>2];c[i+64+32+12>>2]=c[e+32+12>>2];j=i+64+48|0;c[j>>2]=c[e+48>>2];c[j+4>>2]=c[e+48+4>>2];c[j+8>>2]=c[e+48+8>>2];c[j+12>>2]=c[e+48+12>>2];Tf(i+128|0,i+64|0,i+256|0,i+192|0);t=+g[i+192>>2];m=t*+g[i+256+4>>2];r=t*+g[i+256+8>>2];g[i+16>>2]=+g[i+256>>2]*t;g[i+16+4>>2]=m;g[i+16+8>>2]=r;g[i+16+12>>2]=0.0;c[i+256>>2]=0;c[i+256+4>>2]=0;c[i+256+8>>2]=0;c[i+256+12>>2]=0;c[i+192+48>>2]=0;c[i+192+48+4>>2]=0;c[i+192+48+8>>2]=0;c[i+192+48+12>>2]=0;Vh(i+128|0,i);r=+g[i>>2];m=+g[i+4>>2];t=+g[i+8>>2];q=+g[i+12>>2];o=r*(2.0/(r*r+m*m+t*t+q*q));n=m*(2.0/(r*r+m*m+t*t+q*q));p=t*(2.0/(r*r+m*m+t*t+q*q));g[i+192>>2]=1.0-(m*n+t*p);g[i+192+4>>2]=r*n-q*p;g[i+192+8>>2]=r*p+q*n;g[i+192+12>>2]=0.0;g[i+192+16>>2]=r*n+q*p;g[i+192+20>>2]=1.0-(r*o+t*p);g[i+192+24>>2]=m*p-q*o;g[i+192+28>>2]=0.0;g[i+192+32>>2]=r*p-q*n;g[i+192+36>>2]=m*p+q*o;g[i+192+40>>2]=1.0-(r*o+m*n);g[i+192+44>>2]=0.0;Eh(b,i+192|0,i+256|0,i+16|0,i+48|0,i+32|0);c[i+256>>2]=9172;c[i+256+36>>2]=c[d>>2];c[i+256+36+4>>2]=c[d+4>>2];c[i+256+36+8>>2]=c[d+8>>2];c[i+256+36+12>>2]=c[d+12>>2];c[i+256+52>>2]=c[d+16>>2];c[i+256+52+4>>2]=c[d+16+4>>2];c[i+256+52+8>>2]=c[d+16+8>>2];c[i+256+52+12>>2]=c[d+16+12>>2];c[i+256+68>>2]=c[d+32>>2];c[i+256+68+4>>2]=c[d+32+4>>2];c[i+256+68+8>>2]=c[d+32+8>>2];c[i+256+68+12>>2]=c[d+32+12>>2];s=i+256+84|0;c[s>>2]=c[d+48>>2];c[s+4>>2]=c[d+48+4>>2];c[s+8>>2]=c[d+48+8>>2];c[s+12>>2]=c[d+48+12>>2];c[i+256+100>>2]=c[e>>2];c[i+256+100+4>>2]=c[e+4>>2];c[i+256+100+8>>2]=c[e+8>>2];c[i+256+100+12>>2]=c[e+12>>2];c[i+256+116>>2]=c[e+16>>2];c[i+256+116+4>>2]=c[e+16+4>>2];c[i+256+116+8>>2]=c[e+16+8>>2];c[i+256+116+12>>2]=c[e+16+12>>2];c[i+256+132>>2]=c[e+32>>2];c[i+256+132+4>>2]=c[e+32+4>>2];c[i+256+132+8>>2]=c[e+32+8>>2];c[i+256+132+12>>2]=c[e+32+12>>2];d=i+256+148|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];c[i+256+180>>2]=a;c[i+256+184>>2]=f;g[i+256+188>>2]=h;c[i+256+192>>2]=b;n=+g[d>>2]-+g[s>>2];m=+g[i+256+152>>2]-+g[i+256+88>>2];o=+g[i+256+156>>2]-+g[i+256+92>>2];h=1.0/+A(+(n*n+m*m+o*o));r=n*h==0.0?999999984306749440.0:1.0/(n*h);g[i+256+4>>2]=r;q=m*h==0.0?999999984306749440.0:1.0/(m*h);g[i+256+8>>2]=q;p=o*h==0.0?999999984306749440.0:1.0/(o*h);g[i+256+12>>2]=p;c[i+256+20>>2]=r<0.0&1;c[i+256+24>>2]=q<0.0&1;c[i+256+28>>2]=p<0.0&1;g[i+256+32>>2]=o*o*h+(n*n*h+m*m*h);a=c[a+68>>2]|0;Wb[c[(c[a>>2]|0)+24>>2]&7](a,l,j,i+256|0,i+48|0,i+32|0);a=c[3369]|0;f=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=f;if(f|0){k=i;return}do if(c[a+4>>2]|0){bb(i+256|0,0)|0;s=c[7583]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[i+256+4>>2]|0)-(c[s+4>>2]|0)+(((c[i+256>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[3369]|0;break}else{k=i;return}}while(0);c[3369]=c[a+20>>2];k=i;return}function Od(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=k;k=k+32|0;g=tb[c[(c[d>>2]|0)+28>>2]&255](d)|0;c[e+20>>2]=g;c[e>>2]=0;if(!g){s=d+4|0;f=e+4|0;s=c[s>>2]|0;c[f>>2]=s;f=d+8|0;f=c[f>>2]|0;s=e+8|0;c[s>>2]=f;s=d+12|0;s=c[s>>2]|0;f=e+12|0;c[f>>2]=s;d=d+16|0;d=c[d>>2]|0;f=e+16|0;c[f>>2]=d;k=t;return 25340}s=xb[c[(c[f>>2]|0)+16>>2]&63](f,32,g)|0;g=c[s+8>>2]|0;c[e>>2]=vb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;r=tb[c[(c[d>>2]|0)+28>>2]&255](d)|0;a:do if((r|0)>0){q=0;while(1){_b[c[(c[d>>2]|0)+16>>2]&3](d,t+28|0,t+4|0,t+16|0,t+8|0,t+24|0,t+20|0,t,t+12|0,q);i=c[t>>2]|0;c[g+24>>2]=i;c[g+28>>2]=c[t+4>>2];j=g+12|0;m=g+16|0;p=g+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;switch(c[t+12>>2]|0){case 2:{if(i|0){j=xb[c[(c[f>>2]|0)+16>>2]&63](f,4,i*3|0)|0;l=c[j+8>>2]|0;c[g+8>>2]=vb[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;if((c[t>>2]|0)>0){m=c[t+24>>2]|0;i=0;do{n=m+(M(c[t+20>>2]|0,i)|0)|0;o=i*3|0;c[l+(o<<2)>>2]=c[n>>2];c[l+(o+1<<2)>>2]=c[n+4>>2];c[l+(o+2<<2)>>2]=c[n+8>>2];i=i+1|0}while((i|0)<(c[t>>2]|0))}Ub[c[(c[f>>2]|0)+20>>2]&31](f,j,25221,1497453121,c[j+8>>2]|0)}break}case 3:{if(i|0){n=xb[c[(c[f>>2]|0)+16>>2]&63](f,8,i)|0;o=c[n+8>>2]|0;c[j>>2]=vb[c[(c[f>>2]|0)+28>>2]&31](f,o)|0;j=c[t>>2]|0;if((j|0)>0){l=c[t+24>>2]|0;m=c[t+20>>2]|0;i=0;do{u=l+(M(m,i)|0)|0;b[o+(i<<3)>>1]=b[u>>1]|0;b[o+(i<<3)+2>>1]=b[u+2>>1]|0;b[o+(i<<3)+4>>1]=b[u+4>>1]|0;i=i+1|0}while((i|0)!=(j|0))}Ub[c[(c[f>>2]|0)+20>>2]&31](f,n,25236,1497453121,c[n+8>>2]|0)}break}case 5:{if(i|0){j=xb[c[(c[f>>2]|0)+16>>2]&63](f,4,i)|0;l=c[j+8>>2]|0;c[m>>2]=vb[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;if((c[t>>2]|0)>0){i=0;do{u=(c[t+24>>2]|0)+(M(c[t+20>>2]|0,i)|0)|0;a[l+(i<<2)>>0]=a[u>>0]|0;a[l+(i<<2)+1>>0]=a[u+1>>0]|0;a[l+(i<<2)+2>>0]=a[u+2>>0]|0;i=i+1|0}while((i|0)<(c[t>>2]|0))}Ub[c[(c[f>>2]|0)+20>>2]&31](f,j,25263,1497453121,c[j+8>>2]|0)}break}default:{}}switch(c[t+16>>2]|0){case 0:{i=c[t+4>>2]|0;if(i|0){j=xb[c[(c[f>>2]|0)+16>>2]&63](f,16,i)|0;l=c[j+8>>2]|0;c[g>>2]=vb[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;m=c[t+4>>2]|0;if((m|0)>0){n=c[t+28>>2]|0;o=c[t+8>>2]|0;i=0;do{u=n+(M(o,i)|0)|0;c[l+(i<<4)>>2]=c[u>>2];c[l+(i<<4)+4>>2]=c[u+4>>2];c[l+(i<<4)+8>>2]=c[u+8>>2];i=i+1|0}while((i|0)!=(m|0))}Ub[c[(c[f>>2]|0)+20>>2]&31](f,j,25286,1497453121,c[j+8>>2]|0)}break}case 1:{i=c[t+4>>2]|0;if(i|0){n=xb[c[(c[f>>2]|0)+16>>2]&63](f,32,i)|0;o=c[n+8>>2]|0;c[p>>2]=vb[c[(c[f>>2]|0)+28>>2]&31](f,o)|0;j=c[t+4>>2]|0;if((j|0)>0){l=c[t+28>>2]|0;m=c[t+8>>2]|0;i=0;do{u=l+(M(m,i)|0)|0;h[o+(i<<5)>>3]=+h[u>>3];h[o+(i<<5)+8>>3]=+h[u+8>>3];h[o+(i<<5)+16>>3]=+h[u+16>>3];i=i+1|0}while((i|0)!=(j|0))}Ub[c[(c[f>>2]|0)+20>>2]&31](f,n,25305,1497453121,c[n+8>>2]|0)}break}default:{}}Jb[c[(c[d>>2]|0)+24>>2]&127](d,q);q=q+1|0;if((q|0)==(r|0)){g=f;break a}else g=g+32|0}}else g=f;while(0);Ub[c[(c[g>>2]|0)+20>>2]&31](f,s,25325,1497453121,c[s+8>>2]|0);u=d+4|0;f=e+4|0;u=c[u>>2]|0;c[f>>2]=u;f=d+8|0;f=c[f>>2]|0;u=e+8|0;c[u>>2]=f;u=d+12|0;u=c[u>>2]|0;f=e+12|0;c[f>>2]=u;f=d+16|0;f=c[f>>2]|0;u=e+16|0;c[u>>2]=f;k=t;return 25340}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;o=c[a+192>>2]|0;n=+jb[c[(c[o>>2]|0)+48>>2]&15](o);o=c[a+712>>2]|0;if((o|0)>0){i=0;do{m=c[a+720>>2]|0;f=m+(i*104|0)+8|0;q=+g[f>>2];h=m+(i*104|0)+12|0;p=+g[h>>2];d=m+(i*104|0)+16|0;l=+g[d>>2];j=q*+g[b>>2]+p*+g[b+4>>2]+l*+g[b+8>>2]+ +g[b+48>>2];k=q*+g[b+16>>2]+p*+g[b+20>>2]+l*+g[b+24>>2]+ +g[b+52>>2];l=q*+g[b+32>>2]+p*+g[b+36>>2]+l*+g[b+40>>2]+ +g[b+56>>2];g[f>>2]=j;g[h>>2]=k;g[d>>2]=l;g[m+(i*104|0)+20>>2]=0.0;d=m+(i*104|0)+24|0;p=+g[d>>2];h=m+(i*104|0)+28|0;q=+g[h>>2];f=m+(i*104|0)+32|0;r=+g[f>>2];s=p*+g[b+16>>2]+q*+g[b+20>>2]+r*+g[b+24>>2]+ +g[b+52>>2];t=p*+g[b+32>>2]+q*+g[b+36>>2]+r*+g[b+40>>2]+ +g[b+56>>2];g[d>>2]=p*+g[b>>2]+q*+g[b+4>>2]+r*+g[b+8>>2]+ +g[b+48>>2];g[h>>2]=s;g[f>>2]=t;g[m+(i*104|0)+36>>2]=0.0;f=m+(i*104|0)+72|0;t=+g[f>>2];h=m+(i*104|0)+76|0;s=+g[h>>2];d=m+(i*104|0)+80|0;r=+g[d>>2];q=t*+g[b+16>>2]+s*+g[b+20>>2]+r*+g[b+24>>2];p=t*+g[b+32>>2]+s*+g[b+36>>2]+r*+g[b+40>>2];g[f>>2]=+g[b>>2]*t+ +g[b+4>>2]*s+ +g[b+8>>2]*r;g[h>>2]=q;g[d>>2]=p;g[m+(i*104|0)+84>>2]=0.0;m=c[m+(i*104|0)+96>>2]|0;d=xh(a+928|0,m)|0;a:do if(d){h=c[a+936>>2]|0;if((h|0)<=-1){d=c[a+928>>2]|0;break}if(h){e=0;while(1){f=c[d+32>>2]|0;e=e+1|0;if(!f)break a;if((e|0)>=(h|0)){d=f;break}else d=f}}}else d=0;while(0);g[m>>2]=j-n;g[m+4>>2]=k-n;g[m+8>>2]=l-n;g[m+12>>2]=0.0;g[m+16>>2]=n+j;g[m+20>>2]=n+k;g[m+24>>2]=n+l;g[m+28>>2]=0.0;tf(a+928|0,d,m);i=i+1|0}while((i|0)!=(o|0))}Og(a);d=c[a+928>>2]|0;if(d){o=c[a+192>>2]|0;r=+jb[c[(c[o>>2]|0)+48>>2]&15](o);t=+g[d+4>>2]-r;s=+g[d+8>>2]-r;g[a+892>>2]=+g[d>>2]-r;g[a+896>>2]=t;g[a+900>>2]=s;g[a+904>>2]=0.0;s=r+ +g[d+20>>2];t=r+ +g[d+24>>2];g[a+908>>2]=r+ +g[d+16>>2];g[a+912>>2]=s;g[a+916>>2]=t;g[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+684>>2]|0;m=c[o+32>>2]|0;Ub[c[(c[m>>2]|0)+16>>2]&31](m,d,a+892|0,a+908|0,c[o+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}e=c[a+732>>2]|0;if((e|0)<=0){eg(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=b+16|0;m=a+1164|0;c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];m=b+32|0;o=a+1180|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];o=b+48|0;b=a+1196|0;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];return}f=c[a+740>>2]|0;d=0;do{m=c[f+(d*52|0)+8>>2]|0;o=c[f+(d*52|0)+12>>2]|0;r=+g[m+8>>2]-+g[o+8>>2];s=+g[m+12>>2]-+g[o+12>>2];t=+g[m+16>>2]-+g[o+16>>2];t=+A(+(r*r+s*s+t*t));g[f+(d*52|0)+16>>2]=t;g[f+(d*52|0)+28>>2]=t*t;d=d+1|0}while((d|0)!=(e|0));d=0;do{g[f+(d*52|0)+24>>2]=(+g[(c[f+(d*52|0)+8>>2]|0)+88>>2]+ +g[(c[f+(d*52|0)+12>>2]|0)+88>>2])/+g[(c[f+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));eg(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=b+16|0;m=a+1164|0;c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];m=b+32|0;o=a+1180|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];o=b+48|0;b=a+1196|0;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];return}function Qd(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,B=0.0,C=0;x=k;k=k+64|0;if((h|0)>0){b=0;j=0;do{w=c[f+(j<<2)>>2]|0;b=(w|0)>(b|0)?w:b;j=j+1|0}while((j|0)<(h*3|0))}else b=0;t=b+1|0;l=M(t,t)|0;if(!l)j=0;else{c[7584]=(c[7584]|0)+1;j=lc(l+19|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Bl(j|0,0,l|0)|0}if((b|0)>-1){c[7584]=(c[7584]|0)+1;b=lc((t<<4|3)+16|0)|0;if(!b)m=0;else{c[(b+4+15&-16)+-4>>2]=b;m=b+4+15&-16}b=0;do{w=m+(b<<4)|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];b=b+1|0}while((b|0)!=(t|0));b=0;l=0;while(1){v=c[e+(l+1<<2)>>2]|0;w=c[e+(l+2<<2)>>2]|0;c[m+(b<<4)>>2]=c[e+(l<<2)>>2];c[m+(b<<4)+4>>2]=v;c[m+(b<<4)+8>>2]=w;g[m+(b<<4)+12>>2]=0.0;l=l+3|0;if((l|0)>=(t*3|0)){w=m;v=m;break}else b=b+1|0}}else{w=0;v=0}c[7584]=(c[7584]|0)+1;b=lc(1271)|0;if(!b)u=0;else{c[(b+4+15&-16)+-4>>2]=b;u=b+4+15&-16}xc(u,d,t,w,0);if((h|0)>0){d=u+720|0;n=u+732|0;o=u+740|0;p=u+924|0;e=0;do{q=c[f+(e<<2)>>2]|0;r=c[f+(e+1<<2)>>2]|0;s=c[f+(e+2<<2)>>2]|0;m=M(q,t)|0;b=j+(m+s)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+((M(s,t)|0)+q)>>0]=1;C=c[d>>2]|0;xi(u,0);l=(c[n>>2]|0)+-1|0;b=c[o>>2]|0;c[b+(l*52|0)+8>>2]=C+(s*104|0);c[b+(l*52|0)+12>>2]=C+(q*104|0);B=+g[C+(s*104|0)+8>>2]-+g[C+(q*104|0)+8>>2];z=+g[C+(s*104|0)+12>>2]-+g[C+(q*104|0)+12>>2];y=+g[C+(s*104|0)+16>>2]-+g[C+(q*104|0)+16>>2];g[b+(l*52|0)+16>>2]=+A(+(B*B+z*z+y*y));a[p>>0]=1}l=M(r,t)|0;b=j+(l+q)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+(m+r)>>0]=1;b=c[d>>2]|0;xi(u,0);C=(c[n>>2]|0)+-1|0;m=c[o>>2]|0;c[m+(C*52|0)+8>>2]=b+(q*104|0);c[m+(C*52|0)+12>>2]=b+(r*104|0);y=+g[b+(q*104|0)+8>>2]-+g[b+(r*104|0)+8>>2];z=+g[b+(q*104|0)+12>>2]-+g[b+(r*104|0)+12>>2];B=+g[b+(q*104|0)+16>>2]-+g[b+(r*104|0)+16>>2];g[m+(C*52|0)+16>>2]=+A(+(y*y+z*z+B*B));a[p>>0]=1}b=j+((M(s,t)|0)+r)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+(l+s)>>0]=1;l=c[d>>2]|0;xi(u,0);C=(c[n>>2]|0)+-1|0;m=c[o>>2]|0;c[m+(C*52|0)+8>>2]=l+(r*104|0);c[m+(C*52|0)+12>>2]=l+(s*104|0);y=+g[l+(r*104|0)+8>>2]-+g[l+(s*104|0)+8>>2];z=+g[l+(r*104|0)+12>>2]-+g[l+(s*104|0)+12>>2];B=+g[l+(r*104|0)+16>>2]-+g[l+(s*104|0)+16>>2];g[m+(C*52|0)+16>>2]=+A(+(y*y+z*z+B*B));a[p>>0]=1}ng(u,q,r,s,0);e=e+3|0}while((e|0)<(h*3|0))}if(i){m=c[u+732>>2]|0;if((m|0)>0){e=u+740|0;b=243703;l=0;do{d=c[e>>2]|0;n=d+(l*52|0)|0;b=(M(b,1664525)|0)+1013904223|0;o=x;p=n;q=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=n;p=d+(((b>>>0)%(m>>>0)|0)*52|0)|0;q=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=d+(((b>>>0)%(m>>>0)|0)*52|0)|0;p=x;q=o+52|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));l=l+1|0}while((l|0)!=(m|0))}else b=243703;d=c[u+752>>2]|0;if((d|0)>0){n=u+760|0;l=0;do{e=c[n>>2]|0;m=e+(l*44|0)|0;b=(M(b,1664525)|0)+1013904223|0;e=e+(((b>>>0)%(d>>>0)|0)*44|0)|0;o=x;p=m;q=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=m;p=e;q=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=e;p=x;q=o+44|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));l=l+1|0}while((l|0)!=(d|0))}}if(!((w|0)==0|(v|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[v+-4>>2]|0)}if(!j){k=x;return u|0}c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0);k=x;return u|0}function Rd(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0;i=k;k=k+256|0;e=c[b+212>>2]|0;if((e|0)>-1){b=e;k=i;return b|0}h=(c[b+236>>2]&2|0)==0;e=h?0:b;do if(!h){if(!(+g[e+344>>2]!=0.0)?(c[e+204>>2]&2|0)==0:0)break;h=c[a+8>>2]|0;Bl(i|0,0,244)|0;a=Qf(a+4|0,i)|0;f=(c[b+236>>2]&2|0)==0;e=f?0:b;c[a+64>>2]=0;c[a+64+4>>2]=0;c[a+64+8>>2]=0;c[a+64+12>>2]=0;c[a+64+16>>2]=0;c[a+64+20>>2]=0;c[a+64+24>>2]=0;c[a+64+28>>2]=0;c[a+144>>2]=0;c[a+144+4>>2]=0;c[a+144+8>>2]=0;c[a+144+12>>2]=0;c[a+144+16>>2]=0;c[a+144+20>>2]=0;c[a+144+24>>2]=0;c[a+144+28>>2]=0;if(f){c[a>>2]=1065353216;c[a+4>>2]=0;c[a+4+4>>2]=0;c[a+4+8>>2]=0;c[a+4+12>>2]=0;c[a+20>>2]=1065353216;c[a+24>>2]=0;c[a+24+4>>2]=0;c[a+24+8>>2]=0;c[a+24+12>>2]=0;c[a+40>>2]=1065353216;c[a+44>>2]=0;c[a+44+4>>2]=0;c[a+44+8>>2]=0;c[a+44+12>>2]=0;c[a+44+16>>2]=0;c[a+240>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+96>>2]=1065353216;c[a+100>>2]=1065353216;c[a+104>>2]=1065353216;g[a+108>>2]=0.0;c[a+112>>2]=1065353216;c[a+116>>2]=1065353216;c[a+120>>2]=1065353216;g[a+124>>2]=0.0;e=a+176|0;f=e+60|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0))}else{c[a>>2]=c[e+4>>2];c[a+4>>2]=c[e+4+4>>2];c[a+8>>2]=c[e+4+8>>2];c[a+12>>2]=c[e+4+12>>2];c[a+16>>2]=c[e+20>>2];c[a+16+4>>2]=c[e+20+4>>2];c[a+16+8>>2]=c[e+20+8>>2];c[a+16+12>>2]=c[e+20+12>>2];c[a+32>>2]=c[e+36>>2];c[a+32+4>>2]=c[e+36+4>>2];c[a+32+8>>2]=c[e+36+8>>2];c[a+32+12>>2]=c[e+36+12>>2];c[a+48>>2]=c[e+52>>2];c[a+48+4>>2]=c[e+52+4>>2];c[a+48+8>>2]=c[e+52+8>>2];c[a+48+12>>2]=c[e+52+12>>2];o=+g[e+344>>2];n=o*+g[e+352>>2];m=o*+g[e+356>>2];g[a+128>>2]=o*+g[e+348>>2];g[a+132>>2]=n;g[a+136>>2]=m;g[a+140>>2]=0.0;c[a+240>>2]=e;c[a+96>>2]=c[e+544>>2];c[a+96+4>>2]=c[e+544+4>>2];c[a+96+8>>2]=c[e+544+8>>2];c[a+96+12>>2]=c[e+544+12>>2];c[a+112>>2]=c[e+348>>2];c[a+112+4>>2]=c[e+348+4>>2];c[a+112+8>>2]=c[e+348+8>>2];c[a+112+12>>2]=c[e+348+12>>2];c[a+176>>2]=c[e+312>>2];c[a+176+4>>2]=c[e+312+4>>2];c[a+176+8>>2]=c[e+312+8>>2];c[a+176+12>>2]=c[e+312+12>>2];c[a+192>>2]=c[e+328>>2];c[a+192+4>>2]=c[e+328+4>>2];c[a+192+8>>2]=c[e+328+8>>2];c[a+192+12>>2]=c[e+328+12>>2];m=+g[e+344>>2];n=m*+g[e+416>>2]*d;o=m*+g[e+420>>2]*d;g[a+208>>2]=m*+g[e+412>>2]*d;g[a+212>>2]=n;g[a+216>>2]=o;g[a+220>>2]=0.0;o=+g[e+428>>2];n=+g[e+432>>2];m=+g[e+436>>2];l=(o*+g[e+268>>2]+n*+g[e+284>>2]+m*+g[e+300>>2])*d;j=(o*+g[e+272>>2]+n*+g[e+288>>2]+m*+g[e+304>>2])*d;g[a+224>>2]=(+g[e+264>>2]*o+ +g[e+280>>2]*n+ +g[e+296>>2]*m)*d;g[a+228>>2]=l;g[a+232>>2]=j}g[a+236>>2]=0.0;c[b+212>>2]=h;b=h;k=i;return b|0}while(0);e=c[a+188>>2]|0;if((e|0)>=0){b=e;k=i;return b|0}c[a+188>>2]=c[a+8>>2];Bl(i|0,0,244)|0;e=Qf(a+4|0,i)|0;c[e+64>>2]=0;c[e+64+4>>2]=0;c[e+64+8>>2]=0;c[e+64+12>>2]=0;c[e+64+16>>2]=0;c[e+64+20>>2]=0;c[e+64+24>>2]=0;c[e+64+28>>2]=0;c[e+144>>2]=0;c[e+144+4>>2]=0;c[e+144+8>>2]=0;c[e+144+12>>2]=0;c[e+144+16>>2]=0;c[e+144+20>>2]=0;c[e+144+24>>2]=0;c[e+144+28>>2]=0;c[e>>2]=1065353216;c[e+4>>2]=0;c[e+4+4>>2]=0;c[e+4+8>>2]=0;c[e+4+12>>2]=0;c[e+20>>2]=1065353216;c[e+24>>2]=0;c[e+24+4>>2]=0;c[e+24+8>>2]=0;c[e+24+12>>2]=0;c[e+40>>2]=1065353216;c[e+44>>2]=0;c[e+44+4>>2]=0;c[e+44+8>>2]=0;c[e+44+12>>2]=0;c[e+44+16>>2]=0;c[e+240>>2]=0;c[e+128>>2]=0;c[e+128+4>>2]=0;c[e+128+8>>2]=0;c[e+128+12>>2]=0;c[e+96>>2]=1065353216;c[e+100>>2]=1065353216;c[e+104>>2]=1065353216;g[e+108>>2]=0.0;c[e+112>>2]=1065353216;c[e+116>>2]=1065353216;c[e+120>>2]=1065353216;g[e+124>>2]=0.0;e=e+176|0;f=e+64|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b=c[a+188>>2]|0;k=i;return b|0}function Sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0.0;if(a[b+165>>0]|0){h=c[b+88>>2]|0;a:do if((h|0)>0&e){f=c[b+96>>2]|0;k=+g[d>>2];l=+g[d+4>>2];m=+g[d+8>>2];n=+g[b+168>>2];e=0;while(1){s=+g[f+(e<<4)>>2]-k;r=+g[f+(e<<4)+4>>2]-l;q=+g[f+(e<<4)+8>>2]-m;if(s*s+r*r+q*q<=n)break;e=e+1|0;if((e|0)>=(h|0))break a}return e|0}while(0);p=(c[b+32>>2]|0)+12|0;c[p>>2]=(c[p>>2]|0)+1;if((h|0)==(c[b+92>>2]|0)?(i=(h|0)==0?1:h<<1,(h|0)<(i|0)):0){if(!i)e=0;else{c[7584]=(c[7584]|0)+1;e=lc((i<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+88>>2]|0}if((h|0)>0){f=0;do{p=e+(f<<4)|0;o=(c[b+96>>2]|0)+(f<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[b+96>>2]|0;if(f|0){if(a[b+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=e;c[b+92>>2]=i;e=c[b+88>>2]|0}else e=h;p=(c[b+96>>2]|0)+(e<<4)|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+88>>2]|0;c[b+88>>2]=d+1;c[(c[b+32>>2]|0)+16>>2]=c[b+96>>2];return d|0}j=c[b+108>>2]|0;b:do if((j|0)>0&e){f=c[b+116>>2]|0;k=+g[d>>2];l=+g[d+4>>2];m=+g[d+8>>2];n=+g[b+168>>2];e=0;while(1){q=+g[f+(e<<2)>>2]-k;r=+g[f+(e+1<<2)>>2]-l;s=+g[f+(e+2<<2)>>2]-m;h=e+3|0;if(q*q+r*r+s*s<=n)break;if((h|0)<(j|0))e=h;else break b}d=(e>>>0)/3|0;return d|0}while(0);e=c[b+112>>2]|0;if((j|0)==(e|0)){e=(j|0)==0?1:j<<1;if((j|0)<(e|0)){if(!e)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((e<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[b+108>>2]|0}i=c[b+116>>2]|0;if((j|0)<=0)if(!i){i=b+120|0;h=j}else p=36;else{h=0;do{c[f+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(j|0));p=36}if((p|0)==36){if(!(a[b+120>>0]|0))h=j;else{c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[b+108>>2]|0}c[b+116>>2]=0;i=b+120|0}a[i>>0]=1;c[b+116>>2]=f;c[b+112>>2]=e}else{h=j;e=j}}else h=j;j=c[b+116>>2]|0;c[j+(h<<2)>>2]=c[d>>2];f=h+1|0;c[b+108>>2]=f;if((f|0)==(e|0)){o=(e|0)==0?1:e<<1;if((e|0)<(o|0)){if(!o){i=0;h=j}else{c[7584]=(c[7584]|0)+1;e=lc((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=e;e=c[b+108>>2]|0;h=c[b+116>>2]|0}if((e|0)<=0)if(!h)f=b+120|0;else p=51;else{f=0;do{c[i+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0));p=51}if((p|0)==51){if(a[b+120>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);e=c[b+108>>2]|0}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=i;c[b+112>>2]=o;f=e;e=o}else{i=j;f=e}}else i=j;c[i+(f<<2)>>2]=c[d+4>>2];f=f+1|0;c[b+108>>2]=f;if((f|0)==(e|0)){j=(e|0)==0?1:e<<1;if((e|0)<(j|0)){if(!j)h=0;else{c[7584]=(c[7584]|0)+1;e=lc((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=e;e=c[b+108>>2]|0;i=c[b+116>>2]|0}if((e|0)<=0)if(!i)f=b+120|0;else p=66;else{f=0;do{c[h+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0));p=66}if((p|0)==66){if(a[b+120>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);e=c[b+108>>2]|0}c[b+116>>2]=0;f=b+120|0}a[f>>0]=1;c[b+116>>2]=h;c[b+112>>2]=j}else h=i}else{h=i;e=f}c[h+(e<<2)>>2]=c[d+8>>2];d=e+1|0;c[b+108>>2]=d;b=c[b+32>>2]|0;c[b+12>>2]=(c[b+12>>2]|0)+1;c[b+16>>2]=h;d=((d|0)/3|0)+-1|0;return d|0}function Td(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0.0,i=0,j=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,G=0.0,H=0.0;w=k;k=k+64|0;i=c[a+28>>2]|0;m=c[a+32>>2]|0;l=c[b+8>>2]|0;g[l>>2]=1.0;f=c[b+24>>2]|0;g[l+(f+1<<2)>>2]=1.0;g[l+((f<<1)+2<<2)>>2]=1.0;u=+g[a+48>>2];v=+g[a+52>>2];j=+g[a+56>>2];d=+g[i+4>>2]*u+ +g[i+8>>2]*v+ +g[i+12>>2]*j;h=u*+g[i+20>>2]+v*+g[i+24>>2]+j*+g[i+28>>2];j=u*+g[i+36>>2]+v*+g[i+40>>2]+j*+g[i+44>>2];l=c[b+12>>2]|0;c[l>>2]=0;g[l+4>>2]=j;g[l+8>>2]=-h;g[l+12>>2]=0.0;g[l+(f<<2)>>2]=-j;c[l+(f<<2)+4>>2]=0;g[l+(f<<2)+8>>2]=d;g[l+(f<<2)+12>>2]=0.0;g[l+(f<<1<<2)>>2]=h;g[l+(f<<1<<2)+4>>2]=-d;c[l+(f<<1<<2)+8>>2]=0;g[l+(f<<1<<2)+12>>2]=0.0;e=c[b+16>>2]|0;if(e|0){g[e>>2]=-1.0;g[e+(f+1<<2)>>2]=-1.0;g[e+((f<<1)+2<<2)>>2]=-1.0}r=+g[a+64>>2];v=+g[a+68>>2];u=+g[a+72>>2];s=+g[m+4>>2]*r+ +g[m+8>>2]*v+ +g[m+12>>2]*u;t=r*+g[m+20>>2]+v*+g[m+24>>2]+u*+g[m+28>>2];u=r*+g[m+36>>2]+v*+g[m+40>>2]+u*+g[m+44>>2];e=c[b+20>>2]|0;c[e>>2]=0;g[e+4>>2]=-u;g[e+8>>2]=t;g[e+12>>2]=0.0;g[e+(f<<2)>>2]=u;c[e+(f<<2)+4>>2]=0;g[e+(f<<2)+8>>2]=-s;g[e+(f<<2)+12>>2]=0.0;g[e+(f<<1<<2)>>2]=-t;g[e+(f<<1<<2)+4>>2]=s;c[e+(f<<1<<2)+8>>2]=0;g[e+(f<<1<<2)+12>>2]=0.0;v=+g[b>>2]*+g[b+4>>2];t=v*(t+ +g[m+56>>2]-h-+g[i+56>>2]);u=v*(u+ +g[m+60>>2]-j-+g[i+60>>2]);x=c[b+28>>2]|0;g[x>>2]=v*(s+ +g[m+52>>2]-d-+g[i+52>>2]);g[x+(f<<2)>>2]=t;g[x+(f<<1<<2)>>2]=u;g[l+(f*3<<2)>>2]=1.0;g[l+((f<<2|1)<<2)>>2]=1.0;g[l+((f*5|0)+2<<2)>>2]=1.0;if(e|0){g[e+(f*3<<2)>>2]=-1.0;g[e+((f<<2|1)<<2)>>2]=-1.0;g[e+((f*5|0)+2<<2)>>2]=-1.0}n=+g[m+24>>2];z=+g[m+44>>2];j=+g[m+28>>2];o=+g[m+40>>2];y=+g[m+36>>2];h=+g[m+20>>2];u=+g[m+4>>2];t=+g[m+8>>2];q=+g[m+12>>2];d=1.0/((n*z-j*o)*u+t*(j*y-z*h)+(o*h-n*y)*q);G=+g[i+4>>2];E=+g[i+8>>2];H=+g[i+12>>2];D=+g[i+20>>2];C=+g[i+24>>2];B=+g[i+28>>2];p=+g[i+36>>2];r=+g[i+40>>2];s=+g[i+44>>2];g[w+16>>2]=H*(o*h-n*y)*d+(G*(n*z-j*o)*d+E*(j*y-z*h)*d);g[w+16+4>>2]=H*(y*t-o*u)*d+(G*(o*q-z*t)*d+E*(z*u-y*q)*d);g[w+16+8>>2]=H*(n*u-h*t)*d+(G*(j*t-n*q)*d+E*(h*q-j*u)*d);g[w+16+12>>2]=0.0;g[w+16+16>>2]=(n*z-j*o)*d*D+(j*y-z*h)*d*C+(o*h-n*y)*d*B;g[w+16+20>>2]=(o*q-z*t)*d*D+(z*u-y*q)*d*C+(y*t-o*u)*d*B;g[w+16+24>>2]=(j*t-n*q)*d*D+(h*q-j*u)*d*C+(n*u-h*t)*d*B;g[w+16+28>>2]=0.0;g[w+16+32>>2]=(n*z-j*o)*d*p+(j*y-z*h)*d*r+(o*h-n*y)*d*s;g[w+16+36>>2]=(o*q-z*t)*d*p+(z*u-y*q)*d*r+(y*t-o*u)*d*s;g[w+16+40>>2]=(j*t-n*q)*d*p+(h*q-j*u)*d*r+(n*u-h*t)*d*s;g[w+16+44>>2]=0.0;Vh(w+16|0,w);s=+g[a+80>>2];d=+g[w>>2];t=+g[a+84>>2];h=+g[w+4>>2];u=+g[a+88>>2];n=+g[w+8>>2];r=+g[a+92>>2];j=+g[w+12>>2];if(!((s-d)*(s-d)+(t-h)*(t-h)+(u-n)*(u-n)+(r-j)*(r-j)<(s+d)*(s+d)+(t+h)*(t+h)+(u+n)*(u+n)+(r+j)*(r+j))){d=-d;h=-h;n=-n;j=-j}o=h*-u+(j*-s+d*r)-n*-t;p=n*-s+(j*-t+h*r)-d*-u;q=d*-t+(j*-u+n*r)-h*-s;d=j*r-d*-s-h*-t-n*-u;d=d<-1.0?-1.0:d;d=+F(+(d>1.0?1.0:d))*2.0;if(o*o+p*p+q*q<1.4210854715202004e-14){E=1.0;G=0.0;D=0.0;H=-d;E=E*H;G=G*H;H=D*H;a=c[b+28>>2]|0;x=c[b+24>>2]|0;E=v*E;b=x*3|0;b=a+(b<<2)|0;g[b>>2]=E;G=v*G;b=x<<2;b=a+(b<<2)|0;g[b>>2]=G;H=v*H;x=x*5|0;x=a+(x<<2)|0;g[x>>2]=H;k=w;return}D=1.0/+A(+(o*o+p*p+q*q));E=o*D;G=p*D;D=q*D;H=-d;E=E*H;G=G*H;H=D*H;a=c[b+28>>2]|0;x=c[b+24>>2]|0;E=v*E;b=x*3|0;b=a+(b<<2)|0;g[b>>2]=E;G=v*G;b=x<<2;b=a+(b<<2)|0;g[b>>2]=G;H=v*H;x=x*5|0;x=a+(x<<2)|0;g[x>>2]=H;k=w;return}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0;p=k;k=k+128|0;c[b+68>>2]=(c[b+68>>2]|0)+1;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[p+16>>2]=c[d+16>>2];c[p+16+4>>2]=c[d+16+4>>2];c[p+16+8>>2]=c[d+16+8>>2];c[p+16+12>>2]=c[d+16+12>>2];c[p+32>>2]=c[d+32>>2];c[p+32+4>>2]=c[d+32+4>>2];c[p+32+8>>2]=c[d+32+8>>2];c[p+32+12>>2]=c[d+32+12>>2];c[p+48>>2]=c[d+48>>2];c[p+48+4>>2]=c[d+48+4>>2];c[p+48+8>>2]=c[d+48+8>>2];c[p+48+12>>2]=c[d+48+12>>2];n=c[e+4>>2]|0;o=+jb[c[(c[e>>2]|0)+48>>2]&15](e);Qb[c[(c[e>>2]|0)+8>>2]&127](e,d,p+112|0,p+96|0);f=+g[p+112>>2];if(+g[b+32>>2]>f)g[b+32>>2]=f;f=+g[p+96>>2];if(+g[b+48>>2]<f)g[b+48>>2]=f;f=+g[p+112+4>>2];if(+g[b+36>>2]>f)g[b+36>>2]=f;f=+g[p+96+4>>2];if(+g[b+52>>2]<f)g[b+52>>2]=f;f=+g[p+112+8>>2];if(+g[b+40>>2]>f)g[b+40>>2]=f;f=+g[p+96+8>>2];if(+g[b+56>>2]<f)g[b+56>>2]=f;l=c[b+64>>2]|0;if(!l){l=b+16|0;j=0}else{c[p+64>>2]=c[p+112>>2];c[p+64+4>>2]=c[p+112+4>>2];c[p+64+8>>2]=c[p+112+8>>2];c[p+64+12>>2]=c[p+112+12>>2];c[p+64+16>>2]=c[p+96>>2];c[p+64+16+4>>2]=c[p+96+4>>2];c[p+64+16+8>>2]=c[p+96+8>>2];c[p+64+16+12>>2]=c[p+96+12>>2];j=c[b+16>>2]|0;d=c[l+4>>2]|0;if(!d){c[7584]=(c[7584]|0)+1;d=lc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=d;i=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0))}else c[l+4>>2]=0;c[d+32>>2]=0;c[d+36>>2]=j;c[d+40>>2]=0;c[d>>2]=c[p+64>>2];c[d+4>>2]=c[p+64+4>>2];c[d+8>>2]=c[p+64+8>>2];c[d+12>>2]=c[p+64+12>>2];c[d+16>>2]=c[p+64+16>>2];c[d+20>>2]=c[p+64+20>>2];c[d+24>>2]=c[p+64+24>>2];c[d+28>>2]=c[p+64+28>>2];tf(l,c[l>>2]|0,d);c[l+12>>2]=(c[l+12>>2]|0)+1;l=b+16|0;j=d}d=c[l>>2]|0;if((d|0)==(c[b+20>>2]|0)?(m=(d|0)==0?1:d<<1,(d|0)<(m|0)):0){if(!m)i=0;else{c[7584]=(c[7584]|0)+1;d=lc((m*80|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;d=c[l>>2]|0}if((d|0)>0){h=0;do{q=i+(h*80|0)|0;r=c[b+24>>2]|0;s=r+(h*80|0)|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=r+(h*80|0)+16|0;s=i+(h*80|0)+16|0;c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];s=r+(h*80|0)+32|0;q=i+(h*80|0)+32|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=i+(h*80|0)+48|0;s=r+(h*80|0)+48|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];q=i+(h*80|0)+64|0;r=r+(h*80|0)+64|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];h=h+1|0}while((h|0)!=(d|0))}d=c[b+24>>2]|0;if(d|0){if(a[b+28>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=i;c[b+20>>2]=m;d=c[l>>2]|0}s=c[b+24>>2]|0;r=s+(d*80|0)|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];r=s+(d*80|0)+16|0;c[r>>2]=c[p+16>>2];c[r+4>>2]=c[p+16+4>>2];c[r+8>>2]=c[p+16+8>>2];c[r+12>>2]=c[p+16+12>>2];r=s+(d*80|0)+32|0;c[r>>2]=c[p+32>>2];c[r+4>>2]=c[p+32+4>>2];c[r+8>>2]=c[p+32+8>>2];c[r+12>>2]=c[p+32+12>>2];r=s+(d*80|0)+48|0;c[r>>2]=c[p+48>>2];c[r+4>>2]=c[p+48+4>>2];c[r+8>>2]=c[p+48+8>>2];c[r+12>>2]=c[p+48+12>>2];s=s+(d*80|0)+64|0;c[s>>2]=e;c[s+4>>2]=n;g[s+8>>2]=o;c[s+12>>2]=j;c[l>>2]=(c[l>>2]|0)+1;k=p;return}function Vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,l=0,m=0,n=0.0,o=0.0;m=k;k=k+384|0;f=c[d+36>>2]|0;d=c[e+36>>2]|0;e=c[b+24>>2]|0;if(((e|0)==(c[b+28>>2]|0)?c[e+1132>>2]|0:0)?(j=(M(c[d+380>>2]|0,c[e+1112>>2]|0)|0)+(c[f+380>>2]|0)|0,a[(c[e+1140>>2]|0)+j>>0]|0):0){c[7245]=(c[7245]|0)+1;k=m;return}c[m+328+4>>2]=35;c[m+328+8>>2]=0;c[m+328+12>>2]=1065353216;c[m+328+16>>2]=1065353216;c[m+328+20>>2]=1065353216;g[m+328+24>>2]=0.0;c[m+328>>2]=6624;c[m+328+52>>2]=f;g[m+328+44>>2]=0.0;c[m+272+4>>2]=35;c[m+272+8>>2]=0;c[m+272+12>>2]=1065353216;c[m+272+16>>2]=1065353216;c[m+272+20>>2]=1065353216;g[m+272+24>>2]=0.0;c[m+272>>2]=6624;c[m+272+52>>2]=d;g[m+272+44>>2]=0.0;if((a[28272]|0)==0?_A(28272)|0:0){if((a[28280]|0)==0?_A(28280)|0:0){c[7174]=1065353216;c[7175]=0;c[7176]=0;c[7177]=0;c[7178]=0;c[7179]=1065353216;c[7180]=0;c[7181]=0;c[7182]=0;c[7183]=0;c[7184]=1065353216;g[7185]=0.0}c[7158]=c[7174];c[7159]=c[7175];c[7160]=c[7176];c[7161]=c[7177];c[7162]=c[7178];c[7163]=c[7179];c[7164]=c[7180];c[7165]=c[7181];c[7166]=c[7182];c[7167]=c[7183];c[7168]=c[7184];c[7169]=c[7185];c[7170]=0;c[7171]=0;c[7172]=0;c[7173]=0}if((a[28272]|0)==0?_A(28272)|0:0){if((a[28280]|0)==0?_A(28280)|0:0){c[7174]=1065353216;c[7175]=0;c[7176]=0;c[7177]=0;c[7178]=0;c[7179]=1065353216;c[7180]=0;c[7181]=0;c[7182]=0;c[7183]=0;c[7184]=1065353216;g[7185]=0.0}c[7158]=c[7174];c[7159]=c[7175];c[7160]=c[7176];c[7161]=c[7177];c[7162]=c[7178];c[7163]=c[7179];c[7164]=c[7180];c[7165]=c[7181];c[7166]=c[7182];c[7167]=c[7183];c[7168]=c[7184];c[7169]=c[7185];c[7170]=0;c[7171]=0;c[7172]=0;c[7173]=0}o=+g[f+232>>2]-+g[d+232>>2];n=+g[f+236>>2]-+g[d+236>>2];g[m>>2]=+g[f+228>>2]-+g[d+228>>2];g[m+4>>2]=o;g[m+8>>2]=n;g[m+12>>2]=0.0;if(!(!(Ld(m+328|0,28632,m+272|0,28632,m,m+216|0)|0)?!(Ec(m+328|0,28632,m+272|0,28632,m,m+216|0,0)|0):0))h=19;if((h|0)==19?(c[m+4>>2]=0,c[m+4+4>>2]=0,c[m+4+8>>2]=0,c[m+4+12>>2]=0,c[m+4+16>>2]=0,c[m+4+20>>2]=0,a[m+152>>0]=0,c[m>>2]=6444,ad(b,m+216|0,f,0,0,d,0,0,m)|0):0){c[7584]=(c[7584]|0)+1;d=lc(235)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}e=j+4|0;d=j+152|0;Bl(e|0,0,212)|0;c[j>>2]=6444;f=m+4|0;h=e+100|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));e=j+104|0;c[e>>2]=c[m+104>>2];c[e+4>>2]=c[m+104+4>>2];c[e+8>>2]=c[m+104+8>>2];c[e+12>>2]=c[m+104+12>>2];e=j+120|0;c[e>>2]=c[m+120>>2];c[e+4>>2]=c[m+120+4>>2];c[e+8>>2]=c[m+120+8>>2];c[e+12>>2]=c[m+120+12>>2];e=j+136|0;c[e>>2]=c[m+136>>2];c[e+4>>2]=c[m+136+4>>2];c[e+8>>2]=c[m+136+8>>2];c[e+12>>2]=c[m+136+12>>2];a[d>>0]=a[m+152>>0]|0;e=j+156|0;f=m+156|0;h=e+60|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;i=j;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(l=(d|0)==0?1:d<<1,(d|0)<(l|0)):0){if(!l)f=0;else{c[7584]=(c[7584]|0)+1;d=lc((l<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[h+852>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[h+860>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[h+860>>2]|0;if(e){if(a[h+864>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=f;c[h+856>>2]=l}c[(c[h+860>>2]|0)+(d<<2)>>2]=i;c[h+852>>2]=d+1;i=c[b+24>>2]|0;l=c[b+28>>2]|0;n=+g[i+348>>2];o=+g[l+348>>2];b=j+64|0;g[b>>2]=+g[b>>2]*(n>o?n:o);b=j+68|0;g[b>>2]=+g[b>>2]*(+g[i+360>>2]+ +g[l+360>>2])*.5}k=m;return}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=k;k=k+16|0;Wj(16620);F=c[a+712>>2]|0;if((F|0)>0){c[7584]=(c[7584]|0)+1;d=lc((F<<4|3)+16|0)|0;if(!d)h=0;else{c[(d+4+15&-16)+-4>>2]=d;h=d+4+15&-16}Bl(h|0,0,F<<4|0)|0;f=c[a+712>>2]|0;if((f|0)>0){c[7584]=(c[7584]|0)+1;d=lc((f<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Bl(d|0,0,f<<2|0)|0;D=d;E=h;B=d;A=h}else{D=0;E=h;B=0;A=h}}else{D=0;E=0;B=0;A=0}z=c[a+1112>>2]|0;if(b){if((z|0)>0){f=c[a+1120>>2]|0;d=0;do{h=c[f+(d<<2)>>2]|0;i=c[h+312>>2]|0;if(i|0){g[h+276>>2]=1.0/+(i|0)*+g[h+276>>2];g[h+280>>2]=1.0/+(i|0)*+g[h+280>>2];g[h+284>>2]=1.0/+(i|0)*+g[h+284>>2];g[h+292>>2]=1.0/+(i|0)*+g[h+292>>2];g[h+296>>2]=1.0/+(i|0)*+g[h+296>>2];g[h+300>>2]=1.0/+(i|0)*+g[h+300>>2]}d=d+1|0}while((d|0)!=(z|0));C=14}}else C=14;if((C|0)==14?(z|0)>0:0){l=c[a+1120>>2]|0;if(b){f=0;do{b=c[l+(f<<2)>>2]|0;if((c[b+312>>2]|0)>0?(x=+g[a+452>>2],s=+g[b+276>>2]*x,t=x*+g[b+280>>2],u=x*+g[b+284>>2],v=x*+g[b+292>>2],w=x*+g[b+296>>2],x=x*+g[b+300>>2],y=c[b+24>>2]|0,(y|0)>0):0){j=c[b+32>>2]|0;h=c[a+720>>2]|0;i=c[b+12>>2]|0;d=0;do{r=c[j+(d<<2)>>2]|0;q=+g[i+(d<<2)>>2];p=+g[r+8>>2]-+g[b+228>>2];o=+g[r+12>>2]-+g[b+232>>2];n=+g[r+16>>2]-+g[b+236>>2];H=E+(((r-h|0)/104|0)<<4)|0;g[H>>2]=+g[H>>2]+q*(s+(w*n-x*o));H=E+(((r-h|0)/104|0)<<4)+4|0;g[H>>2]=+g[H>>2]+q*(t+(x*p-v*n));H=E+(((r-h|0)/104|0)<<4)+8|0;g[H>>2]=q*(u+(v*o-w*p))+ +g[H>>2];r=D+(((r-h|0)/104|0)<<2)|0;g[r>>2]=q+ +g[r>>2];d=d+1|0}while((d|0)!=(y|0))}f=f+1|0}while((f|0)!=(z|0))}else{f=0;do{h=c[l+(f<<2)>>2]|0;if((c[h+308>>2]|0)>0?(q=+g[a+452>>2],e=+g[h+244>>2]*q,m=q*+g[h+248>>2],n=q*+g[h+252>>2],o=q*+g[h+260>>2],p=q*+g[h+264>>2],q=q*+g[h+268>>2],r=c[h+24>>2]|0,(r|0)>0):0){i=c[h+32>>2]|0;b=c[a+720>>2]|0;j=c[h+12>>2]|0;d=0;do{H=c[i+(d<<2)>>2]|0;x=+g[j+(d<<2)>>2];w=+g[H+8>>2]-+g[h+228>>2];v=+g[H+12>>2]-+g[h+232>>2];u=+g[H+16>>2]-+g[h+236>>2];y=E+(((H-b|0)/104|0)<<4)|0;g[y>>2]=+g[y>>2]+x*(e+(p*u-q*v));y=E+(((H-b|0)/104|0)<<4)+4|0;g[y>>2]=+g[y>>2]+x*(m+(q*w-o*u));y=E+(((H-b|0)/104|0)<<4)+8|0;g[y>>2]=x*(n+(o*v-p*w))+ +g[y>>2];H=D+(((H-b|0)/104|0)<<2)|0;g[H>>2]=x+ +g[H>>2];d=d+1|0}while((d|0)!=(r|0))}f=f+1|0}while((f|0)!=(z|0))}}if((F|0)>0){d=0;do{e=+g[D+(d<<2)>>2];if(e>0.0){w=1.0/e*+g[E+(d<<4)+4>>2];x=1.0/e*+g[E+(d<<4)+8>>2];H=c[a+720>>2]|0;z=H+(d*104|0)+8|0;g[z>>2]=1.0/e*+g[E+(d<<4)>>2]+ +g[z>>2];z=H+(d*104|0)+12|0;g[z>>2]=w+ +g[z>>2];H=H+(d*104|0)+16|0;g[H>>2]=x+ +g[H>>2]}d=d+1|0}while((d|0)!=(F|0));if(B|0)C=35}else if(!((D|0)==0|(B|0)==0))C=35;if((C|0)==35){c[7585]=(c[7585]|0)+1;Bd(c[B+-4>>2]|0)}if(!((E|0)==0|(A|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[A+-4>>2]|0)}d=c[3369]|0;H=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=H;if(H|0){k=G;return}do if(c[d+4>>2]|0){bb(G|0,0)|0;H=c[7583]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[G+4>>2]|0)-(c[H+4>>2]|0)+(((c[G>>2]|0)-(c[H>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3369]|0;break}else{k=G;return}}while(0);c[3369]=c[d+20>>2];k=G;return}function Xd(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var l=0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0,E=0;D=k;k=k+272|0;z=+g[e+48>>2]-+g[d+48>>2];B=+g[e+52>>2]-+g[d+52>>2];C=+g[e+56>>2]-+g[d+56>>2];Tf(d,e,D+256|0,D+208|0);v=+g[D+208>>2];t=+g[D+256>>2]*v;u=v*+g[D+256+4>>2];v=v*+g[D+256+8>>2];g[D+192>>2]=t;g[D+192+4>>2]=u;g[D+192+8>>2]=v;g[D+192+12>>2]=0.0;w=+g[h+48>>2]-+g[f+48>>2];x=+g[h+52>>2]-+g[f+52>>2];y=+g[h+56>>2]-+g[f+56>>2];Tf(f,h,D+256|0,D+208|0);r=+g[D+208>>2];p=+g[D+256>>2]*r;q=r*+g[D+256+4>>2];r=r*+g[D+256+8>>2];g[D+176>>2]=p;g[D+176+4>>2]=q;g[D+176+8>>2]=r;g[D+176+12>>2]=0.0;e=c[b+12>>2]|0;s=+jb[c[(c[e>>2]|0)+16>>2]&15](e);e=c[b+16>>2]|0;if(!e)m=0.0;else m=+jb[c[(c[e>>2]|0)+16>>2]&15](e);s=s*+A(+(t*t+u*u+v*v))+m*+A(+(p*p+q*q+r*r));if(s+ +A(+((w-z)*(w-z)+(x-B)*(x-B)+(y-C)*(y-C)))==0.0){i=0;k=D;return i|0}c[D+208>>2]=13208;g[D+208+36>>2]=999999984306749440.0;a[D+208+40>>0]=0;Jd(b,d,f,D+208|0);h=(a[D+208+40>>0]|0)==0;c[D+256>>2]=c[D+208+20>>2];c[D+256+4>>2]=c[D+208+20+4>>2];c[D+256+8>>2]=c[D+208+20+8>>2];c[D+256+12>>2]=c[D+208+20+12>>2];a:do if(!h?(o=c[D+208+4>>2]|0,l=c[D+208+8>>2]|0,n=c[D+208+12>>2]|0,v=(w-z)*(c[j>>2]=o,+g[j>>2]),v=v+(x-B)*(c[j>>2]=l,+g[j>>2]),!(s+(v+(y-C)*(c[j>>2]=n,+g[j>>2]))<=1.1920928955078125e-07)):0){m=+g[D+208+16>>2];p=+g[i+172>>2]+ +g[D+208+36>>2];b:do if(p>1.0000000474974513e-03){h=0;q=0.0;r=p;while(1){e=c[i+168>>2]|0;if(e|0){E=c[(c[e>>2]|0)+20>>2]|0;c[D+112>>2]=1065353216;c[D+112+4>>2]=1065353216;c[D+112+8>>2]=1065353216;g[D+112+12>>2]=0.0;Lb[E&7](e,D+256|0,.20000000298023224,D+112|0)}m=(w-z)*(c[j>>2]=o,+g[j>>2]);m=m+(x-B)*(c[j>>2]=l,+g[j>>2]);m=s+(m+(y-C)*(c[j>>2]=n,+g[j>>2]));if(m<=1.1920928955078125e-07){l=0;break a}p=q+r/m;if(!(!(p<=q)&(!(p<0.0)&!(p>1.0)))){l=0;break a}oh(d,z,B,C,D+192|0,p,D+112|0);oh(f,w,x,y,D+176|0,p,D+48|0);l=c[i+168>>2]|0;if(l|0){E=c[(c[l>>2]|0)+20>>2]|0;c[D>>2]=1065353216;c[D+4>>2]=0;c[D+8>>2]=0;g[D+12>>2]=0.0;Lb[E&7](l,D+112+48|0,.20000000298023224,D)}Eb[c[c[i>>2]>>2]&31](i,p);c[D>>2]=13208;g[D+36>>2]=999999984306749440.0;a[D+40>>0]=0;Jd(b,D+112|0,D+48|0,D);if(!(a[D+40>>0]|0)){l=17;break}r=+g[D+36>>2]+ +g[i+172>>2];c[D+256>>2]=c[D+20>>2];c[D+256+4>>2]=c[D+20+4>>2];c[D+256+8>>2]=c[D+20+8>>2];c[D+256+12>>2]=c[D+20+12>>2];o=c[D+4>>2]|0;l=c[D+8>>2]|0;n=c[D+12>>2]|0;e=h+1|0;if(h>>>0>63){l=18;break}if(!(r>1.0000000474974513e-03)){m=+g[D+16>>2];break b}else{h=e;q=p}}if((l|0)==17)Nb[c[(c[i>>2]|0)+8>>2]&127](i,-1,h);else if((l|0)==18)Nb[c[(c[i>>2]|0)+8>>2]&127](i,-2,e);l=0;break a}else p=0.0;while(0);g[i+164>>2]=p;c[i+132>>2]=o;c[i+136>>2]=l;c[i+140>>2]=n;g[i+144>>2]=m;c[i+148>>2]=c[D+256>>2];c[i+148+4>>2]=c[D+256+4>>2];c[i+148+8>>2]=c[D+256+8>>2];c[i+148+12>>2]=c[D+256+12>>2];l=1}else l=0;while(0);E=l;k=D;return E|0}function Yd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;h=k;k=k+768|0;j=c[(c[a>>2]|0)+8>>2]|0;i=DK(b)|0;Yt(h+736|0,i,i+4|0,i+8|0);Lx(h+752|0,e,+g[h+736>>2],+g[h+736+4>>2],+g[h+736+8>>2]);b=DK(d)|0;Yt(h+704|0,b,i+4|0,i+8|0);Lx(h+720|0,e,+g[h+704>>2],+g[h+704+4>>2],+g[h+704+8>>2]);Qb[j&127](a,h+752|0,h+720|0,f);d=c[(c[a>>2]|0)+8>>2]|0;Yt(h+672|0,b,i+4|0,i+8|0);Lx(h+688|0,e,+g[h+672>>2],+g[h+672+4>>2],+g[h+672+8>>2]);Yt(h+640|0,b,b+4|0,i+8|0);Lx(h+656|0,e,+g[h+640>>2],+g[h+640+4>>2],+g[h+640+8>>2]);Qb[d&127](a,h+688|0,h+656|0,f);d=c[(c[a>>2]|0)+8>>2]|0;Yt(h+608|0,b,b+4|0,i+8|0);Lx(h+624|0,e,+g[h+608>>2],+g[h+608+4>>2],+g[h+608+8>>2]);Yt(h+576|0,i,b+4|0,i+8|0);Lx(h+592|0,e,+g[h+576>>2],+g[h+576+4>>2],+g[h+576+8>>2]);Qb[d&127](a,h+624|0,h+592|0,f);d=c[(c[a>>2]|0)+8>>2]|0;Yt(h+544|0,i,b+4|0,i+8|0);Lx(h+560|0,e,+g[h+544>>2],+g[h+544+4>>2],+g[h+544+8>>2]);Yt(h+512|0,i,i+4|0,i+8|0);Lx(h+528|0,e,+g[h+512>>2],+g[h+512+4>>2],+g[h+512+8>>2]);Qb[d&127](a,h+560|0,h+528|0,f);d=c[(c[a>>2]|0)+8>>2]|0;Yt(h+480|0,i,i+4|0,i+8|0);Lx(h+496|0,e,+g[h+480>>2],+g[h+480+4>>2],+g[h+480+8>>2]);Yt(h+448|0,i,i+4|0,b+8|0);Lx(h+464|0,e,+g[h+448>>2],+g[h+448+4>>2],+g[h+448+8>>2]);Qb[d&127](a,h+496|0,h+464|0,f);d=c[(c[a>>2]|0)+8>>2]|0;Yt(h+416|0,b,i+4|0,i+8|0);Lx(h+432|0,e,+g[h+416>>2],+g[h+416+4>>2],+g[h+416+8>>2]);Yt(h+384|0,b,i+4|0,b+8|0);Lx(h+400|0,e,+g[h+384>>2],+g[h+384+4>>2],+g[h+384+8>>2]);Qb[d&127](a,h+432|0,h+400|0,f);d=c[(c[a>>2]|0)+8>>2]|0;Yt(h+352|0,b,b+4|0,i+8|0);Lx(h+368|0,e,+g[h+352>>2],+g[h+352+4>>2],+g[h+352+8>>2]);Yt(h+320|0,b,b+4|0,b+8|0);Lx(h+336|0,e,+g[h+320>>2],+g[h+320+4>>2],+g[h+320+8>>2]);Qb[d&127](a,h+368|0,h+336|0,f);d=c[(c[a>>2]|0)+8>>2]|0;Yt(h+288|0,i,b+4|0,i+8|0);Lx(h+304|0,e,+g[h+288>>2],+g[h+288+4>>2],+g[h+288+8>>2]);Yt(h+256|0,i,b+4|0,b+8|0);Lx(h+272|0,e,+g[h+256>>2],+g[h+256+4>>2],+g[h+256+8>>2]);Qb[d&127](a,h+304|0,h+272|0,f);d=c[(c[a>>2]|0)+8>>2]|0;Yt(h+224|0,i,i+4|0,b+8|0);Lx(h+240|0,e,+g[h+224>>2],+g[h+224+4>>2],+g[h+224+8>>2]);Yt(h+192|0,b,i+4|0,b+8|0);Lx(h+208|0,e,+g[h+192>>2],+g[h+192+4>>2],+g[h+192+8>>2]);Qb[d&127](a,h+240|0,h+208|0,f);d=c[(c[a>>2]|0)+8>>2]|0;Yt(h+160|0,b,i+4|0,b+8|0);Lx(h+176|0,e,+g[h+160>>2],+g[h+160+4>>2],+g[h+160+8>>2]);Yt(h+128|0,b,b+4|0,b+8|0);Lx(h+144|0,e,+g[h+128>>2],+g[h+128+4>>2],+g[h+128+8>>2]);Qb[d&127](a,h+176|0,h+144|0,f);d=c[(c[a>>2]|0)+8>>2]|0;Yt(h+96|0,b,b+4|0,b+8|0);Lx(h+112|0,e,+g[h+96>>2],+g[h+96+4>>2],+g[h+96+8>>2]);Yt(h+64|0,i,b+4|0,b+8|0);Lx(h+80|0,e,+g[h+64>>2],+g[h+64+4>>2],+g[h+64+8>>2]);Qb[d&127](a,h+112|0,h+80|0,f);d=c[(c[a>>2]|0)+8>>2]|0;Yt(h+32|0,i,b+4|0,b+8|0);Lx(h+48|0,e,+g[h+32>>2],+g[h+32+4>>2],+g[h+32+8>>2]);Yt(h,i,i+4|0,b+8|0);Lx(h+16|0,e,+g[h>>2],+g[h+4>>2],+g[h+8>>2]);Qb[d&127](a,h+48|0,h+16|0,f);k=h;return}function Zd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0;F=k;k=k+32|0;B=+g[b+48>>2]-+g[b+112>>2];h=+g[b+52>>2]-+g[b+116>>2];E=+g[b+56>>2]-+g[b+120>>2];C=B*+g[b+64>>2]+h*+g[b+80>>2]+E*+g[b+96>>2];D=B*+g[b+68>>2]+h*+g[b+84>>2]+E*+g[b+100>>2];E=B*+g[b+72>>2]+h*+g[b+88>>2]+E*+g[b+104>>2];e=c[a+8>>2]|0;z=c[a+4>>2]|0;h=+g[z+28>>2]*+g[z+12>>2];B=h+ +g[a+12>>2];p=+g[e+72>>2];q=+g[e+56>>2];r=+g[e+76>>2];s=+g[e+60>>2];t=+g[e+80>>2];u=+g[e+64>>2];v=+g[e+88>>2];w=+g[e+92>>2];x=+g[e+96>>2];j=(r-s)*(x-u)-(t-u)*(w-s);m=(t-u)*(v-q)-(p-q)*(x-u);o=(p-q)*(w-s)-(r-s)*(v-q);n=1.0/+A(+(o*o+(j*j+m*m)));i=(E-u)*o*n+((C-q)*j*n+(D-s)*m*n);if(i<0.0){y=-i;l=-(j*n);i=-(m*n);j=-(o*n)}else{y=i;l=j*n;i=m*n;j=o*n}if(!(y<B)){k=F;return}o=(E-u)*(i*(p-q)-l*(r-s))+((C-q)*(j*(r-s)-i*(t-u))+(D-s)*(l*(t-u)-j*(p-q)));t=(E-t)*(i*(v-p)-l*(w-r))+((C-p)*(j*(w-r)-i*(x-t))+(D-r)*(l*(x-t)-j*(v-p)));x=(E-x)*(i*(q-v)-l*(s-w))+((C-v)*(j*(s-w)-i*(u-x))+(D-w)*(l*(u-x)-j*(q-v)));if(!(x>0.0&(o>0.0&t>0.0)|x<=0.0&(o<=0.0&t<=0.0))){if((tb[c[(c[e>>2]|0)+100>>2]&255](e)|0)<=0){k=F;return}e=0;z=0;s=0.0;r=0.0;q=0.0;do{G=c[a+8>>2]|0;Qb[c[(c[G>>2]|0)+104>>2]&127](G,z,F+16|0,F);p=+g[F+16>>2];x=+g[F+16+4>>2];u=+g[F+16+8>>2];t=+g[F>>2]-p;y=+g[F+4>>2]-x;v=+g[F+8>>2]-u;do if((C-p)*t+(D-x)*y+(E-u)*v>0.0)if((C-p)*t+(D-x)*y+(E-u)*v<t*t+y*y+v*v){o=((C-p)*t+(D-x)*y+(E-u)*v)/(t*t+y*y+v*v);w=o;m=C-p-t*o;n=D-x-y*o;o=E-u-v*o;break}else{w=1.0;m=C-p-t;n=D-x-y;o=E-u-v;break}else{w=0.0;m=C-p;n=D-x;o=E-u}while(0);if(m*m+n*n+o*o<B*B){e=1;s=p+t*w;r=u+v*w;q=x+y*w}z=z+1|0;G=c[a+8>>2]|0}while((z|0)<(tb[c[(c[G>>2]|0)+100>>2]&255](G)|0));if(!(e&1)){k=F;return}else p=B*B}else{p=B*B;s=C-y*l;r=E-y*j;q=D-y*i}n=C-s;o=D-q;m=E-r;if(!(n*n+o*o+m*m<p)){k=F;return}if(n*n+o*o+m*m>1.1920928955078125e-07){i=+A(+(n*n+o*o+m*m));h=h-i;l=n*(1.0/i);j=m*(1.0/i);i=o*(1.0/i)}h=-h;if(f){x=+g[b+64>>2];y=+g[b+68>>2];B=+g[b+72>>2];C=x*l+y*i+B*j;o=+g[b+80>>2];p=+g[b+84>>2];t=+g[b+88>>2];D=l*o+i*p+j*t;u=+g[b+96>>2];v=+g[b+100>>2];w=+g[b+104>>2];E=l*u+i*v+j*w;g[F+16>>2]=-C;g[F+16+4>>2]=-D;g[F+16+8>>2]=-E;g[F+16+12>>2]=0.0;D=s*o+q*p+r*t+ +g[b+116>>2]+D*h;E=s*u+q*v+r*w+ +g[b+120>>2]+E*h;g[F>>2]=s*x+q*y+r*B+ +g[b+112>>2]+C*h;g[F+4>>2]=D;g[F+8>>2]=E;g[F+12>>2]=0.0;Ob[c[(c[d>>2]|0)+16>>2]&15](d,F+16|0,F,h);k=F;return}else{G=c[(c[d>>2]|0)+16>>2]|0;y=+g[b+64>>2];B=+g[b+68>>2];C=+g[b+72>>2];u=+g[b+80>>2];v=+g[b+84>>2];D=+g[b+88>>2];w=+g[b+96>>2];x=+g[b+100>>2];E=+g[b+104>>2];g[F+16>>2]=y*l+B*i+C*j;g[F+16+4>>2]=l*u+i*v+j*D;g[F+16+8>>2]=l*w+i*x+j*E;g[F+16+12>>2]=0.0;D=s*u+q*v+r*D+ +g[b+116>>2];E=s*w+q*x+r*E+ +g[b+120>>2];g[F>>2]=s*y+q*B+r*C+ +g[b+112>>2];g[F+4>>2]=D;g[F+8>>2]=E;g[F+12>>2]=0.0;Ob[G&15](d,F+16|0,F,h);k=F;return}}function _d(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b>>2]=8460;c[7584]=(c[7584]|0)+1;e=lc(379)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g[e+308>>2]=9.999999747378752e-05;l=e+332|0;a[l>>0]=a[l>>0]&-16;c[b+24>>2]=e;l=(c[d+20>>2]|0)==0;c[7584]=(c[7584]|0)+1;e=lc(23)|0;c[(e+4+15&-16)+-4>>2]=e;c[(e+4+15&-16)>>2]=l?13120:13168;c[b+28>>2]=e+4+15&-16;c[7584]=(c[7584]|0)+1;e=lc(43)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}k=c[b+24>>2]|0;l=c[b+28>>2]|0;a[e+4>>0]=0;c[e>>2]=9268;c[e+16>>2]=0;c[e+20>>2]=3;c[e+12>>2]=k;c[e+8>>2]=l;c[b+32>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8492;c[b+36>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8512;c[b+40>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8532;c[b+44>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8552;c[b+48>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8572;c[b+52>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8592;c[b+56>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8612;c[b+60>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8632;c[b+76>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=8632;c[b+80>>2]=e;a[e+4>>0]=1;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8652;c[b+72>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=8672;c[e+8>>2]=1;c[e+12>>2]=0;c[b+88>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=8672;c[e+8>>2]=1;c[e+12>>2]=0;c[b+84>>2]=e;a[e+4>>0]=1;l=c[d+16>>2]|0;l=(l|0)>80?l:80;e=c[d>>2]|0;if(!e){a[b+12>>0]=1;c[7584]=(c[7584]|0)+1;e=lc(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+8>>2]|0;c[k>>2]=772;f=k+4|0;c[f>>2]=e;c[7584]=(c[7584]|0)+1;e=lc((e*772|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;h=c[f>>2]|0;c[k+8>>2]=h;if(h+-1|0){i=c[k>>2]|0;f=e;j=h+-1|0;do{m=f;f=f+i|0;c[m>>2]=f;j=j+-1|0}while((j|0)!=0);e=e+(M(i,h+-1|0)|0)|0}c[e>>2]=0;c[b+8>>2]=k}else{a[b+12>>0]=0;c[b+8>>2]=e}e=c[d+4>>2]|0;if(e|0){a[b+20>>0]=0;c[b+16>>2]=e;return}a[b+20>>0]=1;c[7584]=(c[7584]|0)+1;e=lc(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+12>>2]|0;c[k>>2]=l;f=k+4|0;c[f>>2]=e;e=M(e,l)|0;c[7584]=(c[7584]|0)+1;e=lc(e+19|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;h=c[f>>2]|0;c[k+8>>2]=h;if(h+-1|0){i=c[k>>2]|0;f=e;j=h+-1|0;do{m=f;f=f+i|0;c[m>>2]=f;j=j+-1|0}while((j|0)!=0);e=e+(M(i,h+-1|0)|0)|0}c[e>>2]=0;c[b+16>>2]=k;return}function $d(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;i=k;k=k+16|0;if((a[28360]|0)==0?_A(28360)|0:0){c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;Dg(28992,0.0,0,0,i)}c[7299]=c[7299]|1;g[7334]=0.0;j=+g[7344]*0.0;l=+g[7345]*0.0;g[7339]=+g[7343]*0.0;g[7340]=j;g[7341]=l;g[7342]=0.0;c[7347]=0;c[7348]=0;c[7349]=0;c[7350]=0;l=+g[7336]*0.0;j=+g[7337]*0.0;g[7388]=+g[7335]*0.0;g[7389]=l;g[7390]=j;g[7391]=0.0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=28992;c[b+32>>2]=d;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=7616;c[b+112>>2]=c[e>>2];c[b+112+4>>2]=c[e+4>>2];c[b+112+8>>2]=c[e+8>>2];c[b+112+12>>2]=c[e+12>>2];c[b+128>>2]=c[e+16>>2];c[b+128+4>>2]=c[e+16+4>>2];c[b+128+8>>2]=c[e+16+8>>2];c[b+128+12>>2]=c[e+16+12>>2];c[b+144>>2]=c[e+32>>2];c[b+144+4>>2]=c[e+32+4>>2];c[b+144+8>>2]=c[e+32+8>>2];c[b+144+12>>2]=c[e+32+12>>2];c[b+160>>2]=c[e+48>>2];c[b+160+4>>2]=c[e+48+4>>2];c[b+160+8>>2]=c[e+48+8>>2];c[b+160+12>>2]=c[e+48+12>>2];e=b+680|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;g[b+728>>2]=.699999988079071;g[b+732>>2]=1.0;g[b+736>>2]=.5;a[b+788>>0]=0;a[b+788+1>>0]=0;a[b+788+2>>0]=0;c[b+792>>2]=0;c[b+792+4>>2]=0;c[b+792+8>>2]=0;c[b+808>>2]=0;c[b+808+4>>2]=0;c[b+808+8>>2]=0;g[b+928>>2]=0.0;g[b+876>>2]=0.0;g[b+880>>2]=.10000000149011612;g[b+884>>2]=300.0;g[b+868>>2]=1.0;g[b+872>>2]=-1.0;g[b+896>>2]=0.0;g[b+900>>2]=.20000000298023224;g[b+904>>2]=0.0;g[b+908>>2]=0.0;g[b+888>>2]=1.0;g[b+892>>2]=.5;c[b+924>>2]=0;g[b+916>>2]=0.0;a[b+912>>0]=0;g[b+992>>2]=0.0;g[b+940>>2]=0.0;g[b+944>>2]=.10000000149011612;g[b+948>>2]=300.0;g[b+932>>2]=1.0;g[b+936>>2]=-1.0;g[b+960>>2]=0.0;g[b+964>>2]=.20000000298023224;g[b+968>>2]=0.0;g[b+972>>2]=0.0;g[b+952>>2]=1.0;g[b+956>>2]=.5;c[b+988>>2]=0;g[b+980>>2]=0.0;a[b+976>>0]=0;g[b+1056>>2]=0.0;g[b+1004>>2]=0.0;g[b+1008>>2]=.10000000149011612;g[b+1012>>2]=300.0;g[b+996>>2]=1.0;g[b+1e3>>2]=-1.0;g[b+1024>>2]=0.0;g[b+1028>>2]=.20000000298023224;g[b+1032>>2]=0.0;g[b+1036>>2]=0.0;g[b+1016>>2]=1.0;g[b+1020>>2]=.5;c[b+1052>>2]=0;g[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=f&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;y=+g[b+112>>2];E=+g[d+4>>2];x=+g[b+128>>2];D=+g[d+8>>2];w=+g[b+144>>2];C=+g[d+12>>2];v=+g[b+116>>2];u=+g[b+132>>2];t=+g[b+148>>2];s=+g[b+120>>2];q=+g[b+136>>2];o=+g[b+152>>2];B=+g[d+20>>2];A=+g[d+24>>2];z=+g[d+28>>2];r=+g[d+36>>2];p=+g[d+40>>2];n=+g[d+44>>2];G=+g[b+160>>2];F=+g[b+164>>2];l=+g[b+168>>2];m=+g[d+52>>2]+(E*G+D*F+C*l);j=B*G+A*F+z*l+ +g[d+56>>2];l=r*G+p*F+n*l+ +g[d+60>>2];g[b+48>>2]=y*E+x*D+w*C;g[b+52>>2]=E*v+D*u+C*t;g[b+56>>2]=E*s+D*q+C*o;g[b+60>>2]=0.0;g[b+64>>2]=y*B+x*A+w*z;g[b+68>>2]=v*B+u*A+t*z;g[b+72>>2]=s*B+q*A+o*z;g[b+76>>2]=0.0;g[b+80>>2]=y*r+x*p+w*n;g[b+84>>2]=v*r+u*p+t*n;g[b+88>>2]=s*r+q*p+o*n;g[b+92>>2]=0.0;g[b+96>>2]=m;g[b+100>>2]=j;g[b+104>>2]=l;g[b+108>>2]=0.0;nd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);k=i;return}function ae(b,d,e,f,h,i,j,l){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=k;k=k+288|0;c[w+208>>2]=c[d>>2];c[w+208+4>>2]=c[d+4>>2];c[w+208+8>>2]=c[d+8>>2];c[w+208+12>>2]=c[d+12>>2];o=w+208+16|0;c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];e=w+208+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];v=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;s=c[j+16>>2]|0;t=c[j+12>>2]|0;p=c[j+20>>2]|0;c[w+156>>2]=c[w+208>>2];c[w+156+4>>2]=c[w+208+4>>2];c[w+156+8>>2]=c[w+208+8>>2];c[w+156+12>>2]=c[w+208+12>>2];c[w+172>>2]=c[o>>2];c[w+172+4>>2]=c[o+4>>2];c[w+172+8>>2]=c[o+8>>2];c[w+172+12>>2]=c[o+12>>2];c[w+188>>2]=c[e>>2];c[w+188+4>>2]=c[e+4>>2];c[w+188+8>>2]=c[e+8>>2];c[w+188+12>>2]=c[e+12>>2];e=c[b+136>>2]|0;if((e|0)==(c[b+140>>2]|0)?(u=(e|0)==0?1:e<<1,(e|0)<(u|0)):0){if(!u)d=0;else{c[7584]=(c[7584]|0)+1;d=lc((u*284|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+136>>2]|0}if((e|0)>0){f=0;do{j=c[b+144>>2]|0;m=d+(f*284|0)|0;n=j+(f*284|0)|0;o=m+92|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));m=d+(f*284|0)+92|0;n=j+(f*284|0)+92|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=j+(f*284|0)+108|0;n=d+(f*284|0)+108|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];n=j+(f*284|0)+124|0;m=d+(f*284|0)+124|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(f*284|0)+140|0;n=j+(f*284|0)+140|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];m=d+(f*284|0)+156|0;n=j+(f*284|0)+156|0;o=m+128|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));f=f+1|0}while((f|0)!=(e|0))}e=c[b+144>>2]|0;if(e|0){if(a[b+148>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=d;c[b+140>>2]=u;e=c[b+136>>2]|0}d=c[b+144>>2]|0;m=d+(e*284|0)|0;n=w;o=m+92|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));m=d+(e*284|0)+92|0;c[m>>2]=c[w+92>>2];c[m+4>>2]=c[w+92+4>>2];c[m+8>>2]=c[w+92+8>>2];c[m+12>>2]=c[w+92+12>>2];m=d+(e*284|0)+108|0;c[m>>2]=c[w+108>>2];c[m+4>>2]=c[w+108+4>>2];c[m+8>>2]=c[w+108+8>>2];c[m+12>>2]=c[w+108+12>>2];m=d+(e*284|0)+124|0;c[m>>2]=c[w+124>>2];c[m+4>>2]=c[w+124+4>>2];c[m+8>>2]=c[w+124+8>>2];c[m+12>>2]=c[w+124+12>>2];m=d+(e*284|0)+140|0;c[m>>2]=c[w+140>>2];c[m+4>>2]=c[w+140+4>>2];c[m+8>>2]=c[w+140+8>>2];c[m+12>>2]=c[w+140+12>>2];d=d+(e*284|0)+156|0;m=d;n=w+156|0;o=m+48|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));g[d+48>>2]=h;c[d+52>>2]=t;g[d+56>>2]=i;c[d+60>>2]=v;c[d+64>>2]=q;c[d+68>>2]=r;c[d+72>>2]=s;g[d+76>>2]=0.0;g[d+80>>2]=0.0;g[d+84>>2]=0.0;g[d+88>>2]=.10000000149011612;c[d+92>>2]=p;g[d+96>>2]=0.0;g[d+100>>2]=0.0;a[d+104>>0]=l&1;m=d+105|0;n=w+256|0;o=m+23|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));l=c[b+136>>2]|0;c[b+136>>2]=l+1;l=(c[b+144>>2]|0)+(l*284|0)|0;hh(c[b+116>>2]|0,l,0);He(c[b+116>>2]|0,c[b+144>>2]|0,(c[b+136>>2]|0)+-1|0,0);k=w;return l|0}function be(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((h|0)<0){h=c[b+8>>2]|0;+sb[c[(c[h>>2]|0)+12>>2]&3](h,d,e,f,g,c[b+12>>2]|0,c[b+16>>2]|0,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);return}o=c[b+16>>2]|0;a:do if((o|0)>0){l=c[b+12>>2]|0;i=0;while(1){m=l+(i<<2)|0;k=c[m>>2]|0;j=c[(c[k+28>>2]|0)+208>>2]|0;if((j|0)<=-1)j=c[(c[k+32>>2]|0)+208>>2]|0;if((j|0)==(h|0))break a;i=i+1|0;if((i|0)>=(o|0)){m=0;break}}}else{i=0;m=0}while(0);if((i|0)<(o|0)){n=c[b+12>>2]|0;j=0;do{l=c[n+(i<<2)>>2]|0;k=c[(c[l+28>>2]|0)+208>>2]|0;if((k|0)<=-1)k=c[(c[l+32>>2]|0)+208>>2]|0;j=j+((k|0)==(h|0)&1)|0;i=i+1|0}while((i|0)!=(o|0));h=j}else h=0;i=c[b+4>>2]|0;if((c[i+72>>2]|0)<2){o=c[b+8>>2]|0;+sb[c[(c[o>>2]|0)+12>>2]&3](o,d,e,f,g,m,h,i,c[b+20>>2]|0,c[b+24>>2]|0);return}if((e|0)>0){n=0;i=c[b+32>>2]|0;j=c[b+36>>2]|0;do{o=d+(n<<2)|0;if((i|0)==(j|0)){l=(j|0)==0?1:j<<1;if((j|0)<(l|0)){if(!l)i=0;else{c[7584]=(c[7584]|0)+1;i=lc((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+32>>2]|0}if((j|0)>0){k=0;do{c[i+(k<<2)>>2]=c[(c[b+40>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+40>>2]|0;if(k){if(a[b+44>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[k+-4>>2]|0);j=c[b+32>>2]|0}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=i;c[b+36>>2]=l;i=j;j=l}else i=j}c[(c[b+40>>2]|0)+(i<<2)>>2]=c[o>>2];i=i+1|0;c[b+32>>2]=i;n=n+1|0}while((n|0)!=(e|0))}if((g|0)>0){n=0;i=c[b+52>>2]|0;j=c[b+56>>2]|0;do{o=f+(n<<2)|0;if((i|0)==(j|0)){l=(j|0)==0?1:j<<1;if((j|0)<(l|0)){if(!l)i=0;else{c[7584]=(c[7584]|0)+1;i=lc((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+52>>2]|0}if((j|0)>0){k=0;do{c[i+(k<<2)>>2]=c[(c[b+60>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+60>>2]|0;if(k){if(a[b+64>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[k+-4>>2]|0);j=c[b+52>>2]|0}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=i;c[b+56>>2]=l;i=j;j=l}else i=j}c[(c[b+60>>2]|0)+(i<<2)>>2]=c[o>>2];i=i+1|0;c[b+52>>2]=i;n=n+1|0}while((n|0)!=(g|0))}if(!h)i=c[b+72>>2]|0;else{o=0;i=c[b+72>>2]|0;j=c[b+76>>2]|0;do{n=m+(o<<2)|0;if((i|0)==(j|0)){l=(j|0)==0?1:j<<1;if((j|0)<(l|0)){if(!l){k=0;i=j}else{c[7584]=(c[7584]|0)+1;i=lc((l<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=i;i=c[b+72>>2]|0}if((i|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+80>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}j=c[b+80>>2]|0;if(j){if(a[b+84>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0);i=c[b+72>>2]|0}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=k;c[b+76>>2]=l;j=l}else i=j}c[(c[b+80>>2]|0)+(i<<2)>>2]=c[n>>2];i=i+1|0;c[b+72>>2]=i;o=o+1|0}while((o|0)!=(h|0))}if(((c[b+52>>2]|0)+i|0)<=(c[(c[b+4>>2]|0)+72>>2]|0))return;Bh(b);return}function ce(d,f,h,i){d=d|0;f=f|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;w=k;k=k+80|0;v=c[d+48>>2]|0;c[w>>2]=10100;c[w+4>>2]=v;c[w+8>>2]=f;v=c[d+52>>2]|0;if(!(a[v+60>>0]|0)){f=c[v+56>>2]|0;if((f|0)>0){p=0;d=0;o=c[v+96>>2]|0;while(1){d=d+1|0;if(!(+g[h>>2]>+g[o+16>>2])?!(+g[i>>2]<+g[o>>2]):0)j=1;else j=0;if(!(!(+g[h+8>>2]>+g[o+24>>2])?!(+g[i+8>>2]<+g[o+8>>2]):0))j=0;if(!(+g[h+4>>2]>+g[o+20>>2])?!(+g[i+4>>2]<+g[o+4>>2]):0){l=c[o+32>>2]|0;if(j&(l|0)==-1){Nb[c[(c[w>>2]|0)+8>>2]&127](w,c[o+36>>2]|0,c[o+40>>2]|0);f=c[v+56>>2]|0;n=44}else{m=(l|0)==-1;n=43}}else{l=c[o+32>>2]|0;j=0;m=(l|0)==-1;n=43}if((n|0)==43){n=0;if(m|j)n=44;else{m=o+(l<<6)|0;j=l+p|0}}if((n|0)==44){m=o+64|0;j=p+1|0}if((j|0)<(f|0)){p=j;o=m}else break}}else d=0;if((c[7562]|0)>=(d|0)){k=w;return}c[7562]=d;k=w;return}y=+g[h>>2];C=+g[h+4>>2];G=+g[h+8>>2];F=+g[v+4>>2];y=y<F?F:y;B=+g[v+8>>2];C=C<B?B:C;x=+g[v+12>>2];G=G<x?x:G;H=+g[v+20>>2];D=+g[v+24>>2];z=+g[v+28>>2];I=+g[v+36>>2];E=+g[v+40>>2];A=+g[v+44>>2];s=~~(((H<y?H:y)-F)*I)&65535&-2;b[w+66>>1]=s;t=~~(((D<C?D:C)-B)*E)&65535&-2;u=~~(((z<G?z:G)-x)*A)&65535&-2;b[w+66+2>>1]=t;b[w+66+4>>1]=u;G=+g[i>>2];C=+g[i+4>>2];y=+g[i+8>>2];G=G<F?F:G;C=C<B?B:C;y=y<x?x:y;i=~~(I*((H<G?H:G)-F)+1.0)&65535|1;b[w+60>>1]=i;q=~~(E*((D<C?D:C)-B)+1.0)&65535|1;r=~~(A*((z<y?z:y)-x)+1.0)&65535|1;b[w+60+2>>1]=q;b[w+60+4>>1]=r;switch(c[v+144>>2]|0){case 0:{o=c[v+56>>2]|0;if((o|0)>0){d=0;f=c[v+136>>2]|0;j=0;do{d=d+1|0;l=((i&65535)>=(e[f>>1]|0)?(s&65535)<=(e[f+6>>1]|0):0)&(u&65535)<=(e[f+10>>1]|0)&(r&65535)>=(e[f+4>>1]|0)&(t&65535)<=(e[f+8>>1]|0)&(q&65535)>=(e[f+2>>1]|0);m=f+12|0;n=c[m>>2]|0;if((n|0)>-1&l)Nb[c[(c[w>>2]|0)+8>>2]&127](w,21?n>>>21:n,n&2097151);if(l|(n|0)>-1){j=j+1|0;f=f+16|0}else{v=c[m>>2]|0;j=j-v|0;f=f+(0-v<<4)|0}}while((j|0)<(o|0))}else d=0;if((c[7562]|0)<(d|0))c[7562]=d;break}case 1:{if((c[v+152>>2]|0)>0){h=0;do{d=c[v+160>>2]|0;if(((i&65535)>=(e[d+(h<<5)>>1]|0)?(s&65535)<=(e[d+(h<<5)+6>>1]|0):0)&(u&65535)<=(e[d+(h<<5)+10>>1]|0)&(r&65535)>=(e[d+(h<<5)+4>>1]|0)&(t&65535)<=(e[d+(h<<5)+8>>1]|0)&(q&65535)>=(e[d+(h<<5)+2>>1]|0)){p=c[d+(h<<5)+12>>2]|0;o=c[d+(h<<5)+16>>2]|0;a:do if((o|0)>0){d=0;f=(c[v+136>>2]|0)+(p<<4)|0;j=p;while(1){d=d+1|0;l=((i&65535)>=(e[f>>1]|0)?(s&65535)<=(e[f+6>>1]|0):0)&(u&65535)<=(e[f+10>>1]|0)&(r&65535)>=(e[f+4>>1]|0)&(t&65535)<=(e[f+8>>1]|0)&(q&65535)>=(e[f+2>>1]|0);m=f+12|0;n=c[m>>2]|0;if((n|0)>-1&l)Nb[c[(c[w>>2]|0)+8>>2]&127](w,21?n>>>21:n,n&2097151);if(l|(n|0)>-1){j=j+1|0;f=f+16|0}else{n=c[m>>2]|0;j=j-n|0;f=f+(0-n<<4)|0}if((j|0)>=(o+p|0))break a}}else d=0;while(0);if((c[7562]|0)<(d|0))c[7562]=d}h=h+1|0}while((h|0)<(c[v+152>>2]|0))}break}case 2:{il(c[v+136>>2]|0,w,w+66|0,w+60|0);break}default:{}}k=w;return}function de(a){a=a|0;var d=0,f=0,h=0,i=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;y=k;k=k+64|0;d=c[a>>2]|0;if(!d){k=y;return}x=y+32+16|0;f=c[a+16>>2]|0;do{n=d;d=d+-1|0;h=c[f+(d<<4)+12>>2]|0;if((h|0)>-1){f=c[a+72>>2]|0;Nb[c[(c[f>>2]|0)+16>>2]&127](f,h,y+32|0);f=c[a+16>>2]|0;v=+g[y+32>>2];r=+g[y+32+4>>2];i=+g[y+32+8>>2];l=+g[a+24>>2];v=v<l?l:v;s=+g[a+28>>2];r=r<s?s:r;w=+g[a+32>>2];i=i<w?w:i;z=+g[a+40>>2];o=+g[a+44>>2];u=+g[a+48>>2];A=+g[a+56>>2];m=+g[a+60>>2];t=+g[a+64>>2];b[f+(d<<4)>>1]=~~(((z<v?z:v)-l)*A+.5);b[f+(d<<4)+2>>1]=~~(((o<r?o:r)-s)*m+.5);b[f+(d<<4)+4>>1]=~~(((u<i?u:i)-w)*t+.5);i=+g[y+32+16>>2];r=+g[y+32+20>>2];v=+g[y+32+24>>2];i=i<l?l:i;r=r<s?s:r;v=v<w?w:v;b[f+(d<<4)+6>>1]=~~(A*((z<i?z:i)-l)+.5);b[f+(d<<4)+8>>1]=~~(m*((o<r?o:r)-s)+.5);b[f+(d<<4)+10>>1]=~~(t*((u<v?u:v)-w)+.5)}else{g[y+32+4>>2]=3402823466385288598117041.0e14;g[y+32+8>>2]=3402823466385288598117041.0e14;g[x>>2]=-3402823466385288598117041.0e14;g[y+32+20>>2]=-3402823466385288598117041.0e14;g[y+32+24>>2]=-3402823466385288598117041.0e14;s=+g[a+56>>2];t=+g[a+60>>2];u=+g[a+64>>2];v=+g[a+24>>2];m=+(e[f+(n<<4)>>1]|0)/s+v;w=+g[a+28>>2];z=+(e[f+(n<<4)+2>>1]|0)/t+w;r=+g[a+32>>2];A=+(e[f+(n<<4)+4>>1]|0)/u+r;g[y>>2]=m;g[y+4>>2]=z;g[y+8>>2]=A;g[y+12>>2]=0.0;o=v+ +(e[f+(n<<4)+6>>1]|0)/s;l=w+ +(e[f+(n<<4)+8>>1]|0)/t;i=r+ +(e[f+(n<<4)+10>>1]|0)/u;g[y+16>>2]=o;g[y+20>>2]=l;g[y+24>>2]=i;g[y+28>>2]=0.0;m=m<3402823466385288598117041.0e14?m:3402823466385288598117041.0e14;g[y+32>>2]=m;C=c[(z<3402823466385288598117041.0e14?y:y+32|0)+4>>2]|0;c[y+32+4>>2]=C;B=c[(A<3402823466385288598117041.0e14?y:y+32|0)+8>>2]|0;c[y+32+8>>2]=B;o=o>-3402823466385288598117041.0e14?o:-3402823466385288598117041.0e14;g[x>>2]=o;p=c[(l>-3402823466385288598117041.0e14?y+16|0:x)+4>>2]|0;c[y+32+20>>2]=p;q=c[(i>-3402823466385288598117041.0e14?y+16|0:x)+8>>2]|0;c[y+32+24>>2]=q;h=c[f+(n<<4)+12>>2]|0;h=((h|0)>-1?1:0-h|0)+n|0;i=(c[j>>2]=C,+g[j>>2]);l=(c[j>>2]=B,+g[j>>2]);if(h){A=(c[j>>2]=q,+g[j>>2]);D=(c[j>>2]=p,+g[j>>2]);I=+(e[f+(h<<4)>>1]|0)/s+v;H=+(e[f+(h<<4)+2>>1]|0)/t+w;G=+(e[f+(h<<4)+4>>1]|0)/u+r;g[y>>2]=I;g[y+4>>2]=H;g[y+8>>2]=G;g[y+12>>2]=0.0;F=v+ +(e[f+(h<<4)+6>>1]|0)/s;E=w+ +(e[f+(h<<4)+8>>1]|0)/t;z=r+ +(e[f+(h<<4)+10>>1]|0)/u;g[y+16>>2]=F;g[y+20>>2]=E;g[y+24>>2]=z;g[y+28>>2]=0.0;m=m>I?I:m;g[y+32>>2]=m;B=c[(H<i?y:y+32|0)+4>>2]|0;c[y+32+4>>2]=B;C=c[(G<l?y:y+32|0)+8>>2]|0;c[y+32+8>>2]=C;g[x>>2]=o<F?F:o;c[y+32+20>>2]=c[(E>D?y+16|0:x)+4>>2];c[y+32+24>>2]=c[(z>A?y+16|0:x)+8>>2];i=(c[j>>2]=B,+g[j>>2]);l=(c[j>>2]=C,+g[j>>2])}I=m<v?v:m;G=i<w?w:i;E=l<r?r:l;D=+g[a+40>>2];F=+g[a+44>>2];H=+g[a+48>>2];b[f+(d<<4)>>1]=~~(((D<I?D:I)-v)*s+.5);b[f+(d<<4)+2>>1]=~~(((F<G?F:G)-w)*t+.5);b[f+(d<<4)+4>>1]=~~(((H<E?H:E)-r)*u+.5);E=+g[x>>2];G=+g[y+32+20>>2];I=+g[y+32+24>>2];E=E<v?v:E;G=G<w?w:G;I=I<r?r:I;b[f+(d<<4)+6>>1]=~~(s*((D<E?D:E)-v)+.5);b[f+(d<<4)+8>>1]=~~(t*((F<G?F:G)-w)+.5);b[f+(d<<4)+10>>1]=~~(u*((H<I?H:I)-r)+.5)}}while((d|0)!=0);k=y;return}function ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=d;g[b+28>>2]=0.0;c[b+32>>2]=0;c[b+36>>2]=1;g[b+40>>2]=1.0;a[b+44>>0]=1;c[b+48>>2]=0;a[b+52>>0]=0;a[b+53>>0]=1;a[b+54>>0]=1;g[b+56>>2]=.03999999910593033;a[b+60>>0]=0;g[b+64>>2]=0.0;c[b+68>>2]=e;c[b+72>>2]=0;a[b+76>>0]=1;c[b+80>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;g[b+92>>2]=.6000000238418579;g[b+96>>2]=1.0;g[b+100>>2]=.30000001192092896;g[b+104>>2]=.01666666753590107;g[b+108>>2]=0.0;g[b+116>>2]=20.0;c[b+112>>2]=10;g[b+124>>2]=.20000000298023224;g[b+128>>2]=.800000011920929;g[b+132>>2]=0.0;g[b+120>>2]=1.0;c[b+136>>2]=1;g[b+140>>2]=-.03999999910593033;g[b+144>>2]=.10000000149011612;g[b+148>>2]=0.0;g[b+152>>2]=.8500000238418579;c[b+156>>2]=260;c[b+160>>2]=2;c[b+164>>2]=128;g[b+168>>2]=100.0;g[b+172>>2]=1000000015047466219876688.0e6;c[b>>2]=7332;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;c[b+184>>2]=0;c[b+196>>2]=0;c[b+200>>2]=f;a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;c[b+248>>2]=0;c[b+252>>2]=-1054867456;a[b+274>>0]=0;a[b+275>>0]=0;c[b+256>>2]=0;c[b+256+4>>2]=0;c[b+256+8>>2]=0;c[b+256+12>>2]=0;a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;c[b+296>>2]=0;a[b+300>>0]=1;a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;if(!f){c[7584]=(c[7584]|0)+1;e=lc(215)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=7996;a[e+20>>0]=1;c[e+16>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[e+40>>0]=1;c[e+36>>2]=0;c[e+28>>2]=0;c[e+32>>2]=0;a[e+60>>0]=1;c[e+56>>2]=0;c[e+48>>2]=0;c[e+52>>2]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;a[e+160>>0]=1;c[e+156>>2]=0;c[e+148>>2]=0;c[e+152>>2]=0;a[e+180>>0]=1;c[e+176>>2]=0;c[e+168>>2]=0;c[e+172>>2]=0;c[e+192>>2]=0;c[b+200>>2]=e;e=1}else e=0;a[b+273>>0]=e;c[7584]=(c[7584]|0)+1;e=lc(87)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=8692;a[e+20>>0]=1;c[e+16>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[e+40>>0]=1;c[e+36>>2]=0;c[e+28>>2]=0;c[e+32>>2]=0;a[e+60>>0]=1;c[e+56>>2]=0;c[e+48>>2]=0;c[e+52>>2]=0;a[e+64>>0]=1;c[b+204>>2]=e;a[b+272>>0]=1;c[7584]=(c[7584]|0)+1;e=lc(107)|0;if(!e){f=0;h=c[b+200>>2]|0;c[f>>2]=7544;e=f+4|0;c[e>>2]=0;e=f+8|0;c[e>>2]=h;e=f+12|0;c[e>>2]=0;e=f+16|0;c[e>>2]=0;e=f+20|0;c[e>>2]=0;e=f+24|0;c[e>>2]=d;d=f+44|0;a[d>>0]=1;d=f+40|0;c[d>>2]=0;d=f+32|0;c[d>>2]=0;d=f+36|0;c[d>>2]=0;d=f+64|0;a[d>>0]=1;d=f+60|0;c[d>>2]=0;d=f+52|0;c[d>>2]=0;d=f+56|0;c[d>>2]=0;d=f+84|0;a[d>>0]=1;d=f+80|0;c[d>>2]=0;d=f+72|0;c[d>>2]=0;d=f+76|0;c[d>>2]=0;c[b+196>>2]=f;return}c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16;e=c[b+200>>2]|0;c[h>>2]=7544;f=h+4|0;c[f>>2]=0;f=h+8|0;c[f>>2]=e;f=h+12|0;c[f>>2]=0;f=h+16|0;c[f>>2]=0;f=h+20|0;c[f>>2]=0;f=h+24|0;c[f>>2]=d;d=h+44|0;a[d>>0]=1;d=h+40|0;c[d>>2]=0;d=h+32|0;c[d>>2]=0;d=h+36|0;c[d>>2]=0;d=h+64|0;a[d>>0]=1;d=h+60|0;c[d>>2]=0;d=h+52|0;c[d>>2]=0;d=h+56|0;c[d>>2]=0;d=h+84|0;a[d>>0]=1;d=h+80|0;c[d>>2]=0;d=h+72|0;c[d>>2]=0;d=h+76|0;c[d>>2]=0;c[b+196>>2]=h;return}function fe(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=k;k=k+96|0;s=c[b+12>>2]|0;Qb[c[(c[s>>2]|0)+8>>2]&127](s,(c[b+8>>2]|0)+4|0,u+80|0,u+64|0);s=c[d+68>>2]|0;Ub[c[(c[s>>2]|0)+16>>2]&31](s,c[(c[b+8>>2]|0)+188>>2]|0,u+80|0,u+64|0,c[d+24>>2]|0);s=c[d+24>>2]|0;Qb[c[(c[s>>2]|0)+32>>2]&127](s,c[(c[b+8>>2]|0)+284>>2]|0,d+28|0,s);s=c[b+8>>2]|0;c[b+92>>2]=c[s+52>>2];c[b+92+4>>2]=c[s+52+4>>2];c[b+92+8>>2]=c[s+52+8>>2];c[b+92+12>>2]=c[s+52+12>>2];s=c[s+284>>2]|0;if((tb[c[(c[s>>2]|0)+36>>2]&255](s)|0)>0){d=0;f=0.0;s=0;do{e=c[b+132>>2]|0;if((e|0)<0){if((c[b+136>>2]|0)<0){h=c[b+140>>2]|0;if(h|0){if(a[b+144>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+136>>2]=0}do{c[(c[b+140>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[b+132>>2]=0;e=c[(c[b+8>>2]|0)+284>>2]|0;e=c[(tb[c[(c[e>>2]|0)+28>>2]&255](e)|0)+12>>2]|0;r=c[c[e+(s<<4)>>2]>>2]|0;h=c[c[e+(s<<4)+4>>2]>>2]|0;if(!((r|0)!=0?(c[r+204>>2]&4|0)!=0:0))t=15;do if((t|0)==15){t=0;if(h|0?c[h+204>>2]&4|0:0)break;e=c[e+(s<<4)+8>>2]|0;if(e|0)Jb[c[(c[e>>2]|0)+16>>2]&127](e,b+128|0);r=c[b+132>>2]|0;if((r|0)>0){p=c[b+140>>2]|0;q=c[b+8>>2]|0;o=0;do{m=c[p+(o<<2)>>2]|0;n=(c[m+740>>2]|0)==(q|0)?-1.0:1.0;e=c[m+748>>2]|0;if((e|0)>0){l=0;do{j=+g[m+4+(l*184|0)+80>>2];if(j<0.0){i=m+4+(l*184|0)+64|0;if(j<f){d=m+4+(l*184|0)+68|0;v=n*+g[d>>2];h=m+4+(l*184|0)+72|0;f=n*+g[h>>2];g[b+152>>2]=n*+g[i>>2];g[b+156>>2]=v;g[b+160>>2]=f;g[b+164>>2]=0.0;f=j;e=c[m+748>>2]|0}else{d=m+4+(l*184|0)+68|0;h=m+4+(l*184|0)+72|0}w=j*n*+g[d>>2]*.20000000298023224;v=j*n*+g[h>>2]*.20000000298023224;g[b+92>>2]=j*n*+g[i>>2]*.20000000298023224+ +g[b+92>>2];g[b+96>>2]=w+ +g[b+96>>2];g[b+100>>2]=v+ +g[b+100>>2];d=1}l=l+1|0}while((l|0)<(e|0))}o=o+1|0}while((o|0)!=(r|0))}}while(0);s=s+1|0;r=c[(c[b+8>>2]|0)+284>>2]|0}while((s|0)<(tb[c[(c[r>>2]|0)+36>>2]&255](r)|0))}else d=0;t=c[b+8>>2]|0;c[u>>2]=c[t+4>>2];c[u+4>>2]=c[t+4+4>>2];c[u+8>>2]=c[t+4+8>>2];c[u+12>>2]=c[t+4+12>>2];c[u+16>>2]=c[t+20>>2];c[u+16+4>>2]=c[t+20+4>>2];c[u+16+8>>2]=c[t+20+8>>2];c[u+16+12>>2]=c[t+20+12>>2];c[u+32>>2]=c[t+36>>2];c[u+32+4>>2]=c[t+36+4>>2];c[u+32+8>>2]=c[t+36+8>>2];c[u+32+12>>2]=c[t+36+12>>2];c[u+48>>2]=c[b+92>>2];c[u+48+4>>2]=c[b+92+4>>2];c[u+48+8>>2]=c[b+92+8>>2];c[u+48+12>>2]=c[b+92+12>>2];c[t+260>>2]=(c[t+260>>2]|0)+1;c[t+4>>2]=c[u>>2];c[t+4+4>>2]=c[u+4>>2];c[t+4+8>>2]=c[u+8>>2];c[t+4+12>>2]=c[u+12>>2];c[t+20>>2]=c[u+16>>2];c[t+20+4>>2]=c[u+16+4>>2];c[t+20+8>>2]=c[u+16+8>>2];c[t+20+12>>2]=c[u+16+12>>2];c[t+36>>2]=c[u+32>>2];c[t+36+4>>2]=c[u+32+4>>2];c[t+36+8>>2]=c[u+32+8>>2];c[t+36+12>>2]=c[u+32+12>>2];c[t+52>>2]=c[u+48>>2];c[t+52+4>>2]=c[u+48+4>>2];c[t+52+8>>2]=c[u+48+8>>2];c[t+52+12>>2]=c[u+48+12>>2];k=u;return d|0}function ge(d,e,f,h,i){d=d|0;e=e|0;f=+f;h=+h;i=+i;var j=0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;n=k;k=k+240|0;l=+g[d+96>>2]+h;m=+g[d+100>>2]+i;g[d+112>>2]=+g[d+92>>2]+f;g[d+116>>2]=l;g[d+120>>2]=m;g[d+124>>2]=0.0;c[n+168>>2]=1065353216;c[n+168+4>>2]=0;c[n+168+4+4>>2]=0;c[n+168+4+8>>2]=0;c[n+168+4+12>>2]=0;c[n+168+20>>2]=1065353216;c[n+168+24>>2]=0;c[n+168+24+4>>2]=0;c[n+168+24+8>>2]=0;c[n+168+24+12>>2]=0;c[n+168+40>>2]=1065353216;j=n+168+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[n+104>>2]=1065353216;c[n+104+4>>2]=0;c[n+104+4+4>>2]=0;c[n+104+4+8>>2]=0;c[n+104+4+12>>2]=0;c[n+104+20>>2]=1065353216;c[n+104+24>>2]=0;c[n+104+24+4>>2]=0;c[n+104+24+8>>2]=0;c[n+104+24+12>>2]=0;c[n+104+40>>2]=1065353216;j=n+104+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;m=1.0;j=10;while(1){if(!j){j=15;break}j=j+-1|0;c[n+168+48>>2]=c[d+92>>2];c[n+168+48+4>>2]=c[d+92+4>>2];c[n+168+48+8>>2]=c[d+92+8>>2];c[n+168+48+12>>2]=c[d+92+12>>2];c[n+104+48>>2]=c[d+112>>2];c[n+104+48+4>>2]=c[d+112+4>>2];c[n+104+48+8>>2]=c[d+112+8>>2];c[n+104+48+12>>2]=c[d+112+12>>2];i=+g[d+92>>2]-+g[d+112>>2];l=+g[d+96>>2]-+g[d+116>>2];f=+g[d+100>>2]-+g[d+120>>2];o=c[d+8>>2]|0;g[n+4>>2]=1.0;c[n+76>>2]=0;c[n+12>>2]=0;c[n+12+4>>2]=0;c[n+12+8>>2]=0;c[n+12+12>>2]=0;c[n+12+16>>2]=0;c[n+12+20>>2]=0;c[n+12+24>>2]=0;c[n+12+28>>2]=0;c[n>>2]=8176;c[n+80>>2]=o;g[n+84>>2]=i;g[n+88>>2]=l;g[n+92>>2]=f;g[n+96>>2]=0.0;g[n+100>>2]=0.0;o=c[o+188>>2]|0;b[n+8>>1]=b[o+4>>1]|0;b[n+10>>1]=b[o+6>>1]|0;o=c[d+12>>2]|0;f=+jb[c[(c[o>>2]|0)+48>>2]&15](o);o=c[d+12>>2]|0;Eb[c[(c[o>>2]|0)+44>>2]&31](o,f+ +g[d+56>>2]);if(!(a[d+170>>0]|0))Nd(e,c[d+12>>2]|0,n+168|0,n+104|0,n,+g[e+56>>2]);else sd(c[d+8>>2]|0,c[d+12>>2]|0,n+168|0,n+104|0,n,+g[e+56>>2]);o=c[d+12>>2]|0;Eb[c[(c[o>>2]|0)+44>>2]&31](o,f);l=+g[n+4>>2];m=m-l;if(l<1.0){h=+g[d+112>>2]-+g[d+92>>2];i=+g[d+116>>2]-+g[d+96>>2];l=+g[d+120>>2]-+g[d+100>>2];f=+A(+(h*h+i*i+l*l));if(f>1.1920928955078125e-07){p=+g[n+44>>2];u=+g[n+48>>2];r=+g[n+52>>2];t=(h*(1.0/f)*p+i*(1.0/f)*u+l*(1.0/f)*r)*2.0;s=1.0/+A(+((l*(1.0/f)-r*t)*(l*(1.0/f)-r*t)+((h*(1.0/f)-p*t)*(h*(1.0/f)-p*t)+(i*(1.0/f)-u*t)*(i*(1.0/f)-u*t))));q=r*(l*(1.0/f)-r*t)*s+(p*(h*(1.0/f)-p*t)*s+u*(i*(1.0/f)-u*t)*s);c[d+112>>2]=c[d+92>>2];c[d+112+4>>2]=c[d+92+4>>2];c[d+112+8>>2]=c[d+92+8>>2];c[d+112+12>>2]=c[d+92+12>>2];p=f*((h*(1.0/f)-p*t)*s-p*q)+ +g[d+112>>2];g[d+112>>2]=p;h=f*((i*(1.0/f)-u*t)*s-u*q)+ +g[d+116>>2];g[d+116>>2]=h;l=f*((l*(1.0/f)-r*t)*s-r*q)+ +g[d+120>>2];g[d+120>>2]=l;f=p}else{f=+g[d+112>>2];h=+g[d+116>>2];l=+g[d+120>>2]}i=f-+g[d+92>>2];h=h-+g[d+96>>2];f=l-+g[d+100>>2];if(!(i*i+h*h+f*f>1.1920928955078125e-07)){j=13;break}u=1.0/+A(+(i*i+h*h+f*f));if(i*u*+g[d+76>>2]+h*u*+g[d+80>>2]+f*u*+g[d+84>>2]<=0.0){j=13;break}}else{c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(m>.009999999776482582)){j=15;break}}if((j|0)==13){k=n;return}else if((j|0)==15){k=n;return}}function he(b,d,e){b=b|0;d=+d;e=+e;var f=0,h=0,i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0;s=k;k=k+80|0;f=c[b+8>>2]|0;if(!f){f=c[b+4>>2]|0;if(!f){d=0.0;j=0.0;n=0.0;o=0.0;l=0.0;m=0.0}else{r=+g[f+336>>2];n=+g[b+172>>2];o=+g[f+340>>2];p=+g[b+168>>2];m=+g[b+164>>2];q=+g[f+332>>2];d=r*n-o*p;j=+g[f+316>>2];n=o*m-n*q;o=+g[f+320>>2];l=+g[f+324>>2];m=p*q-r*m}}else{r=+g[f+332>>2];n=+g[b+172>>2];o=+g[f+336>>2];p=+g[b+168>>2];m=+g[b+164>>2];q=+g[f+328>>2];d=r*n-o*p;j=+g[f+312>>2];n=o*m-n*q;o=+g[f+316>>2];l=+g[f+320>>2];m=p*q-r*m}p=j+d;r=o+n;q=l+m;f=c[b+20>>2]|0;if(!f){f=c[b+16>>2]|0;if(!f){d=0.0;j=0.0;n=0.0;o=0.0;l=0.0;m=0.0}else{t=+g[f+336>>2];n=+g[b+188>>2];o=+g[f+340>>2];v=+g[b+184>>2];m=+g[b+180>>2];u=+g[f+332>>2];d=t*n-o*v;j=+g[f+316>>2];n=o*m-n*u;o=+g[f+320>>2];l=+g[f+324>>2];m=v*u-t*m}}else{v=+g[f+332>>2];n=+g[b+188>>2];o=+g[f+336>>2];t=+g[b+184>>2];m=+g[b+180>>2];u=+g[f+328>>2];d=v*n-o*t;j=+g[f+312>>2];n=o*m-n*u;o=+g[f+316>>2];l=+g[f+320>>2];m=t*u-v*m}p=p-(j+d);n=r-(o+n);d=q-(l+m);j=+g[b+196>>2];l=+g[b+200>>2];m=+g[b+204>>2];a[s+36+32>>0]=1;c[s+36+16>>2]=0;c[s+36+16+4>>2]=0;c[s+36+16+8>>2]=0;c[s+36+16+12>>2]=0;c[s+36>>2]=c[b+72>>2];c[s+36+4>>2]=c[b+72+4>>2];c[s+36+8>>2]=c[b+72+8>>2];c[s+36+12>>2]=c[b+72+12>>2];if(j*p+n*l+d*m<0.0){t=+g[b+212>>2];u=+g[s+36>>2]+(j*(j*p+n*l+d*m)+(p-j*(j*p+n*l+d*m))*t);g[s+36>>2]=u;v=l*(j*p+n*l+d*m)+(n-l*(j*p+n*l+d*m))*t+ +g[s+36+4>>2];g[s+36+4>>2]=v;l=m*(j*p+n*l+d*m)+(d-m*(j*p+n*l+d*m))*t+ +g[s+36+8>>2];g[s+36+8>>2]=l;f=s+36+4|0;h=s+36+8|0;i=s+36|0;d=u;j=v}else{f=s+36+4|0;h=s+36+8|0;i=s+36|0;d=+g[s+36>>2];j=+g[s+36+4>>2];l=+g[s+36+8>>2]}m=(+g[b+104>>2]*d+ +g[b+108>>2]*j+ +g[b+112>>2]*l)*e;n=(d*+g[b+120>>2]+j*+g[b+124>>2]+l*+g[b+128>>2])*e;d=(d*+g[b+136>>2]+j*+g[b+140>>2]+l*+g[b+144>>2])*e;g[i>>2]=m;g[f>>2]=n;g[h>>2]=d;g[s+36+12>>2]=0.0;f=c[b+4>>2]|0;if((f|0)!=(c[b+16>>2]|0)){f=s;h=s+36|0;i=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(i|0));v=-+g[s+4>>2];u=-+g[s+8>>2];g[s>>2]=-+g[s>>2];g[s+4>>2]=v;g[s+8>>2]=u;g[s+12>>2]=0.0;u=-+g[s+20>>2];v=-+g[s+24>>2];g[s+16>>2]=-+g[s+16>>2];g[s+20>>2]=u;g[s+24>>2]=v;g[s+28>>2]=0.0;li(b+4|0,s,b+164|0);li(b+16|0,s+36|0,b+180|0);k=s;return}if(!(m==m&n==n&(d==d&0.0==0.0))){k=s;return}v=+A(+(m*m+n*n+d*d));if(v<+g[f+368>>2]){k=s;return}h=c[s+36+32>>2]|0;v=+g[f+372>>2];g[s+12>>2]=0.0;g[s+28>>2]=0.0;c[s+32>>2]=h;g[s>>2]=-(m*v);g[s+4>>2]=-(n*v);g[s+8>>2]=-(d*v);g[s+16>>2]=v*-0.0;g[s+20>>2]=v*-0.0;g[s+24>>2]=v*-0.0;li(b+4|0,s,b+164|0);d=+g[(c[b+4>>2]|0)+372>>2];f=s;h=s+36|0;i=f+36|0;do{c[f>>2]=c[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(i|0));g[s>>2]=d*+g[s>>2];g[s+4>>2]=d*+g[s+4>>2];g[s+8>>2]=d*+g[s+8>>2];g[s+16>>2]=d*+g[s+16>>2];g[s+20>>2]=d*+g[s+20>>2];g[s+24>>2]=d*+g[s+24>>2];li(b+16|0,s,b+180|0);k=s;return}function ie(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0;s=k;k=k+48|0;c[s+16>>2]=c[e>>2];c[s+16+4>>2]=c[e+4>>2];c[s+16+8>>2]=c[e+8>>2];c[s+16+12>>2]=c[e+12>>2];c[s+16+16>>2]=c[f>>2];c[s+16+16+4>>2]=c[f+4>>2];c[s+16+16+8>>2]=c[f+8>>2];c[s+16+16+12>>2]=c[f+12>>2];do if((c[d+60>>2]|0)==2){h=c[d+48>>2]|0;xh(b+64|0,h)|0;i=c[b+68>>2]|0;if(i|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[b+68>>2]=h;c[b+76>>2]=(c[b+76>>2]|0)+-1;h=c[b+8>>2]|0;if(!h){c[7584]=(c[7584]|0)+1;h=lc(63)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=h;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+8>>2]=0;c[h+32>>2]=0;c[h+36>>2]=d;c[h+40>>2]=0;c[h>>2]=c[s+16>>2];c[h+4>>2]=c[s+16+4>>2];c[h+8>>2]=c[s+16+8>>2];c[h+12>>2]=c[s+16+12>>2];c[h+16>>2]=c[s+16+16>>2];c[h+20>>2]=c[s+16+20>>2];c[h+24>>2]=c[s+16+24>>2];c[h+28>>2]=c[s+16+28>>2];tf(b+4|0,c[b+4>>2]|0,h);c[b+16>>2]=(c[b+16>>2]|0)+1;c[d+48>>2]=h;h=1}else{c[b+168>>2]=(c[b+168>>2]|0)+1;r=c[d+48>>2]|0;if(((((+g[r>>2]<=+g[s+16+16>>2]?+g[r+16>>2]>=+g[s+16>>2]:0)?+g[r+4>>2]<=+g[s+16+20>>2]:0)?+g[r+20>>2]>=+g[s+16+4>>2]:0)?+g[r+8>>2]<=+g[s+16+24>>2]:0)?+g[r+24>>2]>=+g[s+16+8>>2]:0){l=+g[d+16>>2];t=+g[e>>2]-l;m=+g[d+20>>2];p=+g[e+4>>2]-m;n=+g[d+24>>2];q=+g[e+8>>2]-n;u=+g[b+140>>2];l=(+g[d+32>>2]-l)*.5*u;m=u*(+g[d+36>>2]-m)*.5;n=u*(+g[d+40>>2]-n)*.5;g[s>>2]=l;g[s+4>>2]=m;g[s+8>>2]=n;g[s+12>>2]=0.0;if(t<0.0)g[s>>2]=-l;if(p<0.0)g[s+4>>2]=-m;if(q<0.0)g[s+8>>2]=-n;if(Gh(b+4|0,r,s+16|0,s,.05000000074505806)|0){c[b+172>>2]=(c[b+172>>2]|0)+1;h=1}else h=0;break}h=xh(b+4|0,r)|0;a:do if(h){o=c[b+12>>2]|0;if((o|0)<=-1){h=c[b+4>>2]|0;break}if(o){i=0;while(1){j=c[h+32>>2]|0;i=i+1|0;if(!j)break a;if((i|0)>=(o|0)){h=j;break}else h=j}}}else h=0;while(0);c[r>>2]=c[s+16>>2];c[r+4>>2]=c[s+16+4>>2];c[r+8>>2]=c[s+16+8>>2];c[r+12>>2]=c[s+16+12>>2];c[r+16>>2]=c[s+16+16>>2];c[r+20>>2]=c[s+16+20>>2];c[r+24>>2]=c[s+16+24>>2];c[r+28>>2]=c[s+16+28>>2];tf(b+4|0,h,r);c[b+172>>2]=(c[b+172>>2]|0)+1;h=1}while(0);i=c[d+52>>2]|0;if(!i)i=b+124+(c[d+60>>2]<<2)|0;else i=i+56|0;c[i>>2]=c[d+56>>2];i=c[d+56>>2]|0;if(i|0)c[i+52>>2]=c[d+52>>2];c[d+16>>2]=c[e>>2];c[d+16+4>>2]=c[e+4>>2];c[d+16+8>>2]=c[e+8>>2];c[d+16+12>>2]=c[e+12>>2];c[d+32>>2]=c[f>>2];c[d+32+4>>2]=c[f+4>>2];c[d+32+8>>2]=c[f+8>>2];c[d+32+12>>2]=c[f+12>>2];i=c[b+144>>2]|0;c[d+60>>2]=i;c[d+52>>2]=0;c[d+56>>2]=c[b+124+(i<<2)>>2];j=c[b+124+(i<<2)>>2]|0;if(j|0)c[j+52>>2]=d;c[b+124+(i<<2)>>2]=d;if(!h){k=s;return}a[b+194>>0]=1;if(a[b+193>>0]|0){k=s;return}c[s>>2]=12240;c[s+4>>2]=b;ve(b+64|0,c[b+64>>2]|0,c[d+48>>2]|0,s);ve(b+4|0,c[b+4>>2]|0,c[d+48>>2]|0,s);k=s;return}function je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;G=+g[a>>2];H=+g[b>>2];I=+g[a+4>>2];w=+g[b+4>>2];x=+g[a+8>>2];y=+g[b+8>>2];z=+g[d>>2];B=+g[d+4>>2];C=+g[d+8>>2];D=(I-w)*(y-C)-(x-y)*(w-B);E=(x-y)*(H-z)-(G-H)*(y-C);F=(G-H)*(w-B)-(I-w)*(H-z);if(!(F*F+(D*D+E*E)>0.0)){I=-1.0;return +I}if(G*(F*(I-w)-E*(x-y))+I*(D*(x-y)-F*(G-H))+(E*(G-H)-D*(I-w))*x>0.0){do if((H-G)*(H-G)+(w-I)*(w-I)+(y-x)*(y-x)>0.0){h=-(G*(H-G)+I*(w-I)+x*(y-x))/((H-G)*(H-G)+(w-I)*(w-I)+(y-x)*(y-x));if(h>=1.0){l=2;i=H*H+w*w+y*y;m=0;k=1065353216;break}if(!(h<=0.0)){k=(g[j>>2]=h,c[j>>2]|0);l=3;i=(x+(y-x)*h)*(x+(y-x)*h)+((G+(H-G)*h)*(G+(H-G)*h)+(I+(w-I)*h)*(I+(w-I)*h));m=(g[j>>2]=1.0-h,c[j>>2]|0);break}else{l=1;i=G*G+I*I+x*x;m=1065353216;k=0;break}}else{l=0;i=-1.0;m=0;k=0}while(0);c[f>>2]=l;c[e>>2]=m;c[e+4>>2]=k;g[e+8>>2]=0.0;q=+g[b>>2];r=+g[b+4>>2];s=+g[b+8>>2]}else{i=-1.0;l=0;m=0;k=0;q=H;r=w;s=y}if(q*(F*(w-B)-E*(y-C))+r*(D*(y-C)-F*(H-z))+(E*(H-z)-D*(w-B))*s>0.0){t=+g[d>>2];h=t-q;u=+g[d+4>>2];o=u-r;v=+g[d+8>>2];p=v-s;do if(h*h+o*o+p*p>0.0){n=-(q*h+r*o+s*p)/(h*h+o*o+p*p);if(n>=1.0){l=2;h=t*t+u*u+v*v;m=0;k=1065353216;break}if(!(n<=0.0)){k=(g[j>>2]=n,c[j>>2]|0);v=q+h*n;h=r+o*n;u=s+p*n;l=3;h=u*u+(v*v+h*h);m=(g[j>>2]=1.0-n,c[j>>2]|0);break}else{l=1;h=q*q+r*r+s*s;m=1065353216;k=0;break}}else h=-1.0;while(0);if(i<0.0|h<i){c[f>>2]=l<<1&6;c[e+4>>2]=m;c[e+8>>2]=k;g[e>>2]=0.0;i=h}}h=+g[d>>2];o=+g[d+4>>2];p=+g[d+8>>2];if(h*(F*(B-I)-E*(C-x))+o*(D*(C-x)-F*(z-G))+(E*(z-G)-D*(B-I))*p>0.0){q=+g[a>>2];r=+g[a+4>>2];s=+g[a+8>>2];do if((q-h)*(q-h)+(r-o)*(r-o)+(s-p)*(s-p)>0.0){n=-(h*(q-h)+o*(r-o)+p*(s-p))/((q-h)*(q-h)+(r-o)*(r-o)+(s-p)*(s-p));if(n>=1.0){l=2;h=q*q+r*r+s*s;m=0;k=1065353216;break}if(!(n<=0.0)){k=(g[j>>2]=n,c[j>>2]|0);l=3;h=(p+(s-p)*n)*(p+(s-p)*n)+((h+(q-h)*n)*(h+(q-h)*n)+(o+(r-o)*n)*(o+(r-o)*n));m=(g[j>>2]=1.0-n,c[j>>2]|0);break}else{l=1;h=h*h+o*o+p*p;m=1065353216;k=0;break}}else h=-1.0;while(0);if(i<0.0|h<i){c[f>>2]=l<<2&4|(1?l>>>1:l)&1;c[e+8>>2]=m;c[e>>2]=k;g[e+4>>2]=0.0}else h=i}else h=i;if(!(h<0.0)){I=h;return +I}u=+A(+(F*F+(D*D+E*E)));v=(D*+g[a>>2]+E*+g[a+4>>2]+F*+g[a+8>>2])/(F*F+(D*D+E*E));c[f>>2]=7;s=+g[b>>2]-D*v;r=+g[b+4>>2]-E*v;t=+g[b+8>>2]-F*v;H=+A(+(((H-z)*r-(w-B)*s)*((H-z)*r-(w-B)*s)+(((w-B)*t-(y-C)*r)*((w-B)*t-(y-C)*r)+((y-C)*s-(H-z)*t)*((y-C)*s-(H-z)*t))))/u;g[e>>2]=H;w=+g[d>>2]-D*v;t=+g[d+4>>2]-E*v;y=+g[d+8>>2]-F*v;I=+A(+(((z-G)*t-(B-I)*w)*((z-G)*t-(B-I)*w)+(((B-I)*y-(C-x)*t)*((B-I)*y-(C-x)*t)+((C-x)*w-(z-G)*y)*((C-x)*w-(z-G)*y))))/u;g[e+4>>2]=I;g[e+8>>2]=1.0-(H+I);I=F*v*F*v+(D*v*D*v+E*v*E*v);return +I}function ke(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,B=0.0,C=0.0,D=0,E=0,F=0;y=k;k=k+192|0;p=c[b+4>>2]|0;r=+g[p+752>>2];if(r<f){k=y;return}w=c[p+740>>2]|0;x=c[(c[b+8>>2]|0)+8>>2]|0;j=+g[e>>2];l=+g[d>>2]*f+j;m=+g[e+4>>2];n=+g[d+4>>2]*f+m;o=+g[e+8>>2];q=+g[d+8>>2]*f+o;if((w|0)!=(x|0)){i=c[(c[b+12>>2]|0)+8>>2]|0;C=l-+g[i+52>>2];B=n-+g[i+56>>2];u=q-+g[i+60>>2];v=b+12|0;h=x;s=C*+g[i+4>>2]+B*+g[i+20>>2]+u*+g[i+36>>2];t=C*+g[i+8>>2]+B*+g[i+24>>2]+u*+g[i+40>>2];u=C*+g[i+12>>2]+B*+g[i+28>>2]+u*+g[i+44>>2]}else{B=l-+g[w+52>>2];C=n-+g[w+56>>2];u=q-+g[w+60>>2];v=b+12|0;h=c[(c[b+12>>2]|0)+8>>2]|0;s=B*+g[w+4>>2]+C*+g[w+20>>2]+u*+g[w+36>>2];t=B*+g[w+8>>2]+C*+g[w+24>>2]+u*+g[w+40>>2];u=B*+g[w+12>>2]+C*+g[w+28>>2]+u*+g[w+44>>2]}j=j-+g[h+52>>2];m=m-+g[h+56>>2];C=o-+g[h+60>>2];o=j*+g[h+4>>2]+m*+g[h+20>>2]+C*+g[h+36>>2];B=j*+g[h+8>>2]+m*+g[h+24>>2]+C*+g[h+40>>2];C=j*+g[h+12>>2]+m*+g[h+28>>2]+C*+g[h+44>>2];g[y>>2]=s;g[y+4>>2]=t;g[y+8>>2]=u;g[y+12>>2]=0.0;g[y+16>>2]=o;g[y+20>>2]=B;g[y+24>>2]=C;g[y+28>>2]=0.0;c[y+64>>2]=c[d>>2];c[y+64+4>>2]=c[d+4>>2];c[y+64+8>>2]=c[d+8>>2];c[y+64+12>>2]=c[d+12>>2];g[y+80>>2]=f;g[y+84>>2]=0.0;g[y+88>>2]=0.0;g[y+92>>2]=0.0;c[y+112>>2]=0;a[y+116>>0]=0;c[y+120>>2]=0;c[y+120+4>>2]=0;c[y+120+8>>2]=0;c[y+120+12>>2]=0;c[y+120+16>>2]=0;c[y+120+20>>2]=0;c[y+120+24>>2]=0;c[y+120+28>>2]=0;g[y+48>>2]=l;g[y+52>>2]=n;g[y+56>>2]=q;g[y+60>>2]=0.0;c[y+32>>2]=c[e>>2];c[y+32+4>>2]=c[e+4>>2];c[y+32+8>>2]=c[e+8>>2];c[y+32+12>>2]=c[e+12>>2];i=c[p+748>>2]|0;if((i|0)>0){h=-1;e=0;j=r*r;while(1){l=+g[p+4+(e*184|0)>>2]-s;m=+g[p+4+(e*184|0)+4>>2]-t;n=+g[p+4+(e*184|0)+8>>2]-u;d=l*l+m*m+n*n<j;h=d?e:h;e=e+1|0;if((e|0)==(i|0)){p=h;break}else j=d?l*l+m*m+n*n:j}}else p=-1;i=c[(c[b+8>>2]|0)+8>>2]|0;v=c[(c[v>>2]|0)+8>>2]|0;j=+g[i+224>>2]*+g[v+224>>2];j=j<-10.0?-10.0:j;g[y+84>>2]=j>10.0?10.0:j;g[y+92>>2]=+g[i+228>>2]*+g[v+228>>2];j=+g[i+232>>2]*+g[v+232>>2];j=j<-10.0?-10.0:j;g[y+88>>2]=j>10.0?10.0:j;j=+g[y+72>>2];if(+z(+j)>.7071067690849304){o=+g[y+68>>2];l=1.0/+A(+(j*j+o*o));n=+g[y+64>>2];m=-(n*o*l);n=n*-(j*l);f=(j*j+o*o)*l;o=o*l;j=-(j*l);l=0.0}else{B=+g[y+64>>2];C=+g[y+68>>2];l=1.0/+A(+(B*B+C*C));m=j*-(C*l);n=(B*B+C*C)*l;f=-(j*B*l);o=0.0;j=B*l;l=-(C*l)}g[y+152>>2]=l;g[y+156>>2]=j;g[y+160>>2]=o;g[y+168>>2]=f;g[y+172>>2]=m;g[y+176>>2]=n;if((w|0)!=(x|0)){h=b+24|0;d=b+28|0;e=b+16|0;i=b+20|0}else{h=b+28|0;d=b+24|0;e=b+20|0;i=b+16|0}h=c[h>>2]|0;x=c[d>>2]|0;w=c[e>>2]|0;c[y+96>>2]=c[i>>2];c[y+100>>2]=w;c[y+104>>2]=x;c[y+108>>2]=h;h=c[b+4>>2]|0;if((p|0)>-1){b=h+4+(p*184|0)+148|0;x=c[b>>2]|0;d=h+4+(p*184|0)+120|0;D=c[d>>2]|0;i=h+4+(p*184|0)+124|0;e=c[i>>2]|0;w=h+4+(p*184|0)+128|0;v=c[w>>2]|0;E=h+4+(p*184|0)+112|0;F=c[E>>2]|0;Ki(h+4+(p*184|0)|0,y|0,184)|0;c[E>>2]=F;c[d>>2]=D;c[i>>2]=e;c[w>>2]=v;c[b>>2]=x}else Bf(h,y)|0;k=y;return}function le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0,C=0;C=k;k=k+528|0;o=+g[a+16>>2];z=o-+g[a>>2];i=+g[a+20>>2];x=i-+g[a+4>>2];j=+g[a+24>>2];v=j-+g[a+8>>2];m=+g[a+56>>2];y=+g[a+52>>2];w=+g[a+48>>2];n=1.0/+A(+((z*y-x*w)*(z*y-x*w)+((x*m-v*y)*(x*m-v*y)+(v*w-z*m)*(v*w-z*m))));l=(x*m-v*y)*n;m=(v*w-z*m)*n;n=(z*y-x*w)*n;g[C+512>>2]=l;g[C+512+4>>2]=m;g[C+512+8>>2]=n;g[C+512+12>>2]=j*n+(o*l+i*m);w=+g[b>>2];x=+g[b+4>>2];y=+g[b+8>>2];z=w*l+x*m+y*n-(j*n+(o*l+i*m));if(z>1.1920928955078125e-07)e=0;else{c[C+256>>2]=c[b>>2];c[C+256+4>>2]=c[b+4>>2];c[C+256+8>>2]=c[b+8>>2];c[C+256+12>>2]=c[b+12>>2];e=1}p=+g[b+16>>2];q=+g[b+20>>2];r=+g[b+24>>2];s=p*l+q*m+r*n-(j*n+(o*l+i*m));if(z>1.1920928955078125e-07^s>1.1920928955078125e-07){g[C+256+(e<<4)>>2]=p*(-z/(s-z))+w*(1.0- -z/(s-z));g[C+256+(e<<4)+4>>2]=q*(-z/(s-z))+(1.0- -z/(s-z))*x;g[C+256+(e<<4)+8>>2]=r*(-z/(s-z))+(1.0- -z/(s-z))*y;g[C+256+(e<<4)+12>>2]=0.0;e=e+1|0}if(!(s>1.1920928955078125e-07)){h=C+256+(e<<4)|0;c[h>>2]=c[b+16>>2];c[h+4>>2]=c[b+16+4>>2];c[h+8>>2]=c[b+16+8>>2];c[h+12>>2]=c[b+16+12>>2];e=e+1|0}u=+g[b+32>>2];v=+g[b+36>>2];t=+g[b+40>>2];i=u*l+v*m+t*n-(j*n+(o*l+i*m));if(s>1.1920928955078125e-07^i>1.1920928955078125e-07){g[C+256+(e<<4)>>2]=u*(-s/(i-s))+(1.0- -s/(i-s))*p;g[C+256+(e<<4)+4>>2]=v*(-s/(i-s))+(1.0- -s/(i-s))*q;g[C+256+(e<<4)+8>>2]=t*(-s/(i-s))+(1.0- -s/(i-s))*r;g[C+256+(e<<4)+12>>2]=0.0;e=e+1|0}f=e+1|0;if(i>1.1920928955078125e-07)if(z>1.1920928955078125e-07){if(!e){d=0;k=C;return d|0}}else{h=e;e=f;B=13}else{B=C+256+(e<<4)|0;c[B>>2]=c[b+32>>2];c[B+4>>2]=c[b+32+4>>2];c[B+8>>2]=c[b+32+8>>2];c[B+12>>2]=c[b+32+12>>2];if(z>1.1920928955078125e-07){h=f;e=e+2|0;B=13}else{e=f;B=14}}if((B|0)==13){g[C+256+(h<<4)>>2]=(1.0- -i/(z-i))*u+-i/(z-i)*w;g[C+256+(h<<4)+4>>2]=(1.0- -i/(z-i))*v+-i/(z-i)*x;g[C+256+(h<<4)+8>>2]=(1.0- -i/(z-i))*t+-i/(z-i)*y;g[C+256+(h<<4)+12>>2]=0.0;if(!(z>1.1920928955078125e-07))B=14}if((B|0)==14){B=C+256+(e<<4)|0;c[B>>2]=c[b>>2];c[B+4>>2]=c[b+4>>2];c[B+8>>2]=c[b+8>>2];c[B+12>>2]=c[b+12>>2];e=e+1|0}r=+g[a+32>>2];x=r-+g[a+16>>2];u=+g[a+36>>2];s=u-+g[a+20>>2];q=+g[a+40>>2];v=q-+g[a+24>>2];y=+g[a+56>>2];t=+g[a+52>>2];w=+g[a+48>>2];z=1.0/+A(+((x*t-s*w)*(x*t-s*w)+((s*y-v*t)*(s*y-v*t)+(v*w-x*y)*(v*w-x*y))));g[C+512>>2]=(s*y-v*t)*z;g[C+512+4>>2]=(v*w-x*y)*z;g[C+512+8>>2]=(x*t-s*w)*z;g[C+512+12>>2]=q*(x*t-s*w)*z+(r*(s*y-v*t)*z+u*(v*w-x*y)*z);e=Yg(C+512|0,C+256|0,e,C)|0;if(!e)e=0;else{r=+g[a>>2];x=r-+g[a+32>>2];u=+g[a+4>>2];s=u-+g[a+36>>2];q=+g[a+8>>2];v=q-+g[a+40>>2];y=+g[a+56>>2];t=+g[a+52>>2];w=+g[a+48>>2];z=1.0/+A(+((x*t-s*w)*(x*t-s*w)+((s*y-v*t)*(s*y-v*t)+(v*w-x*y)*(v*w-x*y))));g[C+512>>2]=(s*y-v*t)*z;g[C+512+4>>2]=(v*w-x*y)*z;g[C+512+8>>2]=(x*t-s*w)*z;g[C+512+12>>2]=q*(x*t-s*w)*z+(r*(s*y-v*t)*z+u*(v*w-x*y)*z);e=Yg(C+512|0,C,e,d)|0}d=e;k=C;return d|0}function me(b){b=b|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;q=k;k=k+80|0;if((tb[c[(c[b>>2]|0)+20>>2]&255](b)|0?(j=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0,(tb[c[(c[j>>2]|0)+48>>2]&255](j)|0)&8|0):0)?(h=c[b+24>>2]|0,h=tb[c[(c[h>>2]|0)+36>>2]&255](h)|0,c[q+64>>2]=1065353216,c[q+64+4>>2]=1065353216,c[q+64+8>>2]=0,g[q+64+12>>2]=0.0,(h|0)>0):0){e=0;do{i=c[b+24>>2]|0;i=vb[c[(c[i>>2]|0)+40>>2]&31](i,e)|0;j=c[i+748>>2]|0;if((j|0)>0){f=0;do{r=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Pb[c[(c[r>>2]|0)+32>>2]&1](r,i+4+(f*184|0)+32|0,i+4+(f*184|0)+64|0,+g[i+4+(f*184|0)+80>>2],c[i+4+(f*184|0)+148>>2]|0,q+64|0);f=f+1|0}while((f|0)!=(j|0))}e=e+1|0}while((e|0)!=(h|0))}if(!(tb[c[(c[b>>2]|0)+20>>2]&255](b)|0)){k=q;return}r=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;if(!((tb[c[(c[r>>2]|0)+48>>2]&255](r)|0)&3)){k=q;return}if((c[b+8>>2]|0)<=0){k=q;return}j=0;do{i=c[(c[b+16>>2]|0)+(j<<2)>>2]|0;if(!(c[i+204>>2]&32)){if(tb[c[(c[b>>2]|0)+20>>2]&255](b)|0?(r=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0,(tb[c[(c[r>>2]|0)+48>>2]&255](r)|0)&1|0):0){c[q+64>>2]=1065353216;c[q+64+4>>2]=1065353216;c[q+64+8>>2]=1065353216;g[q+64+12>>2]=0.0;switch(c[i+216>>2]|0){case 1:{e=1065353216;f=1065353216;h=1065353216;break}case 2:{e=0;f=1065353216;h=0;break}case 3:{e=1065353216;f=1065353216;h=0;break}case 4:{e=0;f=0;h=1065353216;break}case 5:{e=0;f=1065353216;h=1065353216;break}default:{e=0;f=0;h=1065353216}}c[q+64>>2]=h;c[q+64+4>>2]=f;c[q+64+8>>2]=e;g[q+64+12>>2]=0.0;Qb[c[(c[b>>2]|0)+28>>2]&127](b,i+4|0,c[i+192>>2]|0,q+64|0)}e=c[b+72>>2]|0;if(e|0?(tb[c[(c[e>>2]|0)+48>>2]&255](e)|0)&2|0:0){c[q+32>>2]=1065353216;c[q+32+4>>2]=0;c[q+32+8>>2]=0;g[q+32+12>>2]=0.0;r=c[i+192>>2]|0;Qb[c[(c[r>>2]|0)+8>>2]&127](r,i+4|0,q+64|0,q+48|0);g[q+64>>2]=+g[q+64>>2]+-.019999999552965164;g[q+64+4>>2]=+g[q+64+4>>2]+-.019999999552965164;g[q+64+8>>2]=+g[q+64+8>>2]+-.019999999552965164;g[q+48>>2]=+g[q+48>>2]+.019999999552965164;g[q+48+4>>2]=+g[q+48+4>>2]+.019999999552965164;g[q+48+8>>2]=+g[q+48+8>>2]+.019999999552965164;do if((a[b+44>>0]|0?(c[i+236>>2]|0)==2:0)?(c[i+204>>2]&3|0)==0:0){r=c[i+192>>2]|0;Qb[c[(c[r>>2]|0)+8>>2]&127](r,i+68|0,q+16|0,q);d=+g[q+16>>2]+-.019999999552965164;g[q+16>>2]=d;l=+g[q+16+4>>2]+-.019999999552965164;g[q+16+4>>2]=l;m=+g[q+16+8>>2]+-.019999999552965164;g[q+16+8>>2]=m;n=+g[q>>2]+.019999999552965164;g[q>>2]=n;o=+g[q+4>>2]+.019999999552965164;g[q+4>>2]=o;p=+g[q+8>>2]+.019999999552965164;g[q+8>>2]=p;if(d<+g[q+64>>2])g[q+64>>2]=d;if(l<+g[q+64+4>>2])g[q+64+4>>2]=l;if(m<+g[q+64+8>>2])g[q+64+8>>2]=m;d=+g[q+16+12>>2];if(d<+g[q+64+12>>2])g[q+64+12>>2]=d;if(+g[q+48>>2]<n)g[q+48>>2]=n;if(+g[q+48+4>>2]<o)g[q+48+4>>2]=o;if(+g[q+48+8>>2]<p)g[q+48+8>>2]=p;d=+g[q+12>>2];if(!(+g[q+48+12>>2]<d))break;g[q+48+12>>2]=d}while(0);r=c[b+72>>2]|0;Qb[c[(c[r>>2]|0)+52>>2]&127](r,q+64|0,q+48|0,q+32|0)}}j=j+1|0}while((j|0)<(c[b+8>>2]|0));k=q;return}function ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[b>>2]|0;m=c[b+4>>2]|0;i=c[b+8>>2]|0;n=c[a+4>>2]|0;p=ji(a,d,m,i)|0;c[p+12>>2]=c[b+12>>2];c[p+16>>2]=n+1;c[p+20>>2]=n+2;h=c[(c[a+12>>2]|0)+(c[b+12>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(m|0)&(f|0)==(i|0)){e=2;o=2}else{if(!((e|0)==(i|0)&(f|0)==(m|0))){g=c[h+8>>2]|0;if((f|0)==(m|0)&(g|0)==(i|0)){e=0;o=2;break}if(!((f|0)==(i|0)&(g|0)==(m|0))){if(!((g|0)!=(m|0)|(e|0)==(i|0)^1)){e=1;o=2;break}if((g|0)!=(i|0)|(e|0)==(m|0)^1){e=13480;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((o|0)==2)e=h+12+(e<<2)|0;c[e>>2]=n;k=ji(a,d,i,l)|0;c[k+12>>2]=c[b+12+4>>2];c[k+16>>2]=n+2;c[k+20>>2]=n;h=c[(c[a+12>>2]|0)+(c[b+12+4>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(i|0)&(f|0)==(l|0)){e=2;o=10}else{if(!((e|0)==(l|0)&(f|0)==(i|0))){g=c[h+8>>2]|0;if((f|0)==(i|0)&(g|0)==(l|0)){e=0;o=10;break}if(!((f|0)==(l|0)&(g|0)==(i|0))){if(!((g|0)!=(i|0)|(e|0)==(l|0)^1)){e=1;o=10;break}if((g|0)!=(l|0)|(e|0)==(i|0)^1){e=13480;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((o|0)==10)e=h+12+(e<<2)|0;c[e>>2]=n+1;j=ji(a,d,l,m)|0;c[j+12>>2]=c[b+12+8>>2];c[j+16>>2]=n;c[j+20>>2]=n+1;e=c[a+12>>2]|0;i=c[e+(c[b+12+8>>2]<<2)>>2]|0;f=c[i>>2]|0;g=c[i+4>>2]|0;do if((f|0)==(l|0)&(g|0)==(m|0)){f=2;o=18}else{if(!((f|0)==(m|0)&(g|0)==(l|0))){h=c[i+8>>2]|0;if((g|0)==(l|0)&(h|0)==(m|0)){f=0;o=18;break}if(!((g|0)==(m|0)&(h|0)==(l|0))){if(!((h|0)!=(l|0)|(f|0)==(m|0)^1)){f=1;o=18;break}if((h|0)!=(m|0)|(f|0)==(l|0)^1){f=13480;break}else f=1}else f=0}else f=2;f=i+12+(f<<2)|0}while(0);if((o|0)==18)f=i+12+(f<<2)|0;c[f>>2]=n+2;f=c[e+(c[p+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){se(e,p,f);c[(c[a+12>>2]|0)+(c[p+24>>2]<<2)>>2]=0;c[7585]=(c[7585]|0)+1;Bd(c[p+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[k+12>>2]<<2)>>2]|0;if(!(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0)){se(e,k,f);c[(c[a+12>>2]|0)+(c[k+24>>2]<<2)>>2]=0;c[7585]=(c[7585]|0)+1;Bd(c[k+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}e=c[a+12>>2]|0}f=c[e+(c[j+12>>2]<<2)>>2]|0;if(((c[f>>2]|0)!=(d|0)?(c[f+4>>2]|0)!=(d|0):0)?(c[f+8>>2]|0)!=(d|0):0){a=e;d=b+24|0;d=c[d>>2]|0;d=a+(d<<2)|0;c[d>>2]=0;d=c[7585]|0;d=d+1|0;c[7585]=d;d=b+-4|0;d=c[d>>2]|0;Bd(d);return}se(e,j,f);c[(c[a+12>>2]|0)+(c[j+24>>2]<<2)>>2]=0;c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0);c[(c[a+12>>2]|0)+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}a=c[a+12>>2]|0;d=b+24|0;d=c[d>>2]|0;d=a+(d<<2)|0;c[d>>2]=0;d=c[7585]|0;d=d+1|0;c[7585]=d;d=b+-4|0;d=c[d>>2]|0;Bd(d);return}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=k;k=k+144|0;if((c[a+16>>2]|0)<=0){o=a+76|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=c[a>>2]|0;o=o+68|0;o=c[o>>2]|0;Db[o&511](a);k=p;return}j=p+16+16|0;l=p+16+32|0;m=p+16+48|0;i=0;do{o=c[a+24>>2]|0;n=o+(i*80|0)|0;c[p+16>>2]=c[n>>2];c[p+16+4>>2]=c[n+4>>2];c[p+16+8>>2]=c[n+8>>2];c[p+16+12>>2]=c[n+12>>2];n=o+(i*80|0)+16|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];n=o+(i*80|0)+32|0;c[l>>2]=c[n>>2];c[l+4>>2]=c[n+4>>2];c[l+8>>2]=c[n+8>>2];c[l+12>>2]=c[n+12>>2];n=o+(i*80|0)+48|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];o=c[o+(i*80|0)+64>>2]|0;o=tb[c[(c[o>>2]|0)+28>>2]&255](o)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];q=+g[p+4>>2]*+g[b+4>>2]/+g[a+80>>2];r=+g[p+8>>2]*+g[b+8>>2]/+g[a+84>>2];g[p>>2]=+g[p>>2]*+g[b>>2]/+g[a+76>>2];g[p+4>>2]=q;g[p+8>>2]=r;g[p+12>>2]=0.0;o=c[(c[a+24>>2]|0)+(i*80|0)+64>>2]|0;Jb[c[(c[o>>2]|0)+24>>2]&127](o,p);r=+g[p+16+52>>2]*+g[b+4>>2]/+g[a+80>>2];q=+g[p+16+56>>2]*+g[b+8>>2]/+g[a+84>>2];g[p+16+48>>2]=+g[m>>2]*+g[b>>2]/+g[a+76>>2];g[p+16+52>>2]=r;g[p+16+56>>2]=q;g[p+16+60>>2]=0.0;o=c[a+24>>2]|0;n=o+(i*80|0)|0;c[n>>2]=c[p+16>>2];c[n+4>>2]=c[p+16+4>>2];c[n+8>>2]=c[p+16+8>>2];c[n+12>>2]=c[p+16+12>>2];n=o+(i*80|0)+16|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=o+(i*80|0)+32|0;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[n+12>>2]=c[l+12>>2];o=o+(i*80|0)+48|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];if(c[a+64>>2]|0){n=c[(c[a+24>>2]|0)+(i*80|0)+64>>2]|0;Qb[c[(c[n>>2]|0)+8>>2]&127](n,p+16|0,p+128|0,p+112|0);c[p+80>>2]=c[p+128>>2];c[p+80+4>>2]=c[p+128+4>>2];c[p+80+8>>2]=c[p+128+8>>2];c[p+80+12>>2]=c[p+128+12>>2];c[p+80+16>>2]=c[p+112>>2];c[p+80+16+4>>2]=c[p+112+4>>2];c[p+80+16+8>>2]=c[p+112+8>>2];c[p+80+16+12>>2]=c[p+112+12>>2];n=c[a+64>>2]|0;o=c[(c[a+24>>2]|0)+(i*80|0)+76>>2]|0;d=xh(n,o)|0;a:do if(d){h=c[n+8>>2]|0;if((h|0)<=-1){d=c[n>>2]|0;break}if(h){e=0;while(1){f=c[d+32>>2]|0;e=e+1|0;if(!f)break a;if((e|0)>=(h|0)){d=f;break}else d=f}}}else d=0;while(0);c[o>>2]=c[p+80>>2];c[o+4>>2]=c[p+80+4>>2];c[o+8>>2]=c[p+80+8>>2];c[o+12>>2]=c[p+80+12>>2];c[o+16>>2]=c[p+80+16>>2];c[o+20>>2]=c[p+80+20>>2];c[o+24>>2]=c[p+80+24>>2];c[o+28>>2]=c[p+80+28>>2];tf(n,d,o)}i=i+1|0}while((i|0)<(c[a+16>>2]|0));o=a+76|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=c[a>>2]|0;o=o+68|0;o=c[o>>2]|0;Db[o&511](a);k=p;return}function pe(d,f,h,i,j,k){d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0;c[d>>2]=11920;b[d+4>>1]=-2;b[d+6>>1]=-1;c[d+92>>2]=j;c[d+96>>2]=0;a[d+100>>0]=0;c[d+104>>2]=0;c[d+108>>2]=0;if(!j){c[7584]=(c[7584]|0)+1;j=lc(95)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}cj(j);c[d+92>>2]=j;a[d+100>>0]=1}if(!k){c[7584]=(c[7584]|0)+1;j=lc(43)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=j+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[j>>2]=11984;a[j+20>>0]=1;c[j+16>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[d+112>>2]=j;c[7584]=(c[7584]|0)+1;j=lc(215)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}ni(j,c[d+112>>2]|0);c[d+108>>2]=j;a[j+193>>0]=1}c[d+8>>2]=c[f>>2];c[d+8+4>>2]=c[f+4>>2];c[d+8+8>>2]=c[f+8>>2];c[d+8+12>>2]=c[f+12>>2];c[d+24>>2]=c[h>>2];c[d+24+4>>2]=c[h+4>>2];c[d+24+8>>2]=c[h+8>>2];c[d+24+12>>2]=c[h+12>>2];n=+(e[d+6>>1]|0);m=n/(+g[d+28>>2]-+g[d+12>>2]);l=n/(+g[d+32>>2]-+g[d+16>>2]);g[d+40>>2]=n/(+g[d+24>>2]-+g[d+8>>2]);g[d+44>>2]=m;g[d+48>>2]=l;g[d+52>>2]=0.0;h=i+1&65535;c[7584]=(c[7584]|0)+1;j=lc(h<<6|19)|0;if(!j)f=0;else{c[(j+4+15&-16)+-4>>2]=j;f=j+4+15&-16}if(i+1<<16>>16<<16>>16){j=f+(h<<6)|0;k=f;do{c[k>>2]=0;c[k+8>>2]=0;k=k+64|0}while((k|0)!=(j|0))}c[d+60>>2]=f;b[d+58>>1]=(i&65535)+1;b[d+56>>1]=0;b[d+64>>1]=1;if((i+1&65535)>1?(b[f+112>>1]=2,i+1<<16>>16<<16>>16!=2):0){j=2;do{i=j;j=j+1|0;b[f+(i<<6)+48>>1]=j}while((j|0)!=(h|0))}b[f+(h+-1<<6)+48>>1]=0;c[7584]=(c[7584]|0)+1;j=lc((h<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+80>>2]=j;c[d+68>>2]=j;c[7584]=(c[7584]|0)+1;j=lc((h<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+84>>2]=j;c[d+72>>2]=j;c[7584]=(c[7584]|0)+1;j=lc((h<<3|3)+16|0)|0;if(!j){f=0;i=d+88|0;c[i>>2]=f;i=d+76|0;c[i>>2]=f;f=c[d+60>>2]|0;c[f>>2]=0;h=f+48|0;b[h>>1]=0;h=f+54|0;b[h>>1]=1;h=c[d+68>>2]|0;b[h>>1]=0;k=h+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=h+4|0;b[j>>1]=k;h=h+6|0;b[h>>1]=0;h=f+50|0;b[h>>1]=0;h=f+56|0;b[h>>1]=1;h=c[d+72>>2]|0;b[h>>1]=0;j=h+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=h+4|0;b[k>>1]=j;h=h+6|0;b[h>>1]=0;h=f+52|0;b[h>>1]=0;f=f+58|0;b[f>>1]=1;i=c[i>>2]|0;b[i>>1]=0;f=i+2|0;b[f>>1]=0;f=b[d+6>>1]|0;h=i+4|0;b[h>>1]=f;i=i+6|0;b[i>>1]=0;c[d>>2]=11856;return}c[(j+4+15&-16)+-4>>2]=j;f=j+4+15&-16;i=d+88|0;c[i>>2]=f;i=d+76|0;c[i>>2]=f;f=c[d+60>>2]|0;c[f>>2]=0;h=f+48|0;b[h>>1]=0;h=f+54|0;b[h>>1]=1;h=c[d+68>>2]|0;b[h>>1]=0;k=h+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=h+4|0;b[j>>1]=k;h=h+6|0;b[h>>1]=0;h=f+50|0;b[h>>1]=0;h=f+56|0;b[h>>1]=1;h=c[d+72>>2]|0;b[h>>1]=0;j=h+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=h+4|0;b[k>>1]=j;h=h+6|0;b[h>>1]=0;h=f+52|0;b[h>>1]=0;f=f+58|0;b[f>>1]=1;i=c[i>>2]|0;b[i>>1]=0;f=i+2|0;b[f>>1]=0;f=b[d+6>>1]|0;h=i+4|0;b[h>>1]=f;i=i+6|0;b[i>>1]=0;c[d>>2]=11856;return}function qe(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0.0,Y=0.0;W=k;k=k+240|0;f=(a[b+8>>0]|0)!=0;h=f?e:d;f=f?d:e;S=+g[h+116>>2]-+g[h+52>>2];T=+g[h+120>>2]-+g[h+56>>2];U=+g[h+124>>2]-+g[h+60>>2];V=+g[h+252>>2];if(S*S+T*T+U*U<V*V){X=1.0;k=W;return +X}H=+g[f+4>>2];I=+g[f+20>>2];J=+g[f+36>>2];K=+g[f+8>>2];L=+g[f+24>>2];M=+g[f+40>>2];N=+g[f+12>>2];O=+g[f+28>>2];P=+g[f+44>>2];j=-+g[f+52>>2];l=-+g[f+56>>2];m=-+g[f+60>>2];Q=+g[h+4>>2];R=+g[h+20>>2];S=+g[h+36>>2];T=+g[h+8>>2];U=+g[h+24>>2];V=+g[h+40>>2];p=+g[h+12>>2];q=+g[h+28>>2];r=+g[h+44>>2];w=+g[h+52>>2];v=+g[h+56>>2];u=+g[h+60>>2];s=H*j+I*l+J*m+(H*w+I*v+J*u);t=K*j+L*l+M*m+(K*w+L*v+M*u);u=N*j+O*l+P*m+(N*w+O*v+P*u);v=+g[h+68>>2];w=+g[h+84>>2];x=+g[h+100>>2];y=+g[h+72>>2];z=+g[h+88>>2];A=+g[h+104>>2];B=+g[h+76>>2];C=+g[h+92>>2];D=+g[h+108>>2];n=+g[h+116>>2];o=+g[h+120>>2];G=+g[h+124>>2];E=H*j+I*l+J*m+(H*n+I*o+J*G);F=K*j+L*l+M*m+(K*n+L*o+M*G);G=N*j+O*l+P*m+(N*n+O*o+P*G);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){X=1.0;k=W;return +X}g[W+224>>2]=s;g[W+224+4>>2]=t;g[W+224+8>>2]=u;g[W+224+12>>2]=0.0;if(E<s){g[W+224>>2]=E;i=E}else i=s;if(F<t){g[W+224+4>>2]=F;j=F}else j=t;if(G<u){g[W+224+8>>2]=G;l=G}else l=u;g[W+208>>2]=s;g[W+208+4>>2]=t;g[W+208+8>>2]=u;g[W+208+12>>2]=0.0;if(s<E){g[W+208>>2]=E;m=E}else m=s;if(t<F){g[W+208+4>>2]=F;n=F}else n=t;if(u<G){g[W+208+8>>2]=G;o=G}else o=u;Y=+g[h+248>>2];g[W+224>>2]=i-Y;g[W+224+4>>2]=j-Y;g[W+224+8>>2]=l-Y;g[W+208>>2]=Y+m;g[W+208+4>>2]=Y+n;g[W+208+8>>2]=Y+o;c[W>>2]=6856;g[W+4>>2]=H*Q+I*R+J*S;g[W+8>>2]=H*T+I*U+J*V;g[W+12>>2]=H*p+I*q+J*r;g[W+16>>2]=0.0;g[W+20>>2]=K*Q+L*R+M*S;g[W+24>>2]=K*T+L*U+M*V;g[W+28>>2]=K*p+L*q+M*r;g[W+32>>2]=0.0;g[W+36>>2]=N*Q+O*R+P*S;g[W+40>>2]=N*T+O*U+P*V;g[W+44>>2]=N*p+O*q+P*r;g[W+48>>2]=0.0;g[W+52>>2]=s;g[W+56>>2]=t;g[W+60>>2]=u;g[W+64>>2]=0.0;g[W+68>>2]=H*v+I*w+J*x;g[W+72>>2]=H*y+I*z+J*A;g[W+76>>2]=H*B+I*C+J*D;g[W+80>>2]=0.0;g[W+84>>2]=K*v+L*w+M*x;g[W+88>>2]=K*y+L*z+M*A;g[W+92>>2]=K*B+L*C+M*D;g[W+96>>2]=0.0;g[W+100>>2]=N*v+O*w+P*x;g[W+104>>2]=N*y+O*z+P*A;g[W+108>>2]=N*B+O*C+P*D;g[W+112>>2]=0.0;g[W+116>>2]=E;g[W+120>>2]=F;g[W+124>>2]=G;g[W+128>>2]=0.0;g[W+196>>2]=Y;c[W+200>>2]=c[h+244>>2];if(f|0?(Qb[c[(c[f>>2]|0)+64>>2]&127](f,W,W+224|0,W+208|0),X=+g[W+200>>2],X<+g[h+244>>2]):0){g[h+244>>2]=X;Y=X;k=W;return +Y}Y=1.0;k=W;return +Y}function re(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0.0,Y=0.0;W=k;k=k+240|0;f=(a[b+8>>0]|0)!=0;h=f?e:d;f=f?d:e;S=+g[h+116>>2]-+g[h+52>>2];T=+g[h+120>>2]-+g[h+56>>2];U=+g[h+124>>2]-+g[h+60>>2];V=+g[h+252>>2];if(S*S+T*T+U*U<V*V){X=1.0;k=W;return +X}H=+g[f+4>>2];I=+g[f+20>>2];J=+g[f+36>>2];K=+g[f+8>>2];L=+g[f+24>>2];M=+g[f+40>>2];N=+g[f+12>>2];O=+g[f+28>>2];P=+g[f+44>>2];j=-+g[f+52>>2];l=-+g[f+56>>2];m=-+g[f+60>>2];Q=+g[h+4>>2];R=+g[h+20>>2];S=+g[h+36>>2];T=+g[h+8>>2];U=+g[h+24>>2];V=+g[h+40>>2];p=+g[h+12>>2];q=+g[h+28>>2];r=+g[h+44>>2];w=+g[h+52>>2];v=+g[h+56>>2];u=+g[h+60>>2];s=H*j+I*l+J*m+(H*w+I*v+J*u);t=K*j+L*l+M*m+(K*w+L*v+M*u);u=N*j+O*l+P*m+(N*w+O*v+P*u);v=+g[h+68>>2];w=+g[h+84>>2];x=+g[h+100>>2];y=+g[h+72>>2];z=+g[h+88>>2];A=+g[h+104>>2];B=+g[h+76>>2];C=+g[h+92>>2];D=+g[h+108>>2];n=+g[h+116>>2];o=+g[h+120>>2];G=+g[h+124>>2];E=H*j+I*l+J*m+(H*n+I*o+J*G);F=K*j+L*l+M*m+(K*n+L*o+M*G);G=N*j+O*l+P*m+(N*n+O*o+P*G);f=c[f+192>>2]|0;if(((c[f+4>>2]|0)+-21|0)>>>0>=9){X=1.0;k=W;return +X}g[W+224>>2]=s;g[W+224+4>>2]=t;g[W+224+8>>2]=u;g[W+224+12>>2]=0.0;if(E<s){g[W+224>>2]=E;i=E}else i=s;if(F<t){g[W+224+4>>2]=F;j=F}else j=t;if(G<u){g[W+224+8>>2]=G;l=G}else l=u;g[W+208>>2]=s;g[W+208+4>>2]=t;g[W+208+8>>2]=u;g[W+208+12>>2]=0.0;if(s<E){g[W+208>>2]=E;m=E}else m=s;if(t<F){g[W+208+4>>2]=F;n=F}else n=t;if(u<G){g[W+208+8>>2]=G;o=G}else o=u;Y=+g[h+248>>2];g[W+224>>2]=i-Y;g[W+224+4>>2]=j-Y;g[W+224+8>>2]=l-Y;g[W+208>>2]=Y+m;g[W+208+4>>2]=Y+n;g[W+208+8>>2]=Y+o;c[W>>2]=8772;g[W+4>>2]=H*Q+I*R+J*S;g[W+8>>2]=H*T+I*U+J*V;g[W+12>>2]=H*p+I*q+J*r;g[W+16>>2]=0.0;g[W+20>>2]=K*Q+L*R+M*S;g[W+24>>2]=K*T+L*U+M*V;g[W+28>>2]=K*p+L*q+M*r;g[W+32>>2]=0.0;g[W+36>>2]=N*Q+O*R+P*S;g[W+40>>2]=N*T+O*U+P*V;g[W+44>>2]=N*p+O*q+P*r;g[W+48>>2]=0.0;g[W+52>>2]=s;g[W+56>>2]=t;g[W+60>>2]=u;g[W+64>>2]=0.0;g[W+68>>2]=H*v+I*w+J*x;g[W+72>>2]=H*y+I*z+J*A;g[W+76>>2]=H*B+I*C+J*D;g[W+80>>2]=0.0;g[W+84>>2]=K*v+L*w+M*x;g[W+88>>2]=K*y+L*z+M*A;g[W+92>>2]=K*B+L*C+M*D;g[W+96>>2]=0.0;g[W+100>>2]=N*v+O*w+P*x;g[W+104>>2]=N*y+O*z+P*A;g[W+108>>2]=N*B+O*C+P*D;g[W+112>>2]=0.0;g[W+116>>2]=E;g[W+120>>2]=F;g[W+124>>2]=G;g[W+128>>2]=0.0;g[W+196>>2]=Y;c[W+200>>2]=c[h+244>>2];if(f|0?(Qb[c[(c[f>>2]|0)+64>>2]&127](f,W,W+224|0,W+208|0),X=+g[W+200>>2],X<+g[h+244>>2]):0){g[h+244>>2]=X;Y=X;k=W;return +Y}Y=1.0;k=W;return +Y}function se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=0;do{k=l;l=l+1|0;m=(l|0)==3;j=c[b+((m?0:l)<<2)>>2]|0;k=c[b+((((k+2|0)>>>0)%3|0)<<2)>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=3}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=3;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=3;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=13480;break}else e=1}else e=0}else e=2;e=d+12+(e<<2)|0}while(0);if((n|0)==3){n=0;e=d+12+(e<<2)|0}i=c[e>>2]|0;e=c[b>>2]|0;f=c[b+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=11}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=11;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=11;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=13480;break}else e=1}else e=0}else e=2;e=b+12+(e<<2)|0}while(0);if((n|0)==11){n=0;e=b+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=19}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[h+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=19;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=19;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=13480;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((n|0)==19){n=0;e=h+12+(e<<2)|0}c[e>>2]=i;e=c[b>>2]|0;f=c[b+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=27}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=27;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=27;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=13480;break}else e=1}else e=0}else e=2;e=b+12+(e<<2)|0}while(0);if((n|0)==27){n=0;e=b+12+(e<<2)|0}i=c[e>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=35}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=35;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=35;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=13480;break}else e=1}else e=0}else e=2;e=d+12+(e<<2)|0}while(0);if((n|0)==35){n=0;e=d+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;f=c[h>>2]|0;g=c[h+4>>2]|0;do if((f|0)==(j|0)&(g|0)==(k|0)){e=2;n=43}else{if(!((f|0)==(k|0)&(g|0)==(j|0))){e=c[h+8>>2]|0;if((g|0)==(j|0)&(e|0)==(k|0)){e=0;n=43;break}if(!((g|0)==(k|0)&(e|0)==(j|0))){if(!((e|0)!=(j|0)|(f|0)==(k|0)^1)){e=1;n=43;break}if((e|0)!=(k|0)|(f|0)==(j|0)^1){e=13480;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((n|0)==43){n=0;e=h+12+(e<<2)|0}c[e>>2]=i}while(!m);return}function te(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;p=+g[e>>2];i=(g[j>>2]=p,c[j>>2]|0);u=p<999999984306749440.0?i:1566444395;m=+g[e+4>>2];l=(g[j>>2]=m,c[j>>2]|0);v=m<999999984306749440.0?l:1566444395;y=+g[e+8>>2];o=(g[j>>2]=y,c[j>>2]|0);w=y<999999984306749440.0?o:1566444395;i=p>-999999984306749440.0?i:-581039253;l=m>-999999984306749440.0?l:-581039253;o=y>-999999984306749440.0?o:-581039253;y=+g[e+16>>2];t=y<(c[j>>2]=u,+g[j>>2]);k=(g[j>>2]=y,c[j>>2]|0);u=t?k:u;m=+g[e+20>>2];t=m<(c[j>>2]=v,+g[j>>2]);n=(g[j>>2]=m,c[j>>2]|0);v=t?n:v;p=+g[e+24>>2];t=p<(c[j>>2]=w,+g[j>>2]);q=(g[j>>2]=p,c[j>>2]|0);w=t?q:w;k=y>(c[j>>2]=i,+g[j>>2])?k:i;i=m>(c[j>>2]=l,+g[j>>2])?n:l;o=p>(c[j>>2]=o,+g[j>>2])?q:o;y=+g[e+32>>2];q=y<(c[j>>2]=u,+g[j>>2]);r=(g[j>>2]=y,c[j>>2]|0);m=+g[e+36>>2];s=m<(c[j>>2]=v,+g[j>>2]);t=(g[j>>2]=m,c[j>>2]|0);p=+g[e+40>>2];l=p<(c[j>>2]=w,+g[j>>2]);n=(g[j>>2]=p,c[j>>2]|0);k=y>(c[j>>2]=k,+g[j>>2])?r:k;i=m>(c[j>>2]=i,+g[j>>2])?t:i;o=p>(c[j>>2]=o,+g[j>>2])?n:o;G=(c[j>>2]=k,+g[j>>2]);H=(c[j>>2]=q?r:u,+g[j>>2]);C=(c[j>>2]=i,+g[j>>2]);D=(c[j>>2]=s?t:v,+g[j>>2]);m=(c[j>>2]=o,+g[j>>2]);z=(c[j>>2]=l?n:w,+g[j>>2]);o=c[d+8>>2]|0;F=+g[o+4>>2];B=+g[o+8>>2];p=+g[o+12>>2];E=+g[o+36>>2];A=+g[o+40>>2];y=+g[o+44>>2];o=~~(((G-H<2.0000000949949026e-03?H+-1.0000000474974513e-03:H)-F)*E)&65535&-2;q=~~(((C-D<2.0000000949949026e-03?D+-1.0000000474974513e-03:D)-B)*A)&65535&-2;r=~~(((m-z<2.0000000949949026e-03?z+-1.0000000474974513e-03:z)-p)*y)&65535&-2;s=~~(((G-H<2.0000000949949026e-03?G+1.0000000474974513e-03:G)-F)*E+1.0)&65535|1;t=~~(((C-D<2.0000000949949026e-03?C+1.0000000474974513e-03:C)-B)*A+1.0)&65535|1;e=~~(((m-z<2.0000000949949026e-03?m+1.0000000474974513e-03:m)-p)*y+1.0)&65535|1;n=c[d+4>>2]|0;i=c[n+4>>2]|0;if((i|0)==(c[n+8>>2]|0)?(x=(i|0)==0?1:i<<1,(i|0)<(x|0)):0){if(!x)l=0;else{c[7584]=(c[7584]|0)+1;i=lc((x<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}l=i;i=c[n+4>>2]|0}if((i|0)>0){k=0;do{d=l+(k<<4)|0;w=(c[n+12>>2]|0)+(k<<4)|0;c[d>>2]=c[w>>2];c[d+4>>2]=c[w+4>>2];c[d+8>>2]=c[w+8>>2];c[d+12>>2]=c[w+12>>2];k=k+1|0}while((k|0)!=(i|0))}i=c[n+12>>2]|0;if(i|0){if(a[n+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[n+12>>2]=0}a[n+16>>0]=1;c[n+12>>2]=l;c[n+8>>2]=x;i=c[n+4>>2]|0}x=c[n+12>>2]|0;b[x+(i<<4)>>1]=o;b[x+(i<<4)+2>>1]=q;b[x+(i<<4)+4>>1]=r;b[x+(i<<4)+6>>1]=s;b[x+(i<<4)+8>>1]=t;b[x+(i<<4)+10>>1]=e;c[x+(i<<4)+12>>2]=f<<21|h;c[n+4>>2]=(c[n+4>>2]|0)+1;return}function ue(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,l=0,m=0;m=k;k=k+336|0;f=c[d+36>>2]|0;c[m+272+4>>2]=35;c[m+272+8>>2]=0;c[m+272+12>>2]=1065353216;c[m+272+16>>2]=1065353216;c[m+272+20>>2]=1065353216;g[m+272+24>>2]=0.0;c[m+272>>2]=6624;c[m+272+52>>2]=f;g[m+272+44>>2]=0.0;j=c[b+28>>2]|0;d=c[j+4>>2]|0;if(c[(c[j+8>>2]|0)+204>>2]&3|0?a[f+376>>0]|0:0){k=m;return}if((a[28272]|0)==0?_A(28272)|0:0){if((a[28280]|0)==0?_A(28280)|0:0){c[7174]=1065353216;c[7175]=0;c[7176]=0;c[7177]=0;c[7178]=0;c[7179]=1065353216;c[7180]=0;c[7181]=0;c[7182]=0;c[7183]=0;c[7184]=1065353216;g[7185]=0.0}c[7158]=c[7174];c[7159]=c[7175];c[7160]=c[7176];c[7161]=c[7177];c[7162]=c[7178];c[7163]=c[7179];c[7164]=c[7180];c[7165]=c[7181];c[7166]=c[7182];c[7167]=c[7183];c[7168]=c[7184];c[7169]=c[7185];c[7170]=0;c[7171]=0;c[7172]=0;c[7173]=0}e=c[(c[b+28>>2]|0)+12>>2]|0;c[m>>2]=1065353216;c[m+4>>2]=0;c[m+8>>2]=0;g[m+12>>2]=0.0;if(!(!(Ld(m+272|0,28632,d,e,m,m+216|0)|0)?!(Ec(m+272|0,28632,d,e,m,m+216|0,0)|0):0))h=12;if((h|0)==12?(c[m+4>>2]=0,c[m+4+4>>2]=0,c[m+4+8>>2]=0,c[m+4+12>>2]=0,c[m+4+16>>2]=0,c[m+4+20>>2]=0,a[m+152>>0]=0,c[m>>2]=6444,j=c[(c[b+28>>2]|0)+8>>2]|0,ad(b,m+216|0,f,0,0,0,(c[j+236>>2]&2|0)==0?0:j,j,m)|0):0){c[7584]=(c[7584]|0)+1;d=lc(235)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}e=j+4|0;d=j+152|0;Bl(e|0,0,212)|0;c[j>>2]=6444;f=m+4|0;h=e+100|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));e=j+104|0;c[e>>2]=c[m+104>>2];c[e+4>>2]=c[m+104+4>>2];c[e+8>>2]=c[m+104+8>>2];c[e+12>>2]=c[m+104+12>>2];e=j+120|0;c[e>>2]=c[m+120>>2];c[e+4>>2]=c[m+120+4>>2];c[e+8>>2]=c[m+120+8>>2];c[e+12>>2]=c[m+120+12>>2];e=j+136|0;c[e>>2]=c[m+136>>2];c[e+4>>2]=c[m+136+4>>2];c[e+8>>2]=c[m+136+8>>2];c[e+12>>2]=c[m+136+12>>2];a[d>>0]=a[m+152>>0]|0;e=j+156|0;f=m+156|0;h=e+60|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;i=j;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(l=(d|0)==0?1:d<<1,(d|0)<(l|0)):0){if(!l)f=0;else{c[7584]=(c[7584]|0)+1;d=lc((l<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[h+852>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[h+860>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[h+860>>2]|0;if(e){if(a[h+864>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=f;c[h+856>>2]=l}c[(c[h+860>>2]|0)+(d<<2)>>2]=i;c[h+852>>2]=d+1;d=c[b+24>>2]|0;if(!(c[(c[(c[b+28>>2]|0)+8>>2]|0)+204>>2]&3)){b=j+64|0;g[b>>2]=+g[d+340>>2]*+g[b>>2];d=d+352|0}else{b=j+64|0;g[b>>2]=+g[d+344>>2]*+g[b>>2];d=d+356|0}b=j+68|0;g[b>>2]=+g[d>>2]*+g[b>>2]}k=m;return}function ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!((d|0)!=0&(e|0)!=0))return;if((c[b+24>>2]|0)<128?(c[b+28>>2]|0)<128:0){c[7584]=(c[7584]|0)+1;h=lc(1043)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+24>>2]|0;if((i|0)>0){h=0;do{l=(c[b+32>>2]|0)+(h<<3)|0;m=c[l+4>>2]|0;n=j+(h<<3)|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;h=h+1|0}while((h|0)!=(i|0))}h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=j;c[b+28>>2]=128}c[b+24>>2]=128;h=c[b+32>>2]|0;c[h>>2]=d;c[h+4>>2]=e;h=1;i=124;do{n=h+-1|0;j=c[b+32>>2]|0;l=c[j+(n<<3)>>2]|0;m=c[j+(n<<3)+4>>2]|0;if((n|0)>(i|0)){k=c[b+24>>2]|0;if((k|0)<(k<<1|0)?(c[b+28>>2]|0)<(k<<1|0):0){if(k){c[7584]=(c[7584]|0)+1;i=lc((k<<4|3)+16|0)|0;if(!i)e=0;else{c[(i+4+15&-16)+-4>>2]=i;e=i+4+15&-16}j=c[b+24>>2]|0;if((j|0)>0){i=0;do{p=(c[b+32>>2]|0)+(i<<3)|0;o=c[p+4>>2]|0;d=e+(i<<3)|0;c[d>>2]=c[p>>2];c[d+4>>2]=o;i=i+1|0}while((i|0)!=(j|0));d=e;j=e}else{d=e;j=e}}else{d=0;j=0}i=c[b+32>>2]|0;if(i|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=d;c[b+28>>2]=k<<1}c[b+24>>2]=k<<1;i=(k<<1)+-4|0}do if((l|0)==(m|0))if(!(c[l+40>>2]|0))h=n;else{o=c[l+36>>2]|0;c[j+(n<<3)>>2]=o;c[j+(n<<3)+4>>2]=o;o=c[l+40>>2]|0;p=h+1|0;n=c[b+32>>2]|0;c[n+(h<<3)>>2]=o;c[n+(h<<3)+4>>2]=o;n=c[l+40>>2]|0;o=c[b+32>>2]|0;c[o+(p<<3)>>2]=c[l+36>>2];c[o+(p<<3)+4>>2]=n;h=h+2|0}else if(((((+g[l>>2]<=+g[m+16>>2]?+g[l+16>>2]>=+g[m>>2]:0)?+g[l+4>>2]<=+g[m+20>>2]:0)?+g[l+20>>2]>=+g[m+4>>2]:0)?+g[l+8>>2]<=+g[m+24>>2]:0)?+g[l+24>>2]>=+g[m+8>>2]:0){d=(c[m+40>>2]|0)!=0;if(!(c[l+40>>2]|0))if(d){o=c[m+36>>2]|0;c[j+(n<<3)>>2]=l;c[j+(n<<3)+4>>2]=o;o=c[m+40>>2]|0;p=c[b+32>>2]|0;c[p+(h<<3)>>2]=l;c[p+(h<<3)+4>>2]=o;h=h+1|0;break}else{Nb[c[(c[f>>2]|0)+8>>2]&127](f,l,m);h=n;break}else{e=c[l+36>>2]|0;if(d){p=c[m+36>>2]|0;c[j+(n<<3)>>2]=e;c[j+(n<<3)+4>>2]=p;p=c[m+36>>2]|0;n=h+1|0;k=c[b+32>>2]|0;c[k+(h<<3)>>2]=c[l+40>>2];c[k+(h<<3)+4>>2]=p;k=c[m+40>>2]|0;p=h+2|0;o=c[b+32>>2]|0;c[o+(n<<3)>>2]=c[l+36>>2];c[o+(n<<3)+4>>2]=k;n=c[m+40>>2]|0;o=c[b+32>>2]|0;c[o+(p<<3)>>2]=c[l+40>>2];c[o+(p<<3)+4>>2]=n;h=h+3|0;break}else{c[j+(n<<3)>>2]=e;c[j+(n<<3)+4>>2]=m;p=c[b+32>>2]|0;c[p+(h<<3)>>2]=c[l+40>>2];c[p+(h<<3)+4>>2]=m;h=h+1|0;break}}}else h=n;while(0)}while((h|0)!=0);return}function we(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;h=k;k=k+16|0;f=ju()|0;if((a[28360]|0)==0?_A(28360)|0:0){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;Dg(28992,0.0,0,0,h)}c[7299]=c[7299]|1;g[7334]=0.0;x=+g[7344]*0.0;D=+g[7345]*0.0;g[7339]=+g[7343]*0.0;g[7340]=x;g[7341]=D;g[7342]=0.0;c[7347]=0;c[7348]=0;c[7349]=0;c[7350]=0;D=+g[7336]*0.0;x=+g[7337]*0.0;g[7388]=+g[7335]*0.0;g[7389]=D;g[7390]=x;g[7391]=0.0;c[f+4>>2]=7;c[f+8>>2]=-1;c[f+12>>2]=-1;g[f+16>>2]=3402823466385288598117041.0e14;a[f+20>>0]=1;a[f+21>>0]=0;c[f+24>>2]=-1;c[f+28>>2]=28992;c[f+32>>2]=b;g[f+36>>2]=0.0;g[f+40>>2]=.30000001192092896;c[f+44>>2]=0;c[f>>2]=7836;a[f+48>>0]=0;c[f+116>>2]=c[d>>2];c[f+116+4>>2]=c[d+4>>2];c[f+116+8>>2]=c[d+8>>2];c[f+116+12>>2]=c[d+12>>2];c[f+132>>2]=c[d+16>>2];c[f+132+4>>2]=c[d+16+4>>2];c[f+132+8>>2]=c[d+16+8>>2];c[f+132+12>>2]=c[d+16+12>>2];c[f+148>>2]=c[d+32>>2];c[f+148+4>>2]=c[d+32+4>>2];c[f+148+8>>2]=c[d+32+8>>2];c[f+148+12>>2]=c[d+32+12>>2];c[f+164>>2]=c[d+48>>2];c[f+164+4>>2]=c[d+48+4>>2];c[f+164+8>>2]=c[d+48+8>>2];c[f+164+12>>2]=c[d+48+12>>2];a[f+180>>0]=e&1;x=+g[f+116>>2];D=+g[b+4>>2];w=+g[f+132>>2];C=+g[b+8>>2];v=+g[f+148>>2];B=+g[b+12>>2];u=+g[f+120>>2];t=+g[f+136>>2];s=+g[f+152>>2];r=+g[f+124>>2];p=+g[f+140>>2];n=+g[f+156>>2];A=+g[b+20>>2];z=+g[b+24>>2];y=+g[b+28>>2];q=+g[b+36>>2];o=+g[b+40>>2];m=+g[b+44>>2];F=+g[f+164>>2];E=+g[f+168>>2];i=+g[f+172>>2];l=+g[b+52>>2]+(D*F+C*E+B*i);j=A*F+z*E+y*i+ +g[b+56>>2];i=q*F+o*E+m*i+ +g[b+60>>2];g[f+52>>2]=x*D+w*C+v*B;g[f+56>>2]=D*u+C*t+B*s;g[f+60>>2]=D*r+C*p+B*n;g[f+64>>2]=0.0;g[f+68>>2]=x*A+w*z+v*y;g[f+72>>2]=u*A+t*z+s*y;g[f+76>>2]=r*A+p*z+n*y;g[f+80>>2]=0.0;g[f+84>>2]=x*q+w*o+v*m;g[f+88>>2]=u*q+t*o+s*m;g[f+92>>2]=r*q+p*o+n*m;g[f+96>>2]=0.0;g[f+100>>2]=l;g[f+104>>2]=j;g[f+108>>2]=i;g[f+112>>2]=0.0;g[f+184>>2]=1.0;g[f+188>>2]=-1.0;g[f+192>>2]=0.0;g[f+196>>2]=0.0;g[f+200>>2]=1.0;g[f+204>>2]=.699999988079071;g[f+208>>2]=0.0;g[f+212>>2]=0.0;g[f+216>>2]=1.0;g[f+220>>2]=.699999988079071;g[f+224>>2]=0.0;g[f+228>>2]=0.0;g[f+264>>2]=1.0;g[f+268>>2]=.699999988079071;g[f+272>>2]=1.0;g[f+276>>2]=0.0;g[f+280>>2]=1.0;g[f+284>>2]=.699999988079071;g[f+288>>2]=1.0;g[f+292>>2]=0.0;g[f+232>>2]=1.0;g[f+236>>2]=.699999988079071;g[f+240>>2]=1.0;g[f+244>>2]=0.0;g[f+248>>2]=1.0;g[f+252>>2]=.699999988079071;g[f+256>>2]=1.0;g[f+260>>2]=0.0;a[f+1096>>0]=0;g[f+1116>>2]=0.0;g[f+1120>>2]=0.0;g[f+1124>>2]=0.0;c[f+300>>2]=0;c[f+1100>>2]=0;c[f+1100+4>>2]=0;c[f+1100+8>>2]=0;a[f+1100+12>>0]=0;a[f+49>>0]=1;bd(f,(c[f+28>>2]|0)+4|0,(c[f+32>>2]|0)+4|0);k=h;return f|0}function xe(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[b+92>>2]|0;if(!(tb[c[(c[o>>2]|0)+56>>2]&255](o)|0))return;o=c[b+92>>2]|0;o=tb[c[(c[o>>2]|0)+28>>2]&255](o)|0;f=c[o+4>>2]|0;if((f|0)>1){Ae(o,0,f+-1|0);j=c[o+4>>2]|0}else j=f;m=c[b+104>>2]|0;f=j-m|0;if((m|0)<0){if((c[o+8>>2]|0)<(f|0)){if(!f){g=0;i=j}else{c[7584]=(c[7584]|0)+1;g=lc((f<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=c[o+4>>2]|0}if((i|0)>0){h=0;do{m=c[o+12>>2]|0;c[g+(h<<4)>>2]=c[m+(h<<4)>>2];c[g+(h<<4)+4>>2]=c[m+(h<<4)+4>>2];c[g+(h<<4)+8>>2]=c[m+(h<<4)+8>>2];c[g+(h<<4)+12>>2]=c[m+(h<<4)+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[o+12>>2]|0;if(h|0){if(a[o+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=g;c[o+8>>2]=f;h=o+12|0}else h=o+12|0;g=j;do{m=(c[h>>2]|0)+(g<<4)|0;g=g+1|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0}while((g|0)!=(f|0))}c[o+4>>2]=f;c[b+104>>2]=0;if((f|0)>0){l=0;m=0;g=0;h=0;do{k=c[o+12>>2]|0;j=k+(l<<4)|0;p=m;m=c[j>>2]|0;k=k+(l<<4)+4|0;i=c[k>>2]|0;if(!((m|0)==(p|0)&(i|0)==(g|0))){p=m+54|0;g=m+48|0;if((((((e[p>>1]|0)>=(e[i+48>>1]|0)?(e[i+54>>1]|0)>=(e[g>>1]|0):0)?(e[p+2>>1]|0)>=(e[i+48+2>>1]|0):0)?(e[i+54+2>>1]|0)>=(e[g+2>>1]|0):0)?(e[p+4>>1]|0)>=(e[i+52>>1]|0):0)?(e[i+54+4>>1]|0)>=(e[m+52>>1]|0):0)g=i;else{f=i;n=30}}else{f=g;n=30}if((n|0)==30){n=0;h=c[b+92>>2]|0;Nb[c[(c[h>>2]|0)+32>>2]&127](h,j,d);c[j>>2]=0;c[k>>2]=0;h=(c[b+104>>2]|0)+1|0;c[b+104>>2]=h;c[7558]=(c[7558]|0)+-1;g=f;f=c[o+4>>2]|0}l=l+1|0}while((l|0)<(f|0));if((f|0)>1){Ae(o,0,f+-1|0);h=c[b+104>>2]|0;g=c[o+4>>2]|0}else g=f;f=g-h|0;if((h|0)<0){if((c[o+8>>2]|0)<(f|0)){if(!f){h=0;j=g}else{c[7584]=(c[7584]|0)+1;h=lc((f<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[o+4>>2]|0}if((j|0)>0){i=0;do{p=c[o+12>>2]|0;c[h+(i<<4)>>2]=c[p+(i<<4)>>2];c[h+(i<<4)+4>>2]=c[p+(i<<4)+4>>2];c[h+(i<<4)+8>>2]=c[p+(i<<4)+8>>2];c[h+(i<<4)+12>>2]=c[p+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[o+12>>2]|0;if(i|0){if(a[o+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=h;c[o+8>>2]=f}do{p=(c[o+12>>2]|0)+(g<<4)|0;g=g+1|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}while((g|0)!=(f|0))}}c[o+4>>2]=f;c[b+104>>2]=0;return}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=k;k=k+80|0;c[a+68>>2]=(c[a+68>>2]|0)+1;f=c[a+64>>2]|0;if(f|0){d=c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0;xh(f,d)|0;e=c[f+4>>2]|0;if(e|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[f+4>>2]=d;c[f+12>>2]=(c[f+12>>2]|0)+-1}f=(c[a+16>>2]|0)+-1|0;e=c[a+24>>2]|0;c[g>>2]=c[e+(b*80|0)>>2];c[g+4>>2]=c[e+(b*80|0)+4>>2];c[g+8>>2]=c[e+(b*80|0)+8>>2];c[g+12>>2]=c[e+(b*80|0)+12>>2];c[g+16>>2]=c[e+(b*80|0)+16>>2];c[g+16+4>>2]=c[e+(b*80|0)+16+4>>2];c[g+16+8>>2]=c[e+(b*80|0)+16+8>>2];c[g+16+12>>2]=c[e+(b*80|0)+16+12>>2];c[g+32>>2]=c[e+(b*80|0)+32>>2];c[g+32+4>>2]=c[e+(b*80|0)+32+4>>2];c[g+32+8>>2]=c[e+(b*80|0)+32+8>>2];c[g+32+12>>2]=c[e+(b*80|0)+32+12>>2];c[g+48>>2]=c[e+(b*80|0)+48>>2];c[g+48+4>>2]=c[e+(b*80|0)+48+4>>2];c[g+48+8>>2]=c[e+(b*80|0)+48+8>>2];c[g+48+12>>2]=c[e+(b*80|0)+48+12>>2];c[g+64>>2]=c[e+(b*80|0)+64>>2];c[g+64+4>>2]=c[e+(b*80|0)+64+4>>2];c[g+64+8>>2]=c[e+(b*80|0)+64+8>>2];c[g+64+12>>2]=c[e+(b*80|0)+64+12>>2];c[e+(b*80|0)>>2]=c[e+(f*80|0)>>2];c[e+(b*80|0)+4>>2]=c[e+(f*80|0)+4>>2];c[e+(b*80|0)+8>>2]=c[e+(f*80|0)+8>>2];c[e+(b*80|0)+12>>2]=c[e+(f*80|0)+12>>2];c[e+(b*80|0)+16>>2]=c[e+(f*80|0)+16>>2];c[e+(b*80|0)+16+4>>2]=c[e+(f*80|0)+16+4>>2];c[e+(b*80|0)+16+8>>2]=c[e+(f*80|0)+16+8>>2];c[e+(b*80|0)+16+12>>2]=c[e+(f*80|0)+16+12>>2];c[e+(b*80|0)+32>>2]=c[e+(f*80|0)+32>>2];c[e+(b*80|0)+32+4>>2]=c[e+(f*80|0)+32+4>>2];c[e+(b*80|0)+32+8>>2]=c[e+(f*80|0)+32+8>>2];c[e+(b*80|0)+32+12>>2]=c[e+(f*80|0)+32+12>>2];c[e+(b*80|0)+48>>2]=c[e+(f*80|0)+48>>2];c[e+(b*80|0)+48+4>>2]=c[e+(f*80|0)+48+4>>2];c[e+(b*80|0)+48+8>>2]=c[e+(f*80|0)+48+8>>2];c[e+(b*80|0)+48+12>>2]=c[e+(f*80|0)+48+12>>2];c[e+(b*80|0)+64>>2]=c[e+(f*80|0)+64>>2];c[e+(b*80|0)+64+4>>2]=c[e+(f*80|0)+64+4>>2];c[e+(b*80|0)+64+8>>2]=c[e+(f*80|0)+64+8>>2];c[e+(b*80|0)+64+12>>2]=c[e+(f*80|0)+64+12>>2];e=c[a+24>>2]|0;c[e+(f*80|0)>>2]=c[g>>2];c[e+(f*80|0)+4>>2]=c[g+4>>2];c[e+(f*80|0)+8>>2]=c[g+8>>2];c[e+(f*80|0)+12>>2]=c[g+12>>2];c[e+(f*80|0)+16>>2]=c[g+16>>2];c[e+(f*80|0)+16+4>>2]=c[g+16+4>>2];c[e+(f*80|0)+16+8>>2]=c[g+16+8>>2];c[e+(f*80|0)+16+12>>2]=c[g+16+12>>2];c[e+(f*80|0)+32>>2]=c[g+32>>2];c[e+(f*80|0)+32+4>>2]=c[g+32+4>>2];c[e+(f*80|0)+32+8>>2]=c[g+32+8>>2];c[e+(f*80|0)+32+12>>2]=c[g+32+12>>2];c[e+(f*80|0)+48>>2]=c[g+48>>2];c[e+(f*80|0)+48+4>>2]=c[g+48+4>>2];c[e+(f*80|0)+48+8>>2]=c[g+48+8>>2];c[e+(f*80|0)+48+12>>2]=c[g+48+12>>2];c[e+(f*80|0)+64>>2]=c[g+64>>2];c[e+(f*80|0)+64+4>>2]=c[g+64+4>>2];c[e+(f*80|0)+64+8>>2]=c[g+64+8>>2];c[e+(f*80|0)+64+12>>2]=c[g+64+12>>2];if(!(c[a+64>>2]|0)){f=c[a+16>>2]|0;f=f+-1|0;c[a+16>>2]=f;k=g;return}c[(c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0)+36>>2]=b;f=c[a+16>>2]|0;f=f+-1|0;c[a+16>>2]=f;k=g;return}function ze(a,d,f,h,i,j,l,m,n){a=a|0;d=d|0;f=f|0;h=+h;i=+i;j=+j;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0;V=k;k=k+32|0;R=+g[f>>2];F=+g[f+4>>2];J=+g[f+8>>2];K=1.0/+A(+((h-R)*(h-R)+(i-F)*(i-F)+(j-J)*(j-J)));O=(h-R)*K==0.0?999999984306749440.0:1.0/((h-R)*K);P=(i-F)*K==0.0?999999984306749440.0:1.0/((i-F)*K);Q=(j-J)*K==0.0?999999984306749440.0:1.0/((j-J)*K);ea=(R>h?h:R)+ +g[l>>2];da=(F>i?i:F)+ +g[l+4>>2];ca=(J>j?j:J)+ +g[l+8>>2];aa=(R<h?h:R)+ +g[m>>2];Y=(F<i?i:F)+ +g[m+4>>2];t=(J<j?j:J)+ +g[m+8>>2];$=+g[a+4>>2];ea=ea<$?$:ea;X=+g[a+8>>2];da=da<X?X:da;u=+g[a+12>>2];ca=ca<u?u:ca;ba=+g[a+20>>2];Z=+g[a+24>>2];s=+g[a+28>>2];_=+g[a+36>>2];W=+g[a+40>>2];v=+g[a+44>>2];S=~~(((ba<ea?ba:ea)-$)*_)&65535&-2;T=~~(((Z<da?Z:da)-X)*W)&65535&-2;U=~~(((s<ca?s:ca)-u)*v)&65535&-2;aa=aa<$?$:aa;Y=Y<X?X:Y;t=t<u?u:t;G=~~(((ba<aa?ba:aa)-$)*_+1.0)&65535|1;H=~~(((Z<Y?Z:Y)-X)*W+1.0)&65535|1;I=~~(((s<t?s:t)-u)*v+1.0)&65535|1;if((n|0)>0){p=0;o=0;q=c[a+136>>2]|0;do{o=o+1|0;r=q+6|0;w=b[q>>1]|0;x=q+10|0;y=b[q+4>>1]|0;z=q+8|0;B=b[q+2>>1]|0;C=q+12|0;D=(c[C>>2]|0)>-1;do if(((G&65535)>=(w&65535)?(S&65535)<=(e[r>>1]|0):0)&(U&65535)<=(e[x>>1]|0)&(I&65535)>=(y&65535)&(T&65535)<=(e[z>>1]|0)&(H&65535)>=(B&65535)){aa=+g[a+36>>2];ca=+g[a+40>>2];ea=+g[a+44>>2];ba=+g[a+4>>2];da=+g[a+8>>2];u=+g[a+12>>2];g[V+12>>2]=0.0;v=ba+ +(e[r>>1]|0)/aa;s=da+ +(e[z>>1]|0)/ca;t=u+ +(e[x>>1]|0)/ea;g[V+28>>2]=0.0;g[V>>2]=+(w&65535)/aa+ba-+g[m>>2];g[V+4>>2]=+(B&65535)/ca+da-+g[m+4>>2];g[V+8>>2]=+(y&65535)/ea+u-+g[m+8>>2];g[V+16>>2]=v-+g[l>>2];g[V+20>>2]=s-+g[l+4>>2];g[V+24>>2]=t-+g[l+8>>2];t=+g[f>>2];s=O*(+g[V+((O<0.0&1)<<4)>>2]-t);t=O*(+g[V+(((O<0.0^1)&1)<<4)>>2]-t);v=+g[f+4>>2];u=P*(+g[V+((P<0.0&1)<<4)+4>>2]-v);v=P*(+g[V+(((P<0.0^1)&1)<<4)+4>>2]-v);if(!(u>t|s>v)?(L=u>s?u:s,E=v<t?v:t,N=+g[f+8>>2],M=Q*(+g[V+((Q<0.0&1)<<4)+8>>2]-N),N=Q*(+g[V+(((Q<0.0^1)&1)<<4)+8>>2]-N),!(M>E|L>N)):0){r=(N<E?N:E)>0.0?(M>L?M:L)<(j-J)*(j-J)*K+((h-R)*(h-R)*K+(i-F)*(i-F)*K):0;if(!(D&r)){w=9;break}w=c[C>>2]|0;Nb[c[(c[d>>2]|0)+8>>2]&127](d,21?w>>21:w,w&2097151);w=10;break}r=0;w=9}else{r=0;w=9}while(0);if((w|0)==9){w=0;if(D|r)w=10;else{D=c[C>>2]|0;p=p-D|0;q=q+(0-D<<4)|0}}if((w|0)==10){p=p+1|0;q=q+16|0}}while((p|0)<(n|0))}else o=0;if((c[7562]|0)>=(o|0)){k=V;return}c[7562]=o;k=V;return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;while(1){o=c[a+12>>2]|0;q=(b+d|0)/2|0;r=c[o+(q<<4)>>2]|0;p=c[o+(q<<4)+4>>2]|0;q=c[o+(q<<4)+8>>2]|0;e=d;f=b;while(1){a:do if(!r)while(1){l=o+(f<<4)|0;j=c[l>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[o+(f<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;do if((g|0)<=-1){g=(h|0)>(i|0);if(g|(j|0)==0^1)if((j|0)==0&g)break;else break a;if((k|0)!=(p|0))break a;if((c[o+(f<<4)+8>>2]|0)>>>0<=q>>>0)break a}while(0);f=f+1|0}else{m=c[r+12>>2]|0;while(1){l=o+(f<<4)|0;j=c[l>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[o+(f<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;do if((g|0)<=(m|0)){g=(h|0)>(i|0);if(g|(j|0)==(r|0)^1)if((j|0)==(r|0)&g)break;else break a;if((k|0)!=(p|0))break a;if((c[o+(f<<4)+8>>2]|0)>>>0<=q>>>0)break a}while(0);f=f+1|0}}while(0);b:do if(!r)while(1){g=o+(e<<4)|0;k=c[g>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;m=c[o+(e<<4)+4>>2]|0;if(!m)j=-1;else j=c[m+12>>2]|0;do if((h|0)>=-1){h=(i|0)>(j|0);if(h|(k|0)==0^1)if((k|0)==0&h)break;else break b;if((p|0)!=(m|0))break b;if((c[o+(e<<4)+8>>2]|0)>>>0>=q>>>0)break b}while(0);e=e+-1|0}else{n=c[r+12>>2]|0;while(1){g=o+(e<<4)|0;k=c[g>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;m=c[o+(e<<4)+4>>2]|0;if(!m)j=-1;else j=c[m+12>>2]|0;do if((n|0)<=(h|0)){h=(i|0)>(j|0);if(h|(r|0)==(k|0)^1)if((r|0)==(k|0)&h)break;else break b;if((p|0)!=(m|0))break b;if((c[o+(e<<4)+8>>2]|0)>>>0>=q>>>0)break b}while(0);e=e+-1|0}}while(0);if((f|0)<=(e|0)){j=c[l>>2]|0;k=c[o+(f<<4)+4>>2]|0;m=c[o+(f<<4)+8>>2]|0;n=c[o+(f<<4)+12>>2]|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[l+12>>2]=c[g+12>>2];o=c[a+12>>2]|0;c[o+(e<<4)>>2]=j;c[o+(e<<4)+4>>2]=k;c[o+(e<<4)+8>>2]=m;c[o+(e<<4)+12>>2]=n;e=e+-1|0;f=f+1|0}if((f|0)>(e|0))break;o=c[a+12>>2]|0}if((e|0)>(b|0))Ae(a,b,e);if((f|0)<(d|0))b=f;else break}return}function Be(b,d,e,f,h,i,j,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0.0;E=k;k=k+32|0;if(!d){k=E;return}n=c[b+44>>2]|0;if((n|0)<128){if((c[b+48>>2]|0)<128){c[7584]=(c[7584]|0)+1;o=lc(531)|0;if(!o)q=0;else{c[(o+4+15&-16)+-4>>2]=o;q=o+4+15&-16}p=c[b+44>>2]|0;if((p|0)>0){o=0;do{c[q+(o<<2)>>2]=c[(c[b+52>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(p|0))}o=c[b+52>>2]|0;if(o|0){if(a[b+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[o+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=q;c[b+48>>2]=128;o=b+52|0}else o=b+52|0;do{c[(c[o>>2]|0)+(n<<2)>>2]=0;n=n+1|0}while((n|0)!=128);z=b+48|0}else{o=b+52|0;z=b+48|0}c[b+44>>2]=128;c[c[o>>2]>>2]=d;p=1;n=126;do{x=p+-1|0;q=c[o>>2]|0;y=c[q+(x<<2)>>2]|0;v=+g[y+4>>2]-+g[l+4>>2];t=+g[y+8>>2]-+g[l+8>>2];g[E>>2]=+g[y>>2]-+g[l>>2];g[E+4>>2]=v;g[E+8>>2]=t;g[E+12>>2]=0.0;t=+g[y+20>>2]-+g[j+4>>2];v=+g[y+24>>2]-+g[j+8>>2];g[E+16>>2]=+g[y+16>>2]-+g[j>>2];g[E+20>>2]=t;g[E+24>>2]=v;g[E+28>>2]=0.0;w=c[h>>2]|0;v=+g[e>>2];t=+g[f>>2];u=(+g[E+(w<<4)>>2]-v)*t;v=t*(+g[E+(1-w<<4)>>2]-v);w=c[h+4>>2]|0;t=+g[e+4>>2];F=+g[f+4>>2];s=(+g[E+(w<<4)+4>>2]-t)*F;t=F*(+g[E+(1-w<<4)+4>>2]-t);do if((!(s>v|u>t)?(B=s>u?s:u,A=t<v?t:v,w=c[h+8>>2]|0,D=+g[e+8>>2],F=+g[f+8>>2],C=(+g[E+(w<<4)+8>>2]-D)*F,D=F*(+g[E+(1-w<<4)+8>>2]-D),!(C>A|B>D)):0)?((D<A?D:A)>0.0?(C>B?C:B)<i:0):0){if(!(c[y+40>>2]|0)){Jb[c[(c[m>>2]|0)+12>>2]&127](m,y);p=x;break}if((x|0)>(n|0)){w=c[b+44>>2]|0;if((w|0)<(w<<1|0)){if((c[z>>2]|0)<(w<<1|0)){if(w){c[7584]=(c[7584]|0)+1;n=lc((w<<3|3)+16|0)|0;if(!n)r=0;else{c[(n+4+15&-16)+-4>>2]=n;r=n+4+15&-16}q=c[b+44>>2]|0;if((q|0)>0){n=0;do{c[r+(n<<2)>>2]=c[(c[o>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(q|0));d=r;n=r}else{d=r;n=r}}else{d=0;n=0}q=c[o>>2]|0;if(q|0){if(a[b+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[q+-4>>2]|0)}c[o>>2]=0}a[b+56>>0]=1;c[o>>2]=d;c[z>>2]=w<<1}else n=q;q=w;do{c[n+(q<<2)>>2]=0;q=q+1|0;n=c[o>>2]|0}while((q|0)!=(w<<1|0));q=n+(x<<2)|0}else q=q+(x<<2)|0;c[b+44>>2]=w<<1;n=(w<<1)+-2|0}else q=q+(x<<2)|0;c[q>>2]=c[y+36>>2];c[(c[o>>2]|0)+(p<<2)>>2]=c[y+40>>2];p=p+1|0}else p=x;while(0)}while((p|0)!=0);k=E;return}function Ce(a,b,d,e,f,h,i,j,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;l=+l;m=m|0;n=+n;o=o|0;var p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0;F=k;k=k+2560|0;Kr(F+2528|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],f);ar(F+2544|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[F+2528>>2],+g[F+2528+4>>2],+g[F+2528+8>>2]);Kr(F+2496|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],f);cr(F+2512|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[F+2496>>2],+g[F+2496+4>>2],+g[F+2496+8>>2]);lq(F+2464|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],+g[e>>2],+g[e+4>>2],+g[e+8>>2]);q=!(h<=-1.5707963705062866)?h:n*.01745329238474369+-1.5707963705062866;p=!(i>=1.5707963705062866)?i:1.5707963705062866-n*.01745329238474369;if(q>p){E=1;D=1;q=n*.01745329238474369+-1.5707963705062866;p=1.5707963705062866-n*.01745329238474369}else{E=!(i>=1.5707963705062866)^1;D=!(h<=-1.5707963705062866)^1}B=p-q;C=(~~(B/(n*.01745329238474369))|0)<1?2:~~(B/(n*.01745329238474369))+1|0;if(!(j>l))if(!(l-j>=6.2831854820251465)){p=l;A=0}else{p=l;A=1}else{j=n*.01745329238474369+-3.1415927410125732;p=3.1415927410125732;A=1}h=p-j;z=(~~(h/(n*.01745329238474369))|0)<1?2:~~(h/(n*.01745329238474369))+1|0;s=0;t=F+1184|0;u=F;while(1){if((s|0)>=(C|0))break;i=q+B/+(C+-1|0)*+(s|0);p=+rK(i)*f;i=+sK(i)*f;v=(s|0)==0;w=(s|0)==(C+-1|0);r=0;while(1){if((r|0)>=(z|0))break;l=j+h/+(z+-1|0)*+(r|0);n=+rK(l);l=i*+sK(l);lA(F+2400|0,l,+g[e>>2],+g[e+4>>2],+g[e+8>>2]);ar(F+2416|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[F+2400>>2],+g[F+2400+4>>2],+g[F+2400+8>>2]);lA(F+2384|0,i*n,+g[F+2464>>2],+g[F+2464+4>>2],+g[F+2464+8>>2]);ar(F+2432|0,+g[F+2416>>2],+g[F+2416+4>>2],+g[F+2416+8>>2],+g[F+2384>>2],+g[F+2384+4>>2],+g[F+2384+8>>2]);lA(F+2368|0,p,+g[d>>2],+g[d+4>>2],+g[d+8>>2]);ar(F+2448|0,+g[F+2432>>2],+g[F+2432+4>>2],+g[F+2432+8>>2],+g[F+2368>>2],+g[F+2368+4>>2],+g[F+2368+8>>2]);x=u+(r<<4)|0;c[x>>2]=c[F+2448>>2];c[x+4>>2]=c[F+2448+4>>2];c[x+8>>2]=c[F+2448+8>>2];c[x+12>>2]=c[F+2448+12>>2];if(v){if(E)Qb[c[(c[a>>2]|0)+8>>2]&127](a,F+2512|0,x,m)}else Qb[c[(c[a>>2]|0)+8>>2]&127](a,t+(r<<4)|0,x,m);y=(r|0)==0;if(y){c[F+2480>>2]=c[u>>2];c[F+2480+4>>2]=c[u+4>>2];c[F+2480+8>>2]=c[u+8>>2];c[F+2480+12>>2]=c[u+12>>2]}else Qb[c[(c[a>>2]|0)+8>>2]&127](a,u+(r+-1<<4)|0,x,m);if(w&D)Qb[c[(c[a>>2]|0)+8>>2]&127](a,F+2544|0,x,m);do if(o)if(A){if((r|0)!=(z+-1|0))break;Qb[c[(c[a>>2]|0)+8>>2]&127](a,F+2480|0,u+(z+-1<<4)|0,m);break}else{if(!((v|w)&(y|(r|0)==(z+-1|0))))break;Qb[c[(c[a>>2]|0)+8>>2]&127](a,b,x,m);break}while(0);r=r+1|0}y=u;s=s+1|0;u=t;t=y}k=F;return}function De(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=k;k=k+16|0;o=c[b+452>>2]|0;Nb[c[(c[o>>2]|0)+16>>2]&127](o,b+324|0,0);o=c[b+452>>2]|0;tb[c[(c[o>>2]|0)+12>>2]&255](o)|0;Oc(b,d);Wj(17210);o=c[b+328>>2]|0;if((o|0)>0){f=c[b+336>>2]|0;e=0;l=0;do{n=c[(c[f+(e<<2)>>2]|0)+384>>2]|0;l=(l|0)>(n|0)?l:n;e=e+1|0}while((e|0)!=(o|0));e=0;while(1){h=c[f+(e<<2)>>2]|0;if((c[h+852>>2]|0)>0){f=0;do{n=c[(c[h+860>>2]|0)+(f<<2)>>2]|0;Hb[c[(c[n>>2]|0)+8>>2]&31](n,+g[h+452>>2],l);f=f+1|0}while((f|0)<(c[h+852>>2]|0))}e=e+1|0;if((e|0)==(o|0))break;f=c[b+336>>2]|0}if((l|0)>0){h=0;do{e=0;do{i=c[(c[b+336>>2]|0)+(e<<2)>>2]|0;j=c[i+852>>2]|0;if((j|0)>0){f=0;do{n=c[(c[i+860>>2]|0)+(f<<2)>>2]|0;Fb[c[(c[n>>2]|0)+12>>2]&7](n,+g[i+452>>2],1.0);f=f+1|0}while((f|0)!=(j|0))}e=e+1|0}while((e|0)!=(o|0));h=h+1|0}while((h|0)!=(l|0))}m=0;do{n=c[(c[b+336>>2]|0)+(m<<2)>>2]|0;if((c[n+852>>2]|0)>0){e=0;do{f=c[(c[n+860>>2]|0)+(e<<2)>>2]|0;Eb[c[(c[f>>2]|0)+16>>2]&31](f,+g[n+452>>2]);f=c[n+860>>2]|0;h=c[f+(e<<2)>>2]|0;a:do if(a[h+152>>0]|0){if(!h)l=f;else{c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);l=c[n+860>>2]|0}j=e+-1|0;f=c[n+852>>2]|0;if((f|0)>0){i=c[l+(e<<2)>>2]|0;e=0;while(1){h=l+(e<<2)|0;if((c[h>>2]|0)==(i|0))break;e=e+1|0;if((e|0)>=(f|0)){e=j;break a}}if((e|0)<(f|0)){c[h>>2]=c[l+(f+-1<<2)>>2];c[(c[n+860>>2]|0)+(f+-1<<2)>>2]=i;c[n+852>>2]=f+-1;e=j;f=f+-1|0}else e=j}else e=j}else f=c[n+852>>2]|0;while(0);e=e+1|0}while((e|0)<(f|0))}m=m+1|0}while((m|0)!=(o|0))}e=c[b+452>>2]|0;Eb[c[(c[e>>2]|0)+28>>2]&31](e,+g[e+12>>2]*d);e=c[3369]|0;o=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=o;do if(!o){if(c[e+4>>2]|0){bb(p|0,0)|0;o=c[7583]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[p+4>>2]|0)-(c[o+4>>2]|0)+(((c[p>>2]|0)-(c[o>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[3369]|0}c[3369]=c[e+20>>2]}while(0);if((c[b+328>>2]|0)<=0){b=c[b+452>>2]|0;o=c[b>>2]|0;o=o+32|0;o=c[o>>2]|0;Db[o&511](b);k=p;return}e=0;do{o=c[(c[b+336>>2]|0)+(e<<2)>>2]|0;yi(o,o);e=e+1|0}while((e|0)<(c[b+328>>2]|0));b=c[b+452>>2]|0;o=c[b>>2]|0;o=o+32|0;o=c[o>>2]|0;Db[o&511](b);k=p;return}function Ee(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;s=k;k=k+32|0;e=c[b+136>>2]|0;if((e|0)>0){f=0;do{He(c[b+116>>2]|0,c[b+144>>2]|0,f,0);f=f+1|0;e=c[b+136>>2]|0}while((f|0)<(e|0))}r=c[b+116>>2]|0;m=+g[r+312>>2];n=+g[r+316>>2];h=+g[r+320>>2];h=+A(+(m*m+n*n+h*h))*3.5999999046325684;g[b+112>>2]=h;q=c[b+128>>2]|0;if(+g[r+4+(q<<2)>>2]*+g[r+312>>2]+ +g[r+20+(q<<2)>>2]*+g[r+316>>2]+ +g[r+36+(q<<2)>>2]*+g[r+320>>2]<0.0)g[b+112>>2]=-h;if((e|0)>0){e=0;do{+yf(b,(c[b+144>>2]|0)+(e*284|0)|0);e=e+1|0;f=c[b+136>>2]|0}while((e|0)<(f|0));i=1.0/+g[(c[b+116>>2]|0)+344>>2];if((f|0)>0){f=0;do{e=c[b+144>>2]|0;if(!(a[e+(f*284|0)+84>>0]|0))h=0.0;else{h=+g[e+(f*284|0)+272>>2];h=i*(+g[e+(f*284|0)+216>>2]*(+g[e+(f*284|0)+204>>2]-+g[e+(f*284|0)+32>>2])*+g[e+(f*284|0)+268>>2]-h*+g[(h<0.0?e+(f*284|0)+220|0:e+(f*284|0)+224|0)>>2]);h=h<0.0?0.0:h}g[e+(f*284|0)+276>>2]=h;f=f+1|0;e=c[b+136>>2]|0}while((f|0)<(e|0));if((e|0)>0){e=0;do{q=c[b+144>>2]|0;l=+g[q+(e*284|0)+276>>2];n=+g[q+(e*284|0)+248>>2];l=l>n?n:l;n=l*+g[q+(e*284|0)+4>>2]*d;m=l*+g[q+(e*284|0)+8>>2]*d;g[s+16>>2]=+g[q+(e*284|0)>>2]*l*d;g[s+16+4>>2]=n;g[s+16+8>>2]=m;g[s+16+12>>2]=0.0;r=c[b+116>>2]|0;m=+g[q+(e*284|0)+20>>2]-+g[r+56>>2];n=+g[q+(e*284|0)+24>>2]-+g[r+60>>2];g[s>>2]=+g[q+(e*284|0)+16>>2]-+g[r+52>>2];g[s+4>>2]=m;g[s+8>>2]=n;g[s+12>>2]=0.0;Rl(r,s+16|0,s);e=e+1|0}while((e|0)<(c[b+136>>2]|0))}}}Eb[c[(c[b>>2]|0)+20>>2]&31](b,d);p=c[b+136>>2]|0;if((p|0)<=0){k=s;return}q=c[b+144>>2]|0;r=c[b+116>>2]|0;o=0;do{h=+g[q+(o*284|0)+36>>2]-+g[r+52>>2];i=+g[q+(o*284|0)+40>>2]-+g[r+56>>2];j=+g[q+(o*284|0)+44>>2]-+g[r+60>>2];l=+g[r+332>>2];m=+g[r+336>>2];n=+g[r+328>>2];if(!(a[q+(o*284|0)+84>>0]|0)){e=q+(o*284|0)+240|0;j=+g[e>>2];t=q+(o*284|0)+236|0;f=t;h=j;i=+g[t>>2]}else{e=c[b+128>>2]|0;z=+g[r+4+(e<<2)>>2];x=+g[r+20+(e<<2)>>2];v=+g[r+36+(e<<2)>>2];y=+g[q+(o*284|0)>>2];w=+g[q+(o*284|0)+4>>2];u=+g[q+(o*284|0)+8>>2];j=((i*n-h*l+ +g[r+320>>2])*(v-u*(z*y+x*w+v*u))+((l*j-i*m+ +g[r+312>>2])*(z-y*(z*y+x*w+v*u))+(h*m-j*n+ +g[r+316>>2])*(x-w*(z*y+x*w+v*u))))*d/+g[q+(o*284|0)+212>>2];e=q+(o*284|0)+240|0;g[e>>2]=j;t=q+(o*284|0)+236|0;f=t;h=+g[t>>2];i=j}g[f>>2]=h+i;g[e>>2]=j*.9900000095367432;o=o+1|0}while((o|0)!=(p|0));k=s;return}function Fe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=k;k=k+32|0;q=+g[d>>2];h=(g[j>>2]=q,c[j>>2]|0);t=q<999999984306749440.0?h:1566444395;p=+g[d+4>>2];l=(g[j>>2]=p,c[j>>2]|0);u=p<999999984306749440.0?l:1566444395;E=+g[d+8>>2];n=(g[j>>2]=E,c[j>>2]|0);w=E<999999984306749440.0?n:1566444395;r=+g[d+12>>2];y=r<0.0?r:0.0;h=q>-999999984306749440.0?h:-581039253;l=p>-999999984306749440.0?l:-581039253;n=E>-999999984306749440.0?n:-581039253;r=r>0.0?r:0.0;E=+g[d+16>>2];B=E<(c[j>>2]=t,+g[j>>2]);i=(g[j>>2]=E,c[j>>2]|0);t=B?i:t;p=+g[d+20>>2];B=p<(c[j>>2]=u,+g[j>>2]);m=(g[j>>2]=p,c[j>>2]|0);u=B?m:u;q=+g[d+24>>2];B=q<(c[j>>2]=w,+g[j>>2]);o=(g[j>>2]=q,c[j>>2]|0);w=B?o:w;s=+g[d+28>>2];y=s<y?s:y;x=E>(c[j>>2]=h,+g[j>>2])?i:h;v=p>(c[j>>2]=l,+g[j>>2])?m:l;m=q>(c[j>>2]=n,+g[j>>2])?o:n;s=r<s?s:r;E=+g[d+32>>2];B=E<(c[j>>2]=t,+g[j>>2]);h=(g[j>>2]=E,c[j>>2]|0);B=B?h:t;q=+g[d+36>>2];A=q<(c[j>>2]=u,+g[j>>2]);i=(g[j>>2]=q,c[j>>2]|0);A=A?i:u;r=+g[d+40>>2];z=r<(c[j>>2]=w,+g[j>>2]);l=(g[j>>2]=r,c[j>>2]|0);z=z?l:w;p=+g[d+44>>2];y=p<y?p:y;w=E>(c[j>>2]=x,+g[j>>2])?h:x;v=q>(c[j>>2]=v,+g[j>>2])?i:v;u=r>(c[j>>2]=m,+g[j>>2])?l:m;p=s<p?p:s;t=c[b+4>>2]|0;h=c[t+4>>2]|0;if((h|0)==(c[t+8>>2]|0)?(C=(h|0)==0?1:h<<1,(h|0)<(C|0)):0){if(!C)o=0;else{c[7584]=(c[7584]|0)+1;h=lc(C<<6|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}o=h;h=c[t+4>>2]|0}if((h|0)>0){i=0;do{l=o+(i<<6)|0;m=(c[t+12>>2]|0)+(i<<6)|0;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i=i+1|0}while((i|0)!=(h|0))}h=c[t+12>>2]|0;if(h|0){if(a[t+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[t+12>>2]=0}a[t+16>>0]=1;c[t+12>>2]=o;c[t+8>>2]=C;h=c[t+4>>2]|0}C=c[t+12>>2]|0;c[C+(h<<6)>>2]=B;c[C+(h<<6)+4>>2]=A;c[C+(h<<6)+8>>2]=z;g[C+(h<<6)+12>>2]=y;c[C+(h<<6)+16>>2]=w;c[C+(h<<6)+20>>2]=v;c[C+(h<<6)+24>>2]=u;g[C+(h<<6)+28>>2]=p;c[C+(h<<6)+32>>2]=-1;c[C+(h<<6)+36>>2]=e;c[C+(h<<6)+40>>2]=f;f=C+(h<<6)+44|0;c[f>>2]=c[D>>2];c[f+4>>2]=c[D+4>>2];c[f+8>>2]=c[D+8>>2];c[f+12>>2]=c[D+12>>2];c[f+16>>2]=c[D+16>>2];c[t+4>>2]=(c[t+4>>2]|0)+1;k=D;return}function Ge(a,b,d){a=a|0;b=b|0;d=d|0;var f=0.0,i=0.0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=k;k=k+80|0;o=c[a+4>>2]|0;_b[c[(c[o>>2]|0)+16>>2]&3](o,s+76|0,s+72|0,s+68|0,s+64|0,s+60|0,s+56|0,s+52|0,s+48|0,b);o=(c[s+60>>2]|0)+(M(c[s+56>>2]|0,d)|0)|0;r=c[a+4>>2]|0;q=(c[s+68>>2]|0)==0;p=c[s+76>>2]|0;if((c[s+48>>2]|0)==3){n=c[s+64>>2]|0;l=p+(M(n,e[o+4>>1]|0)|0)|0;if(q){i=+g[l+4>>2]*+g[r+8>>2];j=+g[l>>2]*+g[r+4>>2];m=l+8|0;f=+g[r+12>>2]}else{i=+g[r+8>>2]*+h[l+8>>3];j=+g[r+4>>2]*+h[l>>3];m=r+12|0;f=+h[l+16>>3]}f=+g[m>>2]*f;g[s+32>>2]=j;g[s+36>>2]=i;g[s+40>>2]=f;g[s+44>>2]=0.0;l=p+(M(n,e[o+2>>1]|0)|0)|0;if(q){i=+g[l+4>>2]*+g[r+8>>2];j=+g[l>>2]*+g[r+4>>2];m=l+8|0;f=+g[r+12>>2]}else{i=+g[r+8>>2]*+h[l+8>>3];j=+g[r+4>>2]*+h[l>>3];m=r+12|0;f=+h[l+16>>3]}f=+g[m>>2]*f;g[s+16>>2]=j;g[s+20>>2]=i;g[s+24>>2]=f;g[s+28>>2]=0.0;m=p+(M(n,e[o>>1]|0)|0)|0;if(q){i=+g[m+4>>2]*+g[r+8>>2];j=+g[m>>2]*+g[r+4>>2];l=m+8|0;f=+g[r+12>>2]}else{i=+g[r+8>>2]*+h[m+8>>3];j=+g[r+4>>2]*+h[m>>3];l=r+12|0;f=+h[m+16>>3]}f=+g[l>>2]*f;g[s>>2]=j;r=s+4|0;g[r>>2]=i;r=s+8|0;g[r>>2]=f;r=s+12|0;g[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;Qb[q&127](r,s,b,d);d=c[a+4>>2]|0;a=c[d>>2]|0;a=a+24|0;a=c[a>>2]|0;Jb[a&127](d,b);k=s;return}else{n=c[s+64>>2]|0;l=p+(M(n,c[o+8>>2]|0)|0)|0;if(q){m=l+8|0;i=+g[l+4>>2]*+g[r+8>>2];j=+g[l>>2]*+g[r+4>>2];f=+g[r+12>>2]}else{m=r+12|0;i=+g[r+8>>2]*+h[l+8>>3];j=+g[r+4>>2]*+h[l>>3];f=+h[l+16>>3]}f=+g[m>>2]*f;g[s+32>>2]=j;g[s+36>>2]=i;g[s+40>>2]=f;g[s+44>>2]=0.0;l=p+(M(n,c[o+4>>2]|0)|0)|0;if(q){i=+g[l+4>>2]*+g[r+8>>2];j=+g[l>>2]*+g[r+4>>2];m=l+8|0;f=+g[r+12>>2]}else{i=+g[r+8>>2]*+h[l+8>>3];j=+g[r+4>>2]*+h[l>>3];m=r+12|0;f=+h[l+16>>3]}f=+g[m>>2]*f;g[s+16>>2]=j;g[s+20>>2]=i;g[s+24>>2]=f;g[s+28>>2]=0.0;m=p+(M(n,c[o>>2]|0)|0)|0;if(q){i=+g[m+4>>2]*+g[r+8>>2];j=+g[m>>2]*+g[r+4>>2];l=m+8|0;f=+g[r+12>>2]}else{i=+g[r+8>>2]*+h[m+8>>3];j=+g[r+4>>2]*+h[m>>3];l=r+12|0;f=+h[m+16>>3]}f=+g[l>>2]*f;g[s>>2]=j;r=s+4|0;g[r>>2]=i;r=s+8|0;g[r>>2]=f;r=s+12|0;g[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;Qb[q&127](r,s,b,d);d=c[a+4>>2]|0;a=c[d>>2]|0;a=a+24|0;a=c[a>>2]|0;Jb[a&127](d,b);k=s;return}}function He(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;hh(a,b+(c*284|0)|0,d);i=+g[b+(c*284|0)+52>>2];f=+g[b+(c*284|0)+56>>2];e=+g[b+(c*284|0)+60>>2];J=+g[b+(c*284|0)+76>>2];x=+g[b+(c*284|0)+72>>2];z=+g[b+(c*284|0)+68>>2];w=1.0/+A(+((x*-i-z*-f)*(x*-i-z*-f)+((J*-f-x*-e)*(J*-f-x*-e)+(z*-e-J*-i)*(z*-e-J*-i))));v=(J*-f-x*-e)*w;u=(z*-e-J*-i)*w;w=(x*-i-z*-f)*w;j=+g[b+(c*284|0)+232>>2]*.5;n=+D(+j)/+A(+(i*i+f*f+e*e));j=+C(+j);m=2.0/(j*j+(n*-e*n*-e+(n*-i*n*-i+n*-f*n*-f)));H=1.0-(n*-f*n*-f*m+n*-e*n*-e*m);G=n*-i*n*-f*m-j*n*-e*m;I=n*-i*n*-e*m+j*n*-f*m;E=n*-i*n*-f*m+j*n*-e*m;B=1.0-(n*-i*n*-i*m+n*-e*n*-e*m);F=n*-f*n*-e*m-j*n*-i*m;l=n*-i*n*-e*m-j*n*-f*m;j=n*-f*n*-e*m+j*n*-i*m;m=1.0-(n*-i*n*-i*m+n*-f*n*-f*m);n=+g[b+(c*284|0)+236>>2]*-.5;y=+D(+n)/+A(+(J*J+(x*x+z*z)));n=+C(+n);r=2.0/(n*n+(J*y*J*y+(z*y*z*y+x*y*x*y)));o=1.0-(x*y*x*y*r+J*y*J*y*r);k=z*y*x*y*r-n*J*y*r;t=z*y*J*y*r+n*x*y*r;p=z*y*x*y*r+n*J*y*r;h=1.0-(z*y*z*y*r+J*y*J*y*r);s=x*y*J*y*r-n*z*y*r;q=z*y*J*y*r-n*x*y*r;n=x*y*J*y*r+n*z*y*r;r=1.0-(z*y*z*y*r+x*y*x*y*r);y=+g[b+(c*284|0)+68>>2];x=+g[b+(c*284|0)+72>>2];z=+g[b+(c*284|0)+76>>2];g[b+(c*284|0)+92>>2]=z*(H*t+G*s+I*r)+(y*(I*q+(G*p+H*o))+x*(I*n+(H*k+G*h)));g[b+(c*284|0)+96>>2]=w*(H*t+G*s+I*r)+(v*(I*q+(G*p+H*o))+u*(I*n+(H*k+G*h)));g[b+(c*284|0)+100>>2]=(H*t+G*s+I*r)*-e+((I*q+(G*p+H*o))*-i+(I*n+(H*k+G*h))*-f);g[b+(c*284|0)+104>>2]=0.0;g[b+(c*284|0)+108>>2]=z*(E*t+s*B+F*r)+(y*(F*q+(p*B+E*o))+x*(F*n+(E*k+B*h)));g[b+(c*284|0)+112>>2]=w*(E*t+s*B+F*r)+(v*(F*q+(p*B+E*o))+u*(F*n+(E*k+B*h)));g[b+(c*284|0)+116>>2]=(E*t+s*B+F*r)*-e+((F*q+(p*B+E*o))*-i+(F*n+(E*k+B*h))*-f);g[b+(c*284|0)+120>>2]=0.0;g[b+(c*284|0)+124>>2]=z*(l*t+j*s+m*r)+(y*(q*m+(j*p+l*o))+x*(n*m+(l*k+j*h)));g[b+(c*284|0)+128>>2]=w*(l*t+j*s+m*r)+(v*(q*m+(j*p+l*o))+u*(n*m+(l*k+j*h)));g[b+(c*284|0)+132>>2]=(l*t+j*s+m*r)*-e+((q*m+(j*p+l*o))*-i+(n*m+(l*k+j*h))*-f);g[b+(c*284|0)+136>>2]=0.0;h=+g[b+(c*284|0)+32>>2];f=f*h+ +g[b+(c*284|0)+40>>2];e=e*h+ +g[b+(c*284|0)+44>>2];g[b+(c*284|0)+140>>2]=+g[b+(c*284|0)+36>>2]+i*h;g[b+(c*284|0)+144>>2]=f;g[b+(c*284|0)+148>>2]=e;g[b+(c*284|0)+152>>2]=0.0;return}function Ie(b,d,e,f,h,i,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,B=0.0,C=0.0,D=0.0;c[b+4>>2]=4;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=7944;g[b+688>>2]=0.0;g[b+692>>2]=-1.0;g[b+696>>2]=.8999999761581421;g[b+700>>2]=.30000001192092896;g[b+704>>2]=1.0;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;a[b+736>>0]=0;a[b+737>>0]=0;a[b+738>>0]=0;a[b+739>>0]=1;a[b+740>>0]=l&1;c[b+748>>2]=0;c[b+600>>2]=c[f>>2];c[b+600+4>>2]=c[f+4>>2];c[b+600+8>>2]=c[f+8>>2];c[b+600+12>>2]=c[f+12>>2];m=+g[d+4>>2];n=+g[d+20>>2];o=+g[d+36>>2];p=+g[i>>2];q=+g[i+4>>2];r=+g[i+8>>2];do if(!(m*p+n*q+o*r>=.9999998807907104))if(!(m*p+n*q+o*r<=-.9999998807907104)){e=(g[j>>2]=o*q-n*r,c[j>>2]|0);s=(g[j>>2]=m*r-o*p,c[j>>2]|0);f=(g[j>>2]=n*p-m*q,c[j>>2]|0);x=r*(m*r-o*p)-q*(n*p-m*q);y=p*(n*p-m*q)-r*(o*q-n*r);w=q*(o*q-n*r)-p*(m*r-o*p);break}else{e=c[d+8>>2]|0;f=c[d+40>>2]|0;s=c[d+24>>2]|0;x=+g[d+12>>2];y=+g[d+28>>2];w=+g[d+44>>2];break}else{e=c[d+8>>2]|0;f=c[d+40>>2]|0;s=c[d+24>>2]|0;x=-+g[d+12>>2];y=-+g[d+28>>2];w=-+g[d+44>>2]}while(0);g[b+552>>2]=x;c[b+556>>2]=e;c[b+560>>2]=c[i>>2];g[b+564>>2]=0.0;g[b+568>>2]=y;c[b+572>>2]=s;c[b+576>>2]=c[i+4>>2];g[b+580>>2]=0.0;g[b+584>>2]=w;c[b+588>>2]=f;c[b+592>>2]=c[i+8>>2];g[b+596>>2]=0.0;p=+g[i+4>>2];t=+g[k+8>>2];q=+g[i+8>>2];u=+g[k+4>>2];v=+g[k>>2];m=+g[i>>2];do if(t*q+(p*u+v*m)<-.9999998807907104)if(+z(+q)>.7071067690849304){n=1.0/+A(+(p*p+q*q));o=-(q*n);r=0.0;n=p*n;m=0.0;break}else{q=1.0/+A(+(p*p+m*m));o=m*q;r=0.0;n=0.0;m=-(p*q);break}else{B=+A(+((t*q+(p*u+v*m)+1.0)*2.0));o=(q*v-t*m)*(1.0/B);r=B*.5;n=(u*m-p*v)*(1.0/B);m=(p*t-q*u)*(1.0/B)}while(0);D=x*r+w*o-y*n;q=y*r+x*n-w*m;p=w*r+y*m-x*o;C=-(x*m)-y*o-w*n;x=-m;o=-o;w=-n;B=q*w+(r*D+C*x)-p*o;y=p*x+(r*q+C*o)-D*w;x=D*o+(C*w+r*p)-q*x;c[b+664>>2]=c[h>>2];c[b+664+4>>2]=c[h+4>>2];c[b+664+8>>2]=c[h+8>>2];c[b+664+12>>2]=c[h+12>>2];g[b+616>>2]=B;g[b+620>>2]=u*x-t*y;c[b+624>>2]=c[k>>2];g[b+628>>2]=0.0;g[b+632>>2]=y;g[b+636>>2]=t*B-v*x;c[b+640>>2]=c[k+4>>2];g[b+644>>2]=0.0;g[b+648>>2]=x;g[b+652>>2]=v*y-u*B;c[b+656>>2]=c[k+8>>2];g[b+660>>2]=0.0;g[b+732>>2]=l?-1.0:1.0;return}function Je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;o=k;k=k+16|0;n=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];l=+g[e>>2];m=+g[e+4>>2];h=+g[e+8>>2];if(!(a[b+228>>0]|0)){z=+g[b+100>>2];w=+g[b+116>>2];C=+g[b+132>>2];y=+g[b+104>>2];u=+g[b+120>>2];B=+g[b+136>>2];x=+g[b+108>>2];s=+g[b+124>>2];A=+g[b+140>>2];F=-+g[b+148>>2];E=-+g[b+152>>2];D=-+g[b+156>>2];J=+g[b+164>>2];I=+g[b+168>>2];r=+g[b+172>>2];H=+g[b+180>>2];G=+g[b+184>>2];q=+g[b+188>>2];v=+g[b+196>>2];t=+g[b+200>>2];p=+g[b+204>>2];r=h*(C*J+B*I+A*r)+(l*(z*J+y*I+x*r)+m*(w*J+u*I+s*r))+(J*(z*F+w*E+C*D)+(y*F+u*E+B*D)*I+(x*F+s*E+A*D)*r+ +g[b+212>>2]);q=h*(C*H+B*G+A*q)+(l*(z*H+y*G+x*q)+m*(w*H+u*G+s*q))+((z*F+w*E+C*D)*H+(y*F+u*E+B*D)*G+(x*F+s*E+A*D)*q+ +g[b+216>>2]);p=(z*F+w*E+C*D)*v+(y*F+u*E+B*D)*t+(x*F+s*E+A*D)*p+ +g[b+220>>2]+(h*(C*v+B*t+A*p)+(l*(z*v+y*t+x*p)+m*(w*v+u*t+s*p)));g[o>>2]=r;g[o+4>>2]=q;g[o+8>>2]=p;n=n*(n*f+l-r)+i*(i*f+m-q)+j*(j*f+h-p);e=o+12|0;g[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ob[e&15](b,d,o,n);k=o;return}else{z=+g[b+36>>2];C=+g[b+52>>2];w=+g[b+68>>2];A=+g[b+40>>2];E=+g[b+56>>2];x=+g[b+72>>2];B=+g[b+44>>2];G=+g[b+60>>2];y=+g[b+76>>2];t=-+g[b+84>>2];u=-+g[b+88>>2];v=-+g[b+92>>2];p=+g[b+164>>2];q=+g[b+168>>2];H=+g[b+172>>2];r=+g[b+180>>2];s=+g[b+184>>2];I=+g[b+188>>2];D=+g[b+196>>2];F=+g[b+200>>2];J=+g[b+204>>2];H=(j*f+h)*(w*p+x*q+y*H)+((n*f+l)*(z*p+A*q+B*H)+(i*f+m)*(C*p+E*q+G*H))+(p*(z*t+C*u+w*v)+(A*t+E*u+x*v)*q+(B*t+G*u+y*v)*H+ +g[b+212>>2]);I=(j*f+h)*(w*r+x*s+y*I)+((n*f+l)*(z*r+A*s+B*I)+(i*f+m)*(C*r+E*s+G*I))+((z*t+C*u+w*v)*r+(A*t+E*u+x*v)*s+(B*t+G*u+y*v)*I+ +g[b+216>>2]);J=(z*t+C*u+w*v)*D+(A*t+E*u+x*v)*F+(B*t+G*u+y*v)*J+ +g[b+220>>2]+((j*f+h)*(w*D+x*F+y*J)+((n*f+l)*(z*D+A*F+B*J)+(i*f+m)*(C*D+E*F+G*J)));g[o>>2]=H+n*(n*(H-l)+i*(I-m)+j*(J-h));g[o+4>>2]=I+i*(n*(H-l)+i*(I-m)+j*(J-h));g[o+8>>2]=J+j*(n*(H-l)+i*(I-m)+j*(J-h));J=n*(H-l)+i*(I-m)+j*(J-h);e=o+12|0;g[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ob[e&15](b,d,o,J);k=o;return}}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!((a|0)!=0&(b|0)!=0))return;c[7584]=(c[7584]|0)+1;e=lc(1043)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}c[f>>2]=a;c[f+4>>2]=b;e=1;b=124;h=128;a=f;l=128;k=f;i=f;o=f;while(1){r=e+-1|0;p=c[a+(r<<3)>>2]|0;q=c[a+(r<<3)+4>>2]|0;if((r|0)>(b|0)){n=l<<1;do if((l|0)<(n|0)&(h|0)<(n|0)){if(l){c[7584]=(c[7584]|0)+1;b=lc((l<<4|3)+16|0)|0;if(!b)f=0;else{c[(b+4+15&-16)+-4>>2]=b;f=b+4+15&-16}if((l|0)>0){b=0;do{j=a+(b<<3)|0;k=c[j+4>>2]|0;m=f+(b<<3)|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;b=b+1|0}while((b|0)!=(l|0));h=f;a=f}else{h=f;b=f;s=13}}else{h=0;b=0;s=13}if((s|0)==13){s=0;if(!a){j=n;a=b;f=h;i=h;b=h;break}else a=b}if(!o){j=n;f=h;i=h;b=h}else{c[7585]=(c[7585]|0)+1;Bd(c[o+-4>>2]|0);j=n;f=h;i=h;b=h}}else{j=h;f=k;b=o}while(0);m=n+-4|0;h=j;l=n;k=f;j=b}else{m=b;j=o}do if((p|0)==(q|0))if(!(c[p+40>>2]|0))e=r;else{q=c[p+36>>2]|0;c[a+(r<<3)>>2]=q;c[a+(r<<3)+4>>2]=q;q=c[p+40>>2]|0;r=e+1|0;c[a+(e<<3)>>2]=q;c[a+(e<<3)+4>>2]=q;q=c[p+40>>2]|0;c[a+(r<<3)>>2]=c[p+36>>2];c[a+(r<<3)+4>>2]=q;e=e+2|0}else if(((((+g[p>>2]<=+g[q+16>>2]?+g[p+16>>2]>=+g[q>>2]:0)?+g[p+4>>2]<=+g[q+20>>2]:0)?+g[p+20>>2]>=+g[q+4>>2]:0)?+g[p+8>>2]<=+g[q+24>>2]:0)?+g[p+24>>2]>=+g[q+8>>2]:0){b=(c[q+40>>2]|0)!=0;if(!(c[p+40>>2]|0))if(b){o=c[q+36>>2]|0;c[a+(r<<3)>>2]=p;c[a+(r<<3)+4>>2]=o;r=c[q+40>>2]|0;c[a+(e<<3)>>2]=p;c[a+(e<<3)+4>>2]=r;e=e+1|0;break}else{Nb[c[(c[d>>2]|0)+8>>2]&127](d,p,q);e=r;break}else{f=c[p+36>>2]|0;if(b){n=c[q+36>>2]|0;c[a+(r<<3)>>2]=f;c[a+(r<<3)+4>>2]=n;n=c[q+36>>2]|0;o=e+1|0;c[a+(e<<3)>>2]=c[p+40>>2];c[a+(e<<3)+4>>2]=n;n=c[q+40>>2]|0;r=e+2|0;c[a+(o<<3)>>2]=c[p+36>>2];c[a+(o<<3)+4>>2]=n;q=c[q+40>>2]|0;c[a+(r<<3)>>2]=c[p+40>>2];c[a+(r<<3)+4>>2]=q;e=e+3|0;break}else{c[a+(r<<3)>>2]=f;c[a+(r<<3)+4>>2]=q;c[a+(e<<3)>>2]=c[p+40>>2];c[a+(e<<3)+4>>2]=q;e=e+1|0;break}}}else e=r;while(0);if(!e)break;else{b=m;o=j}}if((a|0)==0|(k|0)==0)return;c[7585]=(c[7585]|0)+1;Bd(c[k+-4>>2]|0);return}function Le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0;K=k;k=k+32|0;if(!a){k=K;return}F=+g[d>>2]-+g[b>>2];E=+g[d+4>>2]-+g[b+4>>2];x=+g[d+8>>2]-+g[b+8>>2];y=1.0/+A(+(F*F+E*E+x*x));z=F*y==0.0?999999984306749440.0:1.0/(F*y);B=E*y==0.0?999999984306749440.0:1.0/(E*y);C=x*y==0.0?999999984306749440.0:1.0/(x*y);c[7584]=(c[7584]|0)+1;d=lc(531)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Bl(d+4|0,0,508)|0;c[d>>2]=a;q=1;p=126;o=128;t=d;u=128;w=d;m=d;f=d;while(1){r=q+-1|0;d=t+(r<<2)|0;v=c[d>>2]|0;c[K>>2]=c[v>>2];c[K+4>>2]=c[v+4>>2];c[K+8>>2]=c[v+8>>2];c[K+12>>2]=c[v+12>>2];c[K+16>>2]=c[v+16>>2];c[K+16+4>>2]=c[v+16+4>>2];c[K+16+8>>2]=c[v+16+8>>2];c[K+16+12>>2]=c[v+16+12>>2];i=+g[b>>2];h=z*(+g[K+((z<0.0&1)<<4)>>2]-i);i=z*(+g[K+(((z<0.0^1)&1)<<4)>>2]-i);l=+g[b+4>>2];j=B*(+g[K+((B<0.0&1)<<4)+4>>2]-l);l=B*(+g[K+(((B<0.0^1)&1)<<4)+4>>2]-l);do if((!(j>i|h>l)?(G=j>h?j:h,D=l<i?l:i,I=+g[b+8>>2],H=C*(+g[K+((C<0.0&1)<<4)+8>>2]-I),I=C*(+g[K+(((C<0.0^1)&1)<<4)+8>>2]-I),!(H>D|G>I)):0)?((I<D?I:D)>0.0?(H>G?H:G)<x*x*y+(F*F*y+E*E*y):0):0){if(!(c[v+40>>2]|0)){Jb[c[(c[e>>2]|0)+12>>2]&127](e,v);q=r;d=t;n=u;a=w;break}if((r|0)>(p|0)){s=u<<1;if((u|0)<(s|0)){do if((o|0)<(s|0)){if(u){c[7584]=(c[7584]|0)+1;d=lc((u<<3|3)+16|0)|0;if(!d)a=0;else{c[(d+4+15&-16)+-4>>2]=d;a=d+4+15&-16}if((u|0)>0){d=0;do{c[a+(d<<2)>>2]=c[t+(d<<2)>>2];d=d+1|0}while((d|0)!=(u|0));f=a;d=a}else{f=a;d=a;J=18}}else{f=0;d=0;J=18}if((J|0)==18){J=0;if(!t){o=s;m=f;n=f;a=f;break}}if(!w){o=s;m=f;n=f;a=f}else{c[7585]=(c[7585]|0)+1;Bd(c[w+-4>>2]|0);o=s;m=f;n=f;a=f}}else{d=t;n=f;a=w}while(0);Bl(d+(u<<2)|0,0,u<<2|0)|0;p=d+(r<<2)|0;f=n}else{p=d;d=t;a=w}r=s+-2|0;n=s}else{r=p;p=d;d=t;n=u;a=w}c[p>>2]=c[v+36>>2];c[d+(q<<2)>>2]=c[v+40>>2];q=q+1|0;p=r}else{q=r;d=t;n=u;a=w}while(0);if(!q)break;t=d;u=n;w=a}if((d|0)==0|(m|0)==0){k=K;return}c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0);k=K;return}function Me(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=k;k=k+16|0;Wj(17653);l=c[b+204>>2]|0;Nb[c[(c[l>>2]|0)+8>>2]&127](l,b,c[b+24>>2]|0);l=c[b+308>>2]|0;if((l|0)>0){m=c[b+316>>2]|0;j=0;do{e=c[m+(j<<2)>>2]|0;d=c[e+740>>2]|0;e=c[e+744>>2]|0;if((d|0?(e|0?(c[d+204>>2]&3|0)==0:0):0)?(c[e+204>>2]&3|0)==0:0){f=c[d+208>>2]|0;d=c[e+208>>2]|0;i=c[(c[b+204>>2]|0)+16>>2]|0;e=c[i+(f<<3)>>2]|0;if((e|0)!=(f|0)){c[i+(f<<3)>>2]=c[i+(e<<3)>>2];f=c[i+(e<<3)>>2]|0;e=c[i+(f<<3)>>2]|0;if((f|0)!=(e|0)){h=i+(f<<3)|0;do{f=i+(e<<3)|0;c[h>>2]=c[f>>2];f=c[f>>2]|0;h=i+(f<<3)|0;e=c[h>>2]|0}while((f|0)!=(e|0))}}e=c[i+(d<<3)>>2]|0;if((e|0)!=(d|0)){c[i+(d<<3)>>2]=c[i+(e<<3)>>2];d=c[i+(e<<3)>>2]|0;e=c[i+(d<<3)>>2]|0;if((d|0)!=(e|0)){h=i+(d<<3)|0;do{d=i+(e<<3)|0;c[h>>2]=c[d>>2];d=c[d>>2]|0;h=i+(d<<3)|0;e=c[h>>2]|0}while((d|0)!=(e|0))}}if((f|0)!=(d|0)){c[i+(f<<3)>>2]=d;h=i+(d<<3)+4|0;c[h>>2]=(c[h>>2]|0)+(c[i+(f<<3)+4>>2]|0)}}j=j+1|0}while((j|0)!=(l|0))}l=c[b+212>>2]|0;if((l|0)>0){m=c[b+220>>2]|0;j=0;do{d=c[m+(j<<2)>>2]|0;if((a[d+20>>0]|0?(n=c[d+28>>2]|0,(c[n+204>>2]&3|0)==0):0)?(o=c[d+32>>2]|0,(c[o+204>>2]&3|0)==0):0){e=c[n+208>>2]|0;d=c[o+208>>2]|0;i=c[(c[b+204>>2]|0)+16>>2]|0;f=c[i+(e<<3)>>2]|0;if((f|0)!=(e|0)){c[i+(e<<3)>>2]=c[i+(f<<3)>>2];e=c[i+(f<<3)>>2]|0;f=c[i+(e<<3)>>2]|0;if((e|0)!=(f|0)){h=i+(e<<3)|0;do{e=i+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=i+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}}f=c[i+(d<<3)>>2]|0;if((f|0)!=(d|0)){c[i+(d<<3)>>2]=c[i+(f<<3)>>2];d=c[i+(f<<3)>>2]|0;f=c[i+(d<<3)>>2]|0;if((d|0)!=(f|0)){h=i+(d<<3)|0;do{d=i+(f<<3)|0;c[h>>2]=c[d>>2];d=c[d>>2]|0;h=i+(d<<3)|0;f=c[h>>2]|0}while((d|0)!=(f|0))}}if((e|0)!=(d|0)){c[i+(e<<3)>>2]=d;h=i+(d<<3)+4|0;c[h>>2]=(c[h>>2]|0)+(c[i+(e<<3)+4>>2]|0)}}j=j+1|0}while((j|0)!=(l|0))}d=c[b+204>>2]|0;Jb[c[(c[d>>2]|0)+12>>2]&127](d,b);d=c[3369]|0;o=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=o;if(o|0){k=p;return}do if(c[d+4>>2]|0){bb(p|0,0)|0;o=c[7583]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[p+4>>2]|0)-(c[o+4>>2]|0)+(((c[p>>2]|0)-(c[o>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3369]|0;break}else{k=p;return}}while(0);c[3369]=c[d+20>>2];k=p;return}function Ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0,J=0.0;d=k;k=k+96|0;l=+g[b>>2];m=+g[a+28>>2];n=+g[b+4>>2];o=+g[a+32>>2];p=+g[b+8>>2];q=+g[a+36>>2];r=+g[a+44>>2];s=+g[a+48>>2];t=+g[a+52>>2];u=+g[a+60>>2];v=+g[a+64>>2];w=+g[a+68>>2];x=+g[a+76>>2];y=+g[a+80>>2];z=+g[a+84>>2];g[d+80>>2]=l*m+n*o+p*q+x;g[d+80+4>>2]=l*r+n*s+p*t+y;g[d+80+8>>2]=l*u+n*v+p*w+z;g[d+80+12>>2]=0.0;B=+g[b+16>>2];C=+g[b+20>>2];D=+g[b+24>>2];g[d+64>>2]=x+(m*B+o*C+q*D);g[d+64+4>>2]=y+(r*B+s*C+t*D);g[d+64+8>>2]=z+(u*B+v*C+w*D);g[d+64+12>>2]=0.0;E=+g[b+32>>2];F=+g[b+36>>2];j=+g[b+40>>2];g[d+48>>2]=x+(m*E+o*F+q*j);g[d+48+4>>2]=y+(r*E+s*F+t*j);g[d+48+8>>2]=z+(u*E+v*F+w*j);g[d+48+12>>2]=0.0;f=(l*m+n*o+p*q+x+(x+(m*B+o*C+q*D))+(x+(m*E+o*F+q*j)))*.3333333432674408;h=(l*r+n*s+p*t+y+(y+(r*B+s*C+t*D))+(y+(r*E+s*F+t*j)))*.3333333432674408;i=(l*u+n*v+p*w+z+(z+(u*B+v*C+w*D))+(z+(u*E+v*F+w*j)))*.3333333432674408;g[d+32>>2]=f;g[d+32+4>>2]=h;g[d+32+8>>2]=i;g[d+32+12>>2]=0.0;b=c[a+8>>2]|0;if(!((tb[c[(c[b>>2]|0)+48>>2]&255](b)|0)&16384)){e=c[a+8>>2]|0;G=c[e>>2]|0;G=G+8|0;G=c[G>>2]|0;b=a+12|0;Qb[G&127](e,d+80|0,d+64|0,b);e=c[a+8>>2]|0;G=c[e>>2]|0;G=G+8|0;G=c[G>>2]|0;Qb[G&127](e,d+64|0,d+48|0,b);a=c[a+8>>2]|0;e=c[a>>2]|0;e=e+8|0;e=c[e>>2]|0;Qb[e&127](a,d+48|0,d+80|0,b);k=d;return}J=+g[d+80>>2];I=y+(r*B+s*C+t*D)-(l*r+n*s+p*t+y);H=z+(u*B+v*C+w*D)-(l*u+n*v+p*w+z);y=y+(r*E+s*F+t*j)-(l*r+n*s+p*t+y);w=z+(u*E+v*F+w*j)-(l*u+n*v+p*w+z);z=H*(x+(m*E+o*F+q*j)-J)-(x+(m*B+o*C+q*D)-J)*w;E=(x+(m*B+o*C+q*D)-J)*y-I*(x+(m*E+o*F+q*j)-J);F=1.0/+A(+(E*E+((I*w-H*y)*(I*w-H*y)+z*z)));c[d+16>>2]=1065353216;c[d+16+4>>2]=1065353216;c[d+16+8>>2]=0;g[d+16+12>>2]=0.0;b=c[a+8>>2]|0;e=c[(c[b>>2]|0)+8>>2]|0;g[d>>2]=(I*w-H*y)*F+f;g[d+4>>2]=z*F+h;g[d+8>>2]=E*F+i;g[d+12>>2]=0.0;Qb[e&127](b,d+32|0,d,d+16|0);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;G=a+12|0;Qb[e&127](b,d+80|0,d+64|0,G);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;Qb[e&127](b,d+64|0,d+48|0,G);a=c[a+8>>2]|0;b=c[a>>2]|0;b=b+8|0;b=c[b>>2]|0;Qb[b&127](a,d+48|0,d+80|0,G);k=d;return}function Oe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0;u=k;k=k+192|0;t=c[(c[b+4>>2]|0)+740>>2]|0;m=c[(c[b+8>>2]|0)+8>>2]|0;n=+g[e>>2];o=+g[d>>2]*f+n;p=+g[e+4>>2];q=+g[d+4>>2]*f+p;r=+g[e+8>>2];s=+g[d+8>>2]*f+r;if((t|0)!=(m|0)){v=c[(c[b+12>>2]|0)+8>>2]|0;x=o-+g[v+52>>2];w=q-+g[v+56>>2];l=s-+g[v+60>>2];h=m;i=x*+g[v+4>>2]+w*+g[v+20>>2]+l*+g[v+36>>2];j=x*+g[v+8>>2]+w*+g[v+24>>2]+l*+g[v+40>>2];l=x*+g[v+12>>2]+w*+g[v+28>>2]+l*+g[v+44>>2]}else{w=o-+g[t+52>>2];x=q-+g[t+56>>2];l=s-+g[t+60>>2];h=c[(c[b+12>>2]|0)+8>>2]|0;i=w*+g[t+4>>2]+x*+g[t+20>>2]+l*+g[t+36>>2];j=w*+g[t+8>>2]+x*+g[t+24>>2]+l*+g[t+40>>2];l=w*+g[t+12>>2]+x*+g[t+28>>2]+l*+g[t+44>>2]}n=n-+g[h+52>>2];p=p-+g[h+56>>2];x=r-+g[h+60>>2];r=n*+g[h+4>>2]+p*+g[h+20>>2]+x*+g[h+36>>2];w=n*+g[h+8>>2]+p*+g[h+24>>2]+x*+g[h+40>>2];x=n*+g[h+12>>2]+p*+g[h+28>>2]+x*+g[h+44>>2];g[u>>2]=i;g[u+4>>2]=j;g[u+8>>2]=l;g[u+12>>2]=0.0;g[u+16>>2]=r;g[u+20>>2]=w;g[u+24>>2]=x;g[u+28>>2]=0.0;c[u+64>>2]=c[d>>2];c[u+64+4>>2]=c[d+4>>2];c[u+64+8>>2]=c[d+8>>2];c[u+64+12>>2]=c[d+12>>2];g[u+80>>2]=f;g[u+84>>2]=0.0;g[u+88>>2]=0.0;g[u+92>>2]=0.0;c[u+112>>2]=0;a[u+116>>0]=0;c[u+120>>2]=0;c[u+120+4>>2]=0;c[u+120+8>>2]=0;c[u+120+12>>2]=0;c[u+120+16>>2]=0;c[u+120+20>>2]=0;c[u+120+24>>2]=0;c[u+120+28>>2]=0;g[u+48>>2]=o;g[u+52>>2]=q;g[u+56>>2]=s;g[u+60>>2]=0.0;c[u+32>>2]=c[e>>2];c[u+32+4>>2]=c[e+4>>2];c[u+32+8>>2]=c[e+8>>2];c[u+32+12>>2]=c[e+12>>2];if((t|0)!=(m|0)){v=b+24|0;d=b+28|0;e=b+16|0;h=b+20|0;v=c[v>>2]|0;d=c[d>>2]|0;e=c[e>>2]|0;h=c[h>>2]|0;z=u+96|0;c[z>>2]=h;z=u+100|0;c[z>>2]=e;z=u+104|0;c[z>>2]=d;z=u+108|0;c[z>>2]=v;z=b+12|0;y=(t|0)!=(m|0)?z:b+8|0;y=c[y>>2]|0;t=(t|0)!=(m|0)?b+8|0:z;t=c[t>>2]|0;m=b+32|0;m=c[m>>2]|0;b=c[m>>2]|0;b=b+12|0;b=c[b>>2]|0;+qb[b&1](m,u,y,h,d,t,e,v);k=u;return}else{z=b+28|0;e=b+24|0;y=b+20|0;d=b+16|0;z=c[z>>2]|0;e=c[e>>2]|0;y=c[y>>2]|0;d=c[d>>2]|0;v=u+96|0;c[v>>2]=d;v=u+100|0;c[v>>2]=y;v=u+104|0;c[v>>2]=e;v=u+108|0;c[v>>2]=z;v=b+12|0;h=(t|0)!=(m|0)?v:b+8|0;h=c[h>>2]|0;v=(t|0)!=(m|0)?b+8|0:v;v=c[v>>2]|0;t=b+32|0;t=c[t>>2]|0;m=c[t>>2]|0;m=m+12|0;m=c[m>>2]|0;+qb[m&1](t,u,h,d,e,v,y,z);k=u;return}}function Pe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;switch(c[a+92>>2]|0){case 2:{c[d>>2]=c[a+96>>2];c[d+4>>2]=c[a+96+4>>2];c[d+8>>2]=c[a+96+8>>2];c[d+12>>2]=c[a+96+12>>2];c[e>>2]=c[a+112>>2];c[e+4>>2]=c[a+112+4>>2];c[e+8>>2]=c[a+112+8>>2];c[e+12>>2]=c[a+112+12>>2];return}case 3:switch(b|0){case 0:{c[d>>2]=c[a+96>>2];c[d+4>>2]=c[a+96+4>>2];c[d+8>>2]=c[a+96+8>>2];c[d+12>>2]=c[a+96+12>>2];c[e>>2]=c[a+112>>2];c[e+4>>2]=c[a+112+4>>2];c[e+8>>2]=c[a+112+8>>2];c[e+12>>2]=c[a+112+12>>2];return}case 1:{c[d>>2]=c[a+112>>2];c[d+4>>2]=c[a+112+4>>2];c[d+8>>2]=c[a+112+8>>2];c[d+12>>2]=c[a+112+12>>2];c[e>>2]=c[a+128>>2];c[e+4>>2]=c[a+128+4>>2];c[e+8>>2]=c[a+128+8>>2];c[e+12>>2]=c[a+128+12>>2];return}case 2:{c[d>>2]=c[a+128>>2];c[d+4>>2]=c[a+128+4>>2];c[d+8>>2]=c[a+128+8>>2];c[d+12>>2]=c[a+128+12>>2];c[e>>2]=c[a+96>>2];c[e+4>>2]=c[a+96+4>>2];c[e+8>>2]=c[a+96+8>>2];c[e+12>>2]=c[a+96+12>>2];return}default:return}case 4:switch(b|0){case 0:{c[d>>2]=c[a+96>>2];c[d+4>>2]=c[a+96+4>>2];c[d+8>>2]=c[a+96+8>>2];c[d+12>>2]=c[a+96+12>>2];c[e>>2]=c[a+112>>2];c[e+4>>2]=c[a+112+4>>2];c[e+8>>2]=c[a+112+8>>2];c[e+12>>2]=c[a+112+12>>2];return}case 1:{c[d>>2]=c[a+112>>2];c[d+4>>2]=c[a+112+4>>2];c[d+8>>2]=c[a+112+8>>2];c[d+12>>2]=c[a+112+12>>2];c[e>>2]=c[a+128>>2];c[e+4>>2]=c[a+128+4>>2];c[e+8>>2]=c[a+128+8>>2];c[e+12>>2]=c[a+128+12>>2];return}case 2:{c[d>>2]=c[a+128>>2];c[d+4>>2]=c[a+128+4>>2];c[d+8>>2]=c[a+128+8>>2];c[d+12>>2]=c[a+128+12>>2];c[e>>2]=c[a+96>>2];c[e+4>>2]=c[a+96+4>>2];c[e+8>>2]=c[a+96+8>>2];c[e+12>>2]=c[a+96+12>>2];return}case 3:{c[d>>2]=c[a+96>>2];c[d+4>>2]=c[a+96+4>>2];c[d+8>>2]=c[a+96+8>>2];c[d+12>>2]=c[a+96+12>>2];c[e>>2]=c[a+144>>2];c[e+4>>2]=c[a+144+4>>2];c[e+8>>2]=c[a+144+8>>2];c[e+12>>2]=c[a+144+12>>2];return}case 4:{c[d>>2]=c[a+112>>2];c[d+4>>2]=c[a+112+4>>2];c[d+8>>2]=c[a+112+8>>2];c[d+12>>2]=c[a+112+12>>2];c[e>>2]=c[a+144>>2];c[e+4>>2]=c[a+144+4>>2];c[e+8>>2]=c[a+144+8>>2];c[e+12>>2]=c[a+144+12>>2];return}case 5:{c[d>>2]=c[a+128>>2];c[d+4>>2]=c[a+128+4>>2];c[d+8>>2]=c[a+128+8>>2];c[d+12>>2]=c[a+128+12>>2];c[e>>2]=c[a+144>>2];c[e+4>>2]=c[a+144+4>>2];c[e+8>>2]=c[a+144+8>>2];c[e+12>>2]=c[a+144+12>>2];return}default:return}default:return}}function Qe(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=7616;c[b+48>>2]=c[f>>2];c[b+48+4>>2]=c[f+4>>2];c[b+48+8>>2]=c[f+8>>2];c[b+48+12>>2]=c[f+12>>2];c[b+64>>2]=c[f+16>>2];c[b+64+4>>2]=c[f+16+4>>2];c[b+64+8>>2]=c[f+16+8>>2];c[b+64+12>>2]=c[f+16+12>>2];c[b+80>>2]=c[f+32>>2];c[b+80+4>>2]=c[f+32+4>>2];c[b+80+8>>2]=c[f+32+8>>2];c[b+80+12>>2]=c[f+32+12>>2];c[b+96>>2]=c[f+48>>2];c[b+96+4>>2]=c[f+48+4>>2];c[b+96+8>>2]=c[f+48+8>>2];c[b+96+12>>2]=c[f+48+12>>2];c[b+112>>2]=c[h>>2];c[b+112+4>>2]=c[h+4>>2];c[b+112+8>>2]=c[h+8>>2];c[b+112+12>>2]=c[h+12>>2];c[b+128>>2]=c[h+16>>2];c[b+128+4>>2]=c[h+16+4>>2];c[b+128+8>>2]=c[h+16+8>>2];c[b+128+12>>2]=c[h+16+12>>2];c[b+144>>2]=c[h+32>>2];c[b+144+4>>2]=c[h+32+4>>2];c[b+144+8>>2]=c[h+32+8>>2];c[b+144+12>>2]=c[h+32+12>>2];c[b+160>>2]=c[h+48>>2];c[b+160+4>>2]=c[h+48+4>>2];c[b+160+8>>2]=c[h+48+8>>2];c[b+160+12>>2]=c[h+48+12>>2];d=b+680|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;g[b+728>>2]=.699999988079071;g[b+732>>2]=1.0;g[b+736>>2]=.5;a[b+788>>0]=0;a[b+788+1>>0]=0;a[b+788+2>>0]=0;c[b+792>>2]=0;c[b+792+4>>2]=0;c[b+792+8>>2]=0;c[b+808>>2]=0;c[b+808+4>>2]=0;c[b+808+8>>2]=0;g[b+928>>2]=0.0;g[b+876>>2]=0.0;g[b+880>>2]=.10000000149011612;g[b+884>>2]=300.0;g[b+868>>2]=1.0;g[b+872>>2]=-1.0;g[b+896>>2]=0.0;g[b+900>>2]=.20000000298023224;g[b+904>>2]=0.0;g[b+908>>2]=0.0;g[b+888>>2]=1.0;g[b+892>>2]=.5;c[b+924>>2]=0;g[b+916>>2]=0.0;a[b+912>>0]=0;g[b+992>>2]=0.0;g[b+940>>2]=0.0;g[b+944>>2]=.10000000149011612;g[b+948>>2]=300.0;g[b+932>>2]=1.0;g[b+936>>2]=-1.0;g[b+960>>2]=0.0;g[b+964>>2]=.20000000298023224;g[b+968>>2]=0.0;g[b+972>>2]=0.0;g[b+952>>2]=1.0;g[b+956>>2]=.5;c[b+988>>2]=0;g[b+980>>2]=0.0;a[b+976>>0]=0;g[b+1056>>2]=0.0;g[b+1004>>2]=0.0;g[b+1008>>2]=.10000000149011612;g[b+1012>>2]=300.0;g[b+996>>2]=1.0;g[b+1e3>>2]=-1.0;g[b+1024>>2]=0.0;g[b+1028>>2]=.20000000298023224;g[b+1032>>2]=0.0;g[b+1036>>2]=0.0;g[b+1016>>2]=1.0;g[b+1020>>2]=.5;c[b+1052>>2]=0;g[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=i&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;nd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);return}function Re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0.0;a=k;k=k+144|0;switch(c[b+388>>2]&15){case 1:{c[a+112>>2]=6552;h=c[d+8>>2]|0;h=(c[h+236>>2]&2|0)==0?0:h;i=c[d+12>>2]|0;j=+g[i+48>>2];e=+g[i+52>>2];f=+g[i+56>>2];f=+A(+((j-j)*(j-j)+(e-e)*(e-e)+(f-f)*(f-f)));i=c[b+192>>2]|0;e=+jb[c[(c[i>>2]|0)+48>>2]&15](i);i=c[d+4>>2]|0;Qb[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+96|0,a+64|0);c[a>>2]=c[a+96>>2];c[a+4>>2]=c[a+96+4>>2];c[a+8>>2]=c[a+96+8>>2];c[a+12>>2]=c[a+96+12>>2];c[a+16>>2]=c[a+64>>2];c[a+16+4>>2]=c[a+64+4>>2];c[a+16+8>>2]=c[a+64+8>>2];c[a+16+12>>2]=c[a+64+12>>2];c[a+32>>2]=c[a>>2];c[a+32+4>>2]=c[a+4>>2];c[a+32+8>>2]=c[a+8>>2];c[a+32+12>>2]=c[a+12>>2];c[a+32+16>>2]=c[a+16>>2];c[a+32+20>>2]=c[a+20>>2];c[a+32+24>>2]=c[a+24>>2];c[a+32+28>>2]=c[a+28>>2];g[a+32>>2]=+g[a+32>>2]-e;g[a+32+4>>2]=+g[a+32+4>>2]-e;g[a+32+8>>2]=+g[a+32+8>>2]-e;g[a+32+16>>2]=e+ +g[a+32+16>>2];g[a+32+20>>2]=e+ +g[a+32+20>>2];g[a+32+24>>2]=e+ +g[a+32+24>>2];c[a+112+4>>2]=b;c[a+112+8>>2]=d;c[a+112+12>>2]=h;g[a+112+16>>2]=e+f;g[a+112+20>>2]=e;kf(c[b+928>>2]|0,a+32|0,a+112|0);k=a;return}case 2:{g[a+4>>2]=1.0;c[a+8+4>>2]=0;c[a+8+4+4>>2]=0;c[a+8+4+8>>2]=0;c[a>>2]=6588;c[a+24>>2]=b;c[a+28>>2]=d;c[a+8>>2]=c[b+456>>2];i=c[d+4>>2]|0;j=+jb[c[(c[i>>2]|0)+48>>2]&15](i);i=c[b+192>>2]|0;j=j+ +jb[c[(c[i>>2]|0)+48>>2]&15](i);g[a+12>>2]=j;f=+g[(c[d+8>>2]|0)+224>>2];g[a+112>>2]=f;c[a+16>>2]=c[(+g[b+316>>2]<f?b+316|0:a+112|0)>>2];i=c[d+4>>2]|0;Qb[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+112|0,a+96|0);c[a+32>>2]=c[a+112>>2];c[a+32+4>>2]=c[a+112+4>>2];c[a+32+8>>2]=c[a+112+8>>2];c[a+32+12>>2]=c[a+112+12>>2];c[a+32+16>>2]=c[a+96>>2];c[a+32+16+4>>2]=c[a+96+4>>2];c[a+32+16+8>>2]=c[a+96+8>>2];c[a+32+16+12>>2]=c[a+96+12>>2];c[a+64>>2]=c[a+32>>2];c[a+64+4>>2]=c[a+32+4>>2];c[a+64+8>>2]=c[a+32+8>>2];c[a+64+12>>2]=c[a+32+12>>2];c[a+64+16>>2]=c[a+32+16>>2];c[a+64+20>>2]=c[a+32+20>>2];c[a+64+24>>2]=c[a+32+24>>2];c[a+64+28>>2]=c[a+32+28>>2];g[a+64>>2]=+g[a+64>>2]-j;g[a+64+4>>2]=+g[a+64+4>>2]-j;g[a+64+8>>2]=+g[a+64+8>>2]-j;g[a+64+16>>2]=j+ +g[a+64+16>>2];g[a+64+20>>2]=j+ +g[a+64+20>>2];g[a+64+24>>2]=j+ +g[a+64+24>>2];kf(c[b+1048>>2]|0,a+64|0,a);k=a;return}default:{k=a;return}}}function Se(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[e+16>>2]=c[a+20>>2];c[e+20>>2]=c[a+24>>2];c[e+24>>2]=c[a+28>>2];c[e+28>>2]=c[a+32>>2];c[e>>2]=c[a+4>>2];c[e+4>>2]=c[a+8>>2];c[e+8>>2]=c[a+12>>2];c[e+12>>2]=c[a+16>>2];c[e+32>>2]=c[a+36>>2];c[e+36>>2]=c[a+40>>2];c[e+40>>2]=c[a+44>>2];c[e+44>>2]=c[a+48>>2];c[e+48>>2]=c[a+56>>2];c[e+52>>2]=d[a+60>>0];k=c[a+88>>2]|0;c[e+56>>2]=k;if(k){k=vb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+96>>2]|0)|0;c[e+64>>2]=k;if(k|0){j=c[a+88>>2]|0;k=xb[c[(c[f>>2]|0)+16>>2]&63](f,48,j)|0;if((j|0)>0){g=c[a+96>>2]|0;h=c[k+8>>2]|0;i=0;while(1){c[h+16>>2]=c[g+(i<<6)+16>>2];c[h+20>>2]=c[g+(i<<6)+20>>2];c[h+24>>2]=c[g+(i<<6)+24>>2];c[h+28>>2]=c[g+(i<<6)+28>>2];c[h>>2]=c[g+(i<<6)>>2];c[h+4>>2]=c[g+(i<<6)+4>>2];c[h+8>>2]=c[g+(i<<6)+8>>2];c[h+12>>2]=c[g+(i<<6)+12>>2];c[h+32>>2]=c[g+(i<<6)+32>>2];c[h+36>>2]=c[g+(i<<6)+36>>2];c[h+40>>2]=c[g+(i<<6)+40>>2];i=i+1|0;if((i|0)==(j|0))break;else h=h+48|0}}else g=c[a+96>>2]|0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,k,24030,1497453121,g)}}else c[e+64>>2]=0;k=c[a+128>>2]|0;c[e+60>>2]=k;if(k){k=vb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+136>>2]|0)|0;c[e+68>>2]=k;if(k|0){j=c[a+128>>2]|0;k=xb[c[(c[f>>2]|0)+16>>2]&63](f,16,j)|0;if((j|0)>0){g=c[a+136>>2]|0;h=c[k+8>>2]|0;i=0;while(1){c[h+12>>2]=c[g+(i<<4)+12>>2];b[h+6>>1]=b[g+(i<<4)+6>>1]|0;b[h+8>>1]=b[g+(i<<4)+8>>1]|0;b[h+10>>1]=b[g+(i<<4)+10>>1]|0;b[h>>1]=b[g+(i<<4)>>1]|0;b[h+2>>1]=b[g+(i<<4)+2>>1]|0;b[h+4>>1]=b[g+(i<<4)+4>>1]|0;i=i+1|0;if((i|0)==(j|0))break;else h=h+16|0}}else g=c[a+136>>2]|0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,k,24053,1497453121,g)}}else c[e+68>>2]=0;c[e+76>>2]=c[a+144>>2];k=c[a+152>>2]|0;c[e+80>>2]=k;if(!k){c[e+72>>2]=0;return 24097}k=vb[c[(c[f>>2]|0)+28>>2]&31](f,c[a+160>>2]|0)|0;c[e+72>>2]=k;if(!k)return 24097;j=c[a+152>>2]|0;k=xb[c[(c[f>>2]|0)+16>>2]&63](f,20,j)|0;if((j|0)>0){g=c[a+160>>2]|0;h=c[k+8>>2]|0;i=0;while(1){b[h+14>>1]=b[g+(i<<5)+6>>1]|0;b[h+16>>1]=b[g+(i<<5)+8>>1]|0;b[h+18>>1]=b[g+(i<<5)+10>>1]|0;b[h+8>>1]=b[g+(i<<5)>>1]|0;b[h+10>>1]=b[g+(i<<5)+2>>1]|0;b[h+12>>1]=b[g+(i<<5)+4>>1]|0;c[h>>2]=c[g+(i<<5)+12>>2];c[h+4>>2]=c[g+(i<<5)+16>>2];i=i+1|0;if((i|0)==(j|0))break;else h=h+20|0}}else g=c[a+160>>2]|0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,k,24076,1497453121,g);return 24097}function Te(a,d,f,h,i){a=a|0;d=d|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c[d+16>>2]=c[f>>2];c[d+16+4>>2]=c[f+4>>2];c[d+16+8>>2]=c[f+8>>2];c[d+16+12>>2]=c[f+12>>2];c[d+32>>2]=c[h>>2];c[d+32+4>>2]=c[h+4>>2];c[d+32+8>>2]=c[h+8>>2];c[d+32+12>>2]=c[h+12>>2];B=c[a+60>>2]|0;C=c[d+12>>2]&65535;r=+g[a+8>>2];t=+g[a+12>>2];v=+g[a+16>>2];s=+g[a+40>>2];n=(+g[f>>2]-r)*s;u=+g[a+44>>2];o=(+g[f+4>>2]-t)*u;w=+g[a+48>>2];p=(+g[f+8>>2]-v)*w;if(!(n<=0.0)){z=b[a+6>>1]|0;z=b[a+4>>1]&(!(n>=+(z&65535))?~~n&65535:z)}else z=0;if(!(o<=0.0)){A=b[a+6>>1]|0;A=b[a+4>>1]&(!(o>=+(A&65535))?~~o&65535:A)}else A=0;if(!(p<=0.0)){D=b[a+6>>1]|0;D=b[a+4>>1]&(!(p>=+(D&65535))?~~p&65535:D)}else D=0;p=(+g[h>>2]-r)*s;o=(+g[h+4>>2]-t)*u;n=(+g[h+8>>2]-v)*w;if(!(p<=0.0)){q=b[a+6>>1]|0;q=b[a+4>>1]&(!(p>=+(q&65535))?~~p&65535:q)|1}else q=1;if(!(o<=0.0)){x=b[a+6>>1]|0;x=b[a+4>>1]&(!(o>=+(x&65535))?~~o&65535:x)|1}else x=1;if(!(n<=0.0)){y=b[a+6>>1]|0;y=b[a+4>>1]&(!(n>=+(y&65535))?~~n&65535:y)|1}else y=1;j=b[B+(C<<6)+48>>1]|0;k=b[B+(C<<6)+54>>1]|0;E=c[a+68>>2]|0;l=(z&65535)-(e[E+((j&65535)<<2)>>1]|0)|0;m=(q&65535)-(e[E+((k&65535)<<2)>>1]|0)|0;b[E+((j&65535)<<2)>>1]=z;b[E+((k&65535)<<2)>>1]=q;if((l|0)<0)Uh(a,0,j);if((m|0)>0)Qh(a,0,k);if((l|0)>0)Rh(a,0,j,i);if((m|0)<0)Oh(a,0,k,i);j=b[B+(C<<6)+50>>1]|0;k=b[B+(C<<6)+56>>1]|0;E=c[a+72>>2]|0;l=(A&65535)-(e[E+((j&65535)<<2)>>1]|0)|0;m=(x&65535)-(e[E+((k&65535)<<2)>>1]|0)|0;b[E+((j&65535)<<2)>>1]=A;b[E+((k&65535)<<2)>>1]=x;if((l|0)<0)Uh(a,1,j);if((m|0)>0)Qh(a,1,k);if((l|0)>0)Rh(a,1,j,i);if((m|0)<0)Oh(a,1,k,i);m=b[B+(C<<6)+52>>1]|0;j=b[B+(C<<6)+58>>1]|0;E=c[a+76>>2]|0;k=(D&65535)-(e[E+((m&65535)<<2)>>1]|0)|0;l=(y&65535)-(e[E+((j&65535)<<2)>>1]|0)|0;b[E+((m&65535)<<2)>>1]=D;b[E+((j&65535)<<2)>>1]=y;if((k|0)<0)Uh(a,2,m);if((l|0)>0)Qh(a,2,j);if((k|0)>0)Rh(a,2,m,i);if((l|0)<0)Oh(a,2,j,i);j=c[a+108>>2]|0;if(!j)return;Ub[c[(c[j>>2]|0)+16>>2]&31](j,c[d+60>>2]|0,f,h,i);return}function Ue(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var h=0,i=0,j=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0,J=0,K=0.0,L=0.0;J=k;k=k+80|0;Db[c[(c[a>>2]|0)+112>>2]&511](a);E=+g[f>>2]-+g[d>>2];H=+g[f+4>>2]-+g[d+4>>2];w=+g[f+8>>2]-+g[d+8>>2];x=1.0/+A(+(E*E+H*H+w*w));y=c[a+68>>2]|0;if((y|0)>0){B=+z(+(w*x));C=+z(+(H*x));D=+z(+(E*x));v=0;i=0;f=0;h=0;while(1){l=c[a+84>>2]|0;L=+g[a+124>>2];K=+g[a+128>>2];t=+g[a+132>>2];q=+g[a+92>>2];r=+g[a+96>>2];s=+g[a+100>>2];n=q+ +(e[l+(v<<4)+6>>1]|0)/L;o=r+ +(e[l+(v<<4)+8>>1]|0)/K;p=s+ +(e[l+(v<<4)+10>>1]|0)/t;q=(+(e[l+(v<<4)>>1]|0)/L+q+n)*.5;r=(+(e[l+(v<<4)+2>>1]|0)/K+r+o)*.5;s=(+(e[l+(v<<4)+4>>1]|0)/t+s+p)*.5;t=+g[d>>2]-q;if((((!(+z(+t)>n-q)|!(t*E*x>=0.0)?(I=+g[d+4>>2]-r,!(+z(+I)>o-r)|!(I*H*x>=0.0)):0)?(F=+g[d+8>>2]-s,!(+z(+F)>p-s)|!(F*w*x>=0.0)):0)?!(+z(+(F*H*x-I*w*x))>(o-r)*B+(p-s)*C):0)?!(+z(+(t*w*x-F*E*x))>(n-q)*B+(p-s)*D):0){j=!(+z(+(I*E*x-t*H*x))>(n-q)*C+(o-r)*D);u=c[l+(v<<4)+12>>2]|0;if(j&(u|0)>-1){do if((h|0)==(i|0)){j=(h|0)==0?1:h<<1;if((h|0)<(j|0)){if((j|0)!=0?(c[7584]=(c[7584]|0)+1,G=lc((j<<2|3)+16|0)|0,(G|0)!=0):0){c[(G+4+15&-16)+-4>>2]=G;l=G+4+15&-16}else l=0;if((h|0)<=0){if(!f){i=j;f=l;break}}else{i=0;do{c[l+(i<<2)>>2]=c[f+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);i=j;f=l}else i=h}while(0);c[f+(h<<2)>>2]=u;h=h+1|0;u=22}else{m=(u|0)>-1;l=u;u=21}}else{l=c[l+(v<<4)+12>>2]|0;j=0;m=(l|0)>-1;u=21}if((u|0)==21){u=0;if(m|j)u=22;else j=v-l|0}if((u|0)==22){u=0;j=v+1|0}if((j|0)<(y|0))v=j;else break}if(!h)u=26;else{i=c[a+172>>2]|0;g[J+64>>2]=.009999999776482582;do{h=h+-1|0;d=f+(h<<2)|0;G=c[d>>2]|0;y=tb[c[(c[a>>2]|0)+84>>2]&255](a)|0;Nb[c[(c[y>>2]|0)+20>>2]&127](y,G,J);Qb[c[(c[b>>2]|0)+8>>2]&127](b,J,i,c[d>>2]|0)}while((h|0)!=0);Db[c[(c[a>>2]|0)+116>>2]&511](a)}}else{f=0;u=26}if((u|0)==26){Db[c[(c[a>>2]|0)+116>>2]&511](a);if(!f){k=J;return}}c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);k=J;return}function Ve(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;f=+f;h=+h;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0;V=k;k=k+32|0;B=+g[d>>2];D=+g[d+4>>2];C=+g[d+8>>2];w=+g[i>>2];t=+g[i+4>>2];r=+g[i+8>>2];q=+g[j>>2];s=+g[j+4>>2];v=+g[j+8>>2];L=1.0/+A(+((e-B)*(e-B)+(f-D)*(f-D)+(h-C)*(h-C)));M=(e-B)*L==0.0?999999984306749440.0:1.0/((e-B)*L);N=(f-D)*L==0.0?999999984306749440.0:1.0/((f-D)*L);O=(h-C)*L==0.0?999999984306749440.0:1.0/((h-C)*L);P=(B>e?e:B)+w;Q=(D>f?f:D)+t;R=(C>h?h:C)+r;S=(B<e?e:B)+q;T=(D<f?f:D)+s;U=(C<h?h:C)+v;m=c[a+56>>2]|0;a:do if((m|0)>0){o=c[a+96>>2]|0;l=0;y=0;x=m;while(1){l=l+1|0;c[V>>2]=c[o>>2];c[V+4>>2]=c[o+4>>2];c[V+8>>2]=c[o+8>>2];c[V+12>>2]=c[o+12>>2];u=o+16|0;c[V+16>>2]=c[u>>2];c[V+16+4>>2]=c[u+4>>2];c[V+16+8>>2]=c[u+8>>2];c[V+16+12>>2]=c[u+12>>2];g[V>>2]=+g[V>>2]-q;g[V+4>>2]=+g[V+4>>2]-s;g[V+8>>2]=+g[V+8>>2]-v;g[V+16>>2]=+g[V+16>>2]-w;g[V+20>>2]=+g[V+20>>2]-t;g[V+24>>2]=+g[V+24>>2]-r;if(!(P>+g[u>>2])?!(S<+g[o>>2]):0)m=1;else m=0;if(!(!(R>+g[o+24>>2])?!(U<+g[o+8>>2]):0))m=0;if(((!(Q>+g[o+20>>2])?!(T<+g[o+4>>2]|m^1):0)?(F=+g[d>>2],E=M*(+g[V+((M<0.0&1)<<4)>>2]-F),F=M*(+g[V+(((M<0.0^1)&1)<<4)>>2]-F),H=+g[d+4>>2],G=N*(+g[V+((N<0.0&1)<<4)+4>>2]-H),H=N*(+g[V+(((N<0.0^1)&1)<<4)+4>>2]-H),!(G>F|E>H)):0)?(I=G>E?G:E,z=H<F?H:F,K=+g[d+8>>2],J=O*(+g[V+((O<0.0&1)<<4)+8>>2]-K),K=O*(+g[V+(((O<0.0^1)&1)<<4)+8>>2]-K),!(J>z|I>K)):0){m=(K<z?K:z)>0.0?(J>I?J:I)<(h-C)*(h-C)*L+((e-B)*(e-B)*L+(f-D)*(f-D)*L):0;n=c[o+32>>2]|0;if(m&(n|0)==-1){Nb[c[(c[b>>2]|0)+8>>2]&127](b,c[o+36>>2]|0,c[o+40>>2]|0);m=c[a+56>>2]|0;u=17}else{p=(n|0)==-1;u=16}}else{n=c[o+32>>2]|0;m=0;p=(n|0)==-1;u=16}if((u|0)==16){u=0;if(p|m){m=x;u=17}else{o=o+(n<<6)|0;n=n+y|0;m=x}}if((u|0)==17){o=o+64|0;n=y+1|0}if((n|0)>=(m|0))break a;y=n;x=m;q=+g[j>>2];s=+g[j+4>>2];v=+g[j+8>>2];w=+g[i>>2];t=+g[i+4>>2];r=+g[i+8>>2]}}else l=0;while(0);if((c[7562]|0)>=(l|0)){k=V;return}c[7562]=l;k=V;return}function We(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;d=k;k=k+144|0;g[a+36>>2]=0.0;c[d+128>>2]=0;c[d+128+4>>2]=0;c[d+128+8>>2]=0;c[d+128+12>>2]=0;b=0;do{e=d+128+(b<<2)|0;g[e>>2]=1.0;h=c[a+28>>2]|0;I=c[h+4>>2]|0;c[d+80>>2]=I;F=c[h+20>>2]|0;c[d+80+4>>2]=F;C=c[h+36>>2]|0;c[d+80+8>>2]=C;g[d+80+12>>2]=0.0;H=c[h+8>>2]|0;c[d+80+16>>2]=H;E=c[h+24>>2]|0;c[d+80+20>>2]=E;B=c[h+40>>2]|0;c[d+80+24>>2]=B;g[d+80+28>>2]=0.0;G=c[h+12>>2]|0;c[d+80+32>>2]=G;D=c[h+28>>2]|0;c[d+80+36>>2]=D;A=c[h+44>>2]|0;c[d+80+40>>2]=A;g[d+80+44>>2]=0.0;f=c[a+32>>2]|0;z=c[f+4>>2]|0;c[d+32>>2]=z;w=c[f+20>>2]|0;c[d+32+4>>2]=w;t=c[f+36>>2]|0;c[d+32+8>>2]=t;g[d+32+12>>2]=0.0;y=c[f+8>>2]|0;c[d+32+16>>2]=y;v=c[f+24>>2]|0;c[d+32+20>>2]=v;s=c[f+40>>2]|0;c[d+32+24>>2]=s;g[d+32+28>>2]=0.0;x=c[f+12>>2]|0;c[d+32+32>>2]=x;u=c[f+28>>2]|0;c[d+32+36>>2]=u;p=c[f+44>>2]|0;c[d+32+40>>2]=p;g[d+32+44>>2]=0.0;q=+g[a+300>>2];m=q*(c[j>>2]=I,+g[j>>2]);i=+g[a+304>>2];m=m+i*(c[j>>2]=H,+g[j>>2]);l=+g[a+308>>2];m=m+l*(c[j>>2]=G,+g[j>>2]);r=q*(c[j>>2]=F,+g[j>>2]);r=r+i*(c[j>>2]=E,+g[j>>2]);r=r+l*(c[j>>2]=D,+g[j>>2]);q=q*(c[j>>2]=C,+g[j>>2]);i=q+i*(c[j>>2]=B,+g[j>>2]);q=+g[h+52>>2];o=+g[h+56>>2];n=+g[h+60>>2];n=i+l*(c[j>>2]=A,+g[j>>2])+n-n;g[d+16>>2]=m+q-q;g[d+16+4>>2]=r+o-o;g[d+16+8>>2]=n;g[d+16+12>>2]=0.0;n=+g[a+316>>2];o=n*(c[j>>2]=z,+g[j>>2]);r=+g[a+320>>2];o=o+r*(c[j>>2]=y,+g[j>>2]);q=+g[a+324>>2];o=o+q*(c[j>>2]=x,+g[j>>2]);m=n*(c[j>>2]=w,+g[j>>2]);m=m+r*(c[j>>2]=v,+g[j>>2]);m=m+q*(c[j>>2]=u,+g[j>>2]);n=n*(c[j>>2]=t,+g[j>>2]);r=n+r*(c[j>>2]=s,+g[j>>2]);n=+g[f+52>>2];l=+g[f+56>>2];i=+g[f+60>>2];i=r+q*(c[j>>2]=p,+g[j>>2])+i-i;g[d>>2]=o+n-n;g[d+4>>2]=m+l-l;g[d+8>>2]=i;g[d+12>>2]=0.0;kh(a+48+(b*84|0)|0,d+80|0,d+32|0,d+16|0,d,d+128|0,h+396|0,+g[h+344>>2],f+396|0,+g[f+344>>2]);g[e>>2]=0.0;b=b+1|0}while((b|0)!=3);k=d;return}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0;D=+g[a+452>>2];v=+g[a+304>>2];s=+g[a+300>>2];if(v>0.0|s>0.0)h=(c[a+288>>2]|0)<4;else h=0;E=c[a+720>>2]|0;y=+g[E+(d*104|0)+88>>2];if(!(y>0.0))return;o=c[c[a+684>>2]>>2]|0;if(!h)return;z=+g[E+(d*104|0)+40>>2];m=z-+g[b>>2];B=+g[E+(d*104|0)+44>>2];n=B-+g[b+4>>2];C=+g[E+(d*104|0)+48>>2];k=C-+g[b+8>>2];l=+A(+(m*m+n*n+k*k));if(!(m*m+n*n+k*k>1.1920928955078125e-07))return;u=m*(1.0/l);w=n*(1.0/l);x=k*(1.0/l);q=+g[E+(d*104|0)+72>>2];r=+g[E+(d*104|0)+76>>2];t=+g[E+(d*104|0)+80>>2];switch(c[a+288>>2]|0){case 2:{p=m*q+n*r+k*t<0.0?-1.0:1.0;f=x*t*p+(u*q*p+w*r*p);i=+g[E+(d*104|0)+92>>2]*.5;e=(c[j>>2]=o,+g[j>>2]);n=f*s*.5*e*(m*m+n*n+k*k)*i;if(f>0.0&f<.9847999811172485){k=+A(+(1.0-f*f))*v*.5*e*l*i;l=(x*(u*t*p-x*q*p)-w*(w*q*p-u*r*p))*k;m=(u*(w*q*p-u*r*p)-x*(x*r*p-w*t*p))*k;k=(w*(x*r*p-w*t*p)-u*(u*t*p-x*q*p))*k}else{l=0.0;m=0.0;k=0.0}e=D*y*-(x*n)*D*y*-(x*n)+(D*y*-(u*n)*D*y*-(u*n)+D*y*-(w*n)*D*y*-(w*n));if(e>0.0?e>=z*z+B*B+C*C:0){e=+A(+(z*z+B*B+C*C))/+A(+e)*.800000011920929;i=e*-(u*n);f=e*-(x*n);e=e*-(w*n)}else{i=-(u*n);f=-(x*n);e=-(w*n)}C=e+ +g[E+(d*104|0)+60>>2];D=f+ +g[E+(d*104|0)+64>>2];g[E+(d*104|0)+56>>2]=l+(i+ +g[E+(d*104|0)+56>>2]);g[E+(d*104|0)+60>>2]=m+C;g[E+(d*104|0)+64>>2]=k+D;return}case 1:case 3:case 0:{e=m*q+n*r+k*t<0.0?-1.0:1.0;if(!(k*t*e+(m*q*e+n*r*e)>0.0))return;p=-((m*m+n*n+k*k)*(k*t*e+(m*q*e+n*r*e))*+g[E+(d*104|0)+92>>2]*.5*(c[j>>2]=o,+g[j>>2]));i=u*s*p+(q*e*v*p+0.0);f=w*s*p+(r*e*v*p+0.0);e=x*s*p+(t*e*v*p+0.0);if(D*y*e*D*y*e+(D*y*i*D*y*i+D*y*f*D*y*f)>z*z+B*B+C*C){x=1.0/+A(+(e*e+(i*i+f*f)));g[E+(d*104|0)+56>>2]=+g[E+(d*104|0)+56>>2]-1.0/(D*y)*i*x*(C*e*x+(z*i*x+B*f*x));g[E+(d*104|0)+60>>2]=+g[E+(d*104|0)+60>>2]-1.0/(D*y)*f*x*(C*e*x+(z*i*x+B*f*x));g[E+(d*104|0)+64>>2]=+g[E+(d*104|0)+64>>2]-1.0/(D*y)*e*x*(C*e*x+(z*i*x+B*f*x));return}else{g[E+(d*104|0)+56>>2]=i+ +g[E+(d*104|0)+56>>2];g[E+(d*104|0)+60>>2]=f+ +g[E+(d*104|0)+60>>2];g[E+(d*104|0)+64>>2]=e+ +g[E+(d*104|0)+64>>2];return}}default:return}}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,E=0,F=0,G=0,H=0.0;a:while(1){F=c[e+12>>2]|0;if((b|0)>0){k=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];f=-1;h=0;do{do if(c[F+(h<<2)>>2]|0){if((f|0)!=-1?!(k*+g[a+(h<<4)>>2]+i*+g[a+(h<<4)+4>>2]+j*+g[a+(h<<4)+8>>2]>k*+g[a+(f<<4)>>2]+i*+g[a+(f<<4)+4>>2]+j*+g[a+(f<<4)+8>>2]):0)break;f=h}while(0);h=h+1|0}while((h|0)!=(b|0))}else f=-1;E=F+(f<<2)|0;if((c[E>>2]|0)==3){G=40;break}y=+g[d+4>>2];z=+g[d+8>>2];B=+g[d>>2];i=+A(+((y-z*0.0)*(y-z*0.0)+(z*0.0-B)*(z*0.0-B)+(B*0.0-y*0.0)*(B*0.0-y*0.0)));j=+A(+((B-y*0.0)*(B-y*0.0)+((y*0.0-z)*(y*0.0-z)+(z*0.0-B*0.0)*(z*0.0-B*0.0))));if(i>j){w=(y-z*0.0)*(1.0/i);x=(B*0.0-y*0.0)*(1.0/i);q=(z*0.0-B)*(1.0/i)}else{w=(y*0.0-z)*(1.0/j);x=(B-y*0.0)*(1.0/j);q=(z*0.0-B*0.0)*(1.0/j)}r=z*q-y*x;s=B*x-z*w;t=y*w-B*q;u=(f|0)==-1;p=0;h=-1;while(1){v=+(p|0);o=+D(+(v*.01745329238474369));k=+C(+(v*.01745329238474369));i=B+(w*o+r*k)*.02500000037252903;j=y+(q*o+s*k)*.02500000037252903;k=z+(x*o+t*k)*.02500000037252903;if((b|0)>0){l=-1;m=0;do{do if(c[F+(m<<2)>>2]|0){if((l|0)!=-1?!(i*+g[a+(m<<4)>>2]+j*+g[a+(m<<4)+4>>2]+k*+g[a+(m<<4)+8>>2]>i*+g[a+(l<<4)>>2]+j*+g[a+(l<<4)+4>>2]+k*+g[a+(l<<4)+8>>2]):0)break;l=m}while(0);m=m+1|0}while((m|0)!=(b|0))}else l=-1;if((h|0)==(f|0)&(l|0)==(f|0))break a;b:do if(!((h|0)==-1|(h|0)==(l|0))?v+-40.0<=v:0){if((b|0)<=0){i=v+-40.0;while(1){if((h|0)==(f|0)&u){f=-1;break a}i=i+5.0;if(!(i<=v))break b;else h=-1}}o=v+-40.0;while(1){k=o*.01745329238474369;H=+D(+k);k=+C(+k);i=B+(w*H+r*k)*.02500000037252903;j=y+(q*H+s*k)*.02500000037252903;k=z+(x*H+t*k)*.02500000037252903;m=-1;n=0;do{do if(c[F+(n<<2)>>2]|0){if((m|0)!=-1?!(i*+g[a+(n<<4)>>2]+j*+g[a+(n<<4)+4>>2]+k*+g[a+(n<<4)+8>>2]>i*+g[a+(m<<4)>>2]+j*+g[a+(m<<4)+4>>2]+k*+g[a+(m<<4)+8>>2]):0)break;m=n}while(0);n=n+1|0}while((n|0)!=(b|0));if((h|0)==(f|0)&(m|0)==(f|0))break a;o=o+5.0;if(!(o<=v))break;else h=m}}while(0);p=p+45|0;if(p>>>0>360)break;else h=l}c[E>>2]=0}if((G|0)==40)return f|0;c[E>>2]=3;G=f;return G|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;if(!(c[a+204>>2]&2)){c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];c[a+84>>2]=c[b+16>>2];c[a+84+4>>2]=c[b+16+4>>2];c[a+84+8>>2]=c[b+16+8>>2];c[a+84+12>>2]=c[b+16+12>>2];c[a+100>>2]=c[b+32>>2];c[a+100+4>>2]=c[b+32+4>>2];c[a+100+8>>2]=c[b+32+8>>2];c[a+100+12>>2]=c[b+32+12>>2];c[a+116>>2]=c[b+48>>2];c[a+116+4>>2]=c[b+48+4>>2];c[a+116+8>>2]=c[b+48+8>>2];c[a+116+12>>2]=c[b+48+12>>2];d=a+20|0;e=b+16|0;f=a+36|0;h=b+32|0;i=a+52|0;j=b+48|0;k=a+4|0}else{c[a+68>>2]=c[a+4>>2];c[a+68+4>>2]=c[a+4+4>>2];c[a+68+8>>2]=c[a+4+8>>2];c[a+68+12>>2]=c[a+4+12>>2];c[a+84>>2]=c[a+20>>2];c[a+84+4>>2]=c[a+20+4>>2];c[a+84+8>>2]=c[a+20+8>>2];c[a+84+12>>2]=c[a+20+12>>2];c[a+100>>2]=c[a+36>>2];c[a+100+4>>2]=c[a+36+4>>2];c[a+100+8>>2]=c[a+36+8>>2];c[a+100+12>>2]=c[a+36+12>>2];c[a+116>>2]=c[a+52>>2];c[a+116+4>>2]=c[a+52+4>>2];c[a+116+8>>2]=c[a+52+8>>2];c[a+116+12>>2]=c[a+52+12>>2];d=a+20|0;e=b+16|0;f=a+36|0;h=b+32|0;i=a+52|0;j=b+48|0;k=a+4|0}c[a+132>>2]=c[a+312>>2];c[a+132+4>>2]=c[a+312+4>>2];c[a+132+8>>2]=c[a+312+8>>2];c[a+132+12>>2]=c[a+312+12>>2];c[a+148>>2]=c[a+328>>2];c[a+148+4>>2]=c[a+328+4>>2];c[a+148+8>>2]=c[a+328+8>>2];c[a+148+12>>2]=c[a+328+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];w=+g[a+4>>2];q=+g[a+396>>2];v=+g[a+8>>2];o=+g[a+400>>2];u=+g[a+12>>2];m=+g[a+404>>2];t=+g[a+20>>2];s=+g[a+24>>2];r=+g[a+28>>2];p=+g[a+36>>2];n=+g[a+40>>2];l=+g[a+44>>2];g[a+264>>2]=w*w*q+v*v*o+u*u*m;g[a+268>>2]=w*q*t+v*o*s+u*m*r;g[a+272>>2]=w*q*p+v*o*n+u*m*l;g[a+276>>2]=0.0;g[a+280>>2]=w*q*t+v*o*s+u*m*r;g[a+284>>2]=t*q*t+s*o*s+r*m*r;g[a+288>>2]=q*t*p+o*s*n+m*r*l;g[a+292>>2]=0.0;g[a+296>>2]=w*q*p+v*o*n+u*m*l;g[a+300>>2]=t*q*p+s*o*n+r*m*l;g[a+304>>2]=p*q*p+n*o*n+l*m*l;g[a+308>>2]=0.0;return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;h=k;k=k+160|0;e=c[a+4>>2]|0;f=c[e+12>>2]|0;D=+g[f>>2];C=+g[f+4>>2];B=+g[f+8>>2];A=+g[f+16>>2];z=+g[f+20>>2];y=+g[f+24>>2];r=+g[f+32>>2];p=+g[f+36>>2];n=+g[f+40>>2];e=c[(c[e+4>>2]|0)+24>>2]|0;x=+g[e+(d*80|0)>>2];w=+g[e+(d*80|0)+16>>2];v=+g[e+(d*80|0)+32>>2];u=+g[e+(d*80|0)+4>>2];t=+g[e+(d*80|0)+20>>2];s=+g[e+(d*80|0)+36>>2];q=+g[e+(d*80|0)+8>>2];o=+g[e+(d*80|0)+24>>2];m=+g[e+(d*80|0)+40>>2];F=+g[e+(d*80|0)+48>>2];E=+g[e+(d*80|0)+52>>2];i=+g[e+(d*80|0)+56>>2];l=+g[f+48>>2]+(D*F+C*E+B*i);j=+g[f+52>>2]+(A*F+z*E+y*i);i=+g[f+56>>2]+(r*F+p*E+n*i);g[h+88>>2]=D*x+C*w+B*v;g[h+88+4>>2]=D*u+C*t+B*s;g[h+88+8>>2]=D*q+C*o+B*m;g[h+88+12>>2]=0.0;g[h+88+16>>2]=A*x+z*w+y*v;g[h+88+20>>2]=A*u+z*t+y*s;g[h+88+24>>2]=A*q+z*o+y*m;g[h+88+28>>2]=0.0;g[h+88+32>>2]=r*x+p*w+n*v;g[h+88+36>>2]=r*u+p*t+n*s;g[h+88+40>>2]=r*q+p*o+n*m;g[h+88+44>>2]=0.0;g[h+88+48>>2]=l;g[h+88+52>>2]=j;g[h+88+56>>2]=i;g[h+88+60>>2]=0.0;Qb[c[(c[b>>2]|0)+8>>2]&127](b,h+88|0,h+72|0,h+56|0);f=c[a+8>>2]|0;e=c[f+4>>2]|0;Qb[c[(c[e>>2]|0)+8>>2]&127](e,c[f+12>>2]|0,h+40|0,h+24|0);if(!(+g[h+72>>2]>+g[h+24>>2])?!(+g[h+56>>2]<+g[h+40>>2]):0)e=1;else e=0;if(!(!(+g[h+72+8>>2]>+g[h+24+8>>2])?!(+g[h+56+8>>2]<+g[h+40+8>>2]):0))e=0;if(+g[h+72+4>>2]>+g[h+24+4>>2]){k=h;return}if(+g[h+56+4>>2]<+g[h+40+4>>2]|e^1){k=h;return}e=c[a+4>>2]|0;f=c[e+8>>2]|0;c[h>>2]=e;c[h+4>>2]=b;c[h+8>>2]=f;c[h+12>>2]=h+88;c[h+16>>2]=-1;c[h+20>>2]=d;if(!(c[(c[a+24>>2]|0)+(d<<2)>>2]|0)){b=c[a+12>>2]|0;b=yb[c[(c[b>>2]|0)+8>>2]&31](b,h,c[a+8>>2]|0,c[a+28>>2]|0)|0;c[(c[a+24>>2]|0)+(d<<2)>>2]=b;b=(c[a+4>>2]|0)+8|0}else b=e+8|0;f=c[a+20>>2]|0;e=c[f+8>>2]|0;if((c[e+8>>2]|0)==(c[b>>2]|0)){c[f+8>>2]=h;Nb[c[(c[f>>2]|0)+8>>2]&127](f,-1,d)}else{e=c[f+12>>2]|0;c[f+12>>2]=h;Nb[c[(c[f>>2]|0)+12>>2]&127](f,-1,d)}d=c[(c[a+24>>2]|0)+(d<<2)>>2]|0;Ub[c[(c[d>>2]|0)+8>>2]&31](d,h,c[a+8>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0);d=c[a+20>>2]|0;c[((c[(c[d+8>>2]|0)+8>>2]|0)==(c[(c[a+4>>2]|0)+8>>2]|0)?d+8|0:d+12|0)>>2]=e;k=h;return}function $e(){if(a[28408]|0)return;if(!(_A(28408)|0))return;c[6804]=0;c[6805]=-2147483648;c[6806]=-1082130432;g[6807]=0.0;c[6808]=1060716128;c[6809]=-1090087446;c[6810]=-1092290076;g[6811]=0.0;c[6812]=-1098022214;c[6813]=-1084636126;c[6814]=-1092290076;g[6815]=0.0;c[6816]=-1083901670;c[6817]=-2147483648;c[6818]=-1092290177;g[6819]=0.0;c[6820]=-1098022214;c[6821]=1062847522;c[6822]=-1092290043;g[6823]=0.0;c[6824]=1060716128;c[6825]=1057396202;c[6826]=-1092290076;g[6827]=0.0;c[6828]=1049461434;c[6829]=-1084636126;c[6830]=1055193605;g[6831]=0.0;c[6832]=-1086767520;c[6833]=-1090087446;c[6834]=1055193572;g[6835]=0.0;c[6836]=-1086767520;c[6837]=1057396202;c[6838]=1055193572;g[6839]=0.0;c[6840]=1049461434;c[6841]=1062847522;c[6842]=1055193572;g[6843]=0.0;c[6844]=1063581978;c[6845]=0;c[6846]=1055193471;g[6847]=0.0;c[6848]=-2147483648;c[6849]=0;c[6850]=1065353216;g[6851]=0.0;c[6852]=1054458864;c[6853]=-1096927567;c[6854]=-1084636042;g[6855]=0.0;c[6856]=-1104782626;c[6857]=-1090519208;c[6858]=-1084636042;g[6859]=0.0;c[6860]=1049007812;c[6861]=-1085334679;c[6862]=-1090087228;g[6863]=0.0;c[6864]=1054458864;c[6865]=1050556081;c[6866]=-1084636042;g[6867]=0.0;c[6868]=1062847505;c[6869]=-2147483648;c[6870]=-1090087262;g[6871]=0.0;c[6872]=-1090087362;c[6873]=-2147483648;c[6874]=-1084636076;g[6875]=0.0;c[6876]=-1087361736;c[6877]=-1090519141;c[6878]=-1090087262;g[6879]=0.0;c[6880]=-1104782626;c[6881]=1056964440;c[6882]=-1084636042;g[6883]=0.0;c[6884]=-1087361736;c[6885]=1056964507;c[6886]=-1090087262;g[6887]=0.0;c[6888]=1049007812;c[6889]=1062148969;c[6890]=-1090087228;g[6891]=0.0;c[6892]=1064532105;c[6893]=1050556148;c[6894]=0;g[6895]=0.0;c[6896]=1064532105;c[6897]=-1096927500;c[6898]=0;g[6899]=0.0;c[6900]=1058437413;c[6901]=-1085334595;c[6902]=0;g[6903]=0.0;c[6904]=0;c[6905]=-1082130432;c[6906]=0;g[6907]=0.0;c[6908]=-1089046235;c[6909]=-1085334595;c[6910]=0;g[6911]=0.0;c[6912]=-1082951543;c[6913]=-1096927500;c[6914]=-2147483648;g[6915]=0.0;c[6916]=-1082951543;c[6917]=1050556148;c[6918]=-2147483648;g[6919]=0.0;c[6920]=-1089046235;c[6921]=1062149053;c[6922]=-2147483648;g[6923]=0.0;c[6924]=-2147483648;c[6925]=1065353216;c[6926]=-2147483648;g[6927]=0.0;c[6928]=1058437413;c[6929]=1062149053;c[6930]=-2147483648;g[6931]=0.0;c[6932]=1060121912;c[6933]=-1090519141;c[6934]=1057396386;g[6935]=0.0;c[6936]=-1098475836;c[6937]=-1085334679;c[6938]=1057396420;g[6939]=0.0;c[6940]=-1084636143;c[6941]=0;c[6942]=1057396386;g[6943]=0.0;c[6944]=-1098475836;c[6945]=1062148969;c[6946]=1057396420;g[6947]=0.0;c[6948]=1060121912;c[6949]=1056964507;c[6950]=1057396386;g[6951]=0.0;c[6952]=1057396286;c[6953]=0;c[6954]=1062847572;g[6955]=0.0;c[6956]=1042701022;c[6957]=-1090519208;c[6958]=1062847606;g[6959]=0.0;c[6960]=-1093024784;c[6961]=-1096927567;c[6962]=1062847606;g[6963]=0.0;c[6964]=-1093024784;c[6965]=1050556081;c[6966]=1062847606;g[6967]=0.0;c[6968]=1042701022;c[6969]=1056964440;c[6970]=1062847606;g[6971]=0.0;return}function af(){if(a[28384]|0)return;if(!(_A(28384)|0))return;c[6532]=0;c[6533]=-2147483648;c[6534]=-1082130432;g[6535]=0.0;c[6536]=1060716128;c[6537]=-1090087446;c[6538]=-1092290076;g[6539]=0.0;c[6540]=-1098022214;c[6541]=-1084636126;c[6542]=-1092290076;g[6543]=0.0;c[6544]=-1083901670;c[6545]=-2147483648;c[6546]=-1092290177;g[6547]=0.0;c[6548]=-1098022214;c[6549]=1062847522;c[6550]=-1092290043;g[6551]=0.0;c[6552]=1060716128;c[6553]=1057396202;c[6554]=-1092290076;g[6555]=0.0;c[6556]=1049461434;c[6557]=-1084636126;c[6558]=1055193605;g[6559]=0.0;c[6560]=-1086767520;c[6561]=-1090087446;c[6562]=1055193572;g[6563]=0.0;c[6564]=-1086767520;c[6565]=1057396202;c[6566]=1055193572;g[6567]=0.0;c[6568]=1049461434;c[6569]=1062847522;c[6570]=1055193572;g[6571]=0.0;c[6572]=1063581978;c[6573]=0;c[6574]=1055193471;g[6575]=0.0;c[6576]=-2147483648;c[6577]=0;c[6578]=1065353216;g[6579]=0.0;c[6580]=1054458864;c[6581]=-1096927567;c[6582]=-1084636042;g[6583]=0.0;c[6584]=-1104782626;c[6585]=-1090519208;c[6586]=-1084636042;g[6587]=0.0;c[6588]=1049007812;c[6589]=-1085334679;c[6590]=-1090087228;g[6591]=0.0;c[6592]=1054458864;c[6593]=1050556081;c[6594]=-1084636042;g[6595]=0.0;c[6596]=1062847505;c[6597]=-2147483648;c[6598]=-1090087262;g[6599]=0.0;c[6600]=-1090087362;c[6601]=-2147483648;c[6602]=-1084636076;g[6603]=0.0;c[6604]=-1087361736;c[6605]=-1090519141;c[6606]=-1090087262;g[6607]=0.0;c[6608]=-1104782626;c[6609]=1056964440;c[6610]=-1084636042;g[6611]=0.0;c[6612]=-1087361736;c[6613]=1056964507;c[6614]=-1090087262;g[6615]=0.0;c[6616]=1049007812;c[6617]=1062148969;c[6618]=-1090087228;g[6619]=0.0;c[6620]=1064532105;c[6621]=1050556148;c[6622]=0;g[6623]=0.0;c[6624]=1064532105;c[6625]=-1096927500;c[6626]=0;g[6627]=0.0;c[6628]=1058437413;c[6629]=-1085334595;c[6630]=0;g[6631]=0.0;c[6632]=0;c[6633]=-1082130432;c[6634]=0;g[6635]=0.0;c[6636]=-1089046235;c[6637]=-1085334595;c[6638]=0;g[6639]=0.0;c[6640]=-1082951543;c[6641]=-1096927500;c[6642]=-2147483648;g[6643]=0.0;c[6644]=-1082951543;c[6645]=1050556148;c[6646]=-2147483648;g[6647]=0.0;c[6648]=-1089046235;c[6649]=1062149053;c[6650]=-2147483648;g[6651]=0.0;c[6652]=-2147483648;c[6653]=1065353216;c[6654]=-2147483648;g[6655]=0.0;c[6656]=1058437413;c[6657]=1062149053;c[6658]=-2147483648;g[6659]=0.0;c[6660]=1060121912;c[6661]=-1090519141;c[6662]=1057396386;g[6663]=0.0;c[6664]=-1098475836;c[6665]=-1085334679;c[6666]=1057396420;g[6667]=0.0;c[6668]=-1084636143;c[6669]=0;c[6670]=1057396386;g[6671]=0.0;c[6672]=-1098475836;c[6673]=1062148969;c[6674]=1057396420;g[6675]=0.0;c[6676]=1060121912;c[6677]=1056964507;c[6678]=1057396386;g[6679]=0.0;c[6680]=1057396286;c[6681]=0;c[6682]=1062847572;g[6683]=0.0;c[6684]=1042701022;c[6685]=-1090519208;c[6686]=1062847606;g[6687]=0.0;c[6688]=-1093024784;c[6689]=-1096927567;c[6690]=1062847606;g[6691]=0.0;c[6692]=-1093024784;c[6693]=1050556081;c[6694]=1062847606;g[6695]=0.0;c[6696]=1042701022;c[6697]=1056964440;c[6698]=1062847606;g[6699]=0.0;return}function bf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;k=c[b+9288>>2]|0;if(!k){c[b>>2]=5;k=0;return k|0}i=c[k+48>>2]|0;if(i|0)c[i+44>>2]=c[k+44>>2];i=c[k+44>>2]|0;if(i|0)c[i+48>>2]=c[k+48>>2];if((c[b+9288>>2]|0)==(k|0))c[b+9288>>2]=c[k+48>>2];c[b+9292>>2]=(c[b+9292>>2]|0)+-1;c[k+44>>2]=0;c[k+48>>2]=c[b+9280>>2];i=c[b+9280>>2]|0;if(i|0)c[i+44>>2]=k;c[b+9280>>2]=k;c[b+9284>>2]=(c[b+9284>>2]|0)+1;a[k+55>>0]=0;c[k+20>>2]=d;c[k+24>>2]=e;c[k+28>>2]=f;j=+g[d+16>>2];n=+g[e+16>>2]-j;m=+g[d+20>>2];l=+g[e+20>>2]-m;o=+g[d+24>>2];p=+g[e+24>>2]-o;j=+g[f+16>>2]-j;m=+g[f+20>>2]-m;o=+g[f+24>>2]-o;g[k>>2]=l*o-p*m;g[k+4>>2]=p*j-n*o;g[k+8>>2]=n*m-l*j;g[k+12>>2]=0.0;j=+A(+((l*o-p*m)*(l*o-p*m)+(p*j-n*o)*(p*j-n*o)+(n*m-l*j)*(n*m-l*j)));if(!(j>9.999999747378752e-05)){c[b>>2]=2;i=c[k+48>>2]|0;if(i|0)c[i+44>>2]=c[k+44>>2];i=c[k+44>>2]|0;if(i|0)c[i+48>>2]=c[k+48>>2];if((c[b+9280>>2]|0)==(k|0))c[b+9280>>2]=c[k+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[k+44>>2]=0;c[k+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=k;c[b+9288>>2]=k;c[b+9292>>2]=(c[b+9292>>2]|0)+1;k=0;return k|0}if((!(Cl(+g[k>>2],+g[k+4>>2],+g[k+8>>2],+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],k+16|0)|0)?!(Cl(+g[k>>2],+g[k+4>>2],+g[k+8>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],k+16|0)|0):0)?!(Cl(+g[k>>2],+g[k+4>>2],+g[k+8>>2],+g[f+16>>2],+g[f+20>>2],+g[f+24>>2],+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],k+16|0)|0):0)g[k+16>>2]=(+g[d+16>>2]*+g[k>>2]+ +g[d+20>>2]*+g[k+4>>2]+ +g[d+24>>2]*+g[k+8>>2])/j;g[k>>2]=1.0/j*+g[k>>2];g[k+4>>2]=1.0/j*+g[k+4>>2];g[k+8>>2]=1.0/j*+g[k+8>>2];if(h)return k|0;if(+g[k+16>>2]>=-9.999999747378752e-06)return k|0;c[b>>2]=3;i=c[k+48>>2]|0;if(i|0)c[i+44>>2]=c[k+44>>2];i=c[k+44>>2]|0;if(i|0)c[i+48>>2]=c[k+48>>2];if((c[b+9280>>2]|0)==(k|0))c[b+9280>>2]=c[k+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[k+44>>2]=0;c[k+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=k;c[b+9288>>2]=k;c[b+9292>>2]=(c[b+9292>>2]|0)+1;k=0;return k|0}function cf(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;c[a+556>>2]=c[b>>2];c[a+556+4>>2]=c[b+4>>2];c[a+556+8>>2]=c[b+8>>2];c[a+556+12>>2]=c[b+12>>2];k=+g[a+568>>2];l=+g[a+560>>2];i=+g[a+564>>2];j=+g[a+556>>2];d=-j-l*0.0-i*0.0;e=(i+k*0.0-j*0.0)*-i+(k*(k+l*0.0-i*0.0)+d*-j)-(k*0.0+j*0.0-l)*-l;f=(k*0.0+j*0.0-l)*-j+(k*(i+k*0.0-j*0.0)+d*-l)-(k+l*0.0-i*0.0)*-i;d=(k+l*0.0-i*0.0)*-l+(d*-i+k*(k*0.0+j*0.0-l))-(i+k*0.0-j*0.0)*-j;if(d*0.0+(f*0.0+e)<-.9999998807907104){h=1.0;d=-0.0;e=0.0;f=0.0}else{s=+A(+((d*0.0+(f*0.0+e)+1.0)*2.0));h=(e*0.0-d)*(1.0/s);d=(d*0.0-f*0.0)*(1.0/s);e=(f-e*0.0)*(1.0/s);f=s*.5}m=1.0/+A(+(d*d+h*h+e*e+f*f));o=d*m;n=h*m;p=e*m;m=f*m;r=1.0/+A(+((k*m-j*-o-l*-n-i*-p)*(k*m-j*-o-l*-n-i*-p)+((l*-o+(i*m+k*-p)-j*-n)*(l*-o+(i*m+k*-p)-j*-n)+((i*-n+(j*m+k*-o)-l*-p)*(i*-n+(j*m+k*-o)-l*-p)+(j*-p+(k*-n+l*m)-i*-o)*(j*-p+(k*-n+l*m)-i*-o)))));h=(i*-n+(j*m+k*-o)-l*-p)*r;s=(j*-p+(k*-n+l*m)-i*-o)*r;f=(l*-o+(i*m+k*-p)-j*-n)*r;r=(k*m-j*-o-l*-n-i*-p)*r;e=+g[a+444>>2];if(e>=.05000000074505806?(q=+g[a+448>>2],q>=.05000000074505806):0){d=m<-1.0?-1.0:m;d=+F(+(d>1.0?1.0:d))*2.0;if(d>1.1920928955078125e-07){i=1.0/+A(+(p*p+(o*o+n*n)));if(+z(+(n*i))>1.1920928955078125e-07){k=o*i;j=n*i;l=p*i;e=+A(+((p*i*p*i/(n*i*n*i)+1.0)/(p*i*p*i/(n*i*n*i)/(e*e)+1.0/(q*q))))}else{k=o*i;j=n*i;l=p*i}}else{k=0.0;j=0.0;l=0.0;e=0.0}if(+z(+d)>1.1920928955078125e-07){if(!(d>e)){e=-e;if(d<e)d=e}else d=e;m=d*.5;q=+D(+m)/+A(+(k*k+j*j+l*l));n=j*q;m=+C(+m);o=k*q;l=l*q}else l=p}else l=p;k=+g[a+452>>2];if(k>=.05000000074505806){d=r<-1.0?-1.0:r;d=+F(+(d>1.0?1.0:d))*2.0;if(d>3.1415927410125732){d=-r<-1.0?-1.0:-r;d=+F(+(d>1.0?1.0:d))*2.0;e=-h;i=-s;j=-f}else{e=h;i=s;j=f}if(d>1.1920928955078125e-07){q=1.0/+A(+(e*e+i*i+j*j));e=e*q;i=i*q;j=j*q}if(+z(+d)>1.1920928955078125e-07){if(!(d>k)){if(d<-k)d=-k}else d=k;s=d*.5;d=+D(+s)/+A(+(j*j+(i*i+e*e)));h=e*d;f=j*d;e=+C(+s);d=i*d}else{e=r;d=s}}else{e=r;d=s}g[a+556>>2]=n*f+(m*h+o*e)-l*d;g[a+560>>2]=l*h+(m*d+n*e)-o*f;g[a+564>>2]=o*d+(m*f+l*e)-n*h;g[a+568>>2]=m*e-o*h-n*d-l*f;return}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0;o=c[a+192>>2]|0;n=+jb[c[(c[o>>2]|0)+48>>2]&15](o);o=c[a+712>>2]|0;if((o|0)>0){i=0;do{m=c[a+720>>2]|0;d=m+(i*104|0)+8|0;j=+g[b>>2]*+g[d>>2];g[d>>2]=j;d=m+(i*104|0)+12|0;k=+g[b+4>>2]*+g[d>>2];g[d>>2]=k;d=m+(i*104|0)+16|0;l=+g[b+8>>2]*+g[d>>2];g[d>>2]=l;d=m+(i*104|0)+24|0;g[d>>2]=+g[b>>2]*+g[d>>2];d=m+(i*104|0)+28|0;g[d>>2]=+g[b+4>>2]*+g[d>>2];d=m+(i*104|0)+32|0;g[d>>2]=+g[b+8>>2]*+g[d>>2];m=c[m+(i*104|0)+96>>2]|0;d=xh(a+928|0,m)|0;a:do if(d){h=c[a+936>>2]|0;if((h|0)<=-1){d=c[a+928>>2]|0;break}if(h){e=0;while(1){f=c[d+32>>2]|0;e=e+1|0;if(!f)break a;if((e|0)>=(h|0)){d=f;break}else d=f}}}else d=0;while(0);g[m>>2]=j-n;g[m+4>>2]=k-n;g[m+8>>2]=l-n;g[m+12>>2]=0.0;g[m+16>>2]=n+j;g[m+20>>2]=n+k;g[m+24>>2]=n+l;g[m+28>>2]=0.0;tf(a+928|0,d,m);i=i+1|0}while((i|0)!=(o|0))}Og(a);d=c[a+928>>2]|0;if(d){o=c[a+192>>2]|0;k=+jb[c[(c[o>>2]|0)+48>>2]&15](o);n=+g[d+4>>2]-k;l=+g[d+8>>2]-k;g[a+892>>2]=+g[d>>2]-k;g[a+896>>2]=n;g[a+900>>2]=l;g[a+904>>2]=0.0;l=k+ +g[d+20>>2];n=k+ +g[d+24>>2];g[a+908>>2]=k+ +g[d+16>>2];g[a+912>>2]=l;g[a+916>>2]=n;g[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+684>>2]|0;m=c[o+32>>2]|0;Ub[c[(c[m>>2]|0)+16>>2]&31](m,d,a+892|0,a+908|0,c[o+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}e=c[a+732>>2]|0;if((e|0)<=0){eg(a);return}f=c[a+740>>2]|0;d=0;do{m=c[f+(d*52|0)+8>>2]|0;o=c[f+(d*52|0)+12>>2]|0;k=+g[m+8>>2]-+g[o+8>>2];l=+g[m+12>>2]-+g[o+12>>2];n=+g[m+16>>2]-+g[o+16>>2];n=+A(+(k*k+l*l+n*n));g[f+(d*52|0)+16>>2]=n;g[f+(d*52|0)+28>>2]=n*n;d=d+1|0}while((d|0)!=(e|0));d=0;do{g[f+(d*52|0)+24>>2]=(+g[(c[f+(d*52|0)+8>>2]|0)+88>>2]+ +g[(c[f+(d*52|0)+12>>2]|0)+88>>2])/+g[(c[f+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));eg(a);return}function ef(a,b,d,e,f,h){a=a|0;b=+b;d=+d;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0;p=k;k=k+352|0;n=AJ(f)|0;j=+g[n>>2];l=+g[n+4>>2];m=+g[n+8>>2];g[p+328>>2]=0.0;g[p+324>>2]=0.0;g[p+320>>2]=0.0;Yt(p+336|0,p+328|0,p+324|0,p+320|0);g[(DK(p+336|0)|0)+(e<<2)>>2]=d;g[p+296>>2]=0.0;g[p+292>>2]=0.0;g[p+288>>2]=0.0;Yt(p+304|0,p+296|0,p+292|0,p+288|0);n=DK(p+304|0)|0;g[n+(e<<2)>>2]=-d;g[p+264>>2]=0.0;g[p+260>>2]=0.0;g[p+256>>2]=0.0;Yt(p+272|0,p+264|0,p+260|0,p+256|0);o=DK(p+272|0)|0;g[o+(e<<2)>>2]=d;i=0;while(1){if(i>>>0>=360)break;d=+(i|0)*.01745329238474369;s=+rK(d)*b;g[n+(((e+1|0)%3|0)<<2)>>2]=s;g[o+(((e+1|0)%3|0)<<2)>>2]=s;d=+sK(d)*b;g[n+(((e+2|0)%3|0)<<2)>>2]=d;g[o+(((e+2|0)%3|0)<<2)>>2]=d;q=c[(c[a>>2]|0)+8>>2]|0;r=DK(f)|0;Nm(p+224|0,r,+g[p+304>>2],+g[p+304+4>>2],+g[p+304+8>>2]);ar(p+240|0,j,l,m,+g[p+224>>2],+g[p+224+4>>2],+g[p+224+8>>2]);Nm(p+192|0,r,+g[p+272>>2],+g[p+272+4>>2],+g[p+272+8>>2]);ar(p+208|0,j,l,m,+g[p+192>>2],+g[p+192+4>>2],+g[p+192+8>>2]);Qb[q&127](a,p+240|0,p+208|0,h);i=i+30|0}g[p+168>>2]=0.0;g[p+164>>2]=0.0;g[p+160>>2]=0.0;Yt(p+176|0,p+168|0,p+164|0,p+160|0);g[(DK(p+176|0)|0)+(e<<2)>>2]=1.0;g[p+136>>2]=0.0;g[p+132>>2]=0.0;g[p+128>>2]=0.0;Yt(p+144|0,p+136|0,p+132|0,p+128|0);g[(DK(p+144|0)|0)+(((e+1|0)%3|0)<<2)>>2]=1.0;r=c[(c[a>>2]|0)+60>>2]|0;q=DK(f)|0;Nm(p+96|0,q,+g[p+336>>2],+g[p+336+4>>2],+g[p+336+8>>2]);cr(p+112|0,j,l,m,+g[p+96>>2],+g[p+96+4>>2],+g[p+96+8>>2]);Nm(p+80|0,q,+g[p+176>>2],+g[p+176+4>>2],+g[p+176+8>>2]);Nm(p+64|0,q,+g[p+144>>2],+g[p+144+4>>2],+g[p+144+8>>2]);Tb[r&1](a,p+112|0,p+80|0,p+64|0,b,b,0.0,6.2831854820251465,h,0,10.0);r=c[(c[a>>2]|0)+60>>2]|0;Nm(p+32|0,q,+g[p+336>>2],+g[p+336+4>>2],+g[p+336+8>>2]);ar(p+48|0,j,l,m,+g[p+32>>2],+g[p+32+4>>2],+g[p+32+8>>2]);Nm(p+16|0,q,+g[p+176>>2],+g[p+176+4>>2],+g[p+176+8>>2]);Nm(p,q,+g[p+144>>2],+g[p+144+4>>2],+g[p+144+8>>2]);Tb[r&1](a,p+48|0,p+16|0,p,b,b,0.0,6.2831854820251465,h,0,10.0);k=p;return}function ff(a,b,d,e,f,h){a=a|0;b=+b;d=+d;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;o=k;k=k+400|0;g[o+376>>2]=0.0;g[o+372>>2]=0.0;g[o+368>>2]=0.0;Yt(o+384|0,o+376|0,o+372|0,o+368|0);m=DK(o+384|0)|0;g[m+(e<<2)>>2]=-d;g[o+344>>2]=0.0;g[o+340>>2]=0.0;g[o+336>>2]=0.0;Yt(o+352|0,o+344|0,o+340|0,o+336|0);n=DK(o+352|0)|0;g[n+(e<<2)>>2]=d;ts(o+272|0,f);Lx(o+256|0,f,+g[o+384>>2],+g[o+384+4>>2],+g[o+384+8>>2]);i=AJ(o+272|0)|0;c[i>>2]=c[o+256>>2];c[i+4>>2]=c[o+256+4>>2];c[i+8>>2]=c[o+256+8>>2];c[i+12>>2]=c[o+256+12>>2];c[o+240>>2]=c[o+256>>2];c[o+240+4>>2]=c[o+256+4>>2];c[o+240+8>>2]=c[o+256+8>>2];c[o+240+12>>2]=c[o+256+12>>2];i=DK(o+272|0)|0;et(o+224|0,i,(e+1|0)%3|0);et(o+192|0,i,e);Cs(o+208|0,+g[o+192>>2],+g[o+192+4>>2],+g[o+192+8>>2]);Sb[c[(c[a>>2]|0)+64>>2]&1](a,o+240|0,o+224|0,o+208|0,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,h,30.0,0);ts(o+128|0,f);Lx(o+112|0,f,+g[o+352>>2],+g[o+352+4>>2],+g[o+352+8>>2]);i=AJ(o+128|0)|0;c[i>>2]=c[o+112>>2];c[i+4>>2]=c[o+112+4>>2];c[i+8>>2]=c[o+112+8>>2];c[i+12>>2]=c[o+112+12>>2];c[o+96>>2]=c[o+112>>2];c[o+96+4>>2]=c[o+112+4>>2];c[o+96+8>>2]=c[o+112+8>>2];c[o+96+12>>2]=c[o+112+12>>2];i=DK(o+128|0)|0;et(o+80|0,i,(e+1|0)%3|0);et(o+64|0,i,e);Sb[c[(c[a>>2]|0)+64>>2]&1](a,o+96|0,o+80|0,o+64|0,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,h,30.0,0);i=AJ(f)|0;d=+g[i>>2];j=+g[i+4>>2];l=+g[i+8>>2];i=0;while(1){if(i>>>0>=360)break;r=+(i|0)*.01745329238474369;s=+rK(r)*b;g[m+(((e+1|0)%3|0)<<2)>>2]=s;g[n+(((e+1|0)%3|0)<<2)>>2]=s;r=+sK(r)*b;g[m+(((e+2|0)%3|0)<<2)>>2]=r;g[n+(((e+2|0)%3|0)<<2)>>2]=r;p=c[(c[a>>2]|0)+8>>2]|0;q=DK(f)|0;Nm(o+32|0,q,+g[o+384>>2],+g[o+384+4>>2],+g[o+384+8>>2]);ar(o+48|0,d,j,l,+g[o+32>>2],+g[o+32+4>>2],+g[o+32+8>>2]);Nm(o,q,+g[o+352>>2],+g[o+352+4>>2],+g[o+352+8>>2]);ar(o+16|0,d,j,l,+g[o>>2],+g[o+4>>2],+g[o+8>>2]);Qb[p&127](a,o+48|0,o+16|0,h);i=i+30|0}k=o;return}function gf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;h=c[d+8>>2]|0;if((h|0)>0){i=c[d+16>>2]|0;f=0;e=0;do{j=c[i+(f<<2)>>2]|0;if(!(c[j+204>>2]&3)){c[j+208>>2]=e;e=e+1|0}c[j+212>>2]=-1;g[j+244>>2]=1.0;f=f+1|0}while((f|0)!=(h|0));j=e}else j=0;i=c[b+8>>2]|0;if((i|0)<(j|0)){if((c[b+12>>2]|0)<(j|0)){if(!j){e=0;h=i}else{c[7584]=(c[7584]|0)+1;e=lc((j<<3|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+8>>2]|0}if((h|0)>0){f=0;do{m=(c[b+16>>2]|0)+(f<<3)|0;k=c[m+4>>2]|0;l=e+(f<<3)|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;f=f+1|0}while((f|0)!=(h|0))}f=c[b+16>>2]|0;if(f|0){if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=e;c[b+12>>2]=j;f=b+16|0}else f=b+16|0;e=i;do{m=(c[f>>2]|0)+(e<<3)|0;c[m>>2]=0;c[m+4>>2]=0;e=e+1|0}while((e|0)!=(j|0))}c[b+8>>2]=j;if((j|0)>0){f=c[b+16>>2]|0;e=0;do{c[f+(e<<3)>>2]=e;c[f+(e<<3)+4>>2]=1;e=e+1|0}while((e|0)!=(j|0))}e=c[d+68>>2]|0;e=tb[c[(c[e>>2]|0)+36>>2]&255](e)|0;l=tb[c[(c[e>>2]|0)+36>>2]&255](e)|0;if(!l)return;k=tb[c[(c[e>>2]|0)+20>>2]&255](e)|0;if((l|0)<=0)return;d=0;do{e=c[c[k+(d<<4)>>2]>>2]|0;f=c[c[k+(d<<4)+4>>2]>>2]|0;if((e|0?(f|0?(c[e+204>>2]&7|0)==0:0):0)?(c[f+204>>2]&7|0)==0:0){h=c[e+208>>2]|0;e=c[f+208>>2]|0;j=c[b+16>>2]|0;f=c[j+(h<<3)>>2]|0;if((f|0)!=(h|0)){c[j+(h<<3)>>2]=c[j+(f<<3)>>2];h=c[j+(f<<3)>>2]|0;f=c[j+(h<<3)>>2]|0;if((h|0)!=(f|0)){i=j+(h<<3)|0;do{h=j+(f<<3)|0;c[i>>2]=c[h>>2];h=c[h>>2]|0;i=j+(h<<3)|0;f=c[i>>2]|0}while((h|0)!=(f|0))}}f=c[j+(e<<3)>>2]|0;if((f|0)!=(e|0)){c[j+(e<<3)>>2]=c[j+(f<<3)>>2];e=c[j+(f<<3)>>2]|0;f=c[j+(e<<3)>>2]|0;if((e|0)!=(f|0)){i=j+(e<<3)|0;do{e=j+(f<<3)|0;c[i>>2]=c[e>>2];e=c[e>>2]|0;i=j+(e<<3)|0;f=c[i>>2]|0}while((e|0)!=(f|0))}}if((h|0)!=(e|0)){c[j+(h<<3)>>2]=e;m=j+(e<<3)+4|0;c[m>>2]=(c[m>>2]|0)+(c[j+(h<<3)+4>>2]|0)}}d=d+1|0}while((d|0)!=(l|0));return}function hf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=k;k=k+48|0;c[b+8>>2]=0;g[b+12>>2]=0.0;c[b>>2]=10160;c[b+48>>2]=d;c[b+4>>2]=21;if(tb[c[(c[d>>2]|0)+40>>2]&255](d)|0)Nb[c[(c[d>>2]|0)+48>>2]&127](d,b+16|0,b+32|0);else{d=h+32+4|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;g[h+32>>2]=1.0;Nb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+32>>2]=+g[h+16>>2]+ +g[b+12>>2];g[h+32>>2]=-1.0;Nb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+16>>2]=+g[h+16>>2]-+g[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[d>>2]=1.0;Nb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+36>>2]=+g[h+16+4>>2]+ +g[b+12>>2];g[d>>2]=-1.0;Nb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+20>>2]=+g[h+16+4>>2]-+g[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;g[h+32+8>>2]=1.0;Nb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+40>>2]=+g[h+16+8>>2]+ +g[b+12>>2];g[h+32+8>>2]=-1.0;Nb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];g[b+24>>2]=+g[h+16+8>>2]-+g[b+12>>2]}c[b>>2]=10008;c[b+52>>2]=0;c[b+56>>2]=0;a[b+60>>0]=e&1;a[b+61>>0]=0;c[b+4>>2]=21;if(!f){k=h;return}c[7584]=(c[7584]|0)+1;d=lc(191)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+52>>2]=282;a[d+60>>0]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;c[d+72>>2]=0;a[d+100>>0]=1;c[d+96>>2]=0;c[d+88>>2]=0;c[d+92>>2]=0;a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140>>0]=1;c[d+136>>2]=0;c[d+128>>2]=0;c[d+132>>2]=0;c[d+144>>2]=0;a[d+164>>0]=1;c[d+160>>2]=0;c[d+152>>2]=0;c[d+156>>2]=0;c[d+168>>2]=0;c[d+4>>2]=-8388609;c[d+8>>2]=-8388609;c[d+12>>2]=-8388609;g[d+16>>2]=0.0;c[d+20>>2]=2139095039;c[d+24>>2]=2139095039;c[d+28>>2]=2139095039;g[d+32>>2]=0.0;c[d>>2]=11316;c[b+52>>2]=d;gd(d,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;k=h;return}function jf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b)if(!e){if(f|0){c[f>>2]=(a>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(a>>>0)/(d>>>0)>>>0;return (x=e,f)|0}else{if(!f){e=0;f=0;return (x=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;e=0;f=0;return (x=e,f)|0}do if(d){if(e|0){h=(P(e|0)|0)-(P(b|0)|0)|0;if(h>>>0<=31){n=h+1|0;i=a>>>((h+1|0)>>>0)&h-31>>31|b<<31-h;m=b>>>((h+1|0)>>>0)&h-31>>31;g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (x=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (x=e,f)|0}if(d-1&d|0){h=(P(d|0)|0)+33-(P(b|0)|0)|0;n=h;i=32-h-1>>31&b>>>((h-32|0)>>>0)|(b<<32-h|a>>>(h>>>0))&h-32>>31;m=h-32>>31&b>>>(h>>>0);g=a<<64-h&32-h>>31;h=(b<<64-h|a>>>((h-32|0)>>>0))&32-h>>31|a<<32-h&h-33>>31;break}if(f|0){c[f>>2]=d-1&a;c[f+4>>2]=0}if((d|0)==1){e=b|b&0;f=a|0|0;return (x=e,f)|0}else{f=QG(d|0)|0;e=b>>>(f>>>0)|0;f=b<<32-f|a>>>(f>>>0)|0;return (x=e,f)|0}}else{if(!e){if(f|0){c[f>>2]=(b>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(b>>>0)/(d>>>0)>>>0;return (x=e,f)|0}if(!a){if(f|0){c[f>>2]=0;c[f+4>>2]=(b>>>0)%(e>>>0)}d=0;f=(b>>>0)/(e>>>0)>>>0;return (x=d,f)|0}if(!(e-1&e)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=e-1&b|b&0}d=0;f=b>>>((QG(e|0)|0)>>>0);return (x=d,f)|0}h=(P(e|0)|0)-(P(b|0)|0)|0;if(h>>>0<=30){n=h+1|0;i=b<<31-h|a>>>((h+1|0)>>>0);m=b>>>((h+1|0)>>>0);g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (x=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (x=e,f)|0}while(0);if(!n){j=h;b=m;a=0;h=0}else{k=Rx(d|0|0,e|e&0|0,-1,-1)|0;l=x;j=h;b=m;a=n;h=0;do{p=j;j=g>>>31|j<<1;g=h|g<<1;p=i<<1|p>>>31|0;o=i>>>31|b<<1|0;yx(k|0,l|0,p|0,o|0)|0;n=x;m=n>>31|((n|0)<0?-1:0)<<1;h=m&1;i=yx(p|0,o|0,m&(d|0)|0,(((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1)&(e|e&0)|0)|0;b=x;a=a-1|0}while((a|0)!=0);a=0}if(f|0){c[f>>2]=i;c[f+4>>2]=b}o=(g|0)>>>31|j<<1|(0<<1|g>>>31)&0|a;p=(g<<1|0>>>31)&-2|h;return (x=o,p)|0}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0;if(!a)return;q=+g[b>>2];r=+g[b+4>>2];s=+g[b+8>>2];t=+g[b+16>>2];u=+g[b+20>>2];p=+g[b+24>>2];c[7584]=(c[7584]|0)+1;b=lc(275)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}c[b>>2]=a;o=64;j=1;h=b;i=b;f=b;e=b;m=b;while(1){k=j+-1|0;n=c[h+(k<<2)>>2]|0;do if(((((+g[n>>2]<=t?+g[n+16>>2]>=q:0)?+g[n+4>>2]<=u:0)?+g[n+20>>2]>=r:0)?+g[n+8>>2]<=p:0)?+g[n+24>>2]>=s:0){if(!(c[n+40>>2]|0)){Jb[c[(c[d>>2]|0)+12>>2]&127](d,n);a=o;b=m;break}l=c[n+36>>2]|0;do if((k|0)==(o|0)){a=(o|0)==0?1:o<<1;if((j|0)<=(a|0)){if((a|0)!=0?(c[7584]=(c[7584]|0)+1,v=lc((a<<2|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;e=v+4+15&-16}else e=0;if((j|0)<=1){if(!h){h=e;j=e;i=e;f=e;b=e;k=0;break}}else{b=0;do{c[e+(b<<2)>>2]=c[h+(b<<2)>>2];b=b+1|0}while((b|0)!=(o|0))}if(!m){h=e;j=e;i=e;f=e;b=e;k=o}else{c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0);h=e;j=e;i=e;f=e;b=e;k=o}}else{a=o;j=e;b=m;k=o}}else{a=o;j=e;b=m}while(0);c[h+(k<<2)>>2]=l;m=k+1|0;l=c[n+40>>2]|0;do if((m|0)==(a|0)?(w=(a|0)==0?1:a<<1,(a|0)<(w|0)):0){if((w|0)!=0?(c[7584]=(c[7584]|0)+1,x=lc((w<<2|3)+16|0)|0,(x|0)!=0):0){c[(x+4+15&-16)+-4>>2]=x;e=x+4+15&-16}else e=0;if((k|0)>-1){b=0;do{c[e+(b<<2)>>2]=c[h+(b<<2)>>2];b=b+1|0}while((b|0)!=(a|0));if(!j){a=w;h=e;i=e;f=e;j=e;b=e;break}}else if((h|0)==0|(j|0)==0){a=w;h=e;i=e;f=e;j=e;b=e;break}c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0);a=w;h=e;i=e;f=e;j=e;b=e}while(0);c[h+(m<<2)>>2]=l;k=k+2|0;e=j}else{a=o;b=m}while(0);if((k|0)<=0)break;o=a;j=k;m=b}if((h|0)==0|(i|0)==0)return;c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);return}function lf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;j=k;k=k+64|0;l=(a[b+8>>0]|0)!=0;i=l?e:d;d=l?d:e;e=c[d+4>>2]|0;if(((c[e+4>>2]|0)+-21|0)>>>0>=9){k=j;return}if((c[(c[i+4>>2]|0)+4>>2]|0)>=20){k=j;return}m=+jb[c[(c[e>>2]|0)+48>>2]&15](e);c[h+4>>2]=c[b+76>>2];c[b+16>>2]=i;c[b+20>>2]=d;c[b+64>>2]=f;g[b+68>>2]=m;c[b+56>>2]=h;l=c[d+12>>2]|0;B=+g[l>>2];A=+g[l+16>>2];z=+g[l+32>>2];y=+g[l+4>>2];x=+g[l+20>>2];w=+g[l+36>>2];s=+g[l+8>>2];q=+g[l+24>>2];o=+g[l+40>>2];v=-+g[l+48>>2];u=-+g[l+52>>2];t=-+g[l+56>>2];l=c[i+12>>2]|0;K=+g[l>>2];J=+g[l+16>>2];I=+g[l+32>>2];H=+g[l+4>>2];G=+g[l+20>>2];F=+g[l+36>>2];E=+g[l+8>>2];D=+g[l+24>>2];C=+g[l+40>>2];r=+g[l+48>>2];p=+g[l+52>>2];n=+g[l+56>>2];g[j>>2]=B*K+A*J+z*I;g[j+4>>2]=B*H+A*G+z*F;g[j+8>>2]=B*E+A*D+z*C;g[j+12>>2]=0.0;g[j+16>>2]=y*K+x*J+w*I;g[j+20>>2]=y*H+x*G+w*F;g[j+24>>2]=y*E+x*D+w*C;g[j+28>>2]=0.0;g[j+32>>2]=s*K+q*J+o*I;g[j+36>>2]=s*H+q*G+o*F;g[j+40>>2]=s*E+q*D+o*C;g[j+44>>2]=0.0;g[j+48>>2]=B*v+A*u+z*t+(B*r+A*p+z*n);g[j+52>>2]=y*v+x*u+w*t+(y*r+x*p+w*n);g[j+56>>2]=s*v+q*u+o*t+(s*r+q*p+o*n);g[j+60>>2]=0.0;l=c[i+4>>2]|0;Qb[c[(c[l>>2]|0)+8>>2]&127](l,j,b+24|0,b+40|0);g[b+40>>2]=+g[b+40>>2]+m;g[b+44>>2]=+g[b+44>>2]+m;g[b+48>>2]=+g[b+48>>2]+m;g[b+24>>2]=+g[b+24>>2]-m;g[b+28>>2]=+g[b+28>>2]-m;g[b+32>>2]=+g[b+32>>2]-m;l=c[b+76>>2]|0;d=c[d+8>>2]|0;c[l+740>>2]=c[i+8>>2];c[l+744>>2]=d;Qb[c[(c[e>>2]|0)+64>>2]&127](e,b+12|0,b+24|0,b+40|0);d=c[h+4>>2]|0;do if(c[d+748>>2]|0){e=c[d+740>>2]|0;f=c[(c[h+8>>2]|0)+8>>2]|0;if((e|0)==(f|0)){qf(d,e+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{qf(d,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,f+4|0);break}}while(0);c[b+16>>2]=0;c[b+20>>2]=0;k=j;return}
|
|
function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0;o=k;k=k+128|0;i=+g[b>>2];j=+g[b+16>>2];p=i<j?i:j;h=+g[b+32>>2];if((p<h?p:h)>+g[a+28>>2]){k=o;return}m=i>j?b:b+16|0;if(+g[(+g[m>>2]>h?m:b+32|0)>>2]<+g[a+12>>2]){k=o;return}h=+g[b+8>>2];i=+g[b+24>>2];p=h<i?h:i;j=+g[b+40>>2];if((p<j?p:j)>+g[a+36>>2]){k=o;return}m=h>i?b+8|0:b+24|0;if(+g[(+g[m>>2]>j?m:b+40|0)>>2]<+g[a+20>>2]){k=o;return}h=+g[b+4>>2];i=+g[b+20>>2];p=h<i?h:i;j=+g[b+36>>2];if((p<j?p:j)>+g[a+32>>2]){k=o;return}m=h>i?b+4|0:b+20|0;if(+g[(+g[m>>2]>j?m:b+36|0)>>2]<+g[a+16>>2]){k=o;return}f=c[a+4>>2]|0;if((c[(c[f+4>>2]|0)+4>>2]|0)>=20){k=o;return}m=c[a+48>>2]|0;c[o+24+8>>2]=0;c[o+24+12>>2]=1065353216;c[o+24+16>>2]=1065353216;c[o+24+20>>2]=1065353216;g[o+24+24>>2]=0.0;c[o+24+52>>2]=0;c[o+24>>2]=6904;c[o+24+4>>2]=1;c[o+24+56>>2]=c[b>>2];c[o+24+56+4>>2]=c[b+4>>2];c[o+24+56+8>>2]=c[b+8>>2];c[o+24+56+12>>2]=c[b+12>>2];c[o+24+72>>2]=c[b+16>>2];c[o+24+72+4>>2]=c[b+16+4>>2];c[o+24+72+8>>2]=c[b+16+8>>2];c[o+24+72+12>>2]=c[b+16+12>>2];c[o+24+88>>2]=c[b+32>>2];c[o+24+88+4>>2]=c[b+32+4>>2];c[o+24+88+8>>2]=c[b+32+8>>2];c[o+24+88+12>>2]=c[b+32+12>>2];c[o+24+44>>2]=c[a+56>>2];q=c[a+8>>2]|0;b=c[q+8>>2]|0;l=c[q+12>>2]|0;c[o>>2]=q;c[o+4>>2]=o+24;c[o+8>>2]=b;c[o+12>>2]=l;c[o+16>>2]=d;c[o+20>>2]=e;l=yb[c[(c[m>>2]|0)+8>>2]&31](m,f,o,c[a+64>>2]|0)|0;b=c[a+44>>2]|0;f=c[b+8>>2]|0;if((c[f+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)){c[b+8>>2]=o;Nb[c[(c[b>>2]|0)+8>>2]&127](b,d,e)}else{f=c[b+12>>2]|0;c[b+12>>2]=o;Nb[c[(c[b>>2]|0)+12>>2]&127](b,d,e)}Ub[c[(c[l>>2]|0)+8>>2]&31](l,c[a+4>>2]|0,o,c[a+52>>2]|0,c[a+44>>2]|0);q=c[a+44>>2]|0;c[((c[(c[q+8>>2]|0)+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)?q+8|0:q+12|0)>>2]=f;Db[c[c[l>>2]>>2]&511](l);Jb[c[(c[m>>2]|0)+60>>2]&127](m,l);c[o+24>>2]=10360;f=c[o+24+52>>2]|0;if(f|0?(Db[c[c[f>>2]>>2]&511](f),n=c[o+24+52>>2]|0,n|0):0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0)}k=o;return}function nf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0;v=a[h+16>>0]&-16;a[h+16>>0]=v;w=+g[e>>2];x=+g[d>>2];n=+g[e+4>>2];o=+g[d+4>>2];p=+g[e+8>>2];q=+g[d+8>>2];r=+g[f>>2];s=+g[f+4>>2];t=+g[f+8>>2];l=+g[b>>2];m=+g[b+4>>2];i=+g[b+8>>2];y=(w-x)*(l-x)+(n-o)*(m-o)+(p-q)*(i-q);z=(r-x)*(l-x)+(s-o)*(m-o)+(t-q)*(i-q);do if(y<=0.0&z<=0.0){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];a[h+16>>0]=v|1;j=0.0;k=0.0;i=1.0}else{u=(w-x)*(l-w)+(n-o)*(m-n)+(p-q)*(i-p);k=(r-x)*(l-w)+(s-o)*(m-n)+(t-q)*(i-p);if(!(!(u>=0.0)|!(k<=u))){c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a[h+16>>0]=v|2;j=0.0;k=1.0;i=0.0;break}if(u<=0.0&(y>=0.0?y*k-u*z<=0.0:0)){g[h>>2]=x+(w-x)*(y/(y-u));g[h+4>>2]=o+(n-o)*(y/(y-u));g[h+8>>2]=q+(p-q)*(y/(y-u));g[h+12>>2]=0.0;a[h+16>>0]=v|3;j=0.0;k=y/(y-u);i=1.0-y/(y-u);break}j=(w-x)*(l-r)+(n-o)*(m-s)+(p-q)*(i-t);i=(r-x)*(l-r)+(s-o)*(m-s)+(t-q)*(i-t);if(!(!(i>=0.0)|!(j<=i))){c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];a[h+16>>0]=v|4;j=1.0;k=0.0;i=0.0;break}if(i<=0.0&(z>=0.0?j*z-y*i<=0.0:0)){g[h>>2]=x+(r-x)*(z/(z-i));g[h+4>>2]=o+(s-o)*(z/(z-i));g[h+8>>2]=q+(t-q)*(z/(z-i));g[h+12>>2]=0.0;a[h+16>>0]=v|5;j=z/(z-i);k=0.0;i=1.0-z/(z-i);break}if((u*i-j*k<=0.0?k-u>=0.0:0)?j-i>=0.0:0){k=(k-u)/(k-u+(j-i));g[h>>2]=w+(r-w)*k;g[h+4>>2]=n+(s-n)*k;g[h+8>>2]=p+(t-p)*k;g[h+12>>2]=0.0;a[h+16>>0]=v|6;j=k;k=1.0-k;i=0.0;break}l=1.0/(y*k-u*z+(u*i-j*k+(j*z-y*i)));m=(j*z-y*i)*l;i=(y*k-u*z)*l;g[h>>2]=(r-x)*i+(x+(w-x)*m);g[h+4>>2]=(s-o)*i+(o+(n-o)*m);g[h+8>>2]=(t-q)*i+(q+(p-q)*m);g[h+12>>2]=0.0;a[h+16>>0]=v|7;j=i;k=m;i=1.0-m-i}while(0);g[h+20>>2]=i;g[h+24>>2]=k;g[h+28>>2]=j;g[h+32>>2]=0.0;return}function of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;f=k;k=k+256|0;Wj(17265);c[f+32>>2]=7248;l=f+32+36|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];m=f+32+52|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[l>>2];c[f+32+116+4>>2]=c[l+4>>2];c[f+32+116+8>>2]=c[l+8>>2];c[f+32+116+12>>2]=c[l+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];n=+g[d>>2]-+g[b>>2];j=+g[d+4>>2]-+g[b+4>>2];i=+g[d+8>>2]-+g[b+8>>2];h=1.0/+A(+(n*n+j*j+i*i));q=n*h==0.0?1000000015047466219876688.0e6:1.0/(n*h);g[f+32+4>>2]=q;p=j*h==0.0?1000000015047466219876688.0e6:1.0/(j*h);g[f+32+8>>2]=p;o=i*h==0.0?1000000015047466219876688.0e6:1.0/(i*h);g[f+32+12>>2]=o;c[f+32+20>>2]=q<0.0&1;c[f+32+24>>2]=p<0.0&1;c[f+32+28>>2]=o<0.0&1;g[f+32+32>>2]=n*h*(+g[m>>2]-+g[l>>2])+j*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+i*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);a=c[a+68>>2]|0;e=c[(c[a>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Wb[e&7](a,b,d,f+32|0,f+16|0,f);a=c[3369]|0;e=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=e;if(e|0){k=f;return}do if(c[a+4>>2]|0){bb(f+32|0,0)|0;m=c[7583]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[f+32+4>>2]|0)-(c[m+4>>2]|0)+(((c[f+32>>2]|0)-(c[m>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[3369]|0;break}else{k=f;return}}while(0);c[3369]=c[a+20>>2];k=f;return}function pf(a,b,f){a=a|0;b=b|0;f=f|0;var i=0,j=0.0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=k;k=k+32|0;o=c[a+4>>2]|0;_b[c[(c[o>>2]|0)+16>>2]&3](o,u+28|0,u+24|0,u+20|0,u+16|0,u+12|0,u+8|0,u+4|0,u,b);o=(c[u+12>>2]|0)+(M(c[u+8>>2]|0,f)|0)|0;s=c[a+4>>2]|0;p=c[u>>2]|0;switch(p|0){case 3:{i=e[o+4>>1]|0;break}case 2:{i=c[o+8>>2]|0;break}default:i=d[o+2>>0]|0}t=(c[u+20>>2]|0)==0;q=c[u+28>>2]|0;r=c[u+16>>2]|0;i=q+(M(r,i)|0)|0;if(t){m=+g[i+4>>2]*+g[s+8>>2];n=+g[i>>2]*+g[s+4>>2];l=i+8|0;j=+g[s+12>>2]}else{m=+g[s+8>>2]*+h[i+8>>3];n=+g[s+4>>2]*+h[i>>3];l=s+12|0;j=+h[i+16>>3]}j=+g[l>>2]*j;g[a+44>>2]=n;g[a+48>>2]=m;g[a+52>>2]=j;g[a+56>>2]=0.0;switch(p|0){case 3:{i=e[o+2>>1]|0;break}case 2:{i=c[o+4>>2]|0;break}default:i=d[o+1>>0]|0}i=q+(M(r,i)|0)|0;if(t){l=i+8|0;m=+g[i+4>>2]*+g[s+8>>2];n=+g[i>>2]*+g[s+4>>2];j=+g[s+12>>2]}else{l=s+12|0;m=+g[s+8>>2]*+h[i+8>>3];n=+g[s+4>>2]*+h[i>>3];j=+h[i+16>>3]}j=+g[l>>2]*j;g[a+28>>2]=n;g[a+32>>2]=m;g[a+36>>2]=j;g[a+40>>2]=0.0;switch(p|0){case 3:{i=e[o>>1]|0;break}case 2:{i=c[o>>2]|0;break}default:i=d[o>>0]|0}i=q+(M(r,i)|0)|0;if(t){m=+g[i+4>>2]*+g[s+8>>2];j=+g[i>>2]*+g[s+4>>2];r=i+8|0;n=+g[s+12>>2];v=+g[r>>2];n=v*n;s=a+12|0;g[s>>2]=j;s=a+16|0;g[s>>2]=m;s=a+20|0;g[s>>2]=n;s=a+24|0;g[s>>2]=0.0;s=a+8|0;s=c[s>>2]|0;r=c[s>>2]|0;r=r+8|0;r=c[r>>2]|0;t=a+12|0;Qb[r&127](s,t,b,f);t=c[a+4>>2]|0;s=c[t>>2]|0;s=s+24|0;s=c[s>>2]|0;Jb[s&127](t,b);k=u;return}else{n=+g[s+8>>2]*+h[i+8>>3];m=+g[s+4>>2]*+h[i>>3];s=s+12|0;v=+h[i+16>>3];j=+g[s>>2];v=j*v;s=a+12|0;g[s>>2]=m;s=a+16|0;g[s>>2]=n;s=a+20|0;g[s>>2]=v;s=a+24|0;g[s>>2]=0.0;s=a+8|0;s=c[s>>2]|0;r=c[s>>2]|0;r=r+8|0;r=c[r>>2]|0;t=a+12|0;Qb[r&127](s,t,b,f);t=c[a+4>>2]|0;s=c[t>>2]|0;s=s+24|0;s=c[s>>2]|0;Jb[s&127](t,b);k=u;return}}function qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;f=c[b+748>>2]|0;if((f|0)<=0)return;do{j=f;f=f+-1|0;p=+g[b+4+(f*184|0)>>2];q=+g[b+4+(f*184|0)+4>>2];h=+g[b+4+(f*184|0)+8>>2];o=p*+g[d>>2]+q*+g[d+4>>2]+h*+g[d+8>>2]+ +g[d+48>>2];m=p*+g[d+16>>2]+q*+g[d+20>>2]+h*+g[d+24>>2]+ +g[d+52>>2];h=p*+g[d+32>>2]+q*+g[d+36>>2]+h*+g[d+40>>2]+ +g[d+56>>2];g[b+4+(f*184|0)+48>>2]=o;g[b+4+(f*184|0)+52>>2]=m;g[b+4+(f*184|0)+56>>2]=h;g[b+4+(f*184|0)+60>>2]=0.0;q=+g[b+4+(f*184|0)+16>>2];p=+g[b+4+(f*184|0)+20>>2];i=+g[b+4+(f*184|0)+24>>2];n=q*+g[e>>2]+p*+g[e+4>>2]+i*+g[e+8>>2]+ +g[e+48>>2];l=q*+g[e+16>>2]+p*+g[e+20>>2]+i*+g[e+24>>2]+ +g[e+52>>2];i=q*+g[e+32>>2]+p*+g[e+36>>2]+i*+g[e+40>>2]+ +g[e+56>>2];g[b+4+(f*184|0)+32>>2]=n;g[b+4+(f*184|0)+36>>2]=l;g[b+4+(f*184|0)+40>>2]=i;g[b+4+(f*184|0)+44>>2]=0.0;g[b+4+(f*184|0)+80>>2]=(o-n)*+g[b+4+(f*184|0)+64>>2]+(m-l)*+g[b+4+(f*184|0)+68>>2]+(h-i)*+g[b+4+(f*184|0)+72>>2];k=b+4+(f*184|0)+148|0;c[k>>2]=(c[k>>2]|0)+1}while((j|0)>1);f=c[b+748>>2]|0;if((f|0)<=0)return;j=f;do{e=j;j=j+-1|0;d=b+4+(j*184|0)|0;h=+g[b+4+(j*184|0)+80>>2];i=+g[b+752>>2];if(h<=i){o=+g[b+4+(j*184|0)+32>>2]-(+g[b+4+(j*184|0)+48>>2]-+g[b+4+(j*184|0)+64>>2]*h);p=+g[b+4+(j*184|0)+36>>2]-(+g[b+4+(j*184|0)+52>>2]-h*+g[b+4+(j*184|0)+68>>2]);q=+g[b+4+(j*184|0)+40>>2]-(+g[b+4+(j*184|0)+56>>2]-h*+g[b+4+(j*184|0)+72>>2]);if(o*o+p*p+q*q>i*i){f=f+-1|0;if((f|0)==(j|0))f=j;else{Ki(d|0,b+4+(f*184|0)|0,184)|0;c[b+4+(f*184|0)+112>>2]=0;g[b+4+(f*184|0)+120>>2]=0.0;a[b+4+(f*184|0)+116>>0]=0;g[b+4+(f*184|0)+124>>2]=0.0;g[b+4+(f*184|0)+128>>2]=0.0;c[b+4+(f*184|0)+148>>2]=0;f=(c[b+748>>2]|0)+-1|0}c[b+748>>2]=f}}else{f=f+-1|0;if((f|0)==(j|0))f=j;else{Ki(d|0,b+4+(f*184|0)|0,184)|0;c[b+4+(f*184|0)+112>>2]=0;g[b+4+(f*184|0)+120>>2]=0.0;a[b+4+(f*184|0)+116>>0]=0;g[b+4+(f*184|0)+124>>2]=0.0;g[b+4+(f*184|0)+128>>2]=0.0;c[b+4+(f*184|0)+148>>2]=0;f=(c[b+748>>2]|0)+-1|0}c[b+748>>2]=f}}while((e|0)>1);return}function rf(b){b=b|0;var d=0,e=0;c[b>>2]=8460;if(a[b+20>>0]|0){d=c[b+16>>2]|0;e=c[d+16>>2]|0;if(e){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);d=c[b+16>>2]|0}if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}}if(a[b+12>>0]|0){d=c[b+8>>2]|0;e=c[d+16>>2]|0;if(e){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);d=c[b+8>>2]|0}if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}}d=c[b+32>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+32>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+36>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+36>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+40>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+40>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+44>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+44>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+48>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+48>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+52>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+52>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+56>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+56>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+60>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+60>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+76>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+76>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+80>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+80>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+72>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+72>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+88>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+88>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+84>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+84>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+28>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+28>>2]|0;if(!d)return;c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);return}function sf(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0;s=k;k=k+16|0;Wj(17758);e=c[b+232>>2]|0;if((e|0)>0){r=0;do{q=c[(c[b+240>>2]|0)+(r<<2)>>2]|0;if(!(c[q+204>>2]&3)){o=+g[q+444>>2];h=+B(+(1.0-o),+d);i=+g[q+312>>2]*h;g[q+312>>2]=i;f=h*+g[q+316>>2];g[q+316>>2]=f;h=h*+g[q+320>>2];g[q+320>>2]=h;p=+g[q+448>>2];l=+B(+(1.0-p),+d);j=+g[q+328>>2]*l;g[q+328>>2]=j;m=l*+g[q+332>>2];g[q+332>>2]=m;l=l*+g[q+336>>2];g[q+336>>2]=l;do if(a[q+452>>0]|0){if(j*j+m*m+l*l<+g[q+464>>2]?i*i+f*f+h*h<+g[q+460>>2]:0){t=+g[q+456>>2];g[q+328>>2]=j*t;g[q+332>>2]=m*t;g[q+336>>2]=l*t;g[q+312>>2]=i*t;g[q+316>>2]=f*t;g[q+320>>2]=h*t;f=f*t;n=h*t;j=j*t;m=m*t;l=l*t;i=i*t}else n=h;h=+A(+(i*i+f*f+n*n));do if(h<o)if(h>.004999999888241291){g[q+312>>2]=i-i*(1.0/h)*.004999999888241291;g[q+316>>2]=f-f*(1.0/h)*.004999999888241291;g[q+320>>2]=n-n*(1.0/h)*.004999999888241291;break}else{c[q+312>>2]=0;c[q+312+4>>2]=0;c[q+312+8>>2]=0;c[q+312+12>>2]=0;break}while(0);f=+A(+(j*j+m*m+l*l));if(f<p)if(f>.004999999888241291){g[q+328>>2]=j-j*(1.0/f)*.004999999888241291;g[q+332>>2]=m-m*(1.0/f)*.004999999888241291;g[q+336>>2]=l-l*(1.0/f)*.004999999888241291;break}else{c[q+328>>2]=0;c[q+328+4>>2]=0;c[q+328+8>>2]=0;c[q+328+12>>2]=0;break}}while(0);oh(q+4|0,+g[q+312>>2],+g[q+316>>2],+g[q+320>>2],q+328|0,d,q+68|0);e=c[b+232>>2]|0}r=r+1|0}while((r|0)<(e|0))}e=c[3369]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){k=s;return}do if(c[e+4>>2]|0){bb(s|0,0)|0;b=c[7583]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[s+4>>2]|0)-(c[b+4>>2]|0)+(((c[s>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[3369]|0;break}else{k=s;return}}while(0);c[3369]=c[e+20>>2];k=s;return}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0;if(!(c[a>>2]|0)){c[a>>2]=d;c[d+32>>2]=0;return}f=c[b+40>>2]|0;if(!f)l=b;else{e=+g[d>>2]+ +g[d+16>>2];j=+g[d+4>>2]+ +g[d+20>>2];k=+g[d+8>>2]+ +g[d+24>>2];do{m=c[b+36>>2]|0;n=+z(+(e-(+g[m>>2]+ +g[m+16>>2])))+ +z(+(j-(+g[m+4>>2]+ +g[m+20>>2])))+ +z(+(k-(+g[m+8>>2]+ +g[m+24>>2])));b=c[b+36+((!(n<+z(+(e-(+g[f>>2]+ +g[f+16>>2])))+ +z(+(j-(+g[f+4>>2]+ +g[f+20>>2])))+ +z(+(k-(+g[f+8>>2]+ +g[f+24>>2]))))&1)<<2)>>2]|0;f=c[b+40>>2]|0}while((f|0)!=0);l=b}m=l+32|0;h=c[m>>2]|0;b=c[a+4>>2]|0;if(!b){c[7584]=(c[7584]|0)+1;b=lc(63)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}f=b;i=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0))}else c[a+4>>2]=0;c[b+32>>2]=h;c[b+36>>2]=0;f=b+40|0;c[f>>2]=0;n=+g[d>>2];k=+g[l>>2];g[b>>2]=n<k?n:k;k=+g[d+16>>2];n=+g[l+16>>2];g[b+16>>2]=k>n?k:n;n=+g[d+4>>2];k=+g[l+4>>2];g[b+4>>2]=n<k?n:k;k=+g[d+20>>2];n=+g[l+20>>2];g[b+20>>2]=k>n?k:n;n=+g[d+8>>2];k=+g[l+8>>2];g[b+8>>2]=n<k?n:k;k=+g[d+24>>2];n=+g[l+24>>2];g[b+24>>2]=k>n?k:n;if(!h){c[b+36>>2]=l;c[m>>2]=b;c[f>>2]=d;c[d+32>>2]=b;c[a>>2]=b;return}c[h+36+(((c[(c[m>>2]|0)+40>>2]|0)==(l|0)&1)<<2)>>2]=b;c[b+36>>2]=l;c[m>>2]=b;c[f>>2]=d;c[d+32>>2]=b;f=b;e=+g[b>>2];while(1){b=h+4|0;if(((((+g[h>>2]<=e?+g[b>>2]<=+g[f+4>>2]:0)?+g[h+8>>2]<=+g[f+8>>2]:0)?+g[h+16>>2]>=+g[f+16>>2]:0)?+g[h+20>>2]>=+g[f+20>>2]:0)?+g[h+24>>2]>=+g[f+24>>2]:0){b=21;break}a=c[h+36>>2]|0;d=c[h+40>>2]|0;k=+g[a>>2];e=+g[d>>2];e=k<e?k:e;g[h>>2]=e;k=+g[a+16>>2];n=+g[d+16>>2];g[h+16>>2]=k>n?k:n;n=+g[a+4>>2];k=+g[d+4>>2];g[b>>2]=n<k?n:k;k=+g[a+20>>2];n=+g[d+20>>2];g[h+20>>2]=k>n?k:n;n=+g[a+8>>2];k=+g[d+8>>2];g[h+8>>2]=n<k?n:k;k=+g[a+24>>2];n=+g[d+24>>2];g[h+24>>2]=k>n?k:n;b=c[h+32>>2]|0;if(!b){b=21;break}else{f=h;h=b}}if((b|0)==21)return}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[b+16>>2]=c[a+4>>2];c[b+20>>2]=c[a+8>>2];c[b+24>>2]=c[a+12>>2];c[b+28>>2]=c[a+16>>2];c[b+32>>2]=c[a+20>>2];c[b+36>>2]=c[a+24>>2];c[b+40>>2]=c[a+28>>2];c[b+44>>2]=c[a+32>>2];c[b+48>>2]=c[a+36>>2];c[b+52>>2]=c[a+40>>2];c[b+56>>2]=c[a+44>>2];c[b+60>>2]=c[a+48>>2];c[b+64>>2]=c[a+52>>2];c[b+68>>2]=c[a+56>>2];c[b+72>>2]=c[a+60>>2];c[b+76>>2]=c[a+64>>2];c[b+80>>2]=c[a+68>>2];c[b+84>>2]=c[a+72>>2];c[b+88>>2]=c[a+76>>2];c[b+92>>2]=c[a+80>>2];c[b+96>>2]=c[a+84>>2];c[b+100>>2]=c[a+88>>2];c[b+104>>2]=c[a+92>>2];c[b+108>>2]=c[a+96>>2];c[b+112>>2]=c[a+100>>2];c[b+116>>2]=c[a+104>>2];c[b+120>>2]=c[a+108>>2];c[b+124>>2]=c[a+112>>2];c[b+128>>2]=c[a+116>>2];c[b+132>>2]=c[a+120>>2];c[b+136>>2]=c[a+124>>2];c[b+140>>2]=c[a+128>>2];c[b+144>>2]=c[a+132>>2];c[b+148>>2]=c[a+136>>2];c[b+152>>2]=c[a+140>>2];c[b+156>>2]=c[a+144>>2];c[b+160>>2]=c[a+148>>2];c[b+164>>2]=c[a+152>>2];c[b+168>>2]=c[a+156>>2];c[b+172>>2]=c[a+160>>2];c[b+176>>2]=c[a+164>>2];c[b+180>>2]=c[a+168>>2];c[b+184>>2]=c[a+172>>2];c[b+188>>2]=c[a+176>>2];c[b+224>>2]=c[a+180>>2];c[b+192>>2]=c[a+184>>2];c[b>>2]=0;c[b+4>>2]=vb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+192>>2]|0)|0;c[b+8>>2]=0;c[b+228>>2]=c[a+204>>2];c[b+232>>2]=c[a+208>>2];c[b+236>>2]=c[a+212>>2];c[b+240>>2]=c[a+216>>2];c[b+196>>2]=c[a+220>>2];c[b+200>>2]=c[a+224>>2];c[b+204>>2]=c[a+232>>2];c[b+208>>2]=c[a+228>>2];c[b+244>>2]=c[a+236>>2];e=vb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b+12>>2]=f;if(!f){f=a+244|0;f=c[f>>2]|0;d=b+212|0;c[d>>2]=f;d=a+248|0;d=c[d>>2]|0;f=b+216|0;c[f>>2]=d;f=a+252|0;f=c[f>>2]|0;d=b+220|0;c[d>>2]=f;d=a+256|0;d=c[d>>2]|0;f=b+248|0;c[f>>2]=d;return 18738}Jb[c[(c[d>>2]|0)+48>>2]&127](d,e);f=a+244|0;f=c[f>>2]|0;d=b+212|0;c[d>>2]=f;d=a+248|0;d=c[d>>2]|0;f=b+216|0;c[f>>2]=d;f=a+252|0;f=c[f>>2]|0;d=b+220|0;c[d>>2]=f;d=a+256|0;d=c[d>>2]|0;f=b+248|0;c[f>>2]=d;return 18738}function vf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(!(AE(b,c[d+8>>2]|0)|0)){if(!(AE(b,c[d>>2]|0)|0)){i=c[b+12>>2]|0;$o(b+16|0,d,e,f,g);if((i|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(c[d+36>>2]|0)!=1:0){if(!(h&1)){h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1)break a;$o(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==1:0)break a;$o(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}h=b+24|0;while(1){if(a[d+54>>0]|0)break a;$o(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;j=b+16+(c[b+12>>2]<<3)|0;h=0;i=b+16|0;k=0;b:while(1){if(i>>>0>=j>>>0){f=18;break}a[d+52>>0]=0;a[d+53>>0]=0;Io(i,d,e,e,1,g);if(a[d+54>>0]|0){f=18;break}do if(a[d+53>>0]|0){if(!(a[d+52>>0]|0))if(!(c[b+8>>2]&1)){h=1;f=18;break b}else{h=1;f=k;break}if((c[d+24>>2]|0)==1){f=23;break b}if(!(c[b+8>>2]&2)){f=23;break b}else{h=1;f=1}}else f=k;while(0);i=i+8|0;k=f}do if((f|0)==18){if((!k?(c[d+20>>2]=e,c[d+40>>2]=(c[d+40>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h){f=23;break}else{h=4;break}}if(h)f=23;else h=4}while(0);if((f|0)==23)h=3;c[d+44>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else pt(d,e,f);while(0);return}function wf(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,k=0,l=0.0,m=0.0;if(a[b+48>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=4;c[d+4>>2]=2;bd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+1088>>2]=0.0;a[b+297>>0]=0;l=+g[b+192>>2];m=+g[b+196>>2];do if(l<=m){h=+g[b+892>>2];i=+g[b+908>>2];f=+g[b+924>>2];f=+I(+(+g[b+832>>2]*h+ +g[b+848>>2]*i+ +g[b+864>>2]*f),+(+g[b+828>>2]*h+ +g[b+844>>2]*i+ +g[b+860>>2]*f));do if(!(l>=m)){if(f<l){if(!((l-f)%6.2831854820251465<-3.1415927410125732))if((l-f)%6.2831854820251465>3.1415927410125732)h=(l-f)%6.2831854820251465+-6.2831854820251465;else h=(l-f)%6.2831854820251465;else h=(l-f)%6.2831854820251465+6.2831854820251465;i=+z(+h);if(!((m-f)%6.2831854820251465<-3.1415927410125732))if((m-f)%6.2831854820251465>3.1415927410125732)h=(m-f)%6.2831854820251465+-6.2831854820251465;else h=(m-f)%6.2831854820251465;else h=(m-f)%6.2831854820251465+6.2831854820251465;k=i<+z(+h);f=k?f:f+6.2831854820251465;break}if(f>m){if(!((f-m)%6.2831854820251465<-3.1415927410125732))if((f-m)%6.2831854820251465>3.1415927410125732)h=(f-m)%6.2831854820251465+-6.2831854820251465;else h=(f-m)%6.2831854820251465;else h=(f-m)%6.2831854820251465+6.2831854820251465;i=+z(+h);if(!((f-l)%6.2831854820251465<-3.1415927410125732))if((f-l)%6.2831854820251465>3.1415927410125732)h=(f-l)%6.2831854820251465+-6.2831854820251465;else h=(f-l)%6.2831854820251465;else h=(f-l)%6.2831854820251465+6.2831854820251465;k=+z(+h)<i;f=k?f+-6.2831854820251465:f}}while(0);g[b+1084>>2]=f;if(f<l){g[b+1088>>2]=f-l;a[b+297>>0]=1;k=1;break}if(f>m){g[b+1088>>2]=f-m;a[b+297>>0]=1;k=1}else k=0}else k=0;while(0);a[b+296>>0]=0;e=c[b+1032>>2]|0;c[b+1080>>2]=e;f=+g[b+184>>2];h=+g[b+188>>2];i=(c[j>>2]=e,+g[j>>2]);do if(!(f<=h))e=32;else{if(!(h<i)){if(!(f>i)){e=32;break}}else f=h;g[b+1032>>2]=i-f;a[b+296>>0]=1;e=34}while(0);if((e|0)==32?(g[b+1032>>2]=0.0,a[b+1096>>0]|0):0)e=34;if((e|0)==34){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(k<<24>>24==0?(a[b+1112>>0]|0)==0:0)return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;l=k;k=k+128|0;a=c[a+16>>2]|0;o=+g[a+892>>2];y=+g[a+896>>2];z=+g[a+900>>2];x=+g[a+908>>2];m=+g[a+912>>2];h=+g[a+916>>2];w=+g[b>>2];v=+g[b+4>>2];u=+g[b+8>>2];s=+g[b+16>>2];r=+g[b+20>>2];q=+g[b+24>>2];n=+g[b+32>>2];f=+g[b+36>>2];i=+g[b+40>>2];t=+g[b+48>>2];p=+g[b+52>>2];j=+g[b+56>>2];g[l>>2]=o*w+y*v+z*u+t;g[l+4>>2]=o*s+y*r+z*q+p;g[l+8>>2]=o*n+y*f+z*i+j;g[l+12>>2]=0.0;g[l+16>>2]=x*w+y*v+z*u+t;g[l+20>>2]=x*s+y*r+z*q+p;g[l+24>>2]=x*n+y*f+z*i+j;g[l+28>>2]=0.0;g[l+32>>2]=x*w+m*v+z*u+t;g[l+36>>2]=x*s+m*r+z*q+p;g[l+40>>2]=x*n+m*f+z*i+j;g[l+44>>2]=0.0;g[l+48>>2]=o*w+m*v+z*u+t;g[l+52>>2]=o*s+m*r+z*q+p;g[l+56>>2]=o*n+m*f+z*i+j;g[l+60>>2]=0.0;g[l+64>>2]=o*w+y*v+h*u+t;g[l+68>>2]=o*s+y*r+h*q+p;g[l+72>>2]=o*n+y*f+h*i+j;g[l+76>>2]=0.0;g[l+80>>2]=x*w+y*v+h*u+t;g[l+84>>2]=x*s+y*r+h*q+p;g[l+88>>2]=x*n+y*f+h*i+j;g[l+92>>2]=0.0;g[l+96>>2]=x*w+m*v+h*u+t;g[l+100>>2]=x*s+m*r+h*q+p;g[l+104>>2]=x*n+m*f+h*i+j;g[l+108>>2]=0.0;g[l+112>>2]=o*w+m*v+h*u+t;g[l+116>>2]=o*s+m*r+h*q+p;g[l+120>>2]=o*n+m*f+h*i+j;g[l+124>>2]=0.0;c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];c[e+12>>2]=c[l+12>>2];c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];c[d+12>>2]=c[l+12>>2];a=1;do{f=+g[l+(a<<4)>>2];if(f<+g[d>>2])g[d>>2]=f;h=+g[l+(a<<4)+4>>2];if(h<+g[d+4>>2])g[d+4>>2]=h;i=+g[l+(a<<4)+8>>2];if(i<+g[d+8>>2])g[d+8>>2]=i;j=+g[l+(a<<4)+12>>2];if(j<+g[d+12>>2])g[d+12>>2]=j;if(+g[e>>2]<f)g[e>>2]=f;if(+g[e+4>>2]<h)g[e+4>>2]=h;if(+g[e+8>>2]<i)g[e+8>>2]=i;if(+g[e+12>>2]<j)g[e+12>>2]=j;a=a+1|0}while((a|0)!=8);k=l;return}function yf(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0;r=k;k=k+64|0;hh(c[b+116>>2]|0,d,0);e=+g[d+204>>2]+ +g[d+212>>2];p=e*+g[d+56>>2]+ +g[d+40>>2];q=e*+g[d+60>>2]+ +g[d+44>>2];g[d+16>>2]=+g[d+52>>2]*e+ +g[d+36>>2];g[d+20>>2]=p;g[d+24>>2]=q;g[d+28>>2]=0.0;g[r+32>>2]=-1.0;s=c[b+100>>2]|0;s=yb[c[(c[s>>2]|0)+8>>2]&31](s,d+36|0,d+16|0,r)|0;c[d+88>>2]=0;if(!s){c[d+32>>2]=c[d+204>>2];g[d+272>>2]=0.0;p=-+g[d+56>>2];q=-+g[d+60>>2];g[d>>2]=-+g[d+52>>2];g[d+4>>2]=p;g[d+8>>2]=q;g[d+12>>2]=0.0;q=-1.0;p=1.0;s=d+268|0;g[s>>2]=p;k=r;return +q}q=e*+g[r+32>>2];c[d>>2]=c[r+16>>2];c[d+4>>2]=c[r+16+4>>2];c[d+8>>2]=c[r+16+8>>2];c[d+12>>2]=c[r+16+12>>2];a[d+84>>0]=1;if((a[28368]|0)==0?_A(28368)|0:0){c[r+40>>2]=0;c[r+40+4>>2]=0;c[r+40+8>>2]=0;c[r+40+12>>2]=0;Dg(29612,0.0,0,0,r+40|0)}c[7454]=c[7454]|1;g[7489]=0.0;p=+g[7499]*0.0;e=+g[7500]*0.0;g[7494]=+g[7498]*0.0;g[7495]=p;g[7496]=e;g[7497]=0.0;c[7502]=0;c[7503]=0;c[7504]=0;c[7505]=0;e=+g[7491]*0.0;p=+g[7492]*0.0;g[7543]=+g[7490]*0.0;g[7544]=e;g[7545]=p;g[7546]=0.0;c[d+88>>2]=29612;p=q-+g[d+212>>2];g[d+32>>2]=p;e=+g[d+204>>2];f=+g[d+208>>2]*.009999999776482582;h=p<e-f?e-f:p;if(p<e-f|h>e+f)g[d+32>>2]=h>e+f?e+f:h;c[d+16>>2]=c[r>>2];c[d+16+4>>2]=c[r+4>>2];c[d+16+8>>2]=c[r+8>>2];c[d+16+12>>2]=c[r+12>>2];m=+g[d>>2];n=+g[d+4>>2];o=+g[d+8>>2];p=m*+g[d+52>>2]+n*+g[d+56>>2]+o*+g[d+60>>2];b=c[b+116>>2]|0;h=+g[d+16>>2]-+g[b+52>>2];i=+g[d+20>>2]-+g[b+56>>2];j=+g[d+24>>2]-+g[b+60>>2];l=+g[b+332>>2];e=+g[b+336>>2];f=+g[b+328>>2];if(!(p>=-.10000000149011612)){g[d+272>>2]=-1.0/p*(m*(l*j-i*e+ +g[b+312>>2])+n*(h*e-j*f+ +g[b+316>>2])+o*(i*f-h*l+ +g[b+320>>2]));p=-1.0/p;s=d+268|0;g[s>>2]=p;k=r;return +q}else{g[d+272>>2]=0.0;p=10.0;s=d+268|0;g[s>>2]=p;k=r;return +q}return 0.0}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0;u=+g[b>>2];t=+g[b+4>>2];s=+g[b+8>>2];r=1.0/+A(+(u*u+t*t+s*s));y=+g[d>>2];x=+g[d+4>>2];w=+g[d+8>>2];v=1.0/+A(+(y*y+x*x+w*w));C=s*r*x*v-t*r*w*v;B=u*r*w*v-s*r*y*v;z=t*r*y*v-u*r*x*v;d=c[a+28>>2]|0;e=+g[d+4>>2];h=+g[d+20>>2];j=+g[d+36>>2];f=+g[d+8>>2];i=+g[d+24>>2];k=+g[d+40>>2];l=+g[d+12>>2];n=+g[d+28>>2];p=+g[d+44>>2];m=-+g[d+52>>2];o=-+g[d+56>>2];q=-+g[d+60>>2];g[a+48>>2]=j*z+(e*C+h*B);g[a+52>>2]=j*w*v+(e*y*v+h*x*v);g[a+56>>2]=e*u*r+t*r*h+s*r*j;g[a+60>>2]=0.0;g[a+64>>2]=z*k+(f*C+i*B);g[a+68>>2]=y*v*f+x*v*i+w*v*k;g[a+72>>2]=u*r*f+t*r*i+s*r*k;g[a+76>>2]=0.0;g[a+80>>2]=C*l+B*n+z*p;g[a+84>>2]=y*v*l+x*v*n+w*v*p;g[a+88>>2]=u*r*l+t*r*n+s*r*p;g[a+92>>2]=0.0;g[a+96>>2]=e*0.0+h*0.0+j*0.0+(e*m+h*o+j*q);g[a+100>>2]=f*0.0+i*0.0+k*0.0+(f*m+i*o+k*q);g[a+104>>2]=l*0.0+n*0.0+p*0.0+(l*m+n*o+p*q);g[a+108>>2]=0.0;d=c[a+32>>2]|0;q=+g[d+4>>2];p=+g[d+20>>2];o=+g[d+36>>2];n=+g[d+8>>2];m=+g[d+24>>2];l=+g[d+40>>2];k=+g[d+12>>2];i=+g[d+28>>2];f=+g[d+44>>2];j=-+g[d+52>>2];h=-+g[d+56>>2];e=-+g[d+60>>2];g[a+112>>2]=C*q+B*p+z*o;g[a+116>>2]=y*v*q+x*v*p+w*v*o;g[a+120>>2]=u*r*q+t*r*p+s*r*o;g[a+124>>2]=0.0;g[a+128>>2]=C*n+B*m+z*l;g[a+132>>2]=y*v*n+x*v*m+w*v*l;g[a+136>>2]=u*r*n+t*r*m+s*r*l;g[a+140>>2]=0.0;g[a+144>>2]=C*k+B*i+z*f;g[a+148>>2]=y*v*k+x*v*i+w*v*f;g[a+152>>2]=u*r*k+t*r*i+s*r*f;g[a+156>>2]=0.0;g[a+160>>2]=q*0.0+p*0.0+o*0.0+(q*j+p*h+o*e);g[a+164>>2]=n*0.0+m*0.0+l*0.0+(n*j+m*h+l*e);g[a+168>>2]=k*0.0+i*0.0+f*0.0+(k*j+i*h+f*e);g[a+172>>2]=0.0;nd(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0);return}function Af(b){b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0,l=0;h=k;k=k+16|0;if(!(a[b+1308>>0]|0)){k=h;return}g[b+928>>2]=0.0;g[b+992>>2]=0.0;g[b+1056>>2]=0.0;c[b+712>>2]=0;c[b+712+4>>2]=0;c[b+712+8>>2]=0;c[b+712+12>>2]=0;nd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);Db[c[(c[b>>2]|0)+44>>2]&511](b);d=+g[b+1284>>2];e=+g[b+1288>>2];f=+g[b+1292>>2];if(+g[b+696>>2]>=+g[b+680>>2]){l=(a[b+1300>>0]|0)==0;i=c[(l?b+1160|0:b+1096|0)>>2]|0;j=c[(l?b+1144|0:b+1080|0)>>2]|0;c[h>>2]=c[(l?b+1128|0:b+1064|0)>>2];c[h+4>>2]=j;c[h+8>>2]=i;g[h+12>>2]=0.0;bi(c[b+28>>2]|0,c[b+32>>2]|0,b+176|0,h,d,e,f,d,e,f)}if(+g[b+700>>2]>=+g[b+684>>2]){i=(a[b+1300>>0]|0)==0;l=c[(i?b+1164|0:b+1100|0)>>2]|0;j=c[(i?b+1148|0:b+1084|0)>>2]|0;c[h>>2]=c[(i?b+1132|0:b+1068|0)>>2];c[h+4>>2]=j;c[h+8>>2]=l;g[h+12>>2]=0.0;bi(c[b+28>>2]|0,c[b+32>>2]|0,b+260|0,h,d,e,f,d,e,f)}if(+g[b+704>>2]>=+g[b+688>>2]){i=(a[b+1300>>0]|0)==0;l=c[(i?b+1168|0:b+1104|0)>>2]|0;j=c[(i?b+1152|0:b+1088|0)>>2]|0;c[h>>2]=c[(i?b+1136|0:b+1072|0)>>2];c[h+4>>2]=j;c[h+8>>2]=l;g[h+12>>2]=0.0;bi(c[b+28>>2]|0,c[b+32>>2]|0,b+344|0,h,d,e,f,d,e,f)}if(pg(b,0)|0){c[h>>2]=c[b+1208>>2];c[h+4>>2]=c[b+1208+4>>2];c[h+8>>2]=c[b+1208+8>>2];c[h+12>>2]=c[b+1208+12>>2];bh(c[b+28>>2]|0,c[b+32>>2]|0,b+428|0,h)}if(pg(b,1)|0){c[h>>2]=c[b+1224>>2];c[h+4>>2]=c[b+1224+4>>2];c[h+8>>2]=c[b+1224+8>>2];c[h+12>>2]=c[b+1224+12>>2];bh(c[b+28>>2]|0,c[b+32>>2]|0,b+512|0,h)}if(pg(b,2)|0){c[h>>2]=c[b+1240>>2];c[h+4>>2]=c[b+1240+4>>2];c[h+8>>2]=c[b+1240+8>>2];c[h+12>>2]=c[b+1240+12>>2];bh(c[b+28>>2]|0,c[b+32>>2]|0,b+596|0,h)}k=h;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0;d=c[a+748>>2]|0;if((d|0)!=4){c[a+748>>2]=d+1;y=d;x=(y|0)>0;y=x?y:0;a=a+4+(y*184|0)|0;Ki(a|0,b|0,184)|0;return y|0}k=+g[b+80>>2];w=+g[a+84>>2];v=w<k?w:k;u=+g[a+268>>2];t=u<v?u:v;s=+g[a+452>>2];y=+g[a+636>>2]<(s<t?s:t);d=y?3:s<t?2:u<v?1:(w<k^1)<<31>>31;k=+g[b>>2];if(d){n=+g[a+188>>2];h=+g[b+4>>2];q=+g[a+192>>2];j=+g[b+8>>2];p=+g[a+196>>2];m=+g[a+556>>2];s=+g[a+372>>2];f=+g[a+560>>2];o=+g[a+376>>2];e=+g[a+564>>2];l=+g[a+380>>2];i=((k-n)*(f-o)-(h-q)*(m-s))*((k-n)*(f-o)-(h-q)*(m-s))+(((h-q)*(e-l)-(j-p)*(f-o))*((h-q)*(e-l)-(j-p)*(f-o))+((j-p)*(m-s)-(k-n)*(e-l))*((j-p)*(m-s)-(k-n)*(e-l)));if((d|0)==1){k=k-+g[a+4>>2];u=h-+g[a+8>>2];t=j-+g[a+12>>2];h=0.0;j=p;x=7}else{t=m-s;u=f-o;r=e-l;x=6}}else{m=+g[a+556>>2];s=+g[a+372>>2];f=+g[a+560>>2];o=+g[a+376>>2];e=+g[a+564>>2];l=+g[a+380>>2];t=m-s;u=f-o;r=e-l;n=+g[a+188>>2];q=+g[a+192>>2];p=+g[a+196>>2];i=0.0;h=+g[b+4>>2];j=+g[b+8>>2];x=6}if((x|0)==6){k=k-+g[a+4>>2];h=h-+g[a+8>>2];j=j-+g[a+12>>2];w=h*r-j*u;v=j*t-k*r;r=k*u-h*t;if((d|0)==2){u=h;t=j;m=o;j=p;f=l;e=0.0;h=r*r+(w*w+v*v);x=8}else{u=h;t=j;h=r*r+(w*w+v*v);j=p;x=7}}if((x|0)==7){p=m-n;w=f-q;e=e-j;r=u*e-t*w;e=t*p-k*e;p=k*w-u*p;if(y){e=p*p+(r*r+e*e);f=0.0}else{m=o;f=l;e=p*p+(r*r+e*e);x=8}}if((x|0)==8){v=s-n;s=m-q;f=f-j;w=u*f-t*s;f=t*v-k*f;v=k*s-u*v;f=v*v+(w*w+f*f)}w=+z(+i);u=+z(+h);s=+z(+e);r=+z(+f);v=w>-999999984306749440.0?w:-999999984306749440.0;t=u>v?u:v;y=r>(s>t?s:t)?3:s>t?2:u>v?1:(w>-999999984306749440.0^1)<<31>>31;x=(y|0)>0;y=x?y:0;a=a+4+(y*184|0)|0;Ki(a|0,b|0,184)|0;return y|0}function Cf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[7560]=(c[7560]|0)+1;g=c[d+24>>2]|0;if(!g){if(!((b[f+6>>1]&b[e+4>>1])<<16>>16)){d=0;return d|0}if(!((b[e+6>>1]&b[f+4>>1])<<16>>16)){d=0;return d|0}}else if(!(xb[c[(c[g>>2]|0)+8>>2]&63](g,e,f)|0)){d=0;return d|0}l=(c[e+12>>2]|0)>(c[f+12>>2]|0);m=l?f:e;i=c[m+12>>2]|0;l=l?e:f;f=c[l+12>>2]|0;j=(f<<16|i)+~((f<<16|i)<<15)|0;j=((10?j>>10:j)^j)*9|0;j=(6?j>>6:j)^j;j=(16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11);k=c[d+12>>2]|0;g=c[(c[d+44>>2]|0)+((j&k+-1)<<2)>>2]|0;a:do if((g|0)!=-1){h=c[d+16>>2]|0;e=g;while(1){g=h+(e<<4)|0;if((c[(c[g>>2]|0)+12>>2]|0)==(i|0)?(c[(c[h+(e<<4)+4>>2]|0)+12>>2]|0)==(f|0):0)break;e=c[(c[d+64>>2]|0)+(e<<2)>>2]|0;if((e|0)==-1)break a}return g|0}while(0);i=c[d+8>>2]|0;if((i|0)==(k|0)){h=(k|0)==0?1:k<<1;if((k|0)<(h|0)){if(!h){g=0;f=k}else{c[7584]=(c[7584]|0)+1;g=lc((h<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}f=c[d+8>>2]|0}if((f|0)>0){e=0;do{n=c[d+16>>2]|0;c[g+(e<<4)>>2]=c[n+(e<<4)>>2];c[g+(e<<4)+4>>2]=c[n+(e<<4)+4>>2];c[g+(e<<4)+8>>2]=c[n+(e<<4)+8>>2];c[g+(e<<4)+12>>2]=c[n+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[d+16>>2]|0;if(e|0){if(a[d+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[d+16>>2]=0}a[d+20>>0]=1;c[d+16>>2]=g;c[d+12>>2]=h;e=c[d+8>>2]|0;g=h}else{e=k;g=k}}else{e=i;g=k}c[d+8>>2]=e+1;f=c[d+16>>2]|0;e=c[d+72>>2]|0;if(e){xb[c[(c[e>>2]|0)+8>>2]&63](e,m,l)|0;g=c[d+12>>2]|0}if((k|0)<(g|0)){Sf(d);g=(c[d+12>>2]|0)+-1&j}else g=j&k+-1;n=(c[m+12>>2]|0)<(c[l+12>>2]|0);c[f+(i<<4)>>2]=n?m:l;c[f+(i<<4)+4>>2]=n?l:m;c[f+(i<<4)+8>>2]=0;c[f+(i<<4)+8+4>>2]=0;n=(c[d+44>>2]|0)+(g<<2)|0;c[(c[d+64>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;n=f+(i<<4)|0;return n|0}function Df(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=k;k=k+32|0;a[q+16>>0]=1;c[q+12>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;if((c[b+8>>2]|0)>0){m=0;g=0;h=0;e=0;f=0;while(1){n=c[b+16>>2]|0;o=n+(m<<4)|0;if((g|0)==(f|0)){l=(f|0)==0?1:f<<1;if((f|0)<(l|0)){if(l){c[7584]=(c[7584]|0)+1;e=lc((l<<4|3)+16|0)|0;if(!e){h=0;f=g}else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16;f=g}}else h=0;if((f|0)>0){e=0;do{j=c[q+12>>2]|0;c[h+(e<<4)>>2]=c[j+(e<<4)>>2];c[h+(e<<4)+4>>2]=c[j+(e<<4)+4>>2];c[h+(e<<4)+8>>2]=c[j+(e<<4)+8>>2];c[h+(e<<4)+12>>2]=c[j+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[q+12>>2]|0;if(!e)g=f;else{if(!(a[q+16>>0]|0))g=f;else{c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[q+12>>2]=0}a[q+16>>0]=1;c[q+12>>2]=h;j=l;i=g;e=l}else{j=f;i=f}}else{j=f;i=g}c[h+(i<<4)>>2]=c[o>>2];c[h+(i<<4)+4>>2]=c[n+(m<<4)+4>>2];c[h+(i<<4)+8>>2]=c[n+(m<<4)+8>>2];c[h+(i<<4)+12>>2]=c[n+(m<<4)+12>>2];g=i+1|0;m=m+1|0;if((m|0)>=(c[b+8>>2]|0))break;else f=j}c[q+4>>2]=g;c[q+8>>2]=e;if((i|0)>-1){f=c[q+12>>2]|0;e=0;while(1){yb[c[(c[b>>2]|0)+12>>2]&31](b,c[f+(e<<4)>>2]|0,c[f+(e<<4)+4>>2]|0,d)|0;if((e|0)<(i|0))e=e+1|0;else break}}}else g=0;if((c[b+56>>2]|0)>0){f=c[b+64>>2]|0;e=0;do{c[f+(e<<2)>>2]=-1;e=e+1|0}while((e|0)<(c[b+56>>2]|0))}if((g|0)<=1)if((g|0)<=0){e=c[q+12>>2]|0;if(!e){k=q;return}}else p=26;else{Ae(q,0,g+-1|0);p=26}if((p|0)==26){e=c[q+12>>2]|0;f=0;do{xb[c[(c[b>>2]|0)+8>>2]&63](b,c[e+(f<<4)>>2]|0,c[e+(f<<4)+4>>2]|0)|0;f=f+1|0}while((f|0)<(g|0))}c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);c[q+12>>2]=0;k=q;return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0;y=k;k=k+32|0;s=c[a+12>>2]|0;t=+g[s+(((e+d|0)/2|0)*24|0)>>2];v=+g[s+(((e+d|0)/2|0)*24|0)+4>>2];w=+g[s+(((e+d|0)/2|0)*24|0)+8>>2];x=+g[s+(((e+d|0)/2|0)*24|0)+16>>2];u=c[s+(((e+d|0)/2|0)*24|0)+20>>2]|0;f=e;h=d;while(1){o=+g[b>>2];p=+g[b+4>>2];q=+g[b+8>>2];r=(t-o)*(t-o)+(v-p)*(v-p)+(w-q)*(w-q);a:while(1){n=s+(h*24|0)|0;i=+g[s+(h*24|0)+16>>2];do if(i!=x){if(!(i<x))break a}else{i=+g[n>>2]-o;j=+g[s+(h*24|0)+4>>2]-p;l=+g[s+(h*24|0)+8>>2]-q;if(i*i+j*j+l*l!=r)if(i*i+j*j+l*l<r)break;else break a;else if((c[s+(h*24|0)+20>>2]|0)<(u|0))break;else break a}while(0);h=h+1|0}b:while(1){m=s+(f*24|0)|0;i=+g[s+(f*24|0)+16>>2];do if(x!=i){if(!(x<i))break b}else{i=+g[m>>2]-o;j=+g[s+(f*24|0)+4>>2]-p;l=+g[s+(f*24|0)+8>>2]-q;if(r!=i*i+j*j+l*l)if(r<i*i+j*j+l*l)break;else break b;else if((u|0)<(c[s+(f*24|0)+20>>2]|0))break;else break b}while(0);f=f+-1|0}if((h|0)<=(f|0)){c[y>>2]=c[n>>2];c[y+4>>2]=c[n+4>>2];c[y+8>>2]=c[n+8>>2];c[y+12>>2]=c[n+12>>2];c[y+16>>2]=c[n+16>>2];c[y+20>>2]=c[n+20>>2];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];s=(c[a+12>>2]|0)+(f*24|0)|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[s+16>>2]=c[y+16>>2];c[s+20>>2]=c[y+20>>2];f=f+-1|0;h=h+1|0}if((h|0)>(f|0))break;s=c[a+12>>2]|0}if((f|0)>(d|0))Ef(a,b,d,f);if((h|0)>=(e|0)){k=y;return}Ef(a,b,h,e);k=y;return}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;e=k;k=k+48|0;y=+g[a+56>>2];L=+g[b>>2];f=+g[a+60>>2];K=+g[b+4>>2];i=+g[a+64>>2];J=+g[b+8>>2];I=+g[b+16>>2];H=+g[b+20>>2];G=+g[b+24>>2];x=+g[b+32>>2];h=+g[b+36>>2];j=+g[b+40>>2];M=+g[b+48>>2];F=+g[b+52>>2];l=+g[b+56>>2];g[e+40>>2]=y*L+f*K+i*J+M;g[e+36>>2]=y*I+f*H+i*G+F;g[e+32>>2]=y*x+f*h+i*j+l;E=+g[a+72>>2];D=+g[a+76>>2];C=+g[a+80>>2];g[e+16>>2]=M+(L*E+K*D+J*C);g[e+16+4>>2]=F+(I*E+H*D+G*C);g[e+16+8>>2]=l+(x*E+h*D+j*C);g[e+16+12>>2]=0.0;B=+g[a+88>>2];A=+g[a+92>>2];z=+g[a+96>>2];g[e>>2]=M+(L*B+K*A+J*z);g[e+4>>2]=F+(I*B+H*A+G*z);g[e+8>>2]=l+(x*B+h*A+j*z);g[e+12>>2]=0.0;m=+g[a+44>>2];a=M+(L*E+K*D+J*C)>M+(L*B+K*A+J*z);b=!(y*L+f*K+i*J+M>(a?M+(L*B+K*A+J*z):M+(L*E+K*D+J*C)));w=F+(I*E+H*D+G*C)>F+(I*B+H*A+G*z);v=!(y*I+f*H+i*G+F>+g[(w?e:e+16|0)+4>>2]);u=l+(x*E+h*D+j*C)>l+(x*B+h*A+j*z);t=!(y*x+f*h+i*j+l>+g[(u?e:e+16|0)+8>>2]);s=M+(L*E+K*D+J*C)<M+(L*B+K*A+J*z);r=!(y*L+f*K+i*J+M<(s?M+(L*B+K*A+J*z):M+(L*E+K*D+J*C)));q=F+(I*E+H*D+G*C)<F+(I*B+H*A+G*z);p=!(y*I+f*H+i*G+F<+g[(q?e:e+16|0)+4>>2]);o=l+(x*E+h*D+j*C)<l+(x*B+h*A+j*z);n=!(y*x+f*h+i*j+l<+g[(o?e:e+16|0)+8>>2]);l=+g[(w|v?(v?e+36|0:e+4|0):e+16+4|0)>>2]-m;j=+g[(u|t?(t?e+32|0:e+8|0):e+16+8|0)>>2]-m;i=m+ +g[(s|r?(r?e+40|0:e):e+16|0)>>2];h=m+ +g[(q|p?(p?e+36|0:e+4|0):e+16+4|0)>>2];f=m+ +g[(o|n?(n?e+32|0:e+8|0):e+16+8|0)>>2];g[c>>2]=+g[(a|b?(b?e+40|0:e):e+16|0)>>2]-m;g[c+4>>2]=l;g[c+8>>2]=j;g[d>>2]=i;g[d+4>>2]=h;g[d+8>>2]=f;k=e;return}function Gf(b,d,f){b=b|0;d=d|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;q=c[b>>2]|0;w=+g[d>>2];A=+g[d+4>>2];E=+g[d+8>>2];D=+g[b+24>>2];w=w<D?D:w;z=+g[b+28>>2];A=A<z?z:A;v=+g[b+32>>2];E=E<v?v:E;F=+g[b+40>>2];B=+g[b+44>>2];x=+g[b+48>>2];G=+g[b+56>>2];C=+g[b+60>>2];y=+g[b+64>>2];r=~~(((F<w?F:w)-D)*G+.5)&65535;s=~~(((B<A?B:A)-z)*C+.5)&65535;t=~~(((x<E?x:E)-v)*y+.5)&65535;E=+g[d+16>>2];A=+g[d+20>>2];w=+g[d+24>>2];E=E<D?D:E;A=A<z?z:A;w=w<v?v:w;n=~~(G*((F<E?F:E)-D)+.5)&65535;o=~~(C*((B<A?B:A)-z)+.5)&65535;p=~~(y*((x<w?x:w)-v)+.5)&65535;if((q|0)<=0)return;d=0;do{i=c[b+16>>2]|0;if(((((e[i+(d<<4)>>1]|0)<=(n&65535)?(e[i+(d<<4)+6>>1]|0)>=(r&65535):0)?(e[i+(d<<4)+2>>1]|0)<=(o&65535):0)?(e[i+(d<<4)+8>>1]|0)>=(s&65535):0)?(e[i+(d<<4)+4>>1]|0)<=(p&65535):0){h=(e[i+(d<<4)+10>>1]|0)>=(t&65535);l=c[i+(d<<4)+12>>2]|0;if(h&(l|0)>-1){h=c[f+4>>2]|0;if((h|0)==(c[f+8>>2]|0)?(u=(h|0)==0?1:h<<1,(h|0)<(u|0)):0){if(!u)k=0;else{c[7584]=(c[7584]|0)+1;h=lc((u<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=h;h=c[f+4>>2]|0}j=c[f+12>>2]|0;if((h|0)<=0){if(j)m=20}else{i=0;do{c[k+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));m=20}if((m|0)==20){if(a[f+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}c[f+12>>2]=0;h=c[f+4>>2]|0}a[f+16>>0]=1;c[f+12>>2]=k;c[f+8>>2]=u}c[(c[f+12>>2]|0)+(h<<2)>>2]=l;c[f+4>>2]=(c[f+4>>2]|0)+1;m=26}else{i=(l|0)>-1;m=25}}else{i=(c[i+(d<<4)+12>>2]|0)>-1;h=0;m=25}if((m|0)==25){m=0;if(h|i)m=26;else d=d-(c[(c[b+16>>2]|0)+(d<<4)+12>>2]|0)|0}if((m|0)==26){m=0;d=d+1|0}}while((d|0)<(q|0));return}function Hf(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=c[a+28>>2]|0;k=c[a+32>>2]|0;h=c[b+8>>2]|0;g[h>>2]=1.0;f=c[b+24>>2]|0;g[h+(f+1<<2)>>2]=1.0;g[h+((f<<1)+2<<2)>>2]=1.0;l=+g[a+300>>2];q=+g[a+304>>2];e=+g[a+308>>2];o=+g[j+4>>2]*l+ +g[j+8>>2]*q+ +g[j+12>>2]*e;m=l*+g[j+20>>2]+q*+g[j+24>>2]+e*+g[j+28>>2];e=l*+g[j+36>>2]+q*+g[j+40>>2]+e*+g[j+44>>2];h=c[b+12>>2]|0;c[h>>2]=0;g[h+4>>2]=e;g[h+8>>2]=-m;g[h+12>>2]=0.0;g[h+(f<<2)>>2]=-e;c[h+(f<<2)+4>>2]=0;g[h+(f<<2)+8>>2]=o;g[h+(f<<2)+12>>2]=0.0;g[h+(f<<1<<2)>>2]=m;g[h+(f<<1<<2)+4>>2]=-o;c[h+(f<<1<<2)+8>>2]=0;g[h+(f<<1<<2)+12>>2]=0.0;h=c[b+16>>2]|0;g[h>>2]=-1.0;g[h+(f+1<<2)>>2]=-1.0;g[h+((f<<1)+2<<2)>>2]=-1.0;q=+g[a+316>>2];l=+g[a+320>>2];d=+g[a+324>>2];p=+g[k+4>>2]*q+ +g[k+8>>2]*l+ +g[k+12>>2]*d;n=q*+g[k+20>>2]+l*+g[k+24>>2]+d*+g[k+28>>2];d=q*+g[k+36>>2]+l*+g[k+40>>2]+d*+g[k+44>>2];h=c[b+20>>2]|0;c[h>>2]=0;g[h+4>>2]=-d;g[h+8>>2]=n;g[h+12>>2]=0.0;g[h+(f<<2)>>2]=d;c[h+(f<<2)+4>>2]=0;g[h+(f<<2)+8>>2]=-p;g[h+(f<<2)+12>>2]=0.0;g[h+(f<<1<<2)>>2]=-n;g[h+(f<<1<<2)+4>>2]=p;c[h+(f<<1<<2)+8>>2]=0;g[h+(f<<1<<2)+12>>2]=0.0;h=c[a+332>>2]|0;l=+g[((h&1|0)==0?b+4|0:a+336|0)>>2]*+g[b>>2];i=c[b+28>>2]|0;g[i>>2]=l*(p+ +g[k+52>>2]-o-+g[j+52>>2]);g[i+(f<<2)>>2]=l*(n+ +g[k+56>>2]-m-+g[j+56>>2]);g[i+(f<<1<<2)>>2]=l*(d+ +g[k+60>>2]-e-+g[j+60>>2]);if(h&2|0){k=c[b+32>>2]|0;c[k>>2]=c[a+340>>2];c[k+(f<<2)>>2]=c[a+340>>2];c[k+(f<<1<<2)>>2]=c[a+340>>2]}e=+g[a+356>>2];if(e>0.0){g[c[b+36>>2]>>2]=-e;g[c[b+40>>2]>>2]=e;d=+g[a+356>>2]}else d=e;if(d>0.0){g[(c[b+36>>2]|0)+(f<<2)>>2]=-e;g[(c[b+40>>2]|0)+(f<<2)>>2]=e;d=+g[a+356>>2]}if(!(d>0.0)){j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}g[(c[b+36>>2]|0)+(f<<1<<2)>>2]=-e;g[(c[b+40>>2]|0)+(f<<1<<2)>>2]=e;j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[7559]=(c[7559]|0)+1;j=(c[b+12>>2]|0)>(c[d+12>>2]|0);l=j?d:b;h=c[l+12>>2]|0;j=j?b:d;f=c[j+12>>2]|0;i=(f<<16|h)+~((f<<16|h)<<15)|0;i=((10?i>>10:i)^i)*9|0;i=(6?i>>6:i)^i;i=((16?i+~(i<<11)>>16:i+~(i<<11)|0)^i+~(i<<11))&(c[a+12>>2]|0)+-1;b=c[(c[a+44>>2]|0)+(i<<2)>>2]|0;if((b|0)==-1){o=0;return o|0}g=c[a+16>>2]|0;while(1){d=g+(b<<4)|0;if((c[(c[d>>2]|0)+12>>2]|0)==(h|0)?(c[(c[g+(b<<4)+4>>2]|0)+12>>2]|0)==(f|0):0)break;b=c[(c[a+64>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){b=0;o=25;break}}if((o|0)==25)return b|0;Nb[c[(c[a>>2]|0)+32>>2]&127](a,d,e);n=c[g+(b<<4)+12>>2]|0;m=d-(c[a+16>>2]|0)|0;m=4?m>>4:m;h=(c[a+44>>2]|0)+(i<<2)|0;b=c[h>>2]|0;f=c[a+64>>2]|0;if((b|0)!=(m|0)){d=b;while(1){g=f+(d<<2)|0;b=c[g>>2]|0;if((b|0)==(m|0))break;else d=b}b=c[f+(m<<2)>>2]|0;if((d|0)==-1)o=12;else c[g>>2]=b}else{b=c[f+(m<<2)>>2]|0;o=12}if((o|0)==12)c[h>>2]=b;k=(c[a+8>>2]|0)+-1|0;b=c[a+72>>2]|0;if(b|0)yb[c[(c[b>>2]|0)+12>>2]&31](b,l,j,e)|0;if((k|0)==(m|0)){c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}j=c[a+16>>2]|0;h=c[(c[j+(k<<4)+4>>2]|0)+12>>2]<<16|c[(c[j+(k<<4)>>2]|0)+12>>2];h=((10?h+~(h<<15)>>10:h+~(h<<15)|0)^h+~(h<<15))*9|0;h=(6?h>>6:h)^h;h=((16?h+~(h<<11)>>16:h+~(h<<11)|0)^h+~(h<<11))&(c[a+12>>2]|0)+-1;i=(c[a+44>>2]|0)+(h<<2)|0;b=c[i>>2]|0;f=c[a+64>>2]|0;if((b|0)!=(k|0)){d=b;while(1){g=f+(d<<2)|0;b=c[g>>2]|0;if((b|0)==(k|0))break;else d=b}b=c[f+(k<<2)>>2]|0;if((d|0)==-1)o=23;else c[g>>2]=b}else{b=c[f+(k<<2)>>2]|0;o=23}if((o|0)==23)c[i>>2]=b;c[j+(m<<4)>>2]=c[j+(k<<4)>>2];c[j+(m<<4)+4>>2]=c[j+(k<<4)+4>>2];c[j+(m<<4)+8>>2]=c[j+(k<<4)+8>>2];c[j+(m<<4)+12>>2]=c[j+(k<<4)+12>>2];o=(c[a+44>>2]|0)+(h<<2)|0;c[(c[a+64>>2]|0)+(m<<2)>>2]=c[o>>2];c[o>>2]=m;c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}function Jf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0;ri(a,b,e)|0;c[b+52>>2]=c[a+552>>2];c[b+56>>2]=c[a+556>>2];c[b+60>>2]=c[a+560>>2];c[b+64>>2]=c[a+564>>2];c[b+68>>2]=c[a+568>>2];c[b+72>>2]=c[a+572>>2];c[b+76>>2]=c[a+576>>2];c[b+80>>2]=c[a+580>>2];c[b+84>>2]=c[a+584>>2];c[b+88>>2]=c[a+588>>2];c[b+92>>2]=c[a+592>>2];c[b+96>>2]=c[a+596>>2];c[b+100>>2]=c[a+600>>2];c[b+104>>2]=c[a+604>>2];c[b+108>>2]=c[a+608>>2];c[b+112>>2]=c[a+612>>2];c[b+116>>2]=c[a+616>>2];c[b+120>>2]=c[a+620>>2];c[b+124>>2]=c[a+624>>2];c[b+128>>2]=c[a+628>>2];c[b+132>>2]=c[a+632>>2];c[b+136>>2]=c[a+636>>2];c[b+140>>2]=c[a+640>>2];c[b+144>>2]=c[a+644>>2];c[b+148>>2]=c[a+648>>2];c[b+152>>2]=c[a+652>>2];c[b+156>>2]=c[a+656>>2];c[b+160>>2]=c[a+660>>2];c[b+164>>2]=c[a+664>>2];c[b+168>>2]=c[a+668>>2];c[b+172>>2]=c[a+672>>2];c[b+176>>2]=c[a+676>>2];c[b+184>>2]=d[a+736>>0];c[b+188>>2]=d[a+737>>0];c[b+196>>2]=c[a+684>>2];c[b+192>>2]=c[a+680>>2];c[b+180>>2]=d[a+740>>0];h=+g[a+688>>2];i=+g[a+692>>2];if(!((h-i)%6.2831854820251465<-3.1415927410125732))if((h-i)%6.2831854820251465>3.1415927410125732)f=(h-i)%6.2831854820251465+-6.2831854820251465;else f=(h-i)%6.2831854820251465;else f=(h-i)%6.2831854820251465+6.2831854820251465;g[b+200>>2]=f;if((h+i)%6.2831854820251465<-3.1415927410125732){i=(h+i)%6.2831854820251465+6.2831854820251465;e=b+204|0;g[e>>2]=i;e=a+696|0;e=c[e>>2]|0;j=b+208|0;c[j>>2]=e;j=a+700|0;j=c[j>>2]|0;e=b+212|0;c[e>>2]=j;a=a+704|0;a=c[a>>2]|0;b=b+216|0;c[b>>2]=a;return 18339}if(!((h+i)%6.2831854820251465>3.1415927410125732)){i=(h+i)%6.2831854820251465;j=b+204|0;g[j>>2]=i;j=a+696|0;j=c[j>>2]|0;e=b+208|0;c[e>>2]=j;e=a+700|0;e=c[e>>2]|0;j=b+212|0;c[j>>2]=e;a=a+704|0;a=c[a>>2]|0;j=b+216|0;c[j>>2]=a;return 18339}i=(h+i)%6.2831854820251465+-6.2831854820251465;j=b+204|0;g[j>>2]=i;j=a+696|0;j=c[j>>2]|0;e=b+208|0;c[e>>2]=j;e=a+700|0;e=c[e>>2]|0;j=b+212|0;c[j>>2]=e;a=a+704|0;a=c[a>>2]|0;j=b+216|0;c[j>>2]=a;return 18339}function Kf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;B=(a[b+28>>0]|0)!=0;C=B?e:d;B=B?d:e;z=c[b+12>>2]|0;if((z|0)<=0){x=1.0;return +x}A=(c[C+192>>2]|0)+24|0;j=+g[C+4>>2];u=+g[C+8>>2];v=+g[C+12>>2];w=c[C+16>>2]|0;x=+g[C+20>>2];k=+g[C+24>>2];l=+g[C+28>>2];e=c[C+32>>2]|0;m=+g[C+36>>2];n=+g[C+40>>2];o=+g[C+44>>2];p=c[C+48>>2]|0;q=+g[C+52>>2];r=+g[C+56>>2];s=+g[C+60>>2];t=c[C+64>>2]|0;i=1.0;d=0;y=c[C+260>>2]|0;do{E=c[A>>2]|0;P=+g[E+(d*80|0)>>2];O=+g[E+(d*80|0)+16>>2];N=+g[E+(d*80|0)+32>>2];M=+g[E+(d*80|0)+4>>2];L=+g[E+(d*80|0)+20>>2];K=+g[E+(d*80|0)+36>>2];J=+g[E+(d*80|0)+8>>2];I=+g[E+(d*80|0)+24>>2];H=+g[E+(d*80|0)+40>>2];G=+g[E+(d*80|0)+48>>2];F=+g[E+(d*80|0)+52>>2];D=+g[E+(d*80|0)+56>>2];c[C+260>>2]=y+1;g[C+4>>2]=j*P+u*O+v*N;g[C+8>>2]=j*M+u*L+v*K;g[C+12>>2]=j*J+u*I+v*H;g[C+16>>2]=0.0;g[C+20>>2]=x*P+k*O+l*N;g[C+24>>2]=x*M+k*L+l*K;g[C+28>>2]=x*J+k*I+l*H;g[C+32>>2]=0.0;g[C+36>>2]=m*P+n*O+o*N;g[C+40>>2]=m*M+n*L+o*K;g[C+44>>2]=m*J+n*I+o*H;g[C+48>>2]=0.0;g[C+52>>2]=q+(j*G+u*F+v*D);g[C+56>>2]=r+(x*G+k*F+l*D);g[C+60>>2]=s+(m*G+n*F+o*D);g[C+64>>2]=0.0;E=c[(c[b+20>>2]|0)+(d<<2)>>2]|0;D=+pb[c[(c[E>>2]|0)+12>>2]&15](E,C,B,f,h);i=D<i?D:i;y=(c[C+260>>2]|0)+1|0;c[C+260>>2]=y;g[C+4>>2]=j;g[C+8>>2]=u;g[C+12>>2]=v;c[C+16>>2]=w;g[C+20>>2]=x;g[C+24>>2]=k;g[C+28>>2]=l;c[C+32>>2]=e;g[C+36>>2]=m;g[C+40>>2]=n;g[C+44>>2]=o;c[C+48>>2]=p;g[C+52>>2]=q;g[C+56>>2]=r;g[C+60>>2]=s;c[C+64>>2]=t;d=d+1|0}while((d|0)!=(z|0));return +i}function Lf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=ju()|0;c[i+4>>2]=7;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=7836;a[i+48>>0]=0;c[i+52>>2]=c[e>>2];c[i+52+4>>2]=c[e+4>>2];c[i+52+8>>2]=c[e+8>>2];c[i+52+12>>2]=c[e+12>>2];c[i+68>>2]=c[e+16>>2];c[i+68+4>>2]=c[e+16+4>>2];c[i+68+8>>2]=c[e+16+8>>2];c[i+68+12>>2]=c[e+16+12>>2];c[i+84>>2]=c[e+32>>2];c[i+84+4>>2]=c[e+32+4>>2];c[i+84+8>>2]=c[e+32+8>>2];c[i+84+12>>2]=c[e+32+12>>2];c[i+100>>2]=c[e+48>>2];c[i+100+4>>2]=c[e+48+4>>2];c[i+100+8>>2]=c[e+48+8>>2];c[i+100+12>>2]=c[e+48+12>>2];c[i+116>>2]=c[f>>2];c[i+116+4>>2]=c[f+4>>2];c[i+116+8>>2]=c[f+8>>2];c[i+116+12>>2]=c[f+12>>2];c[i+132>>2]=c[f+16>>2];c[i+132+4>>2]=c[f+16+4>>2];c[i+132+8>>2]=c[f+16+8>>2];c[i+132+12>>2]=c[f+16+12>>2];c[i+148>>2]=c[f+32>>2];c[i+148+4>>2]=c[f+32+4>>2];c[i+148+8>>2]=c[f+32+8>>2];c[i+148+12>>2]=c[f+32+12>>2];c[i+164>>2]=c[f+48>>2];c[i+164+4>>2]=c[f+48+4>>2];c[i+164+8>>2]=c[f+48+8>>2];c[i+164+12>>2]=c[f+48+12>>2];a[i+180>>0]=h&1;g[i+184>>2]=1.0;g[i+188>>2]=-1.0;g[i+192>>2]=0.0;g[i+196>>2]=0.0;g[i+200>>2]=1.0;g[i+204>>2]=.699999988079071;g[i+208>>2]=0.0;g[i+212>>2]=0.0;g[i+216>>2]=1.0;g[i+220>>2]=.699999988079071;g[i+224>>2]=0.0;g[i+228>>2]=0.0;g[i+264>>2]=1.0;g[i+268>>2]=.699999988079071;g[i+272>>2]=1.0;g[i+276>>2]=0.0;g[i+280>>2]=1.0;g[i+284>>2]=.699999988079071;g[i+288>>2]=1.0;g[i+292>>2]=0.0;g[i+232>>2]=1.0;g[i+236>>2]=.699999988079071;g[i+240>>2]=1.0;g[i+244>>2]=0.0;g[i+248>>2]=1.0;g[i+252>>2]=.699999988079071;g[i+256>>2]=1.0;g[i+260>>2]=0.0;a[i+1096>>0]=0;g[i+1116>>2]=0.0;g[i+1120>>2]=0.0;g[i+1124>>2]=0.0;c[i+300>>2]=0;c[i+1100>>2]=0;c[i+1100+4>>2]=0;c[i+1100+8>>2]=0;a[i+1100+12>>0]=0;a[i+49>>0]=1;bd(i,(c[i+28>>2]|0)+4|0,(c[i+32>>2]|0)+4|0);return i|0}function Mf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0;c[7557]=(c[7557]|0)+1;if(!(c[b+4>>2]&2))j=.019999999552965164;else{k=c[d+192>>2]|0;i=+kb[c[(c[k>>2]|0)+20>>2]&1](k,.019999999552965164);k=c[e+192>>2]|0;j=+kb[c[(c[k>>2]|0)+20>>2]&1](k,.019999999552965164);j=i<j?i:j}m=+g[d+184>>2];i=+g[e+184>>2];i=m<i?m:i;f=c[b+68>>2]|0;h=c[f+8>>2]|0;if(!h){if(c[b+4>>2]&4|0){b=0;return b|0}c[7584]=(c[7584]|0)+1;f=lc(791)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=f}else{n=c[f+12>>2]|0;c[f+12>>2]=c[n>>2];c[f+8>>2]=h+-1;k=n;f=n}c[f>>2]=1025;c[k+116>>2]=0;a[k+120>>0]=0;f=k+124|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+300>>2]=0;a[k+304>>0]=0;f=k+308|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+484>>2]=0;a[k+488>>0]=0;f=k+492|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+668>>2]=0;a[k+672>>0]=0;f=k+676|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[k+740>>2]=d;c[k+744>>2]=e;c[k+748>>2]=0;g[k+752>>2]=j;g[k+756>>2]=i;e=k;f=c[b+12>>2]|0;c[k+768>>2]=f;if((f|0)==(c[b+16>>2]|0)?(l=(f|0)==0?1:f<<1,(f|0)<(l|0)):0){if(!l)d=0;else{c[7584]=(c[7584]|0)+1;f=lc((l<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}d=f;f=c[b+12>>2]|0}if((f|0)>0){h=0;do{c[d+(h<<2)>>2]=c[(c[b+20>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+20>>2]|0;if(h){if(a[b+24>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);f=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=d;c[b+16>>2]=l}c[(c[b+20>>2]|0)+(f<<2)>>2]=e;c[b+12>>2]=f+1;n=k;return n|0}function Nf(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0;o=k;k=k+64|0;e=c[d+192>>2]|0;Qb[c[(c[e>>2]|0)+8>>2]&127](e,d+4|0,o+48|0,o+32|0);f=+g[o+48>>2]+-.019999999552965164;g[o+48>>2]=f;i=+g[o+48+4>>2]+-.019999999552965164;g[o+48+4>>2]=i;j=+g[o+48+8>>2]+-.019999999552965164;g[o+48+8>>2]=j;h=+g[o+32>>2]+.019999999552965164;g[o+32>>2]=h;l=+g[o+32+4>>2]+.019999999552965164;g[o+32+4>>2]=l;m=+g[o+32+8>>2]+.019999999552965164;g[o+32+8>>2]=m;if(((a[b+44>>0]|0)!=0?(c[d+236>>2]|0)==2:0)?(c[d+204>>2]&3|0)==0:0){e=c[d+192>>2]|0;Qb[c[(c[e>>2]|0)+8>>2]&127](e,d+68|0,o+16|0,o);f=+g[o+16>>2]+-.019999999552965164;g[o+16>>2]=f;j=+g[o+16+4>>2]+-.019999999552965164;g[o+16+4>>2]=j;l=+g[o+16+8>>2]+-.019999999552965164;g[o+16+8>>2]=l;h=+g[o>>2]+.019999999552965164;g[o>>2]=h;m=+g[o+4>>2]+.019999999552965164;g[o+4>>2]=m;n=+g[o+8>>2]+.019999999552965164;g[o+8>>2]=n;i=+g[o+48>>2];if(f<i)g[o+48>>2]=f;else f=i;i=+g[o+48+4>>2];if(j<i){g[o+48+4>>2]=j;i=j}j=+g[o+48+8>>2];if(l<j){g[o+48+8>>2]=l;j=l}l=+g[o+16+12>>2];if(l<+g[o+48+12>>2])g[o+48+12>>2]=l;l=+g[o+32>>2];if(l<h)g[o+32>>2]=h;else h=l;l=+g[o+32+4>>2];if(l<m){g[o+32+4>>2]=m;l=m}m=+g[o+32+8>>2];if(m<n){g[o+32+8>>2]=n;m=n}n=+g[o+12>>2];if(+g[o+32+12>>2]<n)g[o+32+12>>2]=n}e=c[b+68>>2]|0;if((c[d+204>>2]&1|0)==0?(h=h-f,l=l-i,n=m-j,!(h*h+l*l+n*n<999999995904.0)):0){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=5;if(!(a[20557]|0)){k=o;return}e=c[b+72>>2]|0;if(!e){k=o;return}a[20557]=0;Jb[c[(c[e>>2]|0)+36>>2]&127](e,20558);d=c[b+72>>2]|0;Jb[c[(c[d>>2]|0)+36>>2]&127](d,20607);d=c[b+72>>2]|0;Jb[c[(c[d>>2]|0)+36>>2]&127](d,20675);b=c[b+72>>2]|0;Jb[c[(c[b>>2]|0)+36>>2]&127](b,20740);k=o;return}Ub[c[(c[e>>2]|0)+16>>2]&31](e,c[d+188>>2]|0,o+48|0,o+32|0,c[b+24>>2]|0);k=o;return}function Of(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=_t(460)|0;ee(i,b,d,e);c[i>>2]=7060;a[i+340>>0]=1;c[i+336>>2]=0;c[i+328>>2]=0;c[i+332>>2]=0;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;g[i+364>>2]=1.0e3;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+368+16>>2]=0;c[i+368+20>>2]=0;c[i+368+24>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;a[i+424>>0]=1;c[i+420>>2]=0;c[i+412>>2]=0;c[i+416>>2]=0;c[i+452>>2]=h;a[i+456>>0]=0;if(!h){c[7584]=(c[7584]|0)+1;f=lc(59)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g[f+12>>2]=1.0;c[f+8>>2]=0;c[f+4>>2]=5;c[f>>2]=6184;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+16>>0]=1;c[i+452>>2]=f;a[i+456>>0]=1}c[i+344>>2]=4302;a[i+348>>0]=1;a[i+349>>0]=0;a[i+350>>0]=0;c[i+384>>2]=d;c[i+388>>2]=b;Zi(i+408|0);h=c[i+412>>2]|0;if((h|0)<=0){d=i+428|0;g[d>>2]=.25;d=i+432|0;c[d>>2]=0;d=i+436|0;c[d>>2]=0;d=i+444|0;c[d>>2]=1;d=i+448|0;c[d>>2]=1;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;d=i+392|0;c[d>>2]=0;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;Zi(i+408|0);return i|0}e=0;do{d=(c[i+420>>2]|0)+(e<<2)|0;f=c[d>>2]|0;c[d>>2]=0;if(f|0)do{d=f;f=c[f+280>>2]|0;zK(d)}while((f|0)!=0);e=e+1|0}while((e|0)!=(h|0));d=i+428|0;g[d>>2]=.25;d=i+432|0;c[d>>2]=0;d=i+436|0;c[d>>2]=0;d=i+444|0;c[d>>2]=1;d=i+448|0;c[d>>2]=1;g[i+352>>2]=1.2000000476837158;g[i+356>>2]=0.0;g[i+360>>2]=0.0;d=i+392|0;c[d>>2]=0;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;g[i+404>>2]=0.0;Zi(i+408|0);return i|0}function Pf(a,b,e){a=a|0;b=b|0;e=e|0;ri(a,b,e)|0;c[b+52>>2]=c[a+48>>2];c[b+56>>2]=c[a+52>>2];c[b+60>>2]=c[a+56>>2];c[b+64>>2]=c[a+60>>2];c[b+68>>2]=c[a+64>>2];c[b+72>>2]=c[a+68>>2];c[b+76>>2]=c[a+72>>2];c[b+80>>2]=c[a+76>>2];c[b+84>>2]=c[a+80>>2];c[b+88>>2]=c[a+84>>2];c[b+92>>2]=c[a+88>>2];c[b+96>>2]=c[a+92>>2];c[b+100>>2]=c[a+96>>2];c[b+104>>2]=c[a+100>>2];c[b+108>>2]=c[a+104>>2];c[b+112>>2]=c[a+108>>2];c[b+116>>2]=c[a+112>>2];c[b+120>>2]=c[a+116>>2];c[b+124>>2]=c[a+120>>2];c[b+128>>2]=c[a+124>>2];c[b+132>>2]=c[a+128>>2];c[b+136>>2]=c[a+132>>2];c[b+140>>2]=c[a+136>>2];c[b+144>>2]=c[a+140>>2];c[b+148>>2]=c[a+144>>2];c[b+152>>2]=c[a+148>>2];c[b+156>>2]=c[a+152>>2];c[b+160>>2]=c[a+156>>2];c[b+164>>2]=c[a+160>>2];c[b+168>>2]=c[a+164>>2];c[b+172>>2]=c[a+168>>2];c[b+176>>2]=c[a+172>>2];c[b+228>>2]=c[a+868>>2];c[b+212>>2]=c[a+872>>2];c[b+196>>2]=c[a+680>>2];c[b+180>>2]=c[a+696>>2];c[b+232>>2]=c[a+932>>2];c[b+216>>2]=c[a+936>>2];c[b+200>>2]=c[a+684>>2];c[b+184>>2]=c[a+700>>2];c[b+236>>2]=c[a+996>>2];c[b+220>>2]=c[a+1e3>>2];c[b+204>>2]=c[a+688>>2];c[b+188>>2]=c[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];c[b+276>>2]=c[a+1316>>2];c[b+324>>2]=c[a+1364>>2];c[b+252>>2]=d[a+1309>>0];c[b+300>>2]=c[a+1340>>2];c[b+280>>2]=c[a+1320>>2];c[b+328>>2]=c[a+1368>>2];c[b+256>>2]=d[a+1310>>0];c[b+304>>2]=c[a+1344>>2];c[b+284>>2]=c[a+1324>>2];c[b+332>>2]=c[a+1372>>2];c[b+260>>2]=d[a+1311>>0];c[b+308>>2]=c[a+1348>>2];c[b+288>>2]=c[a+1328>>2];c[b+336>>2]=c[a+1376>>2];c[b+264>>2]=d[a+1312>>0];c[b+312>>2]=c[a+1352>>2];c[b+292>>2]=c[a+1332>>2];c[b+340>>2]=c[a+1380>>2];c[b+268>>2]=d[a+1313>>0];c[b+316>>2]=c[a+1356>>2];c[b+296>>2]=c[a+1336>>2];c[b+344>>2]=c[a+1384>>2];c[b+272>>2]=d[a+1314>>0];c[b+320>>2]=c[a+1360>>2];return 18057}function Qf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[b+4>>2]|0;if((i|0)==(c[b+8>>2]|0)?(h=(i|0)==0?1:i<<1,(i|0)<(h|0)):0){if(!h){e=0;g=i}else{c[7584]=(c[7584]|0)+1;e=lc((h*244|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=c[b+4>>2]|0}if((g|0)>0){f=0;do{k=e+(f*244|0)|0;j=c[b+12>>2]|0;l=j+(f*244|0)|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=j+(f*244|0)+16|0;l=e+(f*244|0)+16|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];l=j+(f*244|0)+32|0;k=e+(f*244|0)+32|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=e+(f*244|0)+48|0;l=j+(f*244|0)+48|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];Ki(e+(f*244|0)+64|0,j+(f*244|0)+64|0,180)|0;f=f+1|0}while((f|0)!=(g|0))}f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=h;e=c[b+4>>2]|0}else e=i;c[b+4>>2]=e+1;l=c[b+12>>2]|0;c[l+(i*244|0)>>2]=c[d>>2];c[l+(i*244|0)+4>>2]=c[d+4>>2];c[l+(i*244|0)+8>>2]=c[d+8>>2];c[l+(i*244|0)+12>>2]=c[d+12>>2];c[l+(i*244|0)+16>>2]=c[d+16>>2];c[l+(i*244|0)+16+4>>2]=c[d+16+4>>2];c[l+(i*244|0)+16+8>>2]=c[d+16+8>>2];c[l+(i*244|0)+16+12>>2]=c[d+16+12>>2];c[l+(i*244|0)+32>>2]=c[d+32>>2];c[l+(i*244|0)+32+4>>2]=c[d+32+4>>2];c[l+(i*244|0)+32+8>>2]=c[d+32+8>>2];c[l+(i*244|0)+32+12>>2]=c[d+32+12>>2];c[l+(i*244|0)+48>>2]=c[d+48>>2];c[l+(i*244|0)+48+4>>2]=c[d+48+4>>2];c[l+(i*244|0)+48+8>>2]=c[d+48+8>>2];c[l+(i*244|0)+48+12>>2]=c[d+48+12>>2];Ki(l+(i*244|0)+64|0,d+64|0,180)|0;return (c[b+12>>2]|0)+(i*244|0)|0}function Rf(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;i=k;k=k+32|0;l=+g[a+56>>2];q=+g[a+72>>2]-l;j=+g[a+60>>2];o=+g[a+76>>2]-j;m=+g[a+64>>2];r=+g[a+80>>2]-m;n=+g[a+88>>2]-l;p=+g[a+92>>2]-j;f=+g[a+96>>2]-m;h=1.0/+A(+((q*p-o*n)*(q*p-o*n)+((o*f-r*p)*(o*f-r*p)+(r*n-q*f)*(r*n-q*f))));e=(o*f-r*p)*h;f=(r*n-q*f)*h;h=(q*p-o*n)*h;j=+g[b+8>>2]*h+(+g[b>>2]*e+ +g[b+4>>2]*f)-(m*h+(l*e+j*f));if(!(j>=-d)|!(j<=d)){b=0;k=i;return b|0}Qb[c[(c[a>>2]|0)+104>>2]&127](a,0,i+16|0,i);m=+g[i+16>>2];q=+g[i>>2]-m;o=+g[i+16+4>>2];n=+g[i+4>>2]-o;l=+g[i+16+8>>2];p=+g[i+8>>2]-l;r=1.0/+A(+((f*q-e*n)*(f*q-e*n)+((h*n-f*p)*(h*n-f*p)+(e*p-h*q)*(e*p-h*q))));if(+g[b+8>>2]*(f*q-e*n)*r+(+g[b>>2]*(h*n-f*p)*r+ +g[b+4>>2]*(e*p-h*q)*r)-(l*(f*q-e*n)*r+(m*(h*n-f*p)*r+o*(e*p-h*q)*r))<-d){b=0;k=i;return b|0}Qb[c[(c[a>>2]|0)+104>>2]&127](a,1,i+16|0,i);m=+g[i+16>>2];q=+g[i>>2]-m;o=+g[i+16+4>>2];n=+g[i+4>>2]-o;l=+g[i+16+8>>2];p=+g[i+8>>2]-l;r=1.0/+A(+((f*q-e*n)*(f*q-e*n)+((h*n-f*p)*(h*n-f*p)+(e*p-h*q)*(e*p-h*q))));if(+g[b+8>>2]*(f*q-e*n)*r+(+g[b>>2]*(h*n-f*p)*r+ +g[b+4>>2]*(e*p-h*q)*r)-(l*(f*q-e*n)*r+(m*(h*n-f*p)*r+o*(e*p-h*q)*r))<-d){b=0;k=i;return b|0}Qb[c[(c[a>>2]|0)+104>>2]&127](a,2,i+16|0,i);m=+g[i+16>>2];q=+g[i>>2]-m;o=+g[i+16+4>>2];n=+g[i+4>>2]-o;l=+g[i+16+8>>2];p=+g[i+8>>2]-l;r=1.0/+A(+((f*q-e*n)*(f*q-e*n)+((h*n-f*p)*(h*n-f*p)+(e*p-h*q)*(e*p-h*q))));if(+g[b+8>>2]*(f*q-e*n)*r+(+g[b>>2]*(h*n-f*p)*r+ +g[b+4>>2]*(e*p-h*q)*r)-(l*(f*q-e*n)*r+(m*(h*n-f*p)*r+o*(e*p-h*q)*r))<-d){b=0;k=i;return b|0}b=1;k=i;return b|0}function Sf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[b+12>>2]|0;k=c[b+36>>2]|0;if((k|0)>=(j|0))return;do if((c[b+40>>2]|0)<(j|0)){if(!j){d=0;f=k}else{c[7584]=(c[7584]|0)+1;d=lc((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+36>>2]|0}g=c[b+44>>2]|0;if((f|0)<=0){if(!g){a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=j;i=b+44|0;break}}else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}if(a[b+48>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=j;i=b+44|0}else{i=b+44|0;d=c[b+44>>2]|0}while(0);Bl(d+(k<<2)|0,0,(j<<2)-(k<<2)|0)|0;c[b+36>>2]=j;h=c[b+56>>2]|0;if((h|0)<(j|0)){do if((c[b+60>>2]|0)<(j|0)){if(!j){d=0;f=h}else{c[7584]=(c[7584]|0)+1;d=lc((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+56>>2]|0}g=c[b+64>>2]|0;if((f|0)<=0){if(!g){a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=j;break}}else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}if(a[b+68>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=j}else d=c[b+64>>2]|0;while(0);Bl(d+(h<<2)|0,0,(j<<2)-(h<<2)|0)|0}c[b+56>>2]=j;if((j|0)>0){Bl(c[i>>2]|0,-1,j<<2|0)|0;Bl(c[b+64>>2]|0,-1,j<<2|0)|0}if((k|0)<=0)return;g=c[b+16>>2]|0;e=c[i>>2]|0;f=c[b+64>>2]|0;d=0;do{j=c[(c[g+(d<<4)+4>>2]|0)+12>>2]<<16|c[(c[g+(d<<4)>>2]|0)+12>>2];j=((10?j+~(j<<15)>>10:j+~(j<<15)|0)^j+~(j<<15))*9|0;j=(6?j>>6:j)^j;j=e+((((16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(d<<2)>>2]=c[j>>2];c[j>>2]=d;d=d+1|0}while((d|0)!=(k|0));return}function Tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0;l=k;k=k+64|0;n=+g[a+20>>2];u=+g[a+40>>2];p=+g[a+24>>2];s=+g[a+36>>2];t=+g[a+32>>2];m=+g[a+16>>2];j=+g[a>>2];i=+g[a+4>>2];q=+g[a+8>>2];h=1.0/((n*u-p*s)*j+i*(p*t-u*m)+(s*m-n*t)*q);z=+g[b>>2];y=+g[b+4>>2];B=+g[b+8>>2];x=+g[b+16>>2];w=+g[b+20>>2];v=+g[b+24>>2];r=+g[b+32>>2];o=+g[b+36>>2];f=+g[b+40>>2];g[l+16>>2]=B*(s*m-n*t)*h+(z*(n*u-p*s)*h+y*(p*t-u*m)*h);g[l+16+4>>2]=B*(t*i-s*j)*h+(z*(s*q-u*i)*h+y*(u*j-t*q)*h);g[l+16+8>>2]=B*(n*j-m*i)*h+(z*(p*i-n*q)*h+y*(m*q-p*j)*h);g[l+16+12>>2]=0.0;g[l+16+16>>2]=(n*u-p*s)*h*x+(p*t-u*m)*h*w+(s*m-n*t)*h*v;g[l+16+20>>2]=(s*q-u*i)*h*x+(u*j-t*q)*h*w+(t*i-s*j)*h*v;g[l+16+24>>2]=(p*i-n*q)*h*x+(m*q-p*j)*h*w+(n*j-m*i)*h*v;g[l+16+28>>2]=0.0;g[l+16+32>>2]=(n*u-p*s)*h*r+(p*t-u*m)*h*o+(s*m-n*t)*h*f;g[l+16+36>>2]=(s*q-u*i)*h*r+(u*j-t*q)*h*o+(t*i-s*j)*h*f;g[l+16+40>>2]=(p*i-n*q)*h*r+(m*q-p*j)*h*o+(n*j-m*i)*h*f;g[l+16+44>>2]=0.0;Vh(l+16|0,l);f=+g[l>>2];h=+g[l+4>>2];i=+g[l+8>>2];m=+g[l+12>>2];j=1.0/+A(+(f*f+h*h+i*i+m*m));g[l>>2]=f*j;g[l+4>>2]=h*j;g[l+8>>2]=i*j;g[l+12>>2]=m*j;m=m*j<-1.0?-1.0:m*j;g[e>>2]=+F(+(m>1.0?1.0:m))*2.0;g[d>>2]=f*j;g[d+4>>2]=h*j;g[d+8>>2]=i*j;g[d+12>>2]=0.0;if(f*j*f*j+h*j*h*j+i*j*i*j<1.4210854715202004e-14){c[d>>2]=1065353216;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;k=l;return}else{B=1.0/+A(+(f*j*f*j+h*j*h*j+i*j*i*j));g[d>>2]=f*j*B;g[d+4>>2]=h*j*B;g[d+8>>2]=i*j*B;k=l;return}}function Uf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[b+12>>2]|0;k=c[b+32>>2]|0;if((k|0)>=(j|0))return;do if((c[b+36>>2]|0)<(j|0)){if(!j){d=0;f=k}else{c[7584]=(c[7584]|0)+1;d=lc((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+32>>2]|0}g=c[b+40>>2]|0;if((f|0)<=0){if(!g){a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=j;i=b+40|0;break}}else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}if(a[b+44>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=j;i=b+40|0}else{i=b+40|0;d=c[b+40>>2]|0}while(0);Bl(d+(k<<2)|0,0,(j<<2)-(k<<2)|0)|0;c[b+32>>2]=j;h=c[b+52>>2]|0;if((h|0)<(j|0)){do if((c[b+56>>2]|0)<(j|0)){if(!j){d=0;f=h}else{c[7584]=(c[7584]|0)+1;d=lc((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+52>>2]|0}g=c[b+60>>2]|0;if((f|0)<=0){if(!g){a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=j;break}}else{e=0;do{c[d+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}if(a[b+64>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=j}else d=c[b+60>>2]|0;while(0);Bl(d+(h<<2)|0,0,(j<<2)-(h<<2)|0)|0}c[b+52>>2]=j;if((j|0)>0){Bl(c[i>>2]|0,-1,j<<2|0)|0;Bl(c[b+60>>2]|0,-1,j<<2|0)|0}if((k|0)<=0)return;g=c[b+16>>2]|0;e=c[i>>2]|0;f=c[b+60>>2]|0;d=0;do{j=c[g+(d*12|0)+4>>2]<<16|c[g+(d*12|0)>>2];j=((10?j+~(j<<15)>>10:j+~(j<<15)|0)^j+~(j<<15))*9|0;j=(6?j>>6:j)^j;j=e+((((16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(d<<2)>>2]=c[j>>2];c[j>>2]=d;d=d+1|0}while((d|0)!=(k|0));return}function Vf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=k;k=k+384|0;h=c[(c[a>>2]|0)+8>>2]|0;g=DK(b)|0;Yt(f+368|0,g,g+4|0,g+8|0);b=DK(d)|0;Yt(f+352|0,b,g+4|0,g+8|0);Qb[h&127](a,f+368|0,f+352|0,e);d=c[(c[a>>2]|0)+8>>2]|0;Yt(f+336|0,b,g+4|0,g+8|0);Yt(f+320|0,b,b+4|0,g+8|0);Qb[d&127](a,f+336|0,f+320|0,e);d=c[(c[a>>2]|0)+8>>2]|0;Yt(f+304|0,b,b+4|0,g+8|0);Yt(f+288|0,g,b+4|0,g+8|0);Qb[d&127](a,f+304|0,f+288|0,e);d=c[(c[a>>2]|0)+8>>2]|0;Yt(f+272|0,g,b+4|0,g+8|0);Yt(f+256|0,g,g+4|0,g+8|0);Qb[d&127](a,f+272|0,f+256|0,e);d=c[(c[a>>2]|0)+8>>2]|0;Yt(f+240|0,g,g+4|0,g+8|0);Yt(f+224|0,g,g+4|0,b+8|0);Qb[d&127](a,f+240|0,f+224|0,e);d=c[(c[a>>2]|0)+8>>2]|0;Yt(f+208|0,b,g+4|0,g+8|0);Yt(f+192|0,b,g+4|0,b+8|0);Qb[d&127](a,f+208|0,f+192|0,e);d=c[(c[a>>2]|0)+8>>2]|0;Yt(f+176|0,b,b+4|0,g+8|0);Yt(f+160|0,b,b+4|0,b+8|0);Qb[d&127](a,f+176|0,f+160|0,e);d=c[(c[a>>2]|0)+8>>2]|0;Yt(f+144|0,g,b+4|0,g+8|0);Yt(f+128|0,g,b+4|0,b+8|0);Qb[d&127](a,f+144|0,f+128|0,e);d=c[(c[a>>2]|0)+8>>2]|0;Yt(f+112|0,g,g+4|0,b+8|0);Yt(f+96|0,b,g+4|0,b+8|0);Qb[d&127](a,f+112|0,f+96|0,e);d=c[(c[a>>2]|0)+8>>2]|0;Yt(f+80|0,b,g+4|0,b+8|0);Yt(f+64|0,b,b+4|0,b+8|0);Qb[d&127](a,f+80|0,f+64|0,e);d=c[(c[a>>2]|0)+8>>2]|0;Yt(f+48|0,b,b+4|0,b+8|0);Yt(f+32|0,g,b+4|0,b+8|0);Qb[d&127](a,f+48|0,f+32|0,e);d=c[(c[a>>2]|0)+8>>2]|0;Yt(f+16|0,g,b+4|0,b+8|0);Yt(f,g,g+4|0,b+8|0);Qb[d&127](a,f+16|0,f,e);k=f;return}function Wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=vb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Jb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+20>>2]=c[a+72>>2];e=c[a+16>>2]|0;c[b+16>>2]=e;c[b+12>>2]=0;if(!e)return 21946;g=xb[c[(c[d>>2]|0)+16>>2]&63](d,76,e)|0;e=c[g+8>>2]|0;c[b+12>>2]=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;if((c[b+16>>2]|0)>0){f=0;while(1){h=c[a+24>>2]|0;c[e+72>>2]=c[h+(f*80|0)+72>>2];c[e+64>>2]=vb[c[(c[d>>2]|0)+28>>2]&31](d,c[h+(f*80|0)+64>>2]|0)|0;if(!(vb[c[(c[d>>2]|0)+24>>2]&31](d,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)|0)){h=c[(c[d>>2]|0)+16>>2]|0;i=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;i=tb[c[(c[i>>2]|0)+52>>2]&255](i)|0;i=xb[h&63](d,i,1)|0;h=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;h=xb[c[(c[h>>2]|0)+56>>2]&63](h,c[i+8>>2]|0,d)|0;Ub[c[(c[d>>2]|0)+20>>2]&31](d,i,h,1346455635,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)}i=c[a+24>>2]|0;c[e+68>>2]=c[i+(f*80|0)+68>>2];c[e>>2]=c[i+(f*80|0)>>2];c[e+4>>2]=c[i+(f*80|0)+4>>2];c[e+8>>2]=c[i+(f*80|0)+8>>2];c[e+12>>2]=c[i+(f*80|0)+12>>2];c[e+16>>2]=c[i+(f*80|0)+16>>2];c[e+20>>2]=c[i+(f*80|0)+20>>2];c[e+24>>2]=c[i+(f*80|0)+24>>2];c[e+28>>2]=c[i+(f*80|0)+28>>2];c[e+32>>2]=c[i+(f*80|0)+32>>2];c[e+36>>2]=c[i+(f*80|0)+36>>2];c[e+40>>2]=c[i+(f*80|0)+40>>2];c[e+44>>2]=c[i+(f*80|0)+44>>2];c[e+48>>2]=c[i+(f*80|0)+48>>2];c[e+52>>2]=c[i+(f*80|0)+52>>2];c[e+56>>2]=c[i+(f*80|0)+56>>2];c[e+60>>2]=c[i+(f*80|0)+60>>2];f=f+1|0;if((f|0)>=(c[b+16>>2]|0)){e=d;break}else e=e+76|0}}else e=d;Ub[c[(c[e>>2]|0)+20>>2]&31](d,g,21921,1497453121,c[g+8>>2]|0);return 21946}function Xf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[b+8>>2]|0)>=(d|0))return;if((d|0)!=0?(c[7584]=(c[7584]|0)+1,e=lc((d*36|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;r=e+4+15&-16}else r=0;n=c[b+4>>2]|0;if((n|0)>0){m=0;do{o=c[b+12>>2]|0;i=r+(m*36|0)+16|0;a[i>>0]=1;j=r+(m*36|0)+12|0;c[j>>2]=0;k=r+(m*36|0)+4|0;c[k>>2]=0;l=r+(m*36|0)+8|0;c[l>>2]=0;p=c[o+(m*36|0)+4>>2]|0;if((p|0)>0){c[7584]=(c[7584]|0)+1;e=lc((p<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}g=c[k>>2]|0;h=c[j>>2]|0;if((g|0)<=0){if(h|0)q=14}else{e=0;do{c[f+(e<<2)>>2]=c[h+(e<<2)>>2];e=e+1|0}while((e|0)!=(g|0));q=14}if((q|0)==14?(q=0,a[i>>0]|0):0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}a[i>>0]=1;c[j>>2]=f;c[l>>2]=p;Bl(f|0,0,p<<2|0)|0;c[k>>2]=p;f=c[j>>2]|0;g=c[o+(m*36|0)+12>>2]|0;e=0;do{c[f+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(p|0))}else c[k>>2]=p;p=r+(m*36|0)+20|0;o=o+(m*36|0)+20|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];m=m+1|0}while((m|0)!=(n|0));f=c[b+4>>2]|0;if((f|0)>0){e=0;do{h=c[b+12>>2]|0;i=h+(e*36|0)+4|0;j=h+(e*36|0)+12|0;k=c[j>>2]|0;g=h+(e*36|0)+16|0;if(k|0){if(a[g>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[k+-4>>2]|0)}c[j>>2]=0}a[g>>0]=1;c[j>>2]=0;c[i>>2]=0;c[h+(e*36|0)+8>>2]=0;e=e+1|0}while((e|0)!=(f|0))}}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=r;c[b+8>>2]=d;return}function Yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;f=k;k=k+256|0;c[f+32>>2]=8928;l=f+32+36|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];m=f+32+52|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[f+32+212>>2]=a;c[f+32+216>>2]=e;c[f+32+68>>2]=1065353216;c[f+32+72>>2]=0;c[f+32+72+4>>2]=0;c[f+32+72+8>>2]=0;c[f+32+72+12>>2]=0;c[f+32+88>>2]=1065353216;c[f+32+92>>2]=0;c[f+32+92+4>>2]=0;c[f+32+92+8>>2]=0;c[f+32+92+12>>2]=0;c[f+32+108>>2]=1065353216;c[f+32+112>>2]=0;c[f+32+116>>2]=c[l>>2];c[f+32+116+4>>2]=c[l+4>>2];c[f+32+116+8>>2]=c[l+8>>2];c[f+32+116+12>>2]=c[l+12>>2];c[f+32+132>>2]=1065353216;c[f+32+136>>2]=0;c[f+32+136+4>>2]=0;c[f+32+136+8>>2]=0;c[f+32+136+12>>2]=0;c[f+32+152>>2]=1065353216;c[f+32+156>>2]=0;c[f+32+156+4>>2]=0;c[f+32+156+8>>2]=0;c[f+32+156+12>>2]=0;c[f+32+172>>2]=1065353216;c[f+32+176>>2]=0;c[f+32+180>>2]=c[d>>2];c[f+32+180+4>>2]=c[d+4>>2];c[f+32+180+8>>2]=c[d+8>>2];c[f+32+180+12>>2]=c[d+12>>2];n=+g[d>>2]-+g[b>>2];j=+g[d+4>>2]-+g[b+4>>2];i=+g[d+8>>2]-+g[b+8>>2];h=1.0/+A(+(n*n+j*j+i*i));q=n*h==0.0?999999984306749440.0:1.0/(n*h);g[f+32+4>>2]=q;p=j*h==0.0?999999984306749440.0:1.0/(j*h);g[f+32+8>>2]=p;o=i*h==0.0?999999984306749440.0:1.0/(i*h);g[f+32+12>>2]=o;c[f+32+20>>2]=q<0.0&1;c[f+32+24>>2]=p<0.0&1;c[f+32+28>>2]=o<0.0&1;g[f+32+32>>2]=n*h*(+g[m>>2]-+g[l>>2])+j*h*(+g[f+32+56>>2]-+g[f+32+40>>2])+i*h*(+g[f+32+60>>2]-+g[f+32+44>>2]);e=c[a+68>>2]|0;a=c[(c[e>>2]|0)+24>>2]|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;c[f+16+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Wb[a&7](e,b,d,f+32|0,f+16|0,f);k=f;return}function Zf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;h=k;k=k+128|0;if(!b){k=h;return}if(c[b+40>>2]|0){Zf(a,c[b+36>>2]|0,d+1|0,e,f);Zf(a,c[b+40>>2]|0,d+1|0,e,f)}if((d|0)<0){k=h;return}m=+g[b>>2];r=+g[b+16>>2];j=+g[b+4>>2];q=+g[b+20>>2];i=+g[b+8>>2];p=+g[b+24>>2];l=(m+r)*.5-(r-m)*.5;n=(j+q)*.5-(q-j)*.5;o=(i+p)*.5-(p-i)*.5;m=(m+r)*.5+(r-m)*.5;j=(j+q)*.5+(q-j)*.5;i=(i+p)*.5+(p-i)*.5;f=(c[b+40>>2]|0)==0?f:e;g[h>>2]=l;g[h+4>>2]=n;g[h+8>>2]=o;g[h+12>>2]=0.0;g[h+16>>2]=m;g[h+20>>2]=n;g[h+24>>2]=o;g[h+28>>2]=0.0;g[h+32>>2]=m;g[h+36>>2]=j;g[h+40>>2]=o;g[h+44>>2]=0.0;g[h+48>>2]=l;g[h+52>>2]=j;g[h+56>>2]=o;g[h+60>>2]=0.0;g[h+64>>2]=l;g[h+68>>2]=n;g[h+72>>2]=i;g[h+76>>2]=0.0;g[h+80>>2]=m;g[h+84>>2]=n;g[h+88>>2]=i;g[h+92>>2]=0.0;g[h+96>>2]=m;g[h+100>>2]=j;g[h+104>>2]=i;g[h+108>>2]=0.0;g[h+112>>2]=l;g[h+116>>2]=j;g[h+120>>2]=i;g[h+124>>2]=0.0;Qb[c[(c[a>>2]|0)+8>>2]&127](a,h,h+16|0,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+32|0,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+48|0,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,h+64|0,h+80|0,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,h+80|0,h+96|0,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,h+96|0,h+112|0,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,h+112|0,h+64|0,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,h,h+64|0,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+80|0,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+96|0,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h+112|0,f);k=h;return}function _f(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;r=k;k=k+96|0;m=r;n=m+96|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));if(!i)p=c[c[b+880>>2]>>2]|0;else p=i;i=c[b+772>>2]|0;if((i|0)==(c[b+776>>2]|0)?(q=(i|0)==0?1:i<<1,(i|0)<(q|0)):0){if(!q)o=0;else{c[7584]=(c[7584]|0)+1;i=lc((q*104|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=i;i=c[b+772>>2]|0}if((i|0)>0){j=0;do{m=o+(j*104|0)|0;l=(c[b+780>>2]|0)+(j*104|0)|0;n=m+104|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(n|0));j=j+1|0}while((j|0)!=(i|0))}i=c[b+780>>2]|0;if(i|0){if(a[b+784>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=o;c[b+776>>2]=q;i=c[b+772>>2]|0}m=c[b+780>>2]|0;c[m+(i*104|0)>>2]=0;c[m+(i*104|0)+4>>2]=p;m=m+(i*104|0)+8|0;l=r;n=m+96|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(n|0));q=c[b+772>>2]|0;c[b+772>>2]=q+1;p=c[b+780>>2]|0;l=c[b+720>>2]|0;c[p+(q*104|0)+8>>2]=l+(d*104|0);o=c[b+720>>2]|0;c[p+(q*104|0)+12>>2]=o+(e*104|0);m=c[b+720>>2]|0;c[p+(q*104|0)+16>>2]=m+(f*104|0);n=c[b+720>>2]|0;c[p+(q*104|0)+20>>2]=n+(h*104|0);z=+g[l+(d*104|0)+8>>2];w=+g[l+(d*104|0)+12>>2];A=+g[l+(d*104|0)+16>>2];t=+g[m+(f*104|0)+8>>2]-z;y=+g[m+(f*104|0)+12>>2]-w;v=+g[m+(f*104|0)+16>>2]-A;u=+g[n+(h*104|0)+8>>2]-z;x=+g[n+(h*104|0)+12>>2]-w;s=+g[n+(h*104|0)+16>>2]-A;g[p+(q*104|0)+24>>2]=(+g[o+(e*104|0)+16>>2]-A)*(t*x-y*u)+((+g[o+(e*104|0)+8>>2]-z)*(y*s-v*x)+(+g[o+(e*104|0)+12>>2]-w)*(v*u-t*s));a[b+924>>0]=1;k=r;return}function $f(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0;x=c[a+832>>2]|0;if((x|0)<=0)return;s=c[a+840>>2]|0;a=0;do{w=c[s+(a*56|0)>>2]|0;l=c[s+(a*56|0)+4>>2]|0;j=c[l+8>>2]|0;k=c[l+12>>2]|0;l=c[l+16>>2]|0;f=s+(a*56|0)+8|0;u=+g[f>>2];h=s+(a*56|0)+12|0;t=+g[h>>2];i=s+(a*56|0)+16|0;r=+g[i>>2];b=+g[j+8>>2]*u+ +g[k+8>>2]*t+ +g[l+8>>2]*r;d=+g[j+12>>2]*u+ +g[k+12>>2]*t+ +g[l+12>>2]*r;e=+g[j+16>>2]*u+ +g[k+16>>2]*t+ +g[l+16>>2]*r;m=+g[w+8>>2];n=+g[w+12>>2];o=+g[w+16>>2];p=m-+g[w+24>>2]-(b-(u*+g[j+24>>2]+t*+g[k+24>>2]+r*+g[l+24>>2]));q=n-+g[w+28>>2]-(d-(u*+g[j+28>>2]+t*+g[k+28>>2]+r*+g[l+28>>2]));r=o-+g[w+32>>2]-(e-(u*+g[j+32>>2]+t*+g[k+32>>2]+r*+g[l+32>>2]));t=+g[s+(a*56|0)+24>>2];u=+g[s+(a*56|0)+28>>2];v=+g[s+(a*56|0)+32>>2];if(p*t+q*u+r*v<0.0){e=+g[s+(a*56|0)+40>>2]-(m*t+n*u+o*v-(b*t+d*u+e*v));b=t*e+0.0;d=u*e+0.0;e=v*e+0.0}else{b=0.0;d=0.0;e=0.0}y=+g[s+(a*56|0)+44>>2];b=b-y*(p-t*(p*t+q*u+r*v));d=d-y*(q-u*(p*t+q*u+r*v));u=e-y*(r-v*(p*t+q*u+r*v));v=+g[s+(a*56|0)+48>>2];g[w+8>>2]=m+v*b;g[w+12>>2]=n+v*d;g[w+16>>2]=o+v*u;w=s+(a*56|0)+52|0;v=+g[w>>2]*+g[f>>2];g[j+8>>2]=+g[j+8>>2]-b*v;g[j+12>>2]=+g[j+12>>2]-d*v;g[j+16>>2]=+g[j+16>>2]-u*v;v=+g[w>>2]*+g[h>>2];g[k+8>>2]=+g[k+8>>2]-b*v;g[k+12>>2]=+g[k+12>>2]-d*v;g[k+16>>2]=+g[k+16>>2]-u*v;v=+g[w>>2]*+g[i>>2];g[l+8>>2]=+g[l+8>>2]-b*v;g[l+12>>2]=+g[l+12>>2]-d*v;g[l+16>>2]=+g[l+16>>2]-u*v;a=a+1|0}while((a|0)!=(x|0));return}function ag(a,b,c,d,e,f,h,i){a=a|0;b=+b;c=+c;d=+d;e=e|0;f=+f;h=+h;i=+i;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;y=+g[e>>2];x=+g[e+16>>2];w=+g[e+32>>2];v=+g[e+4>>2];u=+g[e+20>>2];t=+g[e+36>>2];s=+g[e+8>>2];r=+g[e+24>>2];q=+g[e+40>>2];j=d-((y*0.0+x*-i+w*h)*0.0+(v*0.0+u*-i+t*h)*i+(s*0.0+r*-i+q*h)*-h)+c;o=0.0-((y*0.0+x*-i+w*h)*-i+(v*0.0+u*-i+t*h)*0.0+(s*0.0+r*-i+q*h)*f)+0.0;l=0.0-((y*0.0+x*-i+w*h)*h+(v*0.0+u*-i+t*h)*-f+(s*0.0+r*-i+q*h)*0.0)+0.0;m=0.0-((y*i+x*0.0+w*-f)*0.0+(v*i+u*0.0+t*-f)*i+(s*i+r*0.0+q*-f)*-h)+0.0;n=d-((y*i+x*0.0+w*-f)*-i+(v*i+u*0.0+t*-f)*0.0+(s*i+r*0.0+q*-f)*f)+c;k=0.0-((y*i+x*0.0+w*-f)*h+(v*i+u*0.0+t*-f)*-f+(s*i+r*0.0+q*-f)*0.0)+0.0;p=0.0-((y*-h+x*f+w*0.0)*0.0+(v*-h+u*f+t*0.0)*i+(s*-h+r*f+q*0.0)*-h)+0.0;i=0.0-((y*-h+x*f+w*0.0)*-i+(v*-h+u*f+t*0.0)*0.0+(s*-h+r*f+q*0.0)*f)+0.0;c=d-((y*-h+x*f+w*0.0)*h+(v*-h+u*f+t*0.0)*-f+(s*-h+r*f+q*0.0)*0.0)+c;d=1.0/(l*(i*m-n*p)+(j*(n*c-k*i)+o*(k*p-c*m)));g[a>>2]=(i*m-n*p)*d*0.0+(1.0/b*(n*c-k*i)*d+(k*p-c*m)*d*0.0);g[a+4>>2]=(p*o-i*j)*d*0.0+(1.0/b*(i*l-c*o)*d+(c*j-p*l)*d*0.0);g[a+8>>2]=(n*j-m*o)*d*0.0+(1.0/b*(k*o-n*l)*d+(m*l-k*j)*d*0.0);g[a+12>>2]=0.0;g[a+16>>2]=(i*m-n*p)*d*0.0+((n*c-k*i)*d*0.0+1.0/b*(k*p-c*m)*d);g[a+20>>2]=(p*o-i*j)*d*0.0+((i*l-c*o)*d*0.0+1.0/b*(c*j-p*l)*d);g[a+24>>2]=(n*j-m*o)*d*0.0+((k*o-n*l)*d*0.0+1.0/b*(m*l-k*j)*d);g[a+28>>2]=0.0;g[a+32>>2]=1.0/b*(i*m-n*p)*d+((n*c-k*i)*d*0.0+(k*p-c*m)*d*0.0);g[a+36>>2]=1.0/b*(p*o-i*j)*d+((i*l-c*o)*d*0.0+(c*j-p*l)*d*0.0);g[a+40>>2]=1.0/b*(n*j-m*o)*d+((k*o-n*l)*d*0.0+(m*l-k*j)*d*0.0);g[a+44>>2]=0.0;return}function bg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0;f=k;k=k+784|0;c[f+712>>2]=1065353216;c[f+712+4>>2]=0;c[f+712+4+4>>2]=0;c[f+712+4+8>>2]=0;c[f+712+4+12>>2]=0;c[f+712+20>>2]=1065353216;c[f+712+24>>2]=0;c[f+712+24+4>>2]=0;c[f+712+24+8>>2]=0;c[f+712+24+12>>2]=0;c[f+712+40>>2]=1065353216;e=f+712+44|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f+536>>2]=6876;c[f+536+168>>2]=0;g[f+536+172>>2]=0.0;c[f+536+164>>2]=c[b+200>>2];e=c[b+196>>2]|0;c[f+480+8>>2]=0;c[f+480+12>>2]=1065353216;c[f+480+16>>2]=1065353216;c[f+480+20>>2]=1065353216;g[f+480+24>>2]=0.0;c[f+480>>2]=9908;c[f+480+4>>2]=8;c[f+480+28>>2]=e;c[f+480+44>>2]=e;c[f+376+8>>2]=0;c[f+376+12>>2]=1065353216;c[f+376+16>>2]=1065353216;c[f+376+20>>2]=1065353216;g[f+376+24>>2]=0.0;g[f+376+44>>2]=.03999999910593033;c[f+376+52>>2]=0;c[f+376>>2]=6904;c[f+376+4>>2]=1;c[f+376+56>>2]=c[d>>2];c[f+376+56+4>>2]=c[d+4>>2];c[f+376+56+8>>2]=c[d+8>>2];c[f+376+56+12>>2]=c[d+12>>2];c[f+376+72>>2]=c[d+16>>2];c[f+376+72+4>>2]=c[d+16+4>>2];c[f+376+72+8>>2]=c[d+16+8>>2];c[f+376+72+12>>2]=c[d+16+12>>2];c[f+376+88>>2]=c[d+32>>2];c[f+376+88+4>>2]=c[d+32+4>>2];c[f+376+88+8>>2]=c[d+32+8>>2];c[f+376+88+12>>2]=c[d+32+12>>2];g[f+16+308>>2]=9.999999747378752e-05;a[f+16+332>>0]=0;c[f>>2]=8200;c[f+4>>2]=f+16;c[f+8>>2]=f+480;c[f+12>>2]=f+376;if(id(f,b+4|0,b+68|0,f+712|0,f+712|0,f+536|0)|0?(h=+g[f+536+164>>2],+g[b+200>>2]>h):0)g[b+200>>2]=h;c[f+376>>2]=10360;e=c[f+376+52>>2]|0;if(!e){k=f;return}Db[c[c[e>>2]>>2]&511](e);e=c[f+376+52>>2]|0;if(!e){k=f;return}c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);k=f;return}function cg(d,e,f,g,h,i,j,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;var n=0,o=0;o=k;k=k+48|0;c[7584]=(c[7584]|0)+1;g=lc(83)|0;if(!g)n=0;else{c[(g+4+15&-16)+-4>>2]=g;n=g+4+15&-16}c[n>>2]=h;b[n+4>>1]=i;b[n+6>>1]=j;h=n+16|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];h=n+32|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[n+8>>2]=0;h=n+56|0;c[h>>2]=0;i=n+52|0;c[i>>2]=0;c[o+16>>2]=c[e>>2];c[o+16+4>>2]=c[e+4>>2];c[o+16+8>>2]=c[e+8>>2];c[o+16+12>>2]=c[e+12>>2];c[o+16+16>>2]=c[f>>2];c[o+16+16+4>>2]=c[f+4>>2];c[o+16+16+8>>2]=c[f+8>>2];c[o+16+16+12>>2]=c[f+12>>2];c[n+60>>2]=c[d+144>>2];g=(c[d+188>>2]|0)+1|0;c[d+188>>2]=g;c[n+12>>2]=g;g=c[d+8>>2]|0;if(!g){c[7584]=(c[7584]|0)+1;g=lc(63)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}l=g;m=l+44|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0))}else c[d+8>>2]=0;c[g+32>>2]=0;c[g+36>>2]=n;c[g+40>>2]=0;c[g>>2]=c[o+16>>2];c[g+4>>2]=c[o+16+4>>2];c[g+8>>2]=c[o+16+8>>2];c[g+12>>2]=c[o+16+12>>2];c[g+16>>2]=c[o+16+16>>2];c[g+20>>2]=c[o+16+20>>2];c[g+24>>2]=c[o+16+24>>2];c[g+28>>2]=c[o+16+28>>2];tf(d+4|0,c[d+4>>2]|0,g);c[d+16>>2]=(c[d+16>>2]|0)+1;c[n+48>>2]=g;l=d+124+(c[d+144>>2]<<2)|0;c[i>>2]=0;c[h>>2]=c[l>>2];g=c[l>>2]|0;if(g|0)c[g+52>>2]=n;c[l>>2]=n;if(a[d+193>>0]|0){k=o;return n|0}c[o>>2]=12240;c[o+4>>2]=d;c[o+8>>2]=n;kf(c[d+4>>2]|0,o+16|0,o);kf(c[d+64>>2]|0,o+16|0,o);k=o;return n|0}function dg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0;l=k;k=k+160|0;i=c[b+12>>2]|0;if(!i){k=l;return}m=(a[b+16>>0]|0)!=0;n=m?e:d;e=m?d:e;o=c[n+4>>2]|0;d=c[e+4>>2]|0;c[h+4>>2]=i;i=c[i+752>>2]|0;c[l+136>>2]=13352;c[l+136+4>>2]=o;c[l+136+8>>2]=d;c[l+136+12>>2]=i;g[l+128>>2]=999999984306749440.0;i=c[n+12>>2]|0;c[l>>2]=c[i>>2];c[l+4>>2]=c[i+4>>2];c[l+8>>2]=c[i+8>>2];c[l+12>>2]=c[i+12>>2];c[l+16>>2]=c[i+16>>2];c[l+16+4>>2]=c[i+16+4>>2];c[l+16+8>>2]=c[i+16+8>>2];c[l+16+12>>2]=c[i+16+12>>2];c[l+32>>2]=c[i+32>>2];c[l+32+4>>2]=c[i+32+4>>2];c[l+32+8>>2]=c[i+32+8>>2];c[l+32+12>>2]=c[i+32+12>>2];c[l+48>>2]=c[i+48>>2];c[l+48+4>>2]=c[i+48+4>>2];c[l+48+8>>2]=c[i+48+8>>2];c[l+48+12>>2]=c[i+48+12>>2];i=c[e+12>>2]|0;c[l+64>>2]=c[i>>2];c[l+64+4>>2]=c[i+4>>2];c[l+64+8>>2]=c[i+8>>2];c[l+64+12>>2]=c[i+12>>2];c[l+80>>2]=c[i+16>>2];c[l+80+4>>2]=c[i+16+4>>2];c[l+80+8>>2]=c[i+16+8>>2];c[l+80+12>>2]=c[i+16+12>>2];c[l+96>>2]=c[i+32>>2];c[l+96+4>>2]=c[i+32+4>>2];c[l+96+8>>2]=c[i+32+8>>2];c[l+96+12>>2]=c[i+32+12>>2];c[l+112>>2]=c[i+48>>2];c[l+112+4>>2]=c[i+48+4>>2];c[l+112+8>>2]=c[i+48+8>>2];c[l+112+12>>2]=c[i+48+12>>2];Zd(l+136|0,l,h,c[f+20>>2]|0,m);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+748>>2]|0):0){b=c[j+740>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;if((b|0)==(d|0)){qf(j,b+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{qf(j,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,d+4|0);break}}while(0);k=l;return}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0;d=c[a+752>>2]|0;if((d|0)>0){e=c[a+760>>2]|0;b=0;do{f=c[e+(b*44|0)+8>>2]|0;h=c[e+(b*44|0)+12>>2]|0;i=c[e+(b*44|0)+16>>2]|0;l=+g[f+8>>2];n=+g[f+12>>2];j=+g[f+16>>2];k=+g[h+8>>2]-l;o=+g[h+12>>2]-n;m=+g[h+16>>2]-j;l=+g[i+8>>2]-l;n=+g[i+12>>2]-n;j=+g[i+16>>2]-j;g[e+(b*44|0)+36>>2]=+A(+((k*n-o*l)*(k*n-o*l)+((o*j-m*n)*(o*j-m*n)+(m*l-k*j)*(m*l-k*j))));b=b+1|0}while((b|0)!=(d|0))}d=c[a+712>>2]|0;if((d|0)>0){c[7584]=(c[7584]|0)+1;b=lc((d<<2|3)+16|0)|0;if(!b)e=0;else{c[(b+4+15&-16)+-4>>2]=b;e=b+4+15&-16}Bl(e|0,0,d<<2|0)|0;f=c[a+712>>2]|0;if((f|0)>0){d=c[a+720>>2]|0;b=0;do{g[d+(b*104|0)+92>>2]=0.0;b=b+1|0}while((b|0)!=(f|0));i=e;h=e;b=f}else{i=e;h=e;b=f}}else{i=0;h=0;b=d}f=c[a+752>>2]|0;if((f|0)>0){d=c[a+760>>2]|0;e=c[a+720>>2]|0;b=0;do{o=+z(+(+g[d+(b*44|0)+36>>2]));p=c[d+(b*44|0)+8>>2]|0;q=i+(((p-e|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];p=c[d+(b*44|0)+12>>2]|0;q=i+(((p-e|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];p=c[d+(b*44|0)+16>>2]|0;q=i+(((p-e|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;g[p+92>>2]=o+ +g[p+92>>2];b=b+1|0}while((b|0)!=(f|0));b=c[a+712>>2]|0}if((b|0)>0){d=0;do{e=c[i+(d<<2)>>2]|0;if((e|0)>0){q=(c[a+720>>2]|0)+(d*104|0)+92|0;g[q>>2]=+g[q>>2]/+(e|0)}else g[(c[a+720>>2]|0)+(d*104|0)+92>>2]=0.0;d=d+1|0}while((d|0)!=(b|0));if(!h)return}else if((i|0)==0|(h|0)==0)return;c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);return}function fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[7584]=(c[7584]|0)+1;e=lc(31)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[a+60>>2]|0;c[e+4>>2]=f;g=e+8|0;c[g>>2]=0;c[7584]=(c[7584]|0)+1;f=lc((f*24|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[e>>2]=f;c[g>>2]=c[a+48>>2];c[a+48>>2]=e}else c[a+52>>2]=c[e+8>>2];h=c[e>>2]|0;g=c[e+4>>2]|0;if((g|0)>0?(c[h>>2]=(g|0)!=1?h+24|0:0,(g|0)!=1):0){e=1;f=h+24|0;do{e=e+1|0;i=(e|0)<(g|0);j=f;f=f+24|0;c[j>>2]=i?f:0}while(i)}}else h=e;c[a+56>>2]=c[h>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[7584]=(c[7584]|0)+1;e=lc(31)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[a+60>>2]|0;c[f+4>>2]=e;g=f+8|0;c[g>>2]=0;c[7584]=(c[7584]|0)+1;e=lc((e*24|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[f>>2]=e;c[g>>2]=c[a+48>>2];c[a+48>>2]=f}else{c[a+52>>2]=c[e+8>>2];f=e}e=c[f>>2]|0;i=c[f+4>>2]|0;if((i|0)>0?(c[e>>2]=(i|0)!=1?e+24|0:0,(i|0)!=1):0){f=1;g=e+24|0;do{f=f+1|0;j=(f|0)<(i|0);k=g;g=g+24|0;c[k>>2]=j?g:0}while(j)}}c[a+56>>2]=c[e>>2];k=e;c[k>>2]=0;c[k+4>>2]=0;c[h+8>>2]=e;c[e+8>>2]=h;k=c[a+100>>2]|0;c[h+20>>2]=k;c[e+20>>2]=k;c[h+12>>2]=d;c[e+12>>2]=b;c[h+16>>2]=0;c[e+16>>2]=0;e=c[a+116>>2]|0;c[a+116>>2]=e+1;if((e|0)<(c[a+120>>2]|0))return h|0;c[a+120>>2]=e+1;return h|0}function gg(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0;e=k;k=k+128|0;G=c[(c[a+8>>2]|0)+24>>2]|0;h=c[G+(d*80|0)+64>>2]|0;f=c[a+12>>2]|0;x=+g[G+(d*80|0)>>2];D=+g[f>>2];w=+g[G+(d*80|0)+16>>2];C=+g[f+4>>2];v=+g[G+(d*80|0)+32>>2];B=+g[f+8>>2];u=+g[G+(d*80|0)+4>>2];t=+g[G+(d*80|0)+20>>2];s=+g[G+(d*80|0)+36>>2];r=+g[G+(d*80|0)+8>>2];p=+g[G+(d*80|0)+24>>2];n=+g[G+(d*80|0)+40>>2];A=+g[f+16>>2];z=+g[f+20>>2];y=+g[f+24>>2];q=+g[f+32>>2];o=+g[f+36>>2];m=+g[f+40>>2];F=+g[G+(d*80|0)+48>>2];E=+g[G+(d*80|0)+52>>2];i=+g[G+(d*80|0)+56>>2];l=+g[f+48>>2]+(D*F+C*E+B*i);j=A*F+z*E+y*i+ +g[f+52>>2];i=q*F+o*E+m*i+ +g[f+56>>2];g[e+56>>2]=x*D+w*C+v*B;g[e+56+4>>2]=D*u+C*t+B*s;g[e+56+8>>2]=D*r+C*p+B*n;g[e+56+12>>2]=0.0;g[e+56+16>>2]=x*A+w*z+v*y;g[e+56+20>>2]=u*A+t*z+s*y;g[e+56+24>>2]=r*A+p*z+n*y;g[e+56+28>>2]=0.0;g[e+56+32>>2]=x*q+w*o+v*m;g[e+56+36>>2]=u*q+t*o+s*m;g[e+56+40>>2]=r*q+p*o+n*m;g[e+56+44>>2]=0.0;g[e+56+48>>2]=l;g[e+56+52>>2]=j;g[e+56+56>>2]=i;g[e+56+60>>2]=0.0;f=c[a+4>>2]|0;c[e+32>>2]=0;c[e+32+4>>2]=h;c[e+32+8>>2]=f;c[e+32+12>>2]=e+56;c[e+32+16>>2]=-1;c[e+32+20>>2]=d;f=c[a+24>>2]|0;g[e+4>>2]=1.0;c[e+8>>2]=0;b[e+12>>1]=1;b[e+14>>1]=-1;c[e+16>>2]=0;c[e>>2]=9032;c[e+20>>2]=f;c[e+24>>2]=d;c[e+4>>2]=c[f+4>>2];c[e+16>>2]=c[f+16>>2];Rc(c[a+16>>2]|0,c[a+20>>2]|0,e+32|0,e);k=e;return}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;i=k;k=k+80|0;h=+jb[c[(c[a>>2]|0)+48>>2]&15](a);f=0;do{q=i+64+(f<<2)|0;c[i+64>>2]=0;c[i+64+4>>2]=0;c[i+64+8>>2]=0;c[i+64+12>>2]=0;g[q>>2]=1.0;j=c[(c[a>>2]|0)+64>>2]|0;l=+g[i+64>>2];m=+g[i+64+4>>2];n=+g[i+64+8>>2];o=l*+g[b+4>>2]+m*+g[b+20>>2]+n*+g[b+36>>2];p=l*+g[b+8>>2]+m*+g[b+24>>2]+n*+g[b+40>>2];g[i+32>>2]=+g[b>>2]*l+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[i+32+4>>2]=o;g[i+32+8>>2]=p;g[i+32+12>>2]=0.0;Nb[j&127](i+48|0,a,i+32|0);p=+g[i+48>>2];o=+g[i+48+4>>2];n=+g[i+48+8>>2];m=p*+g[b+16>>2]+o*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];l=p*+g[b+32>>2]+o*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[i+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[i+32+4>>2]=m;g[i+32+8>>2]=l;g[i+32+12>>2]=0.0;j=i+32+(f<<2)|0;g[e+(f<<2)>>2]=h+ +g[j>>2];g[q>>2]=-1.0;q=c[(c[a>>2]|0)+64>>2]|0;l=+g[i+64>>2];m=+g[i+64+4>>2];n=+g[i+64+8>>2];o=l*+g[b+4>>2]+m*+g[b+20>>2]+n*+g[b+36>>2];p=l*+g[b+8>>2]+m*+g[b+24>>2]+n*+g[b+40>>2];g[i>>2]=+g[b>>2]*l+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[i+4>>2]=o;g[i+8>>2]=p;g[i+12>>2]=0.0;Nb[q&127](i+16|0,a,i);p=+g[i+16>>2];o=+g[i+16+4>>2];n=+g[i+16+8>>2];m=p*+g[b+16>>2]+o*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];l=p*+g[b+32>>2]+o*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];g[i+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[i+32+4>>2]=m;g[i+32+8>>2]=l;g[i+32+12>>2]=0.0;g[d+(f<<2)>>2]=+g[j>>2]-h;f=f+1|0}while((f|0)!=3);k=i;return}function ig(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0,n=0;l=k;k=k+144|0;i=c[b+12>>2]|0;if(!i){k=l;return}n=c[d+4>>2]|0;m=c[e+4>>2]|0;c[h+4>>2]=i;g[l+12+128>>2]=999999984306749440.0;i=c[d+12>>2]|0;c[l+12>>2]=c[i>>2];c[l+12+4>>2]=c[i+4>>2];c[l+12+8>>2]=c[i+8>>2];c[l+12+12>>2]=c[i+12>>2];c[l+12+16>>2]=c[i+16>>2];c[l+12+16+4>>2]=c[i+16+4>>2];c[l+12+16+8>>2]=c[i+16+8>>2];c[l+12+16+12>>2]=c[i+16+12>>2];c[l+12+32>>2]=c[i+32>>2];c[l+12+32+4>>2]=c[i+32+4>>2];c[l+12+32+8>>2]=c[i+32+8>>2];c[l+12+32+12>>2]=c[i+32+12>>2];c[l+12+48>>2]=c[i+48>>2];c[l+12+48+4>>2]=c[i+48+4>>2];c[l+12+48+8>>2]=c[i+48+8>>2];c[l+12+48+12>>2]=c[i+48+12>>2];i=c[e+12>>2]|0;c[l+12+64>>2]=c[i>>2];c[l+12+64+4>>2]=c[i+4>>2];c[l+12+64+8>>2]=c[i+8>>2];c[l+12+64+12>>2]=c[i+12>>2];c[l+12+80>>2]=c[i+16>>2];c[l+12+80+4>>2]=c[i+16+4>>2];c[l+12+80+8>>2]=c[i+16+8>>2];c[l+12+80+12>>2]=c[i+16+12>>2];c[l+12+96>>2]=c[i+32>>2];c[l+12+96+4>>2]=c[i+32+4>>2];c[l+12+96+8>>2]=c[i+32+8>>2];c[l+12+96+12>>2]=c[i+32+12>>2];c[l+12+112>>2]=c[i+48>>2];c[l+12+112+4>>2]=c[i+48+4>>2];c[l+12+112+8>>2]=c[i+48+8>>2];c[l+12+112+12>>2]=c[i+48+12>>2];c[l>>2]=13332;c[l+4>>2]=n;c[l+8>>2]=m;jc(l,l+12|0,h,c[f+20>>2]|0,0);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+748>>2]|0):0){b=c[j+740>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;if((b|0)==(d|0)){qf(j,b+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{qf(j,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,d+4|0);break}}while(0);k=l;return}function jg(b,d,e,f,h,i,j,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0;r=k;k=k+80|0;g[r+16+60>>2]=0.0;g[r+16+8>>2]=0.0;g[r+16+12>>2]=.10000000149011612;g[r+16+16>>2]=300.0;g[r+16>>2]=1.0;g[r+16+4>>2]=-1.0;g[r+16+28>>2]=0.0;g[r+16+32>>2]=.20000000298023224;g[r+16+36>>2]=0.0;g[r+16+40>>2]=0.0;g[r+16+20>>2]=1.0;g[r+16+24>>2]=.5;c[r+16+56>>2]=0;g[r+16+48>>2]=0.0;a[r+16+44>>0]=0;p=0;do{o=c[b+856+(p<<2)>>2]|0;n=a[b+788+p>>0]|0;if(!o){if(n<<24>>24){n=1;q=5}}else q=5;if((q|0)==5){q=0;g[r+16+40>>2]=0.0;c[r+16+56>>2]=o;c[r+16+52>>2]=c[b+840+(p<<2)>>2];c[r+16+48>>2]=c[b+824+(p<<2)>>2];c[r+16+20>>2]=c[b+732>>2];a[r+16+44>>0]=n;c[r+16+4>>2]=c[b+696+(p<<2)>>2];c[r+16+24>>2]=c[b+728>>2];c[r+16>>2]=c[b+680+(p<<2)>>2];g[r+16+16>>2]=0.0;c[r+16+12>>2]=c[b+808+(p<<2)>>2];c[r+16+8>>2]=c[b+792+(p<<2)>>2];c[r>>2]=c[b+1064+(p<<2)>>2];c[r+4>>2]=c[b+1080+(p<<2)>>2];c[r+8>>2]=c[b+1096+(p<<2)>>2];g[r+12>>2]=0.0;o=c[b+1304>>2]|0;n=p*3|0;o=n?o>>n:o;if(!(o&1))n=c[d+32>>2]|0;else n=b+740+(p<<2)|0;c[r+16+28>>2]=c[n>>2];if(!(o&2))n=c[d+32>>2]|0;else n=b+772+(p<<2)|0;c[r+16+36>>2]=c[n>>2];c[r+16+32>>2]=c[((o&4|0)==0?d+4|0:b+756+(p<<2)|0)>>2];if(a[b+1301>>0]|0){o=p+1|0;if(!(c[b+868+(((o|0)==3?0:o)<<6)+56>>2]|0))n=1;else n=(c[b+868+((((p+2|0)>>>0)%3|0)<<6)+56>>2]|0)==0&1}else n=0;e=(Dd(b,r+16|0,f,h,i,j,l,m,d,e,r,0,n)|0)+e|0}p=p+1|0}while((p|0)!=3);k=r;return e|0}function kg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;b=k;k=k+608|0;p=+g[d+116>>2]-+g[d+52>>2];o=+g[d+120>>2]-+g[d+56>>2];n=+g[d+124>>2]-+g[d+60>>2];i=+g[e+116>>2]-+g[e+52>>2];j=+g[e+120>>2]-+g[e+56>>2];l=+g[e+124>>2]-+g[e+60>>2];m=+g[d+252>>2];if(p*p+o*o+n*n<m*m?(p=+g[e+252>>2],i*i+j*j+l*l<p*p):0){p=1.0;k=b;return +p}h=c[d+192>>2]|0;f=c[e+248>>2]|0;c[b+552+8>>2]=0;c[b+552+12>>2]=1065353216;c[b+552+16>>2]=1065353216;c[b+552+20>>2]=1065353216;g[b+552+24>>2]=0.0;c[b+552>>2]=9908;c[b+552+4>>2]=8;c[b+552+28>>2]=f;c[b+552+44>>2]=f;c[b+376>>2]=6876;g[b+376+164>>2]=999999984306749440.0;c[b+376+168>>2]=0;g[b+376+172>>2]=0.0;g[b+16+308>>2]=9.999999747378752e-05;a[b+16+332>>0]=0;c[b>>2]=13188;c[b+4>>2]=b+16;c[b+8>>2]=h;c[b+12>>2]=b+552;if(Ed(b,d+4|0,d+68|0,e+4|0,e+68|0,b+376|0)|0){i=+g[b+376+164>>2];if(+g[d+244>>2]>i)g[d+244>>2]=i;if(+g[e+244>>2]>i)g[e+244>>2]=i;if(!(i<1.0))i=1.0}else i=1.0;h=c[e+192>>2]|0;f=c[d+248>>2]|0;c[b+552+8>>2]=0;c[b+552+12>>2]=1065353216;c[b+552+16>>2]=1065353216;c[b+552+20>>2]=1065353216;g[b+552+24>>2]=0.0;c[b+552>>2]=9908;c[b+552+4>>2]=8;c[b+552+28>>2]=f;c[b+552+44>>2]=f;c[b+376>>2]=6876;g[b+376+164>>2]=999999984306749440.0;c[b+376+168>>2]=0;g[b+376+172>>2]=0.0;g[b+16+308>>2]=9.999999747378752e-05;a[b+16+332>>0]=0;c[b>>2]=13188;c[b+4>>2]=b+16;c[b+8>>2]=b+552;c[b+12>>2]=h;if(Ed(b,d+4|0,d+68|0,e+4|0,e+68|0,b+376|0)|0){j=+g[b+376+164>>2];if(+g[d+244>>2]>j)g[d+244>>2]=j;if(+g[e+244>>2]>j)g[e+244>>2]=j;if(i>j)i=j}p=i;k=b;return +p}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0;I=k;k=k+32|0;j=+g[b+16>>2];f=+g[b>>2];l=+g[b+20>>2];h=+g[b+4>>2];n=+g[b+24>>2];i=+g[b+8>>2];r=+g[b+32>>2];v=+g[b+36>>2];w=+g[b+40>>2];C=(l-h)*(w-i)-(n-i)*(v-h);D=(n-i)*(r-f)-(j-f)*(w-i);E=(j-f)*(v-h)-(l-h)*(r-f);g[I+16>>2]=C;g[I+16+4>>2]=D;g[I+16+8>>2]=E;g[I+16+12>>2]=0.0;o=+g[a+4>>2];s=+g[a+8>>2];x=+g[a+12>>2];F=C*o+D*s+E*x-(i*E+(f*C+h*D));p=+g[a+20>>2];t=+g[a+24>>2];y=+g[a+28>>2];if(F*(C*p+D*t+E*y-(i*E+(f*C+h*D)))>=0.0){k=I;return}G=c[a+36>>2]|0;if(F<=0.0&(G&1|0)!=0){k=I;return}H=F/(F-(C*p+D*t+E*y-(i*E+(f*C+h*D))));if(!(H<+g[a+40>>2])){k=I;return}B=(E*E+(C*C+D*D))*-9.999999747378752e-05;z=f-(p*H+o*(1.0-H));u=h-(t*H+s*(1.0-H));q=i-(y*H+x*(1.0-H));m=j-(p*H+o*(1.0-H));l=l-(t*H+s*(1.0-H));j=n-(y*H+x*(1.0-H));if(!(E*(l*z-u*m)+(C*(u*j-q*l)+D*(q*m-j*z))>=B)){k=I;return}i=r-(p*H+o*(1.0-H));h=v-(t*H+s*(1.0-H));f=w-(y*H+x*(1.0-H));if(!(E*(h*m-l*i)+(C*(l*f-j*h)+D*(j*i-f*m))>=B)){k=I;return}if(!(E*(u*i-h*z)+(C*(h*q-f*u)+D*(f*z-q*i))>=B)){k=I;return}f=1.0/+A(+(E*E+(C*C+D*D)));g[I+16>>2]=C*f;g[I+16+4>>2]=D*f;g[I+16+8>>2]=E*f;b=c[(c[a>>2]|0)+12>>2]|0;if(F<=0.0&(G&2|0)==0){g[I>>2]=-(C*f);g[I+4>>2]=-(D*f);g[I+8>>2]=-(E*f);g[I+12>>2]=0.0;g[a+40>>2]=+lb[b&3](a,I,H,d,e);k=I;return}else{g[a+40>>2]=+lb[b&3](a,I+16|0,H,d,e);k=I;return}}function mg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;C=k;k=k+96|0;n=+g[e+4>>2];o=+g[e+20>>2];p=+g[e+36>>2];q=+g[e+8>>2];r=+g[e+24>>2];s=+g[e+40>>2];t=+g[e+12>>2];u=+g[e+28>>2];v=+g[e+44>>2];w=-+g[e+52>>2];x=-+g[e+56>>2];y=-+g[e+60>>2];l=c[b+720>>2]|0;z=+g[l+(d*104|0)+8>>2];A=+g[l+(d*104|0)+12>>2];B=+g[l+(d*104|0)+16>>2];a:do if(f){f=c[b+268>>2]|0;b:do if((f|0)>0){j=c[b+276>>2]|0;i=0;while(1){if((c[j+(i<<2)>>2]|0)==(e|0))break;i=i+1|0;if((i|0)>=(f|0))break b}if((i|0)!=(f|0)){f=l;break a}}while(0);if((f|0)==(c[b+272>>2]|0)?(m=(f|0)==0?1:f<<1,(f|0)<(m|0)):0){if(!m)j=0;else{c[7584]=(c[7584]|0)+1;f=lc((m<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[b+268>>2]|0}if((f|0)>0){i=0;do{c[j+(i<<2)>>2]=c[(c[b+276>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+276>>2]|0;if(i){if(a[b+280>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=j;c[b+272>>2]=m}c[(c[b+276>>2]|0)+(f<<2)>>2]=e;c[b+268>>2]=f+1;f=c[b+720>>2]|0}else f=l;while(0);c[C>>2]=f+(d*104|0);c[C+20>>2]=e;g[C+4>>2]=n*w+o*x+p*y+(n*z+o*A+p*B);g[C+8>>2]=q*w+r*x+s*y+(q*z+r*A+s*B);g[C+12>>2]=t*w+u*x+v*y+(t*z+u*A+v*B);g[C+16>>2]=0.0;e=f+(d*104|0)+100|0;a[e>>0]=a[e>>0]|1;g[C+24>>2]=h;ko(b+788|0,C);k=C;return}function ng(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;q=k;k=k+48|0;if((f|0)==(d|0)|((d|0)==(e|0)|(e|0)==(f|0))){k=q;return}l=q;m=l+36|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));if(!h)o=c[c[b+880>>2]>>2]|0;else o=h;h=c[b+752>>2]|0;if((h|0)==(c[b+756>>2]|0)?(p=(h|0)==0?1:h<<1,(h|0)<(p|0)):0){if(!p)n=0;else{c[7584]=(c[7584]|0)+1;h=lc((p*44|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}n=h;h=c[b+752>>2]|0}if((h|0)>0){i=0;do{l=n+(i*44|0)|0;j=(c[b+760>>2]|0)+(i*44|0)|0;m=l+44|0;do{c[l>>2]=c[j>>2];l=l+4|0;j=j+4|0}while((l|0)<(m|0));i=i+1|0}while((i|0)!=(h|0))}h=c[b+760>>2]|0;if(h|0){if(a[b+764>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=n;c[b+756>>2]=p;h=c[b+752>>2]|0}l=c[b+760>>2]|0;c[l+(h*44|0)>>2]=0;c[l+(h*44|0)+4>>2]=o;l=l+(h*44|0)+8|0;j=q;m=l+36|0;do{c[l>>2]=c[j>>2];l=l+4|0;j=j+4|0}while((l|0)<(m|0));p=c[b+752>>2]|0;c[b+752>>2]=p+1;o=c[b+760>>2]|0;l=c[b+720>>2]|0;c[o+(p*44|0)+8>>2]=l+(d*104|0);m=c[b+720>>2]|0;c[o+(p*44|0)+12>>2]=m+(e*104|0);n=c[b+720>>2]|0;c[o+(p*44|0)+16>>2]=n+(f*104|0);t=+g[l+(d*104|0)+8>>2];v=+g[l+(d*104|0)+12>>2];r=+g[l+(d*104|0)+16>>2];s=+g[m+(e*104|0)+8>>2]-t;w=+g[m+(e*104|0)+12>>2]-v;u=+g[m+(e*104|0)+16>>2]-r;t=+g[n+(f*104|0)+8>>2]-t;v=+g[n+(f*104|0)+12>>2]-v;r=+g[n+(f*104|0)+16>>2]-r;g[o+(p*44|0)+36>>2]=+A(+((s*v-w*t)*(s*v-w*t)+((w*r-u*v)*(w*r-u*v)+(u*t-s*r)*(u*t-s*r))));a[b+924>>0]=1;k=q;return}function og(a,b,d,e,f,h,i,j,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;l=l|0;m=m|0;n=+n;var o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0;r=k;k=k+208|0;lq(r+192|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],+g[e>>2],+g[e+4>>2],+g[e+8>>2]);q=(~~((j-i)/(n*.01745329238474369))|0)==0?1:~~((j-i)/(n*.01745329238474369));lA(r+128|0,f,+g[e>>2],+g[e+4>>2],+g[e+8>>2]);n=+sK(i);Kr(r+144|0,+g[r+128>>2],+g[r+128+4>>2],+g[r+128+8>>2],n);ar(r+160|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[r+144>>2],+g[r+144+4>>2],+g[r+144+8>>2]);n=+g[r+192>>2];o=+g[r+192+4>>2];p=+g[r+192+8>>2];lA(r+96|0,h,n,o,p);s=+rK(i);Kr(r+112|0,+g[r+96>>2],+g[r+96+4>>2],+g[r+96+8>>2],s);ar(r+176|0,+g[r+160>>2],+g[r+160+4>>2],+g[r+160+8>>2],+g[r+112>>2],+g[r+112+4>>2],+g[r+112+8>>2]);if(m)Qb[c[(c[a>>2]|0)+8>>2]&127](a,b,r+176|0,l);d=1;while(1){if((d|0)>(q|0))break;s=(j-i)*+(d|0)/+(q|0)+i;lA(r+32|0,f,+g[e>>2],+g[e+4>>2],+g[e+8>>2]);t=+sK(s);Kr(r+48|0,+g[r+32>>2],+g[r+32+4>>2],+g[r+32+8>>2],t);ar(r+64|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[r+48>>2],+g[r+48+4>>2],+g[r+48+8>>2]);lA(r,h,n,o,p);s=+rK(s);Kr(r+16|0,+g[r>>2],+g[r+4>>2],+g[r+8>>2],s);ar(r+80|0,+g[r+64>>2],+g[r+64+4>>2],+g[r+64+8>>2],+g[r+16>>2],+g[r+16+4>>2],+g[r+16+8>>2]);Qb[c[(c[a>>2]|0)+8>>2]&127](a,r+176|0,r+80|0,l);c[r+176>>2]=c[r+80>>2];c[r+176+4>>2]=c[r+80+4>>2];c[r+176+8>>2]=c[r+80+8>>2];c[r+176+12>>2]=c[r+80+12>>2];d=d+1|0}if(!m){k=r;return}Qb[c[(c[a>>2]|0)+8>>2]&127](a,b,r+176|0,l);k=r;return}function pg(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0;e=+g[b+1192+(d<<2)>>2];i=+g[b+868+(d<<6)>>2];j=+g[b+868+(d<<6)+4>>2];do if(!(i>=j)){if(e<i){if(!((i-e)%6.2831854820251465<-3.1415927410125732))if((i-e)%6.2831854820251465>3.1415927410125732)f=(i-e)%6.2831854820251465+-6.2831854820251465;else f=(i-e)%6.2831854820251465;else f=(i-e)%6.2831854820251465+6.2831854820251465;h=+z(+f);if(!((j-e)%6.2831854820251465<-3.1415927410125732))if((j-e)%6.2831854820251465>3.1415927410125732)f=(j-e)%6.2831854820251465+-6.2831854820251465;else f=(j-e)%6.2831854820251465;else f=(j-e)%6.2831854820251465+6.2831854820251465;m=h<+z(+f);e=m?e:e+6.2831854820251465;break}if(e>j){if(!((e-j)%6.2831854820251465<-3.1415927410125732))if((e-j)%6.2831854820251465>3.1415927410125732)f=(e-j)%6.2831854820251465+-6.2831854820251465;else f=(e-j)%6.2831854820251465;else f=(e-j)%6.2831854820251465+6.2831854820251465;h=+z(+f);if(!((e-i)%6.2831854820251465<-3.1415927410125732))if((e-i)%6.2831854820251465>3.1415927410125732)f=(e-i)%6.2831854820251465+-6.2831854820251465;else f=(e-i)%6.2831854820251465;else f=(e-i)%6.2831854820251465+6.2831854820251465;m=+z(+f)<h;e=m?e+-6.2831854820251465:e}}while(0);g[b+868+(d<<6)+52>>2]=e;do if(!(i>j)){if(i>e){c[b+868+(d<<6)+56>>2]=1;e=e-i;g[b+868+(d<<6)+48>>2]=e;if(e>3.1415927410125732){g[b+868+(d<<6)+48>>2]=e+-6.2831854820251465;break}if(!(e<-3.1415927410125732))break;g[b+868+(d<<6)+48>>2]=e+6.2831854820251465;break}if(j<e){c[b+868+(d<<6)+56>>2]=2;e=e-j;g[b+868+(d<<6)+48>>2]=e;if(e>3.1415927410125732){g[b+868+(d<<6)+48>>2]=e+-6.2831854820251465;break}if(e<-3.1415927410125732)g[b+868+(d<<6)+48>>2]=e+6.2831854820251465}else{k=b+868+(d<<6)+56|0;l=34}}else{k=b+868+(d<<6)+56|0;l=34}while(0);if((l|0)==34?(c[k>>2]=0,(a[b+868+(d<<6)+44>>0]|0)==0):0){m=0;return m|0}m=1;return m|0}function qg(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;m=k;k=k+16|0;Wj(17614);e=c[b+232>>2]|0;if((e|0)>0){l=(a[30920]|0)==0;j=0;do{i=c[(c[b+240>>2]|0)+(j<<2)>>2]|0;a:do if(i){f=c[i+216>>2]|0;b:do switch(f|0){case 4:case 2:{if((f|0)==4)break a;break}default:{q=+g[i+312>>2];p=+g[i+316>>2];o=+g[i+320>>2];n=+g[i+472>>2];if(q*q+p*p+o*o<n*n?(n=+g[i+328>>2],o=+g[i+332>>2],p=+g[i+336>>2],q=+g[i+476>>2],n*n+o*o+p*p<q*q):0){g[i+220>>2]=+g[i+220>>2]+d;break b}g[i+220>>2]=0.0;if((f&-2|0)!=4){c[i+216>>2]=0;f=0}}}while(0);h=f&-2;do if(l){if((h|0)!=2?!(+g[i+220>>2]>2.0):0)break;if(c[i+204>>2]&3|0){if((h|0)==4)break a;c[i+216>>2]=2;break a}if((f|0)==1){c[i+216>>2]=3;break a}if((f|0)!=2)break a;e=(c[i+260>>2]|0)+2|0;c[i+328>>2]=0;c[i+328+4>>2]=0;c[i+328+8>>2]=0;c[i+328+12>>2]=0;c[i+260>>2]=e;c[i+312>>2]=0;c[i+312+4>>2]=0;c[i+312+8>>2]=0;c[i+312+12>>2]=0;e=c[b+232>>2]|0;break a}while(0);if((h|0)!=4)c[i+216>>2]=1}while(0);j=j+1|0}while((j|0)<(e|0))}e=c[3369]|0;l=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=l;if(l|0){k=m;return}do if(c[e+4>>2]|0){bb(m|0,0)|0;l=c[7583]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[m+4>>2]|0)-(c[l+4>>2]|0)+(((c[m>>2]|0)-(c[l>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[3369]|0;break}else{k=m;return}}while(0);c[3369]=c[e+20>>2];k=m;return}function rg(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0;v=k;k=k+16|0;q=+g[a+452>>2];o=c[a+192>>2]|0;n=+jb[c[(c[o>>2]|0)+48>>2]&15](o);o=c[a+812>>2]|0;if((o|0)<=0){k=v;return}m=0;do{p=c[a+820>>2]|0;l=c[p+(m*104|0)>>2]|0;l=(c[l+236>>2]&2|0)==0?0:l;if(l|0){u=+g[l+332>>2];e=+g[p+(m*104|0)+84>>2];j=+g[l+336>>2];s=+g[p+(m*104|0)+80>>2];f=+g[p+(m*104|0)+76>>2];t=+g[l+328>>2];d=q*(u*e-j*s+ +g[l+312>>2]);e=q*(+g[l+316>>2]+(j*f-e*t));f=q*(s*t-u*f+ +g[l+320>>2])}else{d=0.0;e=0.0;f=0.0}r=c[p+(m*104|0)+24>>2]|0;s=+g[r+8>>2];t=+g[r+12>>2];u=+g[r+16>>2];j=s-+g[r+24>>2]-d;i=t-+g[r+28>>2]-e;d=u-+g[r+32>>2]-f;e=+g[p+(m*104|0)+4>>2];f=+g[p+(m*104|0)+8>>2];h=+g[p+(m*104|0)+12>>2];if(j*e+i*f+d*h<=1.1920928955078125e-07?(y=s*e+t*f+u*h+ +g[p+(m*104|0)+20>>2],z=+g[p+(m*104|0)+96>>2],y=(y<n?y:n)*+g[p+(m*104|0)+100>>2],x=(j-(j-e*(j*e+i*f+d*h))*z+e*y)*b,w=(i-(i-f*(j*e+i*f+d*h))*z+f*y)*b,i=(d-(d-h*(j*e+i*f+d*h))*z+h*y)*b,f=+g[p+(m*104|0)+36>>2]*i+(+g[p+(m*104|0)+28>>2]*x+ +g[p+(m*104|0)+32>>2]*w),h=x*+g[p+(m*104|0)+44>>2]+w*+g[p+(m*104|0)+48>>2]+i*+g[p+(m*104|0)+52>>2],i=x*+g[p+(m*104|0)+60>>2]+w*+g[p+(m*104|0)+64>>2]+i*+g[p+(m*104|0)+68>>2],g[v>>2]=f,g[v+4>>2]=h,g[v+8>>2]=i,g[v+12>>2]=0.0,j=+g[p+(m*104|0)+92>>2],g[r+8>>2]=s-f*j,g[r+12>>2]=t-h*j,g[r+16>>2]=u-i*j,l|0):0)Rl(l,v,p+(m*104|0)+76|0);m=m+1|0}while((m|0)!=(o|0));k=v;return}function sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,l=0.0;f=k;k=k+224|0;cr(f+192|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]);Kr(f+208|0,+g[f+192>>2],+g[f+192+4>>2],+g[f+192+8>>2],.5);ar(f+160|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]);Kr(f+176|0,+g[f+160>>2],+g[f+160+4>>2],+g[f+160+8>>2],.5);g[f+136>>2]=1.0;g[f+132>>2]=1.0;g[f+128>>2]=1.0;Yt(f+144|0,f+136|0,f+132|0,f+128|0);d=0;while(1){if((d|0)==4)break;b=0;while(1){if((b|0)==3)break;i=DK(f+144|0)|0;l=+g[i>>2];h=DK(f+208|0)|0;g[f+72>>2]=l*+g[h>>2];g[f+68>>2]=+g[i+4>>2]*+g[h+4>>2];g[f+64>>2]=+g[i+8>>2]*+g[h+8>>2];Yt(f+80|0,f+72|0,f+68|0,f+64|0);c[f+112>>2]=c[f+80>>2];c[f+112+4>>2]=c[f+80+4>>2];c[f+112+8>>2]=c[f+80+8>>2];c[f+112+12>>2]=c[f+80+12>>2];tt(f+112|0,f+176|0)|0;j=i+(((b>>>0)%3|0)<<2)|0;g[j>>2]=-+g[j>>2];g[f+40>>2]=+g[i>>2]*+g[h>>2];g[f+36>>2]=+g[i+4>>2]*+g[h+4>>2];g[f+32>>2]=+g[i+8>>2]*+g[h+8>>2];Yt(f+48|0,f+40|0,f+36|0,f+32|0);c[f+96>>2]=c[f+48>>2];c[f+96+4>>2]=c[f+48+4>>2];c[f+96+8>>2]=c[f+48+8>>2];c[f+96+12>>2]=c[f+48+12>>2];tt(f+96|0,f+176|0)|0;Qb[c[(c[a>>2]|0)+8>>2]&127](a,f+112|0,f+96|0,e);b=b+1|0}g[f+8>>2]=-1.0;g[f+4>>2]=-1.0;g[f>>2]=-1.0;Yt(f+16|0,f+8|0,f+4|0,f);c[f+144>>2]=c[f+16>>2];c[f+144+4>>2]=c[f+16+4>>2];c[f+144+8>>2]=c[f+16+8>>2];c[f+144+12>>2]=c[f+16+12>>2];if(d>>>0<3){j=(DK(f+144|0)|0)+(d<<2)|0;g[j>>2]=-+g[j>>2]}d=d+1|0}k=f;return}function tg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0;c[b+4>>2]=1065353216;c[b+8>>2]=1065353216;c[b+12>>2]=1065353216;g[b+16>>2]=0.0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+48>>2]=0;c[b>>2]=11788;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+164>>0]=d&1;a[b+165>>0]=e&1;g[b+168>>2]=0.0;c[7584]=(c[7584]|0)+1;d=lc(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}e=c[b+24>>2]|0;if((e|0)>0){d=0;do{h=f+(d<<5)|0;i=(c[b+32>>2]|0)+(d<<5)|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[h+16>>2]=c[i+16>>2];c[h+20>>2]=c[i+20>>2];c[h+24>>2]=c[i+24>>2];c[h+28>>2]=c[i+28>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=f;c[b+28>>2]=1;i=c[b+24>>2]|0;c[f+(i<<5)>>2]=0;c[f+(i<<5)+4>>2]=0;c[f+(i<<5)+8>>2]=12;c[f+(i<<5)+12>>2]=0;c[f+(i<<5)+16>>2]=0;c[f+(i<<5)+20>>2]=16;c[f+(i<<5)+24>>2]=2;c[f+(i<<5)+28>>2]=0;c[b+24>>2]=(c[b+24>>2]|0)+1;i=(a[b+164>>0]|0)==0;d=c[b+32>>2]|0;c[d>>2]=(c[(i?b+148|0:b+128|0)>>2]|0)/3|0;c[d+4>>2]=0;c[d+24>>2]=i?3:2;c[d+8>>2]=i?6:12;if(!(a[b+165>>0]|0)){h=12;b=(c[b+108>>2]|0)/3|0;i=d+12|0;c[i>>2]=b;i=d+16|0;c[i>>2]=0;i=d+20|0;c[i>>2]=h;return}else{h=16;b=c[b+88>>2]|0;i=d+12|0;c[i>>2]=b;i=d+16|0;c[i>>2]=0;i=d+20|0;c[i>>2]=h;return}}function ug(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=ou()|0;kk(f,4,b);c[f>>2]=7944;c[f+552>>2]=c[d>>2];c[f+552+4>>2]=c[d+4>>2];c[f+552+8>>2]=c[d+8>>2];c[f+552+12>>2]=c[d+12>>2];c[f+568>>2]=c[d+16>>2];c[f+568+4>>2]=c[d+16+4>>2];c[f+568+8>>2]=c[d+16+8>>2];c[f+568+12>>2]=c[d+16+12>>2];c[f+584>>2]=c[d+32>>2];c[f+584+4>>2]=c[d+32+4>>2];c[f+584+8>>2]=c[d+32+8>>2];c[f+584+12>>2]=c[d+32+12>>2];c[f+600>>2]=c[d+48>>2];c[f+600+4>>2]=c[d+48+4>>2];c[f+600+8>>2]=c[d+48+8>>2];c[f+600+12>>2]=c[d+48+12>>2];c[f+616>>2]=c[d>>2];c[f+616+4>>2]=c[d+4>>2];c[f+616+8>>2]=c[d+8>>2];c[f+616+12>>2]=c[d+12>>2];c[f+632>>2]=c[d+16>>2];c[f+632+4>>2]=c[d+16+4>>2];c[f+632+8>>2]=c[d+16+8>>2];c[f+632+12>>2]=c[d+16+12>>2];c[f+648>>2]=c[d+32>>2];c[f+648+4>>2]=c[d+32+4>>2];c[f+648+8>>2]=c[d+32+8>>2];c[f+648+12>>2]=c[d+32+12>>2];c[f+664>>2]=c[d+48>>2];c[f+664+4>>2]=c[d+48+4>>2];c[f+664+8>>2]=c[d+48+8>>2];c[f+664+12>>2]=c[d+48+12>>2];g[f+688>>2]=0.0;g[f+692>>2]=-1.0;g[f+696>>2]=.8999999761581421;g[f+700>>2]=.30000001192092896;g[f+704>>2]=1.0;g[f+708>>2]=0.0;g[f+712>>2]=0.0;a[f+716>>0]=0;a[f+736>>0]=0;a[f+737>>0]=0;a[f+738>>0]=0;a[f+739>>0]=1;a[f+740>>0]=e&1;c[f+748>>2]=0;d=c[f+28>>2]|0;l=+g[f+600>>2];k=+g[f+604>>2];j=+g[f+608>>2];i=l*+g[d+20>>2]+k*+g[d+24>>2]+j*+g[d+28>>2]+ +g[d+56>>2];h=l*+g[d+36>>2]+k*+g[d+40>>2]+j*+g[d+44>>2]+ +g[d+60>>2];g[f+664>>2]=l*+g[d+4>>2]+k*+g[d+8>>2]+j*+g[d+12>>2]+ +g[d+52>>2];g[f+668>>2]=i;g[f+672>>2]=h;g[f+676>>2]=0.0;g[f+732>>2]=e?-1.0:1.0;return f|0}function vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=k;k=k+32|0;if((b|0)<0)b=c[a+12>>2]|0;d=c[a>>2]|0;if(!((b|0)>0&(d|0)!=0)){k=n;return}while(1){e=d+40|0;if(c[e>>2]|0){m=0;while(1){g=d+32|0;h=c[g>>2]|0;if(h>>>0>d>>>0){i=(c[h+40>>2]|0)==(d|0);j=c[h+36+(((i^1)&1)<<2)>>2]|0;l=c[h+32>>2]|0;if(!l)f=a;else f=l+36+(((c[l+40>>2]|0)==(h|0)&1)<<2)|0;c[f>>2]=d;c[j+32>>2]=d;c[h+32>>2]=d;c[g>>2]=l;l=d+36|0;c[h+36>>2]=c[l>>2];c[h+40>>2]=c[e>>2];c[(c[l>>2]|0)+32>>2]=h;c[(c[e>>2]|0)+32>>2]=h;c[d+36+((i&1)<<2)>>2]=h;c[d+36+(((i^1)&1)<<2)>>2]=j;c[n>>2]=c[h>>2];c[n+4>>2]=c[h+4>>2];c[n+8>>2]=c[h+8>>2];c[n+12>>2]=c[h+12>>2];c[n+16>>2]=c[h+16>>2];c[n+20>>2]=c[h+20>>2];c[n+24>>2]=c[h+24>>2];c[n+28>>2]=c[h+28>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[d+16>>2]=c[n+16>>2];c[d+20>>2]=c[n+20>>2];c[d+24>>2]=c[n+24>>2];c[d+28>>2]=c[n+28>>2];d=h}e=c[a+16>>2]|0;d=c[d+36+(((m?e>>>m:e)&1)<<2)>>2]|0;e=d+40|0;if(!(c[e>>2]|0))break;else m=m+1&31}}if(!(xh(a,d)|0))e=0;else e=c[a>>2]|0;tf(a,e,d);c[a+16>>2]=(c[a+16>>2]|0)+1;b=b+-1|0;if(!b)break;d=c[a>>2]|0}k=n;return}function wg(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=ou()|0;kk(e,4,b);c[e>>2]=7944;c[e+552>>2]=c[d>>2];c[e+552+4>>2]=c[d+4>>2];c[e+552+8>>2]=c[d+8>>2];c[e+552+12>>2]=c[d+12>>2];c[e+568>>2]=c[d+16>>2];c[e+568+4>>2]=c[d+16+4>>2];c[e+568+8>>2]=c[d+16+8>>2];c[e+568+12>>2]=c[d+16+12>>2];c[e+584>>2]=c[d+32>>2];c[e+584+4>>2]=c[d+32+4>>2];c[e+584+8>>2]=c[d+32+8>>2];c[e+584+12>>2]=c[d+32+12>>2];c[e+600>>2]=c[d+48>>2];c[e+600+4>>2]=c[d+48+4>>2];c[e+600+8>>2]=c[d+48+8>>2];c[e+600+12>>2]=c[d+48+12>>2];c[e+616>>2]=c[d>>2];c[e+616+4>>2]=c[d+4>>2];c[e+616+8>>2]=c[d+8>>2];c[e+616+12>>2]=c[d+12>>2];c[e+632>>2]=c[d+16>>2];c[e+632+4>>2]=c[d+16+4>>2];c[e+632+8>>2]=c[d+16+8>>2];c[e+632+12>>2]=c[d+16+12>>2];c[e+648>>2]=c[d+32>>2];c[e+648+4>>2]=c[d+32+4>>2];c[e+648+8>>2]=c[d+32+8>>2];c[e+648+12>>2]=c[d+32+12>>2];c[e+664>>2]=c[d+48>>2];c[e+664+4>>2]=c[d+48+4>>2];c[e+664+8>>2]=c[d+48+8>>2];c[e+664+12>>2]=c[d+48+12>>2];g[e+688>>2]=0.0;g[e+692>>2]=-1.0;g[e+696>>2]=.8999999761581421;g[e+700>>2]=.30000001192092896;g[e+704>>2]=1.0;g[e+708>>2]=0.0;g[e+712>>2]=0.0;a[e+716>>0]=0;a[e+736>>0]=0;a[e+737>>0]=0;a[e+738>>0]=0;a[e+739>>0]=1;a[e+740>>0]=0;c[e+748>>2]=0;d=c[e+28>>2]|0;k=+g[e+600>>2];j=+g[e+604>>2];i=+g[e+608>>2];h=k*+g[d+20>>2]+j*+g[d+24>>2]+i*+g[d+28>>2]+ +g[d+56>>2];f=k*+g[d+36>>2]+j*+g[d+40>>2]+i*+g[d+44>>2]+ +g[d+60>>2];g[e+664>>2]=k*+g[d+4>>2]+j*+g[d+8>>2]+i*+g[d+12>>2]+ +g[d+52>>2];g[e+668>>2]=h;g[e+672>>2]=f;g[e+676>>2]=0.0;g[e+732>>2]=1.0;return e|0}function xg(b){b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0,l=0;l=k;k=k+64|0;Wj(17784);a:do if(!(a[b+274>>0]|0)){d=c[b+232>>2]|0;if((d|0)>0){h=0;while(1){f=c[(c[b+240>>2]|0)+(h<<2)>>2]|0;switch(c[f+216>>2]|0){case 2:case 5:break;default:if((c[f+480>>2]|0)!=0?(c[f+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(j=+g[b+268>>2],j!=0.0):0)e=+g[b+264>>2]-j;else e=+g[b+264>>2]*+g[f+244>>2];oh(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,l);d=c[f+480>>2]|0;Jb[c[(c[d>>2]|0)+12>>2]&127](d,l);d=c[b+232>>2]|0}}h=h+1|0;if((h|0)>=(d|0))break a}}}else{d=c[b+8>>2]|0;if((d|0)>0){h=0;do{f=c[(c[b+16>>2]|0)+(h<<2)>>2]|0;if((!((f|0)==0?1:(c[f+236>>2]&2|0)==0)?(c[f+480>>2]|0)!=0:0)?(c[f+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(i=+g[b+268>>2],i!=0.0):0)e=+g[b+264>>2]-i;else e=+g[b+264>>2]*+g[f+244>>2];oh(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,l);d=c[f+480>>2]|0;Jb[c[(c[d>>2]|0)+12>>2]&127](d,l);d=c[b+8>>2]|0}h=h+1|0}while((h|0)<(d|0))}}while(0);d=c[3369]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){k=l;return}do if(c[d+4>>2]|0){bb(l|0,0)|0;b=c[7583]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[l+4>>2]|0)-(c[b+4>>2]|0)+(((c[l>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3369]|0;break}else{k=l;return}}while(0);c[3369]=c[d+20>>2];k=l;return}function yg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;i=k;k=k+32|0;d=(a[b+8>>0]|0)==0?e:d;if(((c[(c[d+4>>2]|0)+4>>2]|0)+-21|0)>>>0>=9){k=i;return}e=c[(c[d+8>>2]|0)+192>>2]|0;w=+jb[c[(c[e>>2]|0)+48>>2]&15](e);c[b+64>>2]=f;g[b+68>>2]=w+.05999999865889549;c[b+56>>2]=h;h=c[b+16>>2]|0;Nb[c[(c[h>>2]|0)+28>>2]&127](h,i+16|0,i);w=+g[i>>2];v=+g[i+16>>2];r=+g[i+4>>2];q=+g[i+16+4>>2];y=+g[i+8>>2];x=+g[i+16+8>>2];h=c[d+12>>2]|0;D=+g[h>>2];C=+g[h+16>>2];o=+g[h+32>>2];B=+g[h+4>>2];A=+g[h+20>>2];m=+g[h+36>>2];u=+g[h+8>>2];t=+g[h+24>>2];s=+g[h+40>>2];E=-+g[h+48>>2];j=-+g[h+52>>2];l=-+g[h+56>>2];p=(w+v)*.5*D+(r+q)*.5*C+(y+x)*.5*o+(D*E+C*j+o*l);n=(w+v)*.5*B+(r+q)*.5*A+(y+x)*.5*m+(B*E+A*j+m*l);l=(w+v)*.5*u+(r+q)*.5*t+(y+x)*.5*s+(u*E+t*j+s*l);j=+g[b+68>>2];o=+z(+(o+(D*0.0+C*0.0)))*((y-x)*.5+j)+(+z(+(D+C*0.0+o*0.0))*((w-v)*.5+j)+ +z(+(D*0.0+C+o*0.0))*((r-q)*.5+j));m=+z(+(m+(B*0.0+A*0.0)))*((y-x)*.5+j)+(+z(+(B+A*0.0+m*0.0))*((w-v)*.5+j)+ +z(+(B*0.0+A+m*0.0))*((r-q)*.5+j));j=+z(+(s+(u*0.0+t*0.0)))*((y-x)*.5+j)+(+z(+(u+t*0.0+s*0.0))*((w-v)*.5+j)+ +z(+(u*0.0+t+s*0.0))*((r-q)*.5+j));g[b+24>>2]=p-o;g[b+28>>2]=n-m;g[b+32>>2]=l-j;g[b+36>>2]=0.0;g[b+40>>2]=p+o;g[b+44>>2]=n+m;g[b+48>>2]=l+j;g[b+52>>2]=0.0;Qb[c[(c[e>>2]|0)+64>>2]&127](e,b+12|0,b+24|0,b+40|0);k=i;return}function zg(b,d,e,f,g,h,i,j,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;l=l|0;var m=0,n=0;n=k;k=k+16|0;if(!((c[b+924>>2]|0)==0?(a[b+912>>0]|0)==0:0)){c[n>>2]=c[b+1208>>2];c[n+4>>2]=c[b+1208+4>>2];c[n+8>>2]=c[b+1208+8>>2];c[n+12>>2]=c[b+1208+12>>2];m=c[b+1304>>2]|0;if(!(m&512))c[b+896>>2]=c[c[d+32>>2]>>2];if(!(m&1024))c[b+904>>2]=c[c[d+32>>2]>>2];if(!(m&2048))c[b+900>>2]=c[d+4>>2];e=(Dd(b,b+868|0,f,g,h,i,j,l,d,e,n,1,0)|0)+e|0}if(!((c[b+988>>2]|0)==0?(a[b+976>>0]|0)==0:0)){c[n>>2]=c[b+1224>>2];c[n+4>>2]=c[b+1224+4>>2];c[n+8>>2]=c[b+1224+8>>2];c[n+12>>2]=c[b+1224+12>>2];m=c[b+1304>>2]|0;if(!(m&4096))c[b+960>>2]=c[c[d+32>>2]>>2];if(!(m&8192))c[b+968>>2]=c[c[d+32>>2]>>2];if(!(m&16384))c[b+964>>2]=c[d+4>>2];e=(Dd(b,b+932|0,f,g,h,i,j,l,d,e,n,1,0)|0)+e|0}if((c[b+1052>>2]|0)==0?(a[b+1040>>0]|0)==0:0){l=e;k=n;return l|0}c[n>>2]=c[b+1240>>2];c[n+4>>2]=c[b+1240+4>>2];c[n+8>>2]=c[b+1240+8>>2];c[n+12>>2]=c[b+1240+12>>2];m=c[b+1304>>2]|0;if(!(m&32768))c[b+1024>>2]=c[c[d+32>>2]>>2];if(!(m&65536))c[b+1032>>2]=c[c[d+32>>2]>>2];if(!(m&131072))c[b+1028>>2]=c[d+4>>2];l=(Dd(b,b+996|0,f,g,h,i,j,l,d,e,n,1,0)|0)+e|0;k=n;return l|0}function Ag(b){b=b|0;var d=0;c[b>>2]=7996;d=c[b+176>>2]|0;if(d|0){if(a[b+180>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Bg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,l=0,m=0,n=0;l=k;k=k+16|0;c[b+8>>2]=0;c[b+12>>2]=1065353216;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;g[b+24>>2]=0.0;g[b+44>>2]=.03999999910593033;c[b+52>>2]=0;c[b+56>>2]=1065353216;c[b+60>>2]=1065353216;c[b+64>>2]=1065353216;g[b+68>>2]=0.0;c[b+72>>2]=-1082130432;c[b+76>>2]=-1082130432;c[b+80>>2]=-1082130432;g[b+84>>2]=0.0;a[b+88>>0]=0;c[b>>2]=10592;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b+4>>2]=4;if((e|0)<=0){c[b+96>>2]=e;_j(b);k=l;return}c[7584]=(c[7584]|0)+1;h=lc((e<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+96>>2]|0;if((i|0)>0){h=0;do{m=j+(h<<4)|0;n=(c[b+104>>2]|0)+(h<<4)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+104>>2]|0;if(h|0){if(a[b+108>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=j;c[b+100>>2]=e;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];if((e|0)!=1){h=1;do{n=(c[b+104>>2]|0)+(h<<4)|0;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[n+12>>2]=c[l+12>>2];h=h+1|0}while((h|0)!=(e|0))}c[b+96>>2]=e;h=0;while(1){j=c[d+4>>2]|0;m=c[d+8>>2]|0;n=c[b+104>>2]|0;c[n+(h<<4)>>2]=c[d>>2];c[n+(h<<4)+4>>2]=j;c[n+(h<<4)+8>>2]=m;g[n+(h<<4)+12>>2]=0.0;h=h+1|0;if((h|0)==(e|0))break;else d=d+f|0}_j(b);k=l;return}function Cg(a,b,e){a=a|0;b=b|0;e=e|0;uf(a,b,e)|0;c[b+256>>2]=c[a+264>>2];c[b+260>>2]=c[a+268>>2];c[b+264>>2]=c[a+272>>2];c[b+268>>2]=c[a+276>>2];c[b+272>>2]=c[a+280>>2];c[b+276>>2]=c[a+284>>2];c[b+280>>2]=c[a+288>>2];c[b+284>>2]=c[a+292>>2];c[b+288>>2]=c[a+296>>2];c[b+292>>2]=c[a+300>>2];c[b+296>>2]=c[a+304>>2];c[b+300>>2]=c[a+308>>2];c[b+304>>2]=c[a+312>>2];c[b+308>>2]=c[a+316>>2];c[b+312>>2]=c[a+320>>2];c[b+316>>2]=c[a+324>>2];c[b+320>>2]=c[a+328>>2];c[b+324>>2]=c[a+332>>2];c[b+328>>2]=c[a+336>>2];c[b+332>>2]=c[a+340>>2];c[b+448>>2]=c[a+344>>2];c[b+336>>2]=c[a+544>>2];c[b+340>>2]=c[a+548>>2];c[b+344>>2]=c[a+552>>2];c[b+348>>2]=c[a+556>>2];c[b+352>>2]=c[a+348>>2];c[b+356>>2]=c[a+352>>2];c[b+360>>2]=c[a+356>>2];c[b+364>>2]=c[a+360>>2];c[b+368>>2]=c[a+364>>2];c[b+372>>2]=c[a+368>>2];c[b+376>>2]=c[a+372>>2];c[b+380>>2]=c[a+376>>2];c[b+384>>2]=c[a+380>>2];c[b+388>>2]=c[a+384>>2];c[b+392>>2]=c[a+388>>2];c[b+396>>2]=c[a+392>>2];c[b+400>>2]=c[a+396>>2];c[b+404>>2]=c[a+400>>2];c[b+408>>2]=c[a+404>>2];c[b+412>>2]=c[a+408>>2];c[b+416>>2]=c[a+412>>2];c[b+420>>2]=c[a+416>>2];c[b+424>>2]=c[a+420>>2];c[b+428>>2]=c[a+424>>2];c[b+432>>2]=c[a+428>>2];c[b+436>>2]=c[a+432>>2];c[b+440>>2]=c[a+436>>2];c[b+444>>2]=c[a+440>>2];c[b+452>>2]=c[a+444>>2];c[b+456>>2]=c[a+448>>2];c[b+484>>2]=d[a+452>>0];c[b+460>>2]=c[a+456>>2];c[b+464>>2]=c[a+460>>2];c[b+468>>2]=c[a+464>>2];c[b+472>>2]=c[a+468>>2];c[b+476>>2]=c[a+472>>2];c[b+480>>2]=c[a+476>>2];return 17410}function Dg(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;var i=0;i=k;k=k+144|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=7296;a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;g[i>>2]=d;c[i+4>>2]=e;c[i+72>>2]=f;c[i+76>>2]=c[h>>2];c[i+76+4>>2]=c[h+4>>2];c[i+76+8>>2]=c[h+8>>2];c[i+76+12>>2]=c[h+12>>2];g[i+92>>2]=0.0;g[i+96>>2]=0.0;g[i+100>>2]=.5;g[i+104>>2]=0.0;g[i+108>>2]=0.0;g[i+112>>2]=.800000011920929;g[i+116>>2]=1.0;a[i+120>>0]=0;g[i+124>>2]=.004999999888241291;g[i+128>>2]=.009999999776482582;g[i+132>>2]=.009999999776482582;g[i+136>>2]=.009999999776482582;c[i+8>>2]=1065353216;c[i+12>>2]=0;c[i+12+4>>2]=0;c[i+12+8>>2]=0;c[i+12+12>>2]=0;c[i+28>>2]=1065353216;c[i+32>>2]=0;c[i+32+4>>2]=0;c[i+32+8>>2]=0;c[i+32+12>>2]=0;c[i+48>>2]=1065353216;c[i+52>>2]=0;c[i+52+4>>2]=0;c[i+52+8>>2]=0;c[i+52+12>>2]=0;c[i+52+16>>2]=0;Kd(b,i);k=i;return}function Eg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;_d(b,d);c[b>>2]=6256;c[7584]=(c[7584]|0)+1;e=lc(27)|0;i=e+4+15&-16;c[i+-4>>2]=e;a[i+4>>0]=0;c[(e+4+15&-16)>>2]=6288;c[b+92>>2]=i;c[7584]=(c[7584]|0)+1;i=lc(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=6308;c[b+96>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=6308;c[b+100>>2]=e;a[e+4>>0]=1;c[7584]=(c[7584]|0)+1;i=lc(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=6328;c[b+104>>2]=e;c[7584]=(c[7584]|0)+1;e=lc(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=6348;c[b+108>>2]=e;a[e+4>>0]=1;if(!(a[b+20>>0]|0))return;e=c[b+16>>2]|0;if(!e)return;if((c[e>>2]|0)>=156)return;f=c[e+16>>2]|0;if(f){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);e=c[b+16>>2]|0;if(!e)i=b+16|0;else{f=b+16|0;g=11}}else{f=b+16|0;g=11}if((g|0)==11){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);i=f}c[7584]=(c[7584]|0)+1;e=lc(39)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[d+12>>2]|0;c[h>>2]=156;f=h+4|0;c[f>>2]=e;c[7584]=(c[7584]|0)+1;e=lc((e*156|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[h+16>>2]=e;c[h+12>>2]=e;b=c[f>>2]|0;c[h+8>>2]=b;if(b+-1|0){g=c[h>>2]|0;f=e;d=b+-1|0;do{j=f;f=f+g|0;c[j>>2]=f;d=d+-1|0}while((d|0)!=0);e=e+(M(g,b+-1|0)|0)|0}c[e>>2]=0;c[i>>2]=h;return}function Fg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=c[d>>2]|0;l=vb[c[(c[l>>2]|0)+56>>2]&31](l,48)|0;c[l+4>>2]=c[d>>2];c[l>>2]=9464;a[l+28>>0]=1;c[l+24>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+32>>2]=c[d+4>>2];a[l+36>>0]=0;c[7584]=(c[7584]|0)+1;b=lc(87)|0;if(!b)h=0;else{c[(b+4+15&-16)+-4>>2]=b;h=b+4+15&-16}c[h>>2]=13372;i=h+20|0;a[i>>0]=1;j=h+16|0;c[j>>2]=0;d=h+8|0;c[d>>2]=0;k=h+12|0;c[k>>2]=0;a[h+24>>0]=0;a[h+44>>0]=1;c[h+40>>2]=0;c[h+32>>2]=0;c[h+36>>2]=0;a[h+64>>0]=1;c[h+60>>2]=0;c[h+52>>2]=0;c[h+56>>2]=0;c[7584]=(c[7584]|0)+1;b=lc(43)|0;if(!b)g=0;else{c[(b+4+15&-16)+-4>>2]=b;g=b+4+15&-16}d=c[d>>2]|0;if((d|0)>0){b=0;do{m=g+(b*12|0)|0;n=(c[j>>2]|0)+(b*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];b=b+1|0}while((b|0)!=(d|0))}b=c[j>>2]|0;if(!b){a[i>>0]=1;c[j>>2]=g;c[k>>2]=2;Uf(h);n=l+8|0;c[n>>2]=h;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}if(a[i>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0)}c[j>>2]=0;a[i>>0]=1;c[j>>2]=g;c[k>>2]=2;Uf(h);n=l+8|0;c[n>>2]=h;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[7570]=(c[7570]|0)+1;g=(d<<16|b)+~((d<<16|b)<<15)|0;g=((10?g>>10:g)^g)*9|0;g=(6?g>>6:g)^g;l=c[a+40>>2]|0;g=l+(((c[a+12>>2]|0)+-1&((16?g+~(g<<11)>>16:g+~(g<<11)|0)^g+~(g<<11)))<<2)|0;f=c[g>>2]|0;if((f|0)==-1){n=0;return n|0}m=c[a+16>>2]|0;e=f;while(1){k=m+(e*12|0)|0;if((c[k>>2]|0)==(b|0)?(c[m+(e*12|0)+4>>2]|0)==(d|0):0)break;e=c[(c[a+60>>2]|0)+(e<<2)>>2]|0;if((e|0)==-1){e=0;n=23;break}}if((n|0)==23)return e|0;if(!k){n=0;return n|0}j=c[m+(e*12|0)+8>>2]|0;i=(e*12|0)/12|0;h=c[a+60>>2]|0;if((f|0)!=(i|0)){b=f;while(1){d=h+(b<<2)|0;e=c[d>>2]|0;if((e|0)==(i|0))break;else b=e}e=c[h+(i<<2)>>2]|0;if((b|0)==-1)n=12;else c[d>>2]=e}else{e=c[h+(f<<2)>>2]|0;n=12}if((n|0)==12)c[g>>2]=e;f=(c[a+8>>2]|0)+-1|0;if((f|0)==(i|0)){c[a+8>>2]=i;n=j;return n|0}g=c[m+(f*12|0)+4>>2]<<16|c[m+(f*12|0)>>2];g=((10?g+~(g<<15)>>10:g+~(g<<15)|0)^g+~(g<<15))*9|0;g=(6?g>>6:g)^g;g=((16?g+~(g<<11)>>16:g+~(g<<11)|0)^g+~(g<<11))&(c[a+12>>2]|0)+-1;e=c[l+(g<<2)>>2]|0;if((e|0)!=(f|0)){b=e;while(1){d=h+(b<<2)|0;e=c[d>>2]|0;if((e|0)==(f|0))break;else b=e}e=c[h+(f<<2)>>2]|0;if((b|0)==-1)n=21;else c[d>>2]=e}else{e=c[h+(f<<2)>>2]|0;n=21}if((n|0)==21)c[l+(g<<2)>>2]=e;c[k>>2]=c[m+(f*12|0)>>2];c[k+4>>2]=c[m+(f*12|0)+4>>2];c[k+8>>2]=c[m+(f*12|0)+8>>2];n=(c[a+40>>2]|0)+(g<<2)|0;c[(c[a+60>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;c[a+8>>2]=(c[a+8>>2]|0)+-1;n=j;return n|0}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Db[c[(c[b>>2]|0)+32>>2]&511](b);e=xb[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;d=c[e+8>>2]|0;f=d;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d+88>>2]=c[a+248>>2];c[d+92>>2]=c[a+252>>2];c[d+96>>2]=c[a+256>>2];c[d+100>>2]=c[a+260>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+108>>2];c[d+20>>2]=c[a+116>>2];c[d+24>>2]=c[a+120>>2];c[d+28>>2]=c[a+124>>2];c[d+32>>2]=c[a+128>>2];c[d+36>>2]=c[a+132>>2];c[d+40>>2]=c[a+140>>2];c[d+44>>2]=c[a+144>>2];c[d+48>>2]=c[a+148>>2];c[d+52>>2]=c[a+152>>2];c[d+56>>2]=c[a+168>>2];c[d+60>>2]=c[a+172>>2];c[d+64>>2]=c[a+112>>2];c[d+68>>2]=c[a+156>>2];c[d+72>>2]=c[a+160>>2];c[d+76>>2]=c[a+164>>2];c[d+80>>2]=c[a+136>>2];Ub[c[(c[b>>2]|0)+20>>2]&31](b,e,17823,1145853764,d);d=c[a+8>>2]|0;if((d|0)<=0){Ij(a,b);ud(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;Db[a&511](b);return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&8){g=tb[c[(c[e>>2]|0)+16>>2]&255](e)|0;g=xb[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=xb[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;Ub[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645651,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));Ij(a,b);ud(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;Db[a&511](b);return}function Ig(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,l=0.0;h=k;k=k+32|0;d=c[a+8>>2]|0;if((d|0)<=0){k=h;return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if((!((e|0)==0?1:(c[e+236>>2]&2|0)==0)?(c[e+216>>2]|0)!=2:0)?!(b==0.0?1:(c[e+204>>2]&2|0)==0):0){d=c[e+480>>2]|0;if(!d)d=e+4|0;else{Jb[c[(c[d>>2]|0)+8>>2]&127](d,e+4|0);d=e+4|0}j=1.0/b*(+g[e+56>>2]-+g[e+120>>2]);l=1.0/b*(+g[e+60>>2]-+g[e+124>>2]);g[e+312>>2]=1.0/b*(+g[e+52>>2]-+g[e+116>>2]);g[e+316>>2]=j;g[e+320>>2]=l;g[e+324>>2]=0.0;Tf(e+68|0,d,h+8|0,h);l=+g[h>>2];j=1.0/b*l*+g[h+8+4>>2];i=1.0/b*l*+g[h+8+8>>2];g[e+328>>2]=1.0/b*+g[h+8>>2]*l;g[e+332>>2]=j;g[e+336>>2]=i;g[e+340>>2]=0.0;c[e+132>>2]=c[e+312>>2];c[e+132+4>>2]=c[e+312+4>>2];c[e+132+8>>2]=c[e+312+8>>2];c[e+132+12>>2]=c[e+312+12>>2];c[e+148>>2]=c[e+328>>2];c[e+148+4>>2]=c[e+328+4>>2];c[e+148+8>>2]=c[e+328+8>>2];c[e+148+12>>2]=c[e+328+12>>2];c[e+68>>2]=c[d>>2];c[e+68+4>>2]=c[d+4>>2];c[e+68+8>>2]=c[d+8>>2];c[e+68+12>>2]=c[d+12>>2];c[e+84>>2]=c[e+20>>2];c[e+84+4>>2]=c[e+20+4>>2];c[e+84+8>>2]=c[e+20+8>>2];c[e+84+12>>2]=c[e+20+12>>2];c[e+100>>2]=c[e+36>>2];c[e+100+4>>2]=c[e+36+4>>2];c[e+100+8>>2]=c[e+36+8>>2];c[e+100+12>>2]=c[e+36+12>>2];c[e+116>>2]=c[e+52>>2];c[e+116+4>>2]=c[e+52+4>>2];c[e+116+8>>2]=c[e+52+8>>2];c[e+116+12>>2]=c[e+52+12>>2];d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));k=h;return}function Jg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0;t=k;k=k+32|0;s=c[a+12>>2]|0;if(!s){k=t;return}c[f+4>>2]=s;a=c[b+4>>2]|0;e=c[d+4>>2]|0;b=c[b+12>>2]|0;d=c[d+12>>2]|0;m=+g[d+48>>2];h=+g[b+48>>2]-m;n=+g[d+52>>2];i=+g[b+52>>2]-n;o=+g[d+56>>2];l=+g[b+56>>2]-o;p=+A(+(h*h+i*i+l*l));q=+g[e+28>>2]*+g[e+12>>2];r=+g[a+28>>2]*+g[a+12>>2]+q;if(p>r){if(!(c[s+748>>2]|0)){k=t;return}e=c[s+740>>2]|0;a=c[(c[f+8>>2]|0)+8>>2]|0;if((e|0)==(a|0)){qf(s,e+4|0,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0);k=t;return}else{qf(s,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0,a+4|0);k=t;return}}c[t+16>>2]=1065353216;c[t+16+4>>2]=0;c[t+16+8>>2]=0;g[t+16+12>>2]=0.0;if(p>1.1920928955078125e-07){g[t+16>>2]=h*(1.0/p);g[t+16+4>>2]=i*(1.0/p);g[t+16+8>>2]=l*(1.0/p);g[t+16+12>>2]=0.0;j=h*(1.0/p);i=i*(1.0/p);h=l*(1.0/p)}else{j=1.0;i=0.0;h=0.0}g[t>>2]=m+q*j;g[t+4>>2]=n+q*i;g[t+8>>2]=o+q*h;g[t+12>>2]=0.0;Ob[c[(c[f>>2]|0)+16>>2]&15](f,t+16|0,t,p-r);b=c[f+4>>2]|0;do if(c[b+748>>2]|0){e=c[b+740>>2]|0;a=c[(c[f+8>>2]|0)+8>>2]|0;if((e|0)==(a|0)){qf(b,e+4|0,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0);break}else{qf(b,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0,a+4|0);break}}while(0);k=t;return}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b+236>>2]|0;if((b|0)==0|(d|0)!=8){if(!((b|0)==0|(d&2|0)==0)){Jb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}d=c[b+188>>2]|0;if(d|0){h=c[a+68>>2]|0;h=tb[c[(c[h>>2]|0)+36>>2]&255](h)|0;Nb[c[(c[h>>2]|0)+40>>2]&127](h,d,c[a+24>>2]|0);h=c[a+68>>2]|0;Nb[c[(c[h>>2]|0)+12>>2]&127](h,d,c[a+24>>2]|0);c[b+188>>2]=0}e=c[a+8>>2]|0;if((e|0)<=0)return;f=c[a+16>>2]|0;d=0;while(1){g=f+(d<<2)|0;if((c[g>>2]|0)==(b|0))break;h=d+1|0;if((h|0)<(e|0))d=h;else{i=26;break}}if((i|0)==26)return;if((d|0)>=(e|0))return;c[g>>2]=c[f+(e+-1<<2)>>2];c[(c[a+16>>2]|0)+(e+-1<<2)>>2]=b;c[a+8>>2]=e+-1;return}g=c[a+328>>2]|0;a:do if((g|0)>0){f=c[a+336>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(g|0))break a}if((d|0)<(g|0)){c[e>>2]=c[f+(g+-1<<2)>>2];c[(c[a+336>>2]|0)+(g+-1<<2)>>2]=b;c[a+328>>2]=g+-1}}while(0);d=c[b+188>>2]|0;if(d|0){h=c[a+68>>2]|0;h=tb[c[(c[h>>2]|0)+36>>2]&255](h)|0;Nb[c[(c[h>>2]|0)+40>>2]&127](h,d,c[a+24>>2]|0);h=c[a+68>>2]|0;Nb[c[(c[h>>2]|0)+12>>2]&127](h,d,c[a+24>>2]|0);c[b+188>>2]=0}e=c[a+8>>2]|0;if((e|0)<=0)return;f=c[a+16>>2]|0;d=0;while(1){g=f+(d<<2)|0;if((c[g>>2]|0)==(b|0))break;h=d+1|0;if((h|0)<(e|0))d=h;else{i=26;break}}if((i|0)==26)return;if((d|0)>=(e|0))return;c[g>>2]=c[f+(e+-1<<2)>>2];c[(c[a+16>>2]|0)+(e+-1<<2)>>2]=b;c[a+8>>2]=e+-1;return}function Lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0;x=k;k=k+48|0;u=+g[e>>2];v=+g[d>>2];w=+g[e+4>>2];t=+g[d+4>>2];s=+g[e+8>>2];n=+g[d+8>>2];o=+A(+((u-v)*.5*(u-v)*.5+(w-t)*.5*(w-t)*.5+(s-n)*.5*(s-n)*.5));p=+g[a+56>>2];if(+z(+p)>.7071067690849304){r=+g[a+52>>2];m=1.0/+A(+(p*p+r*r));q=+g[a+48>>2];f=q*-(p*m);h=(p*p+r*r)*m;i=0.0;j=-(q*r*m);l=-(p*m);m=r*m}else{q=+g[a+48>>2];r=+g[a+52>>2];l=1.0/+A(+(q*q+r*r));f=(q*q+r*r)*l;h=-(p*q*l);i=-(r*l);j=p*-(r*l);l=q*l;m=0.0}y=p*(s+n)*.5+((u+v)*.5*q+(w+t)*.5*r)-+g[a+64>>2];t=(w+t)*.5-r*y;q=(u+v)*.5-q*y;i=o*i;u=o*l;w=o*m;m=o*h;r=o*j;v=o*f;g[x>>2]=m+(i+q);g[x+4>>2]=r+(u+t);g[x+8>>2]=v+(w+((s+n)*.5-p*y));g[x+12>>2]=0.0;g[x+16>>2]=i+q-m;g[x+20>>2]=u+t-r;g[x+24>>2]=w+((s+n)*.5-p*y)-v;g[x+28>>2]=0.0;g[x+32>>2]=q-i-m;g[x+36>>2]=t-u-r;g[x+40>>2]=(s+n)*.5-p*y-w-v;g[x+44>>2]=0.0;Qb[c[(c[b>>2]|0)+8>>2]&127](b,x,0,0);g[x>>2]=q-i-m;g[x+4>>2]=t-u-r;g[x+8>>2]=(s+n)*.5-p*y-w-v;g[x+12>>2]=0.0;g[x+16>>2]=m+(q-i);g[x+20>>2]=r+(t-u);g[x+24>>2]=v+((s+n)*.5-p*y-w);g[x+28>>2]=0.0;g[x+32>>2]=m+(i+q);g[x+36>>2]=r+(u+t);g[x+40>>2]=v+(w+((s+n)*.5-p*y));g[x+44>>2]=0.0;Qb[c[(c[b>>2]|0)+8>>2]&127](b,x,0,1);k=x;return}function Mg(b,d,e,f){b=b|0;d=+d;e=e|0;f=+f;var h=0,i=0.0,j=0,l=0;l=k;k=k+16|0;bb(c[7583]|0,0)|0;Vs(30292);c[7574]=(c[7574]|0)+1;j=c[7577]|0;c[7577]=j+1;if(!j){bb(l|0,0)|0;j=c[7583]|0;c[7576]=(c[l+4>>2]|0)-(c[j+4>>2]|0)+(((c[l>>2]|0)-(c[j>>2]|0)|0)*1e6|0)}c[7582]=0;bb(l|0,0)|0;Wj(17808);if(e){g[b+268>>2]=f;i=+g[b+264>>2]+d;g[b+264>>2]=i;if(!(i>=f)){d=f;j=0}else{g[b+264>>2]=i-+(~~(i/f)|0)*f;d=f;j=~~(i/f)}}else{g[b+264>>2]=(a[b+300>>0]|0)==0?d:0.0;g[b+268>>2]=0.0;j=!(+z(+d)<1.1920928955078125e-07)&1;e=j}if(tb[c[(c[b>>2]|0)+20>>2]&255](b)|0){h=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;h=tb[c[(c[h>>2]|0)+48>>2]&255](h)|0;a[30920]=(4?h>>>4:h)&1}if(j){h=(j|0)>(e|0)?e:j;Eb[c[(c[b>>2]|0)+164>>2]&31](b,d*+(h|0));Db[c[(c[b>>2]|0)+168>>2]&511](b);if((h|0)>0){e=0;do{Eb[c[(c[b>>2]|0)+160>>2]&31](b,d);Db[c[(c[b>>2]|0)+80>>2]&511](b);e=e+1|0}while((e|0)<(h|0));e=b}else e=b}else{Db[c[(c[b>>2]|0)+80>>2]&511](b);e=b}Db[c[(c[e>>2]|0)+120>>2]&511](b);c[7582]=(c[7582]|0)+1;e=c[3369]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){k=l;return j|0}do if(c[e+4>>2]|0){bb(l|0,0)|0;b=c[7583]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[l+4>>2]|0)-(c[b+4>>2]|0)+(((c[l>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[3369]|0;break}else{k=l;return j|0}}while(0);c[3369]=c[e+20>>2];k=l;return j|0}function Ng(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0;e=k;k=k+288|0;g[e+280>>2]=d;h=AJ(b)|0;c[e+264>>2]=c[h>>2];c[e+264+4>>2]=c[h+4>>2];c[e+264+8>>2]=c[h+8>>2];c[e+264+12>>2]=c[h+12>>2];h=c[(c[a>>2]|0)+8>>2]|0;f=DK(b)|0;g[e+212>>2]=0.0;g[e+208>>2]=0.0;Yt(e+216|0,e+280|0,e+212|0,e+208|0);Nm(e+232|0,f,+g[e+216>>2],+g[e+216+4>>2],+g[e+216+8>>2]);ar(e+248|0,+g[e+264>>2],+g[e+264+4>>2],+g[e+264+8>>2],+g[e+232>>2],+g[e+232+4>>2],+g[e+232+8>>2]);g[e+184>>2]=.699999988079071;g[e+180>>2]=0.0;g[e+176>>2]=0.0;Yt(e+192|0,e+184|0,e+180|0,e+176|0);Qb[h&127](a,e+264|0,e+248|0,e+192|0);b=c[(c[a>>2]|0)+8>>2]|0;g[e+124>>2]=0.0;g[e+120>>2]=0.0;Yt(e+128|0,e+124|0,e+280|0,e+120|0);Nm(e+144|0,f,+g[e+128>>2],+g[e+128+4>>2],+g[e+128+8>>2]);ar(e+160|0,+g[e+264>>2],+g[e+264+4>>2],+g[e+264+8>>2],+g[e+144>>2],+g[e+144+4>>2],+g[e+144+8>>2]);g[e+96>>2]=0.0;g[e+92>>2]=.699999988079071;g[e+88>>2]=0.0;Yt(e+104|0,e+96|0,e+92|0,e+88|0);Qb[b&127](a,e+264|0,e+160|0,e+104|0);b=c[(c[a>>2]|0)+8>>2]|0;g[e+36>>2]=0.0;g[e+32>>2]=0.0;Yt(e+40|0,e+36|0,e+32|0,e+280|0);Nm(e+56|0,f,+g[e+40>>2],+g[e+40+4>>2],+g[e+40+8>>2]);ar(e+72|0,+g[e+264>>2],+g[e+264+4>>2],+g[e+264+8>>2],+g[e+56>>2],+g[e+56+4>>2],+g[e+56+8>>2]);g[e+8>>2]=0.0;g[e+4>>2]=0.0;g[e>>2]=.699999988079071;Yt(e+16|0,e+8|0,e+4|0,e);Qb[b&127](a,e+264|0,e+72|0,e+16|0);k=e;return}function Og(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0,i=0.0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0;d=c[a+712>>2]|0;if((d|0)>0){b=0;do{l=(c[a+720>>2]|0)+(b*104|0)+72|0;b=b+1|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}while((b|0)!=(d|0))}d=c[a+752>>2]|0;if((d|0)>0){b=0;do{o=c[a+760>>2]|0;j=c[o+(b*44|0)+12>>2]|0;h=c[o+(b*44|0)+8>>2]|0;k=+g[h+8>>2];e=+g[j+8>>2]-k;f=+g[h+12>>2];i=+g[j+12>>2]-f;m=+g[h+16>>2];n=+g[j+16>>2]-m;l=c[o+(b*44|0)+16>>2]|0;k=+g[l+8>>2]-k;f=+g[l+12>>2]-f;m=+g[l+16>>2]-m;p=1.0/+A(+((e*f-i*k)*(e*f-i*k)+((i*m-n*f)*(i*m-n*f)+(n*k-e*m)*(n*k-e*m))));g[o+(b*44|0)+20>>2]=(i*m-n*f)*p;g[o+(b*44|0)+24>>2]=(n*k-e*m)*p;g[o+(b*44|0)+28>>2]=(e*f-i*k)*p;c[o+(b*44|0)+32>>2]=0;g[h+72>>2]=i*m-n*f+ +g[h+72>>2];g[h+76>>2]=n*k-e*m+ +g[h+76>>2];g[h+80>>2]=e*f-i*k+ +g[h+80>>2];g[j+72>>2]=i*m-n*f+ +g[j+72>>2];g[j+76>>2]=n*k-e*m+ +g[j+76>>2];g[j+80>>2]=e*f-i*k+ +g[j+80>>2];g[l+72>>2]=i*m-n*f+ +g[l+72>>2];g[l+76>>2]=n*k-e*m+ +g[l+76>>2];g[l+80>>2]=e*f-i*k+ +g[l+80>>2];b=b+1|0}while((b|0)!=(d|0))}l=c[a+712>>2]|0;if((l|0)<=0)return;a=c[a+720>>2]|0;b=0;do{h=a+(b*104|0)+72|0;i=+g[h>>2];j=a+(b*104|0)+76|0;k=+g[j>>2];d=a+(b*104|0)+80|0;e=+g[d>>2];f=+A(+(i*i+k*k+e*e));if(f>1.1920928955078125e-07){g[h>>2]=i*(1.0/f);g[j>>2]=k*(1.0/f);g[d>>2]=e*(1.0/f)}b=b+1|0}while((b|0)!=(l|0));return}function Pg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(a[d+164>>0]|0)){f=c[d+148>>2]|0;if((f|0)==(c[d+152>>2]|0)?(k=(f|0)==0?1:f<<1,(f|0)<(k|0)):0){if(!k)i=0;else{c[7584]=(c[7584]|0)+1;f=lc((k<<1)+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[d+148>>2]|0}h=c[d+156>>2]|0;if((f|0)<=0)if(!h)g=d+160|0;else l=29;else{g=0;do{b[i+(g<<1)>>1]=b[h+(g<<1)>>1]|0;g=g+1|0}while((g|0)!=(f|0));l=29}if((l|0)==29){if(a[d+160>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);f=c[d+148>>2]|0}c[d+156>>2]=0;g=d+160|0}a[g>>0]=1;c[d+156>>2]=i;c[d+152>>2]=k}l=c[d+156>>2]|0;b[l+(f<<1)>>1]=e;c[d+148>>2]=f+1;c[(c[d+32>>2]|0)+4>>2]=l;return}else{f=c[d+128>>2]|0;if((f|0)==(c[d+132>>2]|0)?(j=(f|0)==0?1:f<<1,(f|0)<(j|0)):0){if(!j)i=0;else{c[7584]=(c[7584]|0)+1;f=lc((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[d+128>>2]|0}h=c[d+136>>2]|0;if((f|0)<=0)if(!h)g=d+140|0;else l=13;else{g=0;do{c[i+(g<<2)>>2]=c[h+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0));l=13}if((l|0)==13){if(a[d+140>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[d+136>>2]=0;g=d+140|0;f=c[d+128>>2]|0}a[g>>0]=1;c[d+136>>2]=i;c[d+132>>2]=j}l=c[d+136>>2]|0;c[l+(f<<2)>>2]=e;c[d+128>>2]=(c[d+128>>2]|0)+1;c[(c[d+32>>2]|0)+4>>2]=l;return}}function Qg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=fu()|0;c[h+4>>2]=5;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=7888;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[e+16>>2];c[h+316+4>>2]=c[e+16+4>>2];c[h+316+8>>2]=c[e+16+8>>2];c[h+316+12>>2]=c[e+16+12>>2];c[h+332>>2]=c[e+32>>2];c[h+332+4>>2]=c[e+32+4>>2];c[h+332+8>>2]=c[e+32+8>>2];c[h+332+12>>2]=c[e+32+12>>2];c[h+348>>2]=c[e+48>>2];c[h+348+4>>2]=c[e+48+4>>2];c[h+348+8>>2]=c[e+48+8>>2];c[h+348+12>>2]=c[e+48+12>>2];c[h+364>>2]=c[f>>2];c[h+364+4>>2]=c[f+4>>2];c[h+364+8>>2]=c[f+8>>2];c[h+364+12>>2]=c[f+12>>2];c[h+380>>2]=c[f+16>>2];c[h+380+4>>2]=c[f+16+4>>2];c[h+380+8>>2]=c[f+16+8>>2];c[h+380+12>>2]=c[f+16+12>>2];c[h+396>>2]=c[f+32>>2];c[h+396+4>>2]=c[f+32+4>>2];c[h+396+8>>2]=c[f+32+8>>2];c[h+396+12>>2]=c[f+32+12>>2];c[h+412>>2]=c[f+48>>2];c[h+412+4>>2]=c[f+48+4>>2];c[h+412+8>>2]=c[f+48+8>>2];c[h+412+12>>2]=c[f+48+12>>2];a[h+552>>0]=0;c[h+524>>2]=0;g[h+572>>2]=-1.0;g[h+444>>2]=999999984306749440.0;g[h+448>>2]=999999984306749440.0;g[h+452>>2]=999999984306749440.0;g[h+428>>2]=1.0;g[h+432>>2]=.30000001192092896;g[h+436>>2]=1.0;g[h+440>>2]=.009999999776482582;g[h+456>>2]=.05000000074505806;c[h+592>>2]=0;g[h+596>>2]=0.0;g[h+600>>2]=.699999988079071;g[h+604>>2]=0.0;return h|0}function Rg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0.0;m=k;k=k+672|0;c[m+568+8>>2]=0;c[m+568+12>>2]=1065353216;c[m+568+16>>2]=1065353216;c[m+568+20>>2]=1065353216;g[m+568+24>>2]=0.0;c[m+568+52>>2]=0;c[m+568>>2]=6904;c[m+568+4>>2]=1;c[m+568+56>>2]=c[d>>2];c[m+568+56+4>>2]=c[d+4>>2];c[m+568+56+8>>2]=c[d+8>>2];c[m+568+56+12>>2]=c[d+12>>2];c[m+568+72>>2]=c[d+16>>2];c[m+568+72+4>>2]=c[d+16+4>>2];c[m+568+72+8>>2]=c[d+16+8>>2];c[m+568+72+12>>2]=c[d+16+12>>2];c[m+568+88>>2]=c[d+32>>2];c[m+568+88+4>>2]=c[d+32+4>>2];c[m+568+88+8>>2]=c[d+32+8>>2];c[m+568+88+12>>2]=c[d+32+12>>2];c[m+568+44>>2]=c[b+204>>2];g[m+208+308>>2]=9.999999747378752e-05;a[m+208+332>>0]=0;c[m+200>>2]=13168;d=c[b+4>>2]|0;c[m+176>>2]=13236;c[m+176+4>>2]=m+208;c[m+176+8>>2]=m+200;c[m+176+12>>2]=d;c[m+176+16>>2]=m+568;c[m+176+20>>2]=0;c[m>>2]=6876;c[m+168>>2]=0;g[m+164>>2]=1.0;c[m+172>>2]=c[b+208>>2];if((Xd(m+176|0,b+8|0,b+72|0,b+136|0,b+136|0,m)|0?(h=+g[m+132>>2],i=+g[m+136>>2],j=+g[m+140>>2],h*h+i*i+j*j>9.999999747378752e-05):0)?(l=+g[m+164>>2],l<+g[b+200>>2]):0){n=1.0/+A(+(h*h+i*i+j*j));g[m+132>>2]=h*n;g[m+136>>2]=i*n;g[m+140>>2]=j*n;+nb[c[(c[b>>2]|0)+12>>2]&3](b,m+132|0,m+148|0,l,e,f)}c[m+568>>2]=10360;b=c[m+568+52>>2]|0;if(!b){k=m;return}Db[c[c[b>>2]>>2]&511](b);b=c[m+568+52>>2]|0;if(!b){k=m;return}c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);k=m;return}function Sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=+g[d+128>>2];if(!(e!=0.0))return;c[7402]=(c[7402]|0)+1;k=+g[d+96>>2];f=+g[d+16>>2];h=+g[d+20>>2];i=+g[d+24>>2];j=+g[d+108>>2];j=e-k*+g[d+116>>2]-(f*+g[a+144>>2]+h*+g[a+148>>2]+i*+g[a+152>>2]+(+g[d>>2]*+g[a+160>>2]+ +g[d+4>>2]*+g[a+164>>2]+ +g[d+8>>2]*+g[a+168>>2]))*j-j*(+g[d+48>>2]*+g[b+144>>2]+ +g[d+52>>2]*+g[b+148>>2]+ +g[d+56>>2]*+g[b+152>>2]+(+g[d+32>>2]*+g[b+160>>2]+ +g[d+36>>2]*+g[b+164>>2]+ +g[d+40>>2]*+g[b+168>>2]));l=+g[d+120>>2];e=k+j<l?l-k:j;g[d+96>>2]=k+j<l?l:k+j;if(c[a+240>>2]|0){l=e*h*+g[a+132>>2]*+g[a+116>>2];k=e*i*+g[a+136>>2]*+g[a+120>>2];g[a+144>>2]=+g[a+112>>2]*e*f*+g[a+128>>2]+ +g[a+144>>2];g[a+148>>2]=l+ +g[a+148>>2];g[a+152>>2]=k+ +g[a+152>>2];k=e*+g[a+100>>2]*+g[d+68>>2];l=e*+g[a+104>>2]*+g[d+72>>2];g[a+160>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+160>>2];g[a+164>>2]=k+ +g[a+164>>2];g[a+168>>2]=l+ +g[a+168>>2]}if(!(c[b+240>>2]|0))return;l=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+144>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+144>>2];g[b+148>>2]=l+ +g[b+148>>2];g[b+152>>2]=k+ +g[b+152>>2];k=e*+g[b+100>>2]*+g[d+84>>2];l=e*+g[b+104>>2]*+g[d+88>>2];g[b+160>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+160>>2];g[b+164>>2]=k+ +g[b+164>>2];g[b+168>>2]=l+ +g[b+168>>2];return}function Tg(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,i=0,j=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;h=k;k=k+16|0;d=+g[a+336>>2]*b;b=+g[a+452>>2];f=c[a+792>>2]|0;if((f|0)<=0){k=h;return}e=0;do{t=c[a+800>>2]|0;j=c[t+(e*96|0)+20>>2]|0;o=c[t+(e*96|0)>>2]|0;y=+g[t+(e*96|0)+4>>2];x=+g[t+(e*96|0)+8>>2];w=+g[t+(e*96|0)+12>>2];i=t+(e*96|0)+76|0;v=+g[j+332>>2];p=+g[t+(e*96|0)+84>>2];z=+g[j+336>>2];m=+g[t+(e*96|0)+80>>2];l=+g[i>>2];n=+g[j+328>>2];s=+g[o+8>>2];r=+g[o+12>>2];q=+g[o+16>>2];u=d*(y*+g[j+4>>2]+x*+g[j+8>>2]+w*+g[j+12>>2]+ +g[j+52>>2]-s)+(b*(v*p-z*m+ +g[j+312>>2])-(s-+g[o+24>>2]));p=d*(y*+g[j+20>>2]+x*+g[j+24>>2]+w*+g[j+28>>2]+ +g[j+56>>2]-r)+(b*(+g[j+316>>2]+(z*l-p*n))-(r-+g[o+28>>2]));l=d*(y*+g[j+36>>2]+x*+g[j+40>>2]+w*+g[j+44>>2]+ +g[j+60>>2]-q)+(b*(m*n-v*l+ +g[j+320>>2])-(q-+g[o+32>>2]));v=+g[t+(e*96|0)+24>>2];n=(u*+g[t+(e*96|0)+28>>2]+p*+g[t+(e*96|0)+32>>2]+ +g[t+(e*96|0)+36>>2]*l)*v;m=(u*+g[t+(e*96|0)+44>>2]+p*+g[t+(e*96|0)+48>>2]+l*+g[t+(e*96|0)+52>>2])*v;l=v*(u*+g[t+(e*96|0)+60>>2]+p*+g[t+(e*96|0)+64>>2]+l*+g[t+(e*96|0)+68>>2]);p=+g[t+(e*96|0)+92>>2];g[o+8>>2]=s+n*p;g[o+12>>2]=r+p*m;g[o+16>>2]=q+p*l;g[h>>2]=-n;g[h+4>>2]=-m;g[h+8>>2]=-l;g[h+12>>2]=0.0;Rl(j,h,i);e=e+1|0}while((e|0)!=(f|0));k=h;return}function Ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=+g[d+100>>2];j=+g[d+16>>2];k=+g[d+20>>2];l=+g[d+24>>2];h=+g[d+108>>2];h=+g[d+112>>2]-f*+g[d+116>>2]-(j*+g[a+64>>2]+k*+g[a+68>>2]+l*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*h-h*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));e=+g[d+120>>2];if(!(f+h<e)){e=+g[d+124>>2];if(f+h>e)i=e-f;else{i=h;e=f+h}}else i=e-f;g[d+100>>2]=e;if(c[a+240>>2]|0){h=i*k*+g[a+132>>2]*+g[a+116>>2];k=i*l*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*i*j*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=h+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=i*+g[a+100>>2]*+g[d+68>>2];l=i*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=i*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=k+ +g[a+84>>2];g[a+88>>2]=l+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return;l=i*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=i*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*i*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=l+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=i*+g[b+100>>2]*+g[d+84>>2];l=i*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=i*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=k+ +g[b+84>>2];g[b+88>>2]=l+ +g[b+88>>2];return}function Vg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=ou()|0;c[i+4>>2]=4;c[i+8>>2]=-1;c[i+12>>2]=-1;g[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;g[i+36>>2]=0.0;g[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=7944;c[i+552>>2]=c[e>>2];c[i+552+4>>2]=c[e+4>>2];c[i+552+8>>2]=c[e+8>>2];c[i+552+12>>2]=c[e+12>>2];c[i+568>>2]=c[e+16>>2];c[i+568+4>>2]=c[e+16+4>>2];c[i+568+8>>2]=c[e+16+8>>2];c[i+568+12>>2]=c[e+16+12>>2];c[i+584>>2]=c[e+32>>2];c[i+584+4>>2]=c[e+32+4>>2];c[i+584+8>>2]=c[e+32+8>>2];c[i+584+12>>2]=c[e+32+12>>2];c[i+600>>2]=c[e+48>>2];c[i+600+4>>2]=c[e+48+4>>2];c[i+600+8>>2]=c[e+48+8>>2];c[i+600+12>>2]=c[e+48+12>>2];c[i+616>>2]=c[f>>2];c[i+616+4>>2]=c[f+4>>2];c[i+616+8>>2]=c[f+8>>2];c[i+616+12>>2]=c[f+12>>2];c[i+632>>2]=c[f+16>>2];c[i+632+4>>2]=c[f+16+4>>2];c[i+632+8>>2]=c[f+16+8>>2];c[i+632+12>>2]=c[f+16+12>>2];c[i+648>>2]=c[f+32>>2];c[i+648+4>>2]=c[f+32+4>>2];c[i+648+8>>2]=c[f+32+8>>2];c[i+648+12>>2]=c[f+32+12>>2];c[i+664>>2]=c[f+48>>2];c[i+664+4>>2]=c[f+48+4>>2];c[i+664+8>>2]=c[f+48+8>>2];c[i+664+12>>2]=c[f+48+12>>2];g[i+688>>2]=0.0;g[i+692>>2]=-1.0;g[i+696>>2]=.8999999761581421;g[i+700>>2]=.30000001192092896;g[i+704>>2]=1.0;g[i+708>>2]=0.0;g[i+712>>2]=0.0;a[i+716>>0]=0;a[i+736>>0]=0;a[i+737>>0]=0;a[i+738>>0]=0;a[i+739>>0]=1;a[i+740>>0]=h&1;c[i+748>>2]=0;g[i+732>>2]=h?-1.0:1.0;return i|0}function Wg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=vb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Jb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g=c[a+48>>2]|0;xb[c[(c[g>>2]|0)+56>>2]&63](g,b+12|0,d)|0;c[b+52>>2]=c[a+12>>2];do if((c[a+52>>2]|0)!=0?((tb[c[(c[d>>2]|0)+52>>2]&255](d)|0)&1|0)==0:0){e=vb[c[(c[d>>2]|0)+24>>2]&31](d,c[a+52>>2]|0)|0;if(!e){c[b+40>>2]=vb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+52>>2]|0)|0;c[b+44>>2]=0;e=c[a+52>>2]|0;e=tb[c[(c[e>>2]|0)+12>>2]&255](e)|0;e=xb[c[(c[d>>2]|0)+16>>2]&63](d,e,1)|0;g=c[a+52>>2]|0;g=xb[c[(c[g>>2]|0)+16>>2]&63](g,c[e+8>>2]|0,d)|0;Ub[c[(c[d>>2]|0)+20>>2]&31](d,e,g,1213612625,c[a+52>>2]|0);break}else{c[b+40>>2]=e;c[b+44>>2]=0;break}}else f=8;while(0);if((f|0)==8){c[b+40>>2]=0;c[b+44>>2]=0}if(c[a+56>>2]|0?((tb[c[(c[d>>2]|0)+52>>2]&255](d)|0)&2|0)==0:0){e=vb[c[(c[d>>2]|0)+24>>2]&31](d,c[a+56>>2]|0)|0;if(!e){c[b+48>>2]=vb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+56>>2]|0)|0;b=c[a+56>>2]|0;b=tb[c[(c[b>>2]|0)+8>>2]&255](b)|0;b=xb[c[(c[d>>2]|0)+16>>2]&63](d,b,1)|0;g=c[a+56>>2]|0;g=xb[c[(c[g>>2]|0)+12>>2]&63](g,c[b+8>>2]|0,d)|0;Ub[c[(c[d>>2]|0)+20>>2]&31](d,b,g,1346456916,c[a+56>>2]|0);return 22227}else{c[b+48>>2]=e;return 22227}}c[b+48>>2]=0;return 22227}function Xg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[7571]=(c[7571]|0)+1;k=(e<<16|d)+~((e<<16|d)<<15)|0;k=((10?k>>10:k)^k)*9|0;k=(6?k>>6:k)^k;k=(16?k+~(k<<11)>>16:k+~(k<<11)|0)^k+~(k<<11);l=c[b+12>>2]|0;f=c[(c[b+40>>2]|0)+((l+-1&k)<<2)>>2]|0;a:do if((f|0)!=-1){h=c[b+16>>2]|0;while(1){g=h+(f*12|0)|0;if((c[g>>2]|0)==(d|0)?(c[h+(f*12|0)+4>>2]|0)==(e|0):0)break;f=c[(c[b+60>>2]|0)+(f<<2)>>2]|0;if((f|0)==-1)break a}if(g|0){e=g;return e|0}}while(0);j=c[b+8>>2]|0;if((j|0)==(l|0)){h=(l|0)==0?1:l<<1;if((l|0)<(h|0)){if(!h){f=0;i=l}else{c[7584]=(c[7584]|0)+1;f=lc((h*12|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[b+8>>2]|0}if((i|0)>0){g=0;do{m=f+(g*12|0)|0;n=(c[b+16>>2]|0)+(g*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];g=g+1|0}while((g|0)!=(i|0))}g=c[b+16>>2]|0;if(g|0){if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=h;f=c[b+8>>2]|0}else{f=l;h=l}}else{f=j;h=l}c[b+8>>2]=f+1;g=c[b+16>>2]|0;if((l|0)<(h|0)){Uf(b);f=(c[b+12>>2]|0)+-1&k}else f=l+-1&k;c[g+(j*12|0)>>2]=d;c[g+(j*12|0)+4>>2]=e;c[g+(j*12|0)+8>>2]=0;n=(c[b+40>>2]|0)+(f<<2)|0;c[(c[b+60>>2]|0)+(j<<2)>>2]=c[n>>2];c[n>>2]=j;n=g+(j*12|0)|0;return n|0}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0;p=+g[b>>2]*+g[a>>2]+ +g[b+4>>2]*+g[a+4>>2]+ +g[b+8>>2]*+g[a+8>>2]-+g[a+12>>2];if(p>1.1920928955078125e-07)f=0;else{c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];f=1}if((d|0)>1){o=1;n=p;while(1){m=b+(o<<4)|0;i=+g[m>>2];j=+g[b+(o<<4)+4>>2];k=+g[b+(o<<4)+8>>2];h=i*+g[a>>2]+j*+g[a+4>>2]+k*+g[a+8>>2]-+g[a+12>>2];l=o+-1|0;if(n>1.1920928955078125e-07^h>1.1920928955078125e-07){q=-n/(h-n);j=j*q+(1.0-q)*+g[b+(l<<4)+4>>2];n=k*q+(1.0-q)*+g[b+(l<<4)+8>>2];g[e+(f<<4)>>2]=i*q+(1.0-q)*+g[b+(l<<4)>>2];g[e+(f<<4)+4>>2]=j;g[e+(f<<4)+8>>2]=n;g[e+(f<<4)+12>>2]=0.0;f=f+1|0}if(!(h>1.1920928955078125e-07)){l=e+(f<<4)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];f=f+1|0}o=o+1|0;if((o|0)==(d|0))break;else n=h}}else h=p;if(p>1.1920928955078125e-07^h>1.1920928955078125e-07){k=-h/(p-h);n=(1.0-k)*+g[b+(d+-1<<4)+4>>2]+k*+g[b+4>>2];q=(1.0-k)*+g[b+(d+-1<<4)+8>>2]+k*+g[b+8>>2];g[e+(f<<4)>>2]=(1.0-k)*+g[b+(d+-1<<4)>>2]+k*+g[b>>2];g[e+(f<<4)+4>>2]=n;g[e+(f<<4)+8>>2]=q;g[e+(f<<4)+12>>2]=0.0;f=f+1|0}if(p>1.1920928955078125e-07){e=f;return e|0}e=e+(f<<4)|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=f+1|0;return e|0}function Zg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=ou()|0;c[h+4>>2]=4;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=7944;c[h+552>>2]=c[e>>2];c[h+552+4>>2]=c[e+4>>2];c[h+552+8>>2]=c[e+8>>2];c[h+552+12>>2]=c[e+12>>2];c[h+568>>2]=c[e+16>>2];c[h+568+4>>2]=c[e+16+4>>2];c[h+568+8>>2]=c[e+16+8>>2];c[h+568+12>>2]=c[e+16+12>>2];c[h+584>>2]=c[e+32>>2];c[h+584+4>>2]=c[e+32+4>>2];c[h+584+8>>2]=c[e+32+8>>2];c[h+584+12>>2]=c[e+32+12>>2];c[h+600>>2]=c[e+48>>2];c[h+600+4>>2]=c[e+48+4>>2];c[h+600+8>>2]=c[e+48+8>>2];c[h+600+12>>2]=c[e+48+12>>2];c[h+616>>2]=c[f>>2];c[h+616+4>>2]=c[f+4>>2];c[h+616+8>>2]=c[f+8>>2];c[h+616+12>>2]=c[f+12>>2];c[h+632>>2]=c[f+16>>2];c[h+632+4>>2]=c[f+16+4>>2];c[h+632+8>>2]=c[f+16+8>>2];c[h+632+12>>2]=c[f+16+12>>2];c[h+648>>2]=c[f+32>>2];c[h+648+4>>2]=c[f+32+4>>2];c[h+648+8>>2]=c[f+32+8>>2];c[h+648+12>>2]=c[f+32+12>>2];c[h+664>>2]=c[f+48>>2];c[h+664+4>>2]=c[f+48+4>>2];c[h+664+8>>2]=c[f+48+8>>2];c[h+664+12>>2]=c[f+48+12>>2];g[h+688>>2]=0.0;g[h+692>>2]=-1.0;g[h+696>>2]=.8999999761581421;g[h+700>>2]=.30000001192092896;g[h+704>>2]=1.0;g[h+708>>2]=0.0;g[h+712>>2]=0.0;a[h+716>>0]=0;a[h+736>>0]=0;a[h+737>>0]=0;a[h+738>>0]=0;a[h+739>>0]=1;a[h+740>>0]=0;c[h+748>>2]=0;g[h+732>>2]=1.0;return h|0}function _g(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,l=0,m=0;j=k;k=k+128|0;c[j+24+8>>2]=0;c[j+24+12>>2]=1065353216;c[j+24+16>>2]=1065353216;c[j+24+20>>2]=1065353216;g[j+24+24>>2]=0.0;c[j+24+52>>2]=0;c[j+24+4>>2]=1;c[j+24+56>>2]=c[d>>2];c[j+24+56+4>>2]=c[d+4>>2];c[j+24+56+8>>2]=c[d+8>>2];c[j+24+56+12>>2]=c[d+12>>2];c[j+24+72>>2]=c[d+16>>2];c[j+24+72+4>>2]=c[d+16+4>>2];c[j+24+72+8>>2]=c[d+16+8>>2];c[j+24+72+12>>2]=c[d+16+12>>2];c[j+24+88>>2]=c[d+32>>2];c[j+24+88+4>>2]=c[d+32+4>>2];c[j+24+88+8>>2]=c[d+32+8>>2];c[j+24+88+12>>2]=c[d+32+12>>2];c[j+24>>2]=12412;c[j+24+44>>2]=c[b+24>>2];h=a[b+20>>0]|0;i=c[b+4>>2]|0;if(!(h<<24>>24)){c[i+36>>2]=e;d=i+32|0}else{c[i+28>>2]=e;d=i+24|0}c[d>>2]=f;m=c[b+12>>2]|0;l=c[m+8>>2]|0;d=c[m+12>>2]|0;c[j>>2]=m;c[j+4>>2]=j+24;c[j+8>>2]=l;c[j+12>>2]=d;c[j+16>>2]=e;c[j+20>>2]=f;f=c[i+16>>2]|0;d=c[f+8>>2]|0;if((c[d+8>>2]|0)==(l|0)){e=d;d=f+8|0}else{e=c[f+12>>2]|0;d=f+12|0}c[d>>2]=j;qc(i,c[b+8>>2]|0,j,c[b+16>>2]|0,j+24|0,h<<24>>24!=0);d=c[(c[b+4>>2]|0)+16>>2]|0;c[((c[(c[d+8>>2]|0)+8>>2]|0)==(c[j+8>>2]|0)?d+8|0:d+12|0)>>2]=e;c[j+24>>2]=10360;d=c[j+24+52>>2]|0;if(!d){k=j;return}Db[c[c[d>>2]>>2]&511](d);d=c[j+24+52>>2]|0;if(!d){k=j;return}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);k=j;return}function $g(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;c[7584]=(c[7584]|0)+1;b=lc((h+2|0)>>>0>268435455?18:(h+2<<4|3)+16|0)|0;if(!b)j=0;else{c[(b+4+15&-16)+-4>>2]=b;j=b+4+15&-16}k=vK((h+2|0)>>>0>1073741823?-1:h+2<<2)|0;if((h|0)>-2){b=0;do{p=+(b|0)/+(h+1|0);o=+g[e>>2];n=+g[e+4>>2];n=n+p*(+g[f+4>>2]-n);m=+g[e+8>>2];m=m+p*(+g[f+8>>2]-m);g[j+(b<<4)>>2]=o+p*(+g[f>>2]-o);g[j+(b<<4)+4>>2]=n;g[j+(b<<4)+8>>2]=m;g[j+(b<<4)+12>>2]=0.0;g[k+(b<<2)>>2]=1.0;b=b+1|0}while((b|0)<(h+2|0))}c[7584]=(c[7584]|0)+1;b=lc(1271)|0;if(!b)l=0;else{c[(b+4+15&-16)+-4>>2]=b;l=b+4+15&-16}xc(l,d,h+2|0,j,k);if(i&1|0){g[(c[l+720>>2]|0)+88>>2]=0.0;a[l+924>>0]=1}if(i&2|0){g[(c[l+720>>2]|0)+((h+1|0)*104|0)+88>>2]=0.0;a[l+924>>0]=1}if(j|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}wK(k);if((h|0)<=-1)return l|0;j=l+720|0;k=l+732|0;e=l+740|0;f=l+924|0;b=1;do{r=b+-1|0;q=c[j>>2]|0;xi(l,0);i=(c[k>>2]|0)+-1|0;d=c[e>>2]|0;c[d+(i*52|0)+8>>2]=q+(r*104|0);c[d+(i*52|0)+12>>2]=q+(b*104|0);n=+g[q+(r*104|0)+8>>2]-+g[q+(b*104|0)+8>>2];o=+g[q+(r*104|0)+12>>2]-+g[q+(b*104|0)+12>>2];p=+g[q+(r*104|0)+16>>2]-+g[q+(b*104|0)+16>>2];g[d+(i*52|0)+16>>2]=+A(+(n*n+o*o+p*p));a[f>>0]=1;b=b+1|0}while((b|0)<(h+2|0));return l|0}function ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+g[d+100>>2];f=+g[d+16>>2];h=+g[d+20>>2];i=+g[d+24>>2];j=+g[d+108>>2];j=+g[d+112>>2]-k*+g[d+116>>2]-(f*+g[a+64>>2]+h*+g[a+68>>2]+i*+g[a+72>>2]+(+g[d>>2]*+g[a+80>>2]+ +g[d+4>>2]*+g[a+84>>2]+ +g[d+8>>2]*+g[a+88>>2]))*j-j*(+g[d+48>>2]*+g[b+64>>2]+ +g[d+52>>2]*+g[b+68>>2]+ +g[d+56>>2]*+g[b+72>>2]+(+g[d+32>>2]*+g[b+80>>2]+ +g[d+36>>2]*+g[b+84>>2]+ +g[d+40>>2]*+g[b+88>>2]));l=+g[d+120>>2];e=k+j<l?l-k:j;g[d+100>>2]=k+j<l?l:k+j;if(c[a+240>>2]|0){l=e*h*+g[a+132>>2]*+g[a+116>>2];k=e*i*+g[a+136>>2]*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*e*f*+g[a+128>>2]+ +g[a+64>>2];g[a+68>>2]=l+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=e*+g[a+100>>2]*+g[d+68>>2];l=e*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=e*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=k+ +g[a+84>>2];g[a+88>>2]=l+ +g[a+88>>2]}if(!(c[b+240>>2]|0))return;l=e*+g[d+52>>2]*+g[b+132>>2]*+g[b+116>>2];k=e*+g[d+56>>2]*+g[b+136>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*e*+g[d+48>>2]*+g[b+128>>2]+ +g[b+64>>2];g[b+68>>2]=l+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=e*+g[b+100>>2]*+g[d+84>>2];l=e*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=e*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=k+ +g[b+84>>2];g[b+88>>2]=l+ +g[b+88>>2];return}function bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;J=+g[a+4>>2];I=+g[a+20>>2];H=+g[a+36>>2];F=+g[a+8>>2];E=+g[a+24>>2];D=+g[a+40>>2];B=+g[a+12>>2];z=+g[a+28>>2];x=+g[a+44>>2];u=+g[b+4>>2];t=+g[b+20>>2];s=+g[b+36>>2];q=+g[b+8>>2];p=+g[b+24>>2];o=+g[b+40>>2];m=+g[b+12>>2];k=+g[b+28>>2];i=+g[b+44>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;A=+g[e>>2];y=+g[e+4>>2];w=+g[e+8>>2];g[d+16>>2]=J*A+I*y+H*w;g[d+20>>2]=F*A+E*y+D*w;g[d+24>>2]=B*A+z*y+x*w;g[d+28>>2]=0.0;l=-+g[e>>2];j=-+g[e+4>>2];h=-+g[e+8>>2];g[d+32>>2]=u*l+t*j+s*h;g[d+36>>2]=q*l+p*j+o*h;g[d+40>>2]=m*l+k*j+i*h;g[d+44>>2]=0.0;G=(J*A+I*y+H*w)*+g[a+396>>2];C=(F*A+E*y+D*w)*+g[a+400>>2];v=(B*A+z*y+x*w)*+g[a+404>>2];g[d+48>>2]=G;g[d+52>>2]=C;g[d+56>>2]=v;g[d+60>>2]=0.0;r=(u*l+t*j+s*h)*+g[b+396>>2];n=(q*l+p*j+o*h)*+g[b+400>>2];f=(m*l+k*j+i*h)*+g[b+404>>2];g[d+64>>2]=r;g[d+68>>2]=n;g[d+72>>2]=f;g[d+76>>2]=0.0;g[d+80>>2]=(J*A+I*y+H*w)*G+(F*A+E*y+D*w)*C+(B*A+z*y+x*w)*v+((u*l+t*j+s*h)*r+(q*l+p*j+o*h)*n+(m*l+k*j+i*h)*f);return}function ch(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0;l=k;k=k+96|0;g=c[b+8>>2]|0;if((g|0)==(c[b+12>>2]|0)?(j=(g|0)==0?1:g<<1,(g|0)<(j|0)):0){if(!j)i=0;else{c[7584]=(c[7584]|0)+1;g=lc((j<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=g;g=c[b+8>>2]|0}if((g|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+16>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}h=c[b+16>>2]|0;if(h){if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);g=c[b+8>>2]|0}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=i;c[b+12>>2]=j}c[(c[b+16>>2]|0)+(g<<2)>>2]=d;c[b+8>>2]=g+1;c[l+32>>2]=c[d+4>>2];c[l+32+4>>2]=c[d+4+4>>2];c[l+32+8>>2]=c[d+4+8>>2];c[l+32+12>>2]=c[d+4+12>>2];c[l+32+16>>2]=c[d+20>>2];c[l+32+16+4>>2]=c[d+20+4>>2];c[l+32+16+8>>2]=c[d+20+8>>2];c[l+32+16+12>>2]=c[d+20+12>>2];c[l+32+32>>2]=c[d+36>>2];c[l+32+32+4>>2]=c[d+36+4>>2];c[l+32+32+8>>2]=c[d+36+8>>2];c[l+32+32+12>>2]=c[d+36+12>>2];c[l+32+48>>2]=c[d+52>>2];c[l+32+48+4>>2]=c[d+52+4>>2];c[l+32+48+8>>2]=c[d+52+8>>2];c[l+32+48+12>>2]=c[d+52+12>>2];j=c[d+192>>2]|0;Qb[c[(c[j>>2]|0)+8>>2]&127](j,l+32|0,l+16|0,l);j=c[b+68>>2]|0;c[d+188>>2]=Ab[c[(c[j>>2]|0)+8>>2]&3](j,l+16|0,l,c[(c[d+192>>2]|0)+4>>2]|0,d,e,f,c[b+24>>2]|0,0)|0;k=l;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var f=0.0,i=0,j=0,k=0;b=(c[a+196>>2]|0)+(M(c[a+200>>2]|0,b)|0)|0;if((c[a+208>>2]|0)==3){i=e[b>>1]|0;j=e[b+2>>1]|0;k=e[b+4>>1]|0}else{i=c[b>>2]|0;j=c[b+4>>2]|0;k=c[b+8>>2]|0}b=(c[a+180>>2]|0)+(M(c[a+192>>2]|0,i)|0)|0;if((c[a+188>>2]|0)==1){g[d+56>>2]=+h[b>>3]*+g[a+156>>2];g[d+60>>2]=+h[b+8>>3]*+g[a+160>>2];f=+h[b+16>>3]*+g[a+164>>2]}else{g[d+56>>2]=+g[b>>2]*+g[a+156>>2];g[d+60>>2]=+g[b+4>>2]*+g[a+160>>2];f=+g[b+8>>2]*+g[a+164>>2]}g[d+64>>2]=f;b=(c[a+180>>2]|0)+(M(c[a+192>>2]|0,j)|0)|0;if((c[a+188>>2]|0)==1){g[d+72>>2]=+h[b>>3]*+g[a+156>>2];g[d+76>>2]=+h[b+8>>3]*+g[a+160>>2];f=+h[b+16>>3]*+g[a+164>>2]}else{g[d+72>>2]=+g[b>>2]*+g[a+156>>2];g[d+76>>2]=+g[b+4>>2]*+g[a+160>>2];f=+g[b+8>>2]*+g[a+164>>2]}g[d+80>>2]=f;b=(c[a+180>>2]|0)+(M(c[a+192>>2]|0,k)|0)|0;if((c[a+188>>2]|0)==1){g[d+88>>2]=+h[b>>3]*+g[a+156>>2];g[d+92>>2]=+h[b+8>>3]*+g[a+160>>2];f=+h[b+16>>3]*+g[a+164>>2];k=d+96|0;g[k>>2]=f;k=c[d>>2]|0;k=k+44|0;k=c[k>>2]|0;a=a+148|0;f=+g[a>>2];Eb[k&31](d,f);return}else{g[d+88>>2]=+g[b>>2]*+g[a+156>>2];g[d+92>>2]=+g[b+4>>2]*+g[a+160>>2];f=+g[b+8>>2]*+g[a+164>>2];k=d+96|0;g[k>>2]=f;k=c[d>>2]|0;k=k+44|0;k=c[k>>2]|0;a=a+148|0;f=+g[a>>2];Eb[k&31](d,f);return}}function eh(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=7332;if(a[b+272>>0]|0?(d=c[b+204>>2]|0,Db[c[c[d>>2]>>2]&511](d),d=c[b+204>>2]|0,d|0):0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+196>>2]|0;if(d|0?(Db[c[c[d>>2]>>2]&511](d),e=c[b+196>>2]|0,e|0):0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}if(a[b+273>>0]|0?(f=c[b+200>>2]|0,Db[c[c[f>>2]>>2]&511](f),f=c[b+200>>2]|0,f|0):0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}d=c[b+316>>2]|0;if(d|0){if(a[b+320>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+316>>2]=0}a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;d=c[b+288>>2]|0;if(d|0){if(a[b+292>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;d=c[b+240>>2]|0;if(d|0){if(a[b+244>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;d=c[b+220>>2]|0;if(d|0){if(a[b+224>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;d=c[b+188>>2]|0;if(!d){a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;ok(b);return}if(a[b+192>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+188>>2]=0;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;ok(b);return}function fh(b,d,e,f,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0;p=Zt()|0;c[p+8>>2]=0;g[p+12>>2]=0.0;c[p>>2]=11396;c[p+4>>2]=24;c[p+64>>2]=b;c[p+68>>2]=d;g[p+72>>2]=h;g[p+76>>2]=i;g[p+80>>2]=+(b+-1|0);g[p+84>>2]=+(d+-1|0);g[p+88>>2]=f;c[p+92>>2]=e;c[p+96>>2]=k;a[p+100>>0]=l&1;a[p+101>>0]=0;a[p+102>>0]=0;c[p+104>>2]=j;c[p+108>>2]=1065353216;c[p+112>>2]=1065353216;c[p+116>>2]=1065353216;g[p+120>>2]=0.0;switch(j|0){case 0:{g[p+16>>2]=h;c[p+20>>2]=0;c[p+24>>2]=0;g[p+28>>2]=0.0;g[p+32>>2]=i;g[p+36>>2]=+(b+-1|0);g[p+40>>2]=+(d+-1|0);g[p+44>>2]=0.0;n=i;o=h;f=+(b+-1|0);m=0.0;i=+(d+-1|0);h=0.0;break}case 1:{c[p+16>>2]=0;g[p+20>>2]=h;c[p+24>>2]=0;g[p+28>>2]=0.0;g[p+32>>2]=+(b+-1|0);g[p+36>>2]=i;g[p+40>>2]=+(d+-1|0);g[p+44>>2]=0.0;n=+(b+-1|0);o=0.0;f=i;m=h;i=+(d+-1|0);h=0.0;break}case 2:{c[p+16>>2]=0;c[p+20>>2]=0;g[p+24>>2]=h;g[p+28>>2]=0.0;g[p+32>>2]=+(b+-1|0);g[p+36>>2]=+(d+-1|0);g[p+40>>2]=i;g[p+44>>2]=0.0;n=+(b+-1|0);o=0.0;f=+(d+-1|0);m=0.0;break}default:{n=+g[p+32>>2];o=+g[p+16>>2];f=+g[p+36>>2];m=+g[p+20>>2];i=+g[p+40>>2];h=+g[p+24>>2]}}g[p+48>>2]=(o+n)*.5;g[p+52>>2]=(m+f)*.5;g[p+56>>2]=(h+i)*.5;g[p+60>>2]=0.0;return p|0}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;while(1){m=c[a+12>>2]|0;n=c[m+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){l=c[(c[n+740>>2]|0)+208>>2]|0;if((l|0)>-1)while(1){i=m+(e<<2)|0;h=c[i>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(l|0))e=e+1|0;else{k=i;break}}else{i=c[(c[n+744>>2]|0)+208>>2]|0;while(1){j=m+(e<<2)|0;h=c[j>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(i|0))e=e+1|0;else{k=j;break}}}if((l|0)>-1)while(1){g=m+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+740>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+744>>2]|0)+208>>2]|0;if((l|0)<(h|0))f=f+-1|0;else break}else{j=c[(c[n+744>>2]|0)+208>>2]|0;while(1){g=m+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+740>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+744>>2]|0)+208>>2]|0;if((j|0)<(h|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){m=c[k>>2]|0;c[k>>2]=c[g>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=m;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;m=c[a+12>>2]|0}if((f|0)>(b|0))gh(a,b,f);if((e|0)<(d|0))b=e;else break}return}function hh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;h=k;k=k+64|0;a[d+84>>0]=0;c[h>>2]=c[b+4>>2];c[h+4>>2]=c[b+4+4>>2];c[h+8>>2]=c[b+4+8>>2];c[h+12>>2]=c[b+4+12>>2];c[h+16>>2]=c[b+20>>2];c[h+16+4>>2]=c[b+20+4>>2];c[h+16+8>>2]=c[b+20+8>>2];c[h+16+12>>2]=c[b+20+12>>2];c[h+32>>2]=c[b+36>>2];c[h+32+4>>2]=c[b+36+4>>2];c[h+32+8>>2]=c[b+36+8>>2];c[h+32+12>>2]=c[b+36+12>>2];c[h+48>>2]=c[b+52>>2];c[h+48+4>>2]=c[b+52+4>>2];c[h+48+8>>2]=c[b+52+8>>2];c[h+48+12>>2]=c[b+52+12>>2];if(e?(f=c[b+480>>2]|0,f|0):0)Jb[c[(c[f>>2]|0)+8>>2]&127](f,h);w=+g[d+156>>2];u=+g[h>>2];v=+g[d+160>>2];t=+g[h+4>>2];n=+g[d+164>>2];s=+g[h+8>>2];r=+g[h+16>>2];q=+g[h+20>>2];p=+g[h+24>>2];o=+g[h+32>>2];m=+g[h+36>>2];j=+g[h+40>>2];l=w*r+v*q+n*p+ +g[h+52>>2];i=w*o+v*m+n*j+ +g[h+56>>2];g[d+36>>2]=w*u+v*t+n*s+ +g[h+48>>2];g[d+40>>2]=l;g[d+44>>2]=i;g[d+48>>2]=0.0;i=+g[d+172>>2];l=+g[d+176>>2];n=+g[d+180>>2];g[d+52>>2]=u*i+t*l+s*n;g[d+56>>2]=i*r+l*q+n*p;g[d+60>>2]=i*o+l*m+n*j;g[d+64>>2]=0.0;n=+g[d+188>>2];l=+g[d+192>>2];i=+g[d+196>>2];g[d+68>>2]=u*n+t*l+s*i;g[d+72>>2]=r*n+q*l+p*i;g[d+76>>2]=o*n+m*l+j*i;g[d+80>>2]=0.0;k=h;return}function ih(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;break a}case 11:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=0;break a}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);b=c[f>>2]|0;e=c[f+4>>2]|0;c[d>>2]=f+8;c[a>>2]=b;c[a+4>>2]=e;break a}case 13:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&65535)<<16>>16;c[a+4>>2]=(((f&65535)<<16>>16|0)<0)<<31>>31;break a}case 14:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&65535;c[a+4>>2]=0;break a}case 15:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&255)<<24>>24;c[a+4>>2]=(((f&255)<<24>>24|0)<0)<<31>>31;break a}case 16:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&255;c[a+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function jh(b){b=b|0;if((a[28400]|0)==0?_A(28400)|0:0){a[30256]=0;c[7563]=12764}c[b+3672>>2]=30252;c[b+3676>>2]=30252;c[b+3680>>2]=30252;c[b+3684>>2]=30252;c[b+3688>>2]=30252;c[b+3692>>2]=30252;c[b+3696>>2]=30252;c[b+3700>>2]=30252;c[b+3704>>2]=30252;c[b+3708>>2]=30252;c[b+3712>>2]=30252;c[b+3716>>2]=30252;c[b+3720>>2]=30252;c[b+3724>>2]=30252;c[b+3728>>2]=30252;c[b+3732>>2]=30252;c[b+3736>>2]=30252;c[b+3740>>2]=30252;c[b+3744>>2]=30252;c[b+3748>>2]=30252;c[b+3752>>2]=30252;c[b+3756>>2]=30252;c[b+3760>>2]=30252;c[b+3764>>2]=30252;c[b+3768>>2]=30252;c[b+3776>>2]=30252;c[b+3780>>2]=30252;c[b+3784>>2]=30252;c[b+3788>>2]=30252;c[b+3792>>2]=30252;c[b+3796>>2]=30252;c[b+3800>>2]=30252;c[b+3804>>2]=30252;c[b+3808>>2]=30252;c[b+3812>>2]=30252;c[b+172>>2]=30252;c[b+316>>2]=30252;c[b+460>>2]=30252;c[b+604>>2]=30252;c[b+748>>2]=30252;c[b+892>>2]=30252;c[b+1036>>2]=30252;c[b+1180>>2]=30252;c[b+1324>>2]=30252;c[b+1468>>2]=30252;c[b+1612>>2]=30252;c[b+1756>>2]=30252;c[b+1900>>2]=30252;c[b+2044>>2]=30252;c[b+2188>>2]=30252;c[b+2332>>2]=30252;c[b+2476>>2]=30252;c[b+2620>>2]=30252;c[b+2764>>2]=30252;c[b+2908>>2]=30252;c[b+3052>>2]=30252;c[b+3196>>2]=30252;c[b+3340>>2]=30252;c[b+3484>>2]=30252;c[b+3628>>2]=30252;c[b+3772>>2]=30252;c[b+3916>>2]=30252;c[b+4060>>2]=30252;c[b+4204>>2]=30252;c[b+4348>>2]=30252;c[b+4492>>2]=30252;c[b+4636>>2]=30252;c[b+4780>>2]=30252;c[b+4924>>2]=30252;c[b+5068>>2]=30252;c[b+5212>>2]=30252;return}function kh(a,b,d,e,f,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2];t=+g[e+4>>2];q=+g[a+8>>2];o=+g[e+8>>2];u=+g[a+4>>2];n=+g[a>>2];w=+g[e>>2];x=(t*q-o*u)*+g[b>>2]+ +g[b+4>>2]*(o*n-q*w)+(u*w-t*n)*+g[b+8>>2];v=(t*q-o*u)*+g[b+16>>2]+(o*n-q*w)*+g[b+20>>2]+(u*w-t*n)*+g[b+24>>2];t=(t*q-o*u)*+g[b+32>>2]+(o*n-q*w)*+g[b+36>>2]+(u*w-t*n)*+g[b+40>>2];g[a+16>>2]=x;g[a+20>>2]=v;g[a+24>>2]=t;g[a+28>>2]=0.0;w=+g[f+4>>2];o=+g[f+8>>2];s=+g[f>>2];r=+g[d>>2]*(w*-q-o*-u)+ +g[d+4>>2]*(o*-n-s*-q)+(s*-u-w*-n)*+g[d+8>>2];p=(w*-q-o*-u)*+g[d+16>>2]+(o*-n-s*-q)*+g[d+20>>2]+(s*-u-w*-n)*+g[d+24>>2];n=(w*-q-o*-u)*+g[d+32>>2]+(o*-n-s*-q)*+g[d+36>>2]+(s*-u-w*-n)*+g[d+40>>2];g[a+32>>2]=r;g[a+36>>2]=p;g[a+40>>2]=n;g[a+44>>2]=0.0;w=+g[i>>2]*x;u=+g[i+4>>2]*v;s=+g[i+8>>2]*t;g[a+48>>2]=w;g[a+52>>2]=u;g[a+56>>2]=s;g[a+60>>2]=0.0;q=+g[k>>2]*r;o=+g[k+4>>2]*p;m=+g[k+8>>2]*n;g[a+64>>2]=q;g[a+68>>2]=o;g[a+72>>2]=m;g[a+76>>2]=0.0;g[a+80>>2]=x*w+v*u+t*s+j+l+(r*q+p*o+n*m);return}function lh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;w=k;k=k+2048|0;if((e|0)<=0){k=w;return}f=0;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));p=0;do{if((tb[c[(c[a>>2]|0)+96>>2]&255](a)|0)>0){q=b+(p<<4)|0;r=b+(p<<4)+4|0;s=b+(p<<4)+8|0;t=d+(p<<4)+12|0;u=d+(p<<4)|0;o=0;do{if(((tb[c[(c[a>>2]|0)+96>>2]&255](a)|0)-o|0)<128){f=(tb[c[(c[a>>2]|0)+96>>2]&255](a)|0)-o|0;if((f|0)>0)v=11;else{i=-3402823466385288598117041.0e14;f=-1}}else{f=128;v=11}if((v|0)==11){v=0;h=0;do{Nb[c[(c[a>>2]|0)+108>>2]&127](a,h,w+(h<<4)|0);h=h+1|0}while((h|0)!=(f|0));l=+g[q>>2];m=+g[r>>2];n=+g[s>>2];h=-1;j=0;i=-3402823466385288598117041.0e14;do{x=l*+g[w+(j<<4)>>2]+m*+g[w+(j<<4)+4>>2]+n*+g[w+(j<<4)+8>>2];y=x>i;h=y?j:h;i=y?x:i;j=j+1|0}while((j|0)!=(f|0));f=h}if(i>+g[t>>2]){y=w+(f<<4)|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2];g[t>>2]=i}o=o+128|0}while((o|0)<(tb[c[(c[a>>2]|0)+96>>2]&255](a)|0))}p=p+1|0}while((p|0)!=(e|0));k=w;return}function mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){l=c[a+12>>2]|0;m=c[l+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){k=c[(c[m+28>>2]|0)+208>>2]|0;if((k|0)>-1)while(1){i=l+(e<<2)|0;h=c[i>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(k|0))e=e+1|0;else{j=i;break}}else{i=c[(c[m+32>>2]|0)+208>>2]|0;while(1){j=l+(e<<2)|0;h=c[j>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(i|0))e=e+1|0;else break}}if((k|0)>-1)while(1){g=l+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+28>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+32>>2]|0)+208>>2]|0;if((k|0)<(h|0))f=f+-1|0;else break}else{k=c[(c[m+32>>2]|0)+208>>2]|0;while(1){g=l+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+28>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+32>>2]|0)+208>>2]|0;if((k|0)<(h|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){l=c[j>>2]|0;c[j>>2]=c[g>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=l;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;l=c[a+12>>2]|0}if((f|0)>(b|0))mh(a,b,f);if((e|0)<(d|0))b=e;else break}return}function nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0,v=0;u=k;k=k+16|0;h=c[a+52>>2]|0;t=+g[a+28+(((h+2|0)%3|0)<<2)>>2];if((e|0)<=0){k=u;return}f=0;while(1){c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+(h<<2)>>2]=c[a+28+(h<<2)>>2];h=b+(f<<4)|0;r=b+(f<<4)+4|0;s=b+(f<<4)+8|0;m=t*+g[h>>2]+ +g[u>>2];n=t*+g[r>>2]+ +g[u+4>>2];o=t*+g[s>>2]+ +g[u+8>>2];p=+jb[c[(c[a>>2]|0)+48>>2]&15](a);i=+g[h>>2];j=+g[r>>2];l=+g[s>>2];if(i*(m-p*i)+j*(n-p*j)+l*(o-p*l)>-999999984306749440.0){g[d+(f<<4)>>2]=m-p*i;g[d+(f<<4)+4>>2]=n-p*j;g[d+(f<<4)+8>>2]=o-p*l;g[d+(f<<4)+12>>2]=0.0;q=i*(m-p*i)+j*(n-p*j)+l*(o-p*l);i=+g[h>>2];j=+g[r>>2];l=+g[s>>2]}else q=-999999984306749440.0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;v=c[a+52>>2]|0;g[u+(v<<2)>>2]=-+g[a+28+(v<<2)>>2];p=t*i+ +g[u>>2];o=t*j+ +g[u+4>>2];m=t*l+ +g[u+8>>2];n=+jb[c[(c[a>>2]|0)+48>>2]&15](a);l=+g[h>>2];j=+g[r>>2];i=+g[s>>2];if(l*(p-n*l)+j*(o-n*j)+i*(m-n*i)>q){g[d+(f<<4)>>2]=p-n*l;g[d+(f<<4)+4>>2]=o-n*j;g[d+(f<<4)+8>>2]=m-n*i;g[d+(f<<4)+12>>2]=0.0}f=f+1|0;if((f|0)==(e|0))break;h=c[a+52>>2]|0}k=u;return}function oh(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=e|0;f=+f;h=h|0;var i=0.0,j=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;l=k;k=k+16|0;j=c*f+ +g[a+52>>2];i=d*f+ +g[a+56>>2];g[h+48>>2]=b*f+ +g[a+48>>2];g[h+52>>2]=j;g[h+56>>2]=i;g[h+60>>2]=0.0;i=+g[e>>2];j=+g[e+4>>2];d=+g[e+8>>2];b=+A(+(i*i+j*j+d*d));b=b*f>.7853981852531433?.7853981852531433/f:b;if(b<1.0000000474974513e-03)c=f*.5-b*f*f*f*.02083333395421505*b;else c=+D(+(b*.5*f))/b;n=d*c;o=j*c;p=i*c;r=+C(+(b*f*.5));Vh(a,l);b=+g[l>>2];q=+g[l+12>>2];i=+g[l+8>>2];f=+g[l+4>>2];c=1.0/+A(+((r*q-p*b-o*f-n*i)*(r*q-p*b-o*f-n*i)+((n*q+r*i+p*f-o*b)*(n*q+r*i+p*f-o*b)+((r*b+p*q+o*i-n*f)*(r*b+p*q+o*i-n*f)+(n*b+(o*q+r*f)-p*i)*(n*b+(o*q+r*f)-p*i)))));d=(r*b+p*q+o*i-n*f)*c;j=(n*b+(o*q+r*f)-p*i)*c;m=(n*q+r*i+p*f-o*b)*c;c=(r*q-p*b-o*f-n*i)*c;i=d*(2.0/(c*c+(m*m+(d*d+j*j))));f=j*(2.0/(c*c+(m*m+(d*d+j*j))));b=m*(2.0/(c*c+(m*m+(d*d+j*j))));g[h>>2]=1.0-(j*f+m*b);g[h+4>>2]=d*f-c*b;g[h+8>>2]=d*b+c*f;g[h+12>>2]=0.0;g[h+16>>2]=d*f+c*b;g[h+20>>2]=1.0-(d*i+m*b);g[h+24>>2]=j*b-c*i;g[h+28>>2]=0.0;g[h+32>>2]=d*b-c*f;g[h+36>>2]=j*b+c*i;g[h+40>>2]=1.0-(d*i+j*f);g[h+44>>2]=0.0;k=l;return}function ph(b,d){b=b|0;d=d|0;var e=0;e=fu()|0;kk(e,5,b);c[e>>2]=7888;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];c[e+316>>2]=c[d+16>>2];c[e+316+4>>2]=c[d+16+4>>2];c[e+316+8>>2]=c[d+16+8>>2];c[e+316+12>>2]=c[d+16+12>>2];c[e+332>>2]=c[d+32>>2];c[e+332+4>>2]=c[d+32+4>>2];c[e+332+8>>2]=c[d+32+8>>2];c[e+332+12>>2]=c[d+32+12>>2];c[e+348>>2]=c[d+48>>2];c[e+348+4>>2]=c[d+48+4>>2];c[e+348+8>>2]=c[d+48+8>>2];c[e+348+12>>2]=c[d+48+12>>2];a[e+527>>0]=0;c[e+364>>2]=c[e+300>>2];c[e+364+4>>2]=c[e+300+4>>2];c[e+364+8>>2]=c[e+300+8>>2];c[e+364+12>>2]=c[e+300+12>>2];c[e+380>>2]=c[e+316>>2];c[e+380+4>>2]=c[e+316+4>>2];c[e+380+8>>2]=c[e+316+8>>2];c[e+380+12>>2]=c[e+316+12>>2];c[e+396>>2]=c[e+332>>2];c[e+396+4>>2]=c[e+332+4>>2];c[e+396+8>>2]=c[e+332+8>>2];c[e+396+12>>2]=c[e+332+12>>2];a[e+524>>0]=0;a[e+525>>0]=0;a[e+526>>0]=0;a[e+552>>0]=0;c[e+412>>2]=0;c[e+412+4>>2]=0;c[e+412+8>>2]=0;c[e+412+12>>2]=0;g[e+572>>2]=-1.0;g[e+444>>2]=999999984306749440.0;g[e+448>>2]=999999984306749440.0;g[e+452>>2]=999999984306749440.0;g[e+428>>2]=1.0;g[e+432>>2]=.30000001192092896;g[e+436>>2]=1.0;g[e+440>>2]=.009999999776482582;g[e+456>>2]=.05000000074505806;c[e+592>>2]=0;g[e+596>>2]=0.0;g[e+600>>2]=.699999988079071;g[e+604>>2]=0.0;return e|0}function qh(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var l=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0;r=k;k=k+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;p=c[a+96>>2]|0;if((p|0)>0){n=0;do{t=c[a+104>>2]|0;s=+g[t+(n<<4)>>2]*+g[a+12>>2];q=+g[t+(n<<4)+4>>2]*+g[a+16>>2];o=+g[t+(n<<4)+8>>2]*+g[a+20>>2];l=s*+g[b>>2]+q*+g[b+4>>2]+o*+g[b+8>>2]+ +g[b+48>>2];m=s*+g[b+16>>2]+q*+g[b+20>>2]+o*+g[b+24>>2]+ +g[b+52>>2];o=s*+g[b+32>>2]+q*+g[b+36>>2]+o*+g[b+40>>2]+ +g[b+56>>2];q=l*+g[d>>2]+m*+g[d+4>>2]+o*+g[d+8>>2];if(q<+g[e>>2]){g[e>>2]=q;g[h>>2]=l;g[h+4>>2]=m;g[h+8>>2]=o;g[h+12>>2]=0.0}if(q>+g[f>>2]){g[f>>2]=q;g[i>>2]=l;g[i+4>>2]=m;g[i+8>>2]=o;g[i+12>>2]=0.0}n=n+1|0}while((n|0)!=(p|0));s=+g[f>>2];m=s;n=(g[j>>2]=s,c[j>>2]|0)}else{m=-3402823466385288598117041.0e14;n=-8388609}l=+g[e>>2];if(!(l>m)){k=r;return}c[e>>2]=n;g[f>>2]=l;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];k=r;return}function rh(a,b){a=a|0;b=b|0;var d=0,e=0;d=k;k=k+48|0;e=(c[a+48>>2]|0)+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=d+32+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g[d+32>>2]=1.0;Nb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+32>>2]=+g[d+16>>2]+ +g[a+12>>2];g[d+32>>2]=-1.0;Nb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+16>>2]=+g[d+16>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[b>>2]=1.0;Nb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+36>>2]=+g[d+16+4>>2]+ +g[a+12>>2];g[b>>2]=-1.0;Nb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+20>>2]=+g[d+16+4>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;g[d+32+8>>2]=1.0;Nb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+40>>2]=+g[d+16+8>>2]+ +g[a+12>>2];g[d+32+8>>2]=-1.0;Nb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];g[a+24>>2]=+g[d+16+8>>2]-+g[a+12>>2];k=d;return}function sh(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=c[b+8>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+12>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+20>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+24>>2]|0;if(f|0?(c[f+204>>2]&3|0)==0:0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}f=c[b+156>>2]|0;c[b+156>>2]=f+1;a[b+152>>0]=(f|0)>=(c[b+160>>2]|0)&1;if(f|0){c[b+72>>2]=0;c[b+72+4>>2]=0;c[b+72+8>>2]=0;c[b+72+12>>2]=0;c[b+72+16>>2]=0;c[b+72+20>>2]=0;c[b+72+24>>2]=0;c[b+72+28>>2]=0;return}j=+g[b+64>>2];i=1.0/d*+g[b+72>>2]*j;h=1.0/d*j*+g[b+76>>2];d=1.0/d*j*+g[b+80>>2];g[b+72>>2]=i;g[b+76>>2]=h;g[b+80>>2]=d;g[b+84>>2]=0.0;j=+g[b+68>>2];if(j>0.0){l=j*i*+g[b+120>>2]+j*h*+g[b+124>>2]+j*d*+g[b+128>>2];k=j*i*+g[b+136>>2]+j*h*+g[b+140>>2]+j*d*+g[b+144>>2];g[b+88>>2]=j*i*+g[b+104>>2]+j*h*+g[b+108>>2]+j*d*+g[b+112>>2];g[b+92>>2]=l;g[b+96>>2]=k;g[b+100>>2]=0.0;g[b+72>>2]=(1.0-j)*i;g[b+76>>2]=(1.0-j)*h;g[b+80>>2]=(1.0-j)*d;i=(1.0-j)*i;h=(1.0-j)*h;d=(1.0-j)*d}g[b+72>>2]=1.0/+(e|0)*i;g[b+76>>2]=1.0/+(e|0)*h;g[b+80>>2]=1.0/+(e|0)*d;return}function th(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;j=k;k=k+48|0;n=+g[d>>2];o=+g[d+4>>2];m=+g[d+8>>2];p=n*+g[b+4>>2]+o*+g[b+20>>2]+m*+g[b+36>>2];q=n*+g[b+8>>2]+o*+g[b+24>>2]+m*+g[b+40>>2];g[j+32>>2]=+g[b>>2]*n+ +g[b+16>>2]*o+ +g[b+32>>2]*m;g[j+32+4>>2]=p;g[j+32+8>>2]=q;g[j+32+12>>2]=0.0;Nb[c[(c[a>>2]|0)+64>>2]&127](j+16|0,a,j+32|0);q=+g[j+16>>2];p=+g[j+16+4>>2];m=+g[j+16+8>>2];o=q*+g[b>>2]+p*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];n=q*+g[b+16>>2]+p*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];m=q*+g[b+32>>2]+p*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];r=c[(c[a>>2]|0)+64>>2]|0;p=-+g[j+32+4>>2];q=-+g[j+32+8>>2];g[j>>2]=-+g[j+32>>2];g[j+4>>2]=p;g[j+8>>2]=q;g[j+12>>2]=0.0;Nb[r&127](j+16|0,a,j);q=+g[j+16>>2];p=+g[j+16+4>>2];h=+g[j+16+8>>2];l=q*+g[b>>2]+p*+g[b+4>>2]+h*+g[b+8>>2]+ +g[b+48>>2];i=q*+g[b+16>>2]+p*+g[b+20>>2]+h*+g[b+24>>2]+ +g[b+52>>2];h=q*+g[b+32>>2]+p*+g[b+36>>2]+h*+g[b+40>>2]+ +g[b+56>>2];g[e>>2]=o*+g[d>>2]+n*+g[d+4>>2]+m*+g[d+8>>2];h=l*+g[d>>2]+i*+g[d+4>>2]+h*+g[d+8>>2];g[f>>2]=h;i=+g[e>>2];if(!(i>h)){k=j;return}g[e>>2]=h;g[f>>2]=i;k=j;return}function uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=k;k=k+16|0;j=c[a+12>>2]|0;l=c[j+(((d+b|0)/2|0)<<4)>>2]|0;m=c[j+(((d+b|0)/2|0)<<4)+4>>2]|0;n=c[j+(((d+b|0)/2|0)<<4)+8>>2]|0;f=d;e=b;while(1){while(1){i=j+(e<<4)|0;g=c[j+(e<<4)+4>>2]|0;if((g|0)>=(m|0)){if((g|0)!=(m|0))break;g=c[i>>2]|0;if((g|0)>=(l|0)){if((g|0)!=(l|0))break;if((c[j+(e<<4)+8>>2]|0)>=(n|0))break}}e=e+1|0}while(1){h=j+(f<<4)|0;g=c[j+(f<<4)+4>>2]|0;if((m|0)>=(g|0)){if((m|0)!=(g|0))break;g=c[h>>2]|0;if((l|0)>=(g|0)){if((l|0)!=(g|0))break;if((n|0)>=(c[j+(f<<4)+8>>2]|0))break}}f=f+-1|0}if((e|0)<=(f|0)){c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];j=(c[a+12>>2]|0)+(f<<4)|0;c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];f=f+-1|0;e=e+1|0}if((e|0)>(f|0))break;j=c[a+12>>2]|0}if((f|0)>(b|0))uh(a,b,f);if((e|0)>=(d|0)){k=o;return}uh(a,e,d);k=o;return}function vh(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,i=0,j=0;i=c[a+28>>2]|0;e=0.0;f=0.0;h=0.0;j=0;a:while(1){switch(j&2147483647|0){case 0:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 1:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 2:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 3:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 4:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 5:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+84>>2]+ +g[a+68>>2];h=+g[a+72>>2]-+g[a+88>>2];break}case 6:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+88>>2]+ +g[a+72>>2];break}case 7:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+68>>2]-+g[a+84>>2];h=+g[a+72>>2]-+g[a+88>>2];break}default:{}}if((i|0)>0){d=c[a+36>>2]|0;b=0;do{if(+g[d+(b*36|0)+32>>2]+(e*+g[d+(b*36|0)+20>>2]+f*+g[d+(b*36|0)+24>>2]+h*+g[d+(b*36|0)+28>>2])>0.0){b=0;d=16;break a}b=b+1|0}while((b|0)<(i|0))}j=j+1|0;if(j>>>0>=8){b=1;d=16;break}}if((d|0)==16)return b|0;return 0}function wh(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0;r=k;k=k+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;q=c[a+8>>2]|0;if((q|0)>0){n=0;do{t=c[a+16>>2]|0;s=+g[t+(n<<4)>>2];p=+g[t+(n<<4)+4>>2];o=+g[t+(n<<4)+8>>2];l=s*+g[b>>2]+p*+g[b+4>>2]+o*+g[b+8>>2]+ +g[b+48>>2];m=s*+g[b+16>>2]+p*+g[b+20>>2]+o*+g[b+24>>2]+ +g[b+52>>2];o=s*+g[b+32>>2]+p*+g[b+36>>2]+o*+g[b+40>>2]+ +g[b+56>>2];p=l*+g[d>>2]+m*+g[d+4>>2]+o*+g[d+8>>2];if(p<+g[e>>2]){g[e>>2]=p;g[h>>2]=l;g[h+4>>2]=m;g[h+8>>2]=o;g[h+12>>2]=0.0}if(p>+g[f>>2]){g[f>>2]=p;g[i>>2]=l;g[i+4>>2]=m;g[i+8>>2]=o;g[i+12>>2]=0.0}n=n+1|0}while((n|0)!=(q|0));s=+g[f>>2];m=s;n=(g[j>>2]=s,c[j>>2]|0)}else{m=-3402823466385288598117041.0e14;n=-8388609}l=+g[e>>2];if(!(l>m)){k=r;return}c[e>>2]=n;g[f>>2]=l;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];k=r;return}function xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0;if((c[a>>2]|0)==(b|0)){c[a>>2]=0;a=0;return a|0}e=c[b+32>>2]|0;d=c[e+32>>2]|0;b=c[e+36+(((c[e+40>>2]|0)!=(b|0)&1)<<2)>>2]|0;if(!d){c[a>>2]=b;c[b+32>>2]=0;d=c[a+4>>2]|0;if(!d)d=b;else{c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);d=c[a>>2]|0}c[a+4>>2]=e;a=d;return a|0}c[d+36+(((c[d+40>>2]|0)==(e|0)&1)<<2)>>2]=b;c[b+32>>2]=d;b=c[a+4>>2]|0;if(b|0){c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0)}c[a+4>>2]=e;do{q=+g[d>>2];x=d+4|0;o=+g[x>>2];v=d+8|0;m=+g[v>>2];y=d+16|0;s=+g[y>>2];w=d+20|0;k=+g[w>>2];e=d+24|0;i=+g[e>>2];u=c[d+36>>2]|0;b=c[d+40>>2]|0;t=+g[u>>2];p=+g[b>>2];p=t<p?t:p;g[d>>2]=p;t=+g[u+16>>2];r=+g[b+16>>2];r=t>r?t:r;g[y>>2]=r;t=+g[u+4>>2];n=+g[b+4>>2];n=t<n?t:n;g[x>>2]=n;t=+g[u+20>>2];j=+g[b+20>>2];j=t>j?t:j;g[w>>2]=j;t=+g[u+8>>2];l=+g[b+8>>2];l=t<l?t:l;g[v>>2]=l;t=+g[u+24>>2];h=+g[b+24>>2];h=t>h?t:h;g[e>>2]=h;if(!(s!=r|(q!=p|o!=n|m!=l))?!(k!=j|i!=h):0){f=14;break}d=c[d+32>>2]|0}while((d|0)!=0);if((f|0)==14)return d|0;y=c[a>>2]|0;return y|0}function yh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0;n=k;k=k+16|0;if((f|0)>-3){c[7584]=(c[7584]|0)+1;a=lc((f+3<<4|3)+16|0)|0;if(!a)m=0;else{c[(a+4+15&-16)+-4>>2]=a;m=a+4+15&-16}a=0;do{i=m+(a<<4)|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];a=a+1|0}while((a|0)!=(f+3|0));h=0;i=m;while(1){if(!h)j=0.0;else{a=h;j=0.0;l=.5;while(1){j=(a&1|0)==0?j:j+l;a=1?a>>1:a;if(!a)break;else l=l*.5}}l=j*2.0+-1.0;p=(+(h<<1|0)*3.1415927410125732+3.1415927410125732)/+(f+3|0);o=+A(+(1.0-l*l));j=+D(+p)*o;g[i>>2]=+C(+p)*o;g[i+4>>2]=j;g[i+8>>2]=l;g[i+12>>2]=0.0;h=h+1|0;if((h|0)==(f+3|0))break;else i=i+16|0}a=0;do{q=m+(a<<4)|0;h=m+(a<<4)+4|0;i=m+(a<<4)+8|0;o=+g[h>>2]*+g[e+4>>2]+ +g[d+4>>2];p=+g[i>>2]*+g[e+8>>2]+ +g[d+8>>2];g[q>>2]=+g[q>>2]*+g[e>>2]+ +g[d>>2];g[h>>2]=o;g[i>>2]=p;g[m+(a<<4)+12>>2]=0.0;a=a+1|0}while((a|0)<(f+3|0));i=m;h=m}else{i=0;h=0}a=Cd(b,i,f+3|0,1)|0;if((i|0)==0|(h|0)==0){k=n;return a|0}c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);k=n;return a|0}function zh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=k;k=k+32|0;j=(a[b+28>>0]|0)!=0;l=j?e:d;j=j?d:e;h=c[l+4>>2]|0;i=c[h+16>>2]|0;g=c[b+12>>2]|0;if((g|0)<(i|0)){if((c[b+16>>2]|0)<(i|0)){if(!i){d=0;f=g}else{c[7584]=(c[7584]|0)+1;d=lc((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=c[b+12>>2]|0}if((f|0)>0){e=0;do{c[d+(e<<2)>>2]=c[(c[b+20>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+20>>2]|0;if(e|0){if(a[b+24>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=d;c[b+16>>2]=i;e=b+20|0}else e=b+20|0;d=g;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(i|0))}c[b+12>>2]=i;if((i|0)<=0){k=m;return}d=0;do{if(!(c[h+64>>2]|0)){e=c[(c[h+24>>2]|0)+(d*80|0)+64>>2]|0;f=c[l+8>>2]|0;g=c[l+12>>2]|0;c[m>>2]=l;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=-1;c[m+20>>2]=d;g=c[b+4>>2]|0;g=yb[c[(c[g>>2]|0)+8>>2]&31](g,m,j,c[b+32>>2]|0)|0;c[(c[b+20>>2]|0)+(d<<2)>>2]=g}else c[(c[b+20>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(i|0));k=m;return}function Ah(a,b,e){a=a|0;b=b|0;e=e|0;ri(a,b,e)|0;c[b+52>>2]=c[a+48>>2];c[b+56>>2]=c[a+52>>2];c[b+60>>2]=c[a+56>>2];c[b+64>>2]=c[a+60>>2];c[b+68>>2]=c[a+64>>2];c[b+72>>2]=c[a+68>>2];c[b+76>>2]=c[a+72>>2];c[b+80>>2]=c[a+76>>2];c[b+84>>2]=c[a+80>>2];c[b+88>>2]=c[a+84>>2];c[b+92>>2]=c[a+88>>2];c[b+96>>2]=c[a+92>>2];c[b+100>>2]=c[a+96>>2];c[b+104>>2]=c[a+100>>2];c[b+108>>2]=c[a+104>>2];c[b+112>>2]=c[a+108>>2];c[b+116>>2]=c[a+112>>2];c[b+120>>2]=c[a+116>>2];c[b+124>>2]=c[a+120>>2];c[b+128>>2]=c[a+124>>2];c[b+132>>2]=c[a+128>>2];c[b+136>>2]=c[a+132>>2];c[b+140>>2]=c[a+136>>2];c[b+144>>2]=c[a+140>>2];c[b+148>>2]=c[a+144>>2];c[b+152>>2]=c[a+148>>2];c[b+156>>2]=c[a+152>>2];c[b+160>>2]=c[a+156>>2];c[b+164>>2]=c[a+160>>2];c[b+168>>2]=c[a+164>>2];c[b+172>>2]=c[a+168>>2];c[b+176>>2]=c[a+172>>2];c[b+228>>2]=c[a+868>>2];c[b+212>>2]=c[a+872>>2];c[b+196>>2]=c[a+680>>2];c[b+180>>2]=c[a+696>>2];c[b+232>>2]=c[a+932>>2];c[b+216>>2]=c[a+936>>2];c[b+200>>2]=c[a+684>>2];c[b+184>>2]=c[a+700>>2];c[b+236>>2]=c[a+996>>2];c[b+220>>2]=c[a+1e3>>2];c[b+204>>2]=c[a+688>>2];c[b+188>>2]=c[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];return 18003}function Bh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=c[b+32>>2]|0;if(!e)f=0;else f=c[b+40>>2]|0;i=c[b+52>>2]|0;if(!i)g=0;else g=c[b+60>>2]|0;d=c[b+72>>2]|0;if(!d)h=0;else h=c[b+80>>2]|0;j=c[b+8>>2]|0;+sb[c[(c[j>>2]|0)+12>>2]&3](j,f,e,g,i,h,d,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);d=c[b+32>>2]|0;if((d|0)<0){if((c[b+36>>2]|0)<0){e=c[b+40>>2]|0;if(e|0){if(a[b+44>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+32>>2]=0;d=c[b+52>>2]|0;if((d|0)<0){if((c[b+56>>2]|0)<0){e=c[b+60>>2]|0;if(e|0){if(a[b+64>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+56>>2]=0}do{c[(c[b+60>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+52>>2]=0;d=c[b+72>>2]|0;if((d|0)>=0){c[b+72>>2]=0;return}if((c[b+76>>2]|0)<0){e=c[b+80>>2]|0;if(e|0){if(a[b+84>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+76>>2]=0}do{c[(c[b+80>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0);c[b+72>>2]=0;return}function Ch(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[7584]=(c[7584]|0)+1;d=lc(39)|0;if(!d)g=0;else{c[(d+4+15&-16)+-4>>2]=d;g=d+4+15&-16}h=g;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;if((c[b+872>>2]|0)>0){i=c[c[b+880>>2]>>2]|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2]}else{c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0}e=c[b+872>>2]|0;if((e|0)!=(c[b+876>>2]|0)){i=e;f=b+880|0;f=c[f>>2]|0;f=f+(i<<2)|0;c[f>>2]=h;i=i+1|0;c[b+872>>2]=i;return g|0}i=(e|0)==0?1:e<<1;if((e|0)>=(i|0)){i=e;f=b+880|0;f=c[f>>2]|0;f=f+(i<<2)|0;c[f>>2]=h;i=i+1|0;c[b+872>>2]=i;return g|0}if(!i)d=0;else{c[7584]=(c[7584]|0)+1;d=lc((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+872>>2]|0}if((e|0)>0){f=0;do{c[d+(f<<2)>>2]=c[(c[b+880>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+880>>2]|0;if(f){if(a[b+884>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);e=c[b+872>>2]|0}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=d;c[b+876>>2]=i;i=e;f=b+880|0;f=c[f>>2]|0;f=f+(i<<2)|0;c[f>>2]=h;i=i+1|0;c[b+872>>2]=i;return g|0}function Dh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c[b+4>>2]|0;if((e|0)==(c[b+8>>2]|0)){Xf(b,(e|0)==0?1:e<<1);e=c[b+4>>2]|0}o=c[b+12>>2]|0;j=o+(e*36|0)+16|0;a[j>>0]=1;k=o+(e*36|0)+12|0;c[k>>2]=0;l=o+(e*36|0)+4|0;c[l>>2]=0;m=o+(e*36|0)+8|0;c[m>>2]=0;p=c[d+4>>2]|0;if((p|0)<=0){c[l>>2]=p;p=o+(e*36|0)+20|0;d=d+20|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}c[7584]=(c[7584]|0)+1;f=lc((p<<2|3)+16|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}h=c[l>>2]|0;i=c[k>>2]|0;if((h|0)<=0){if(i|0)n=10}else{f=0;do{c[g+(f<<2)>>2]=c[i+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));n=10}if((n|0)==10?a[j>>0]|0:0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}a[j>>0]=1;c[k>>2]=g;c[m>>2]=p;Bl(g|0,0,p<<2|0)|0;c[l>>2]=p;g=c[k>>2]|0;h=c[d+12>>2]|0;f=0;do{c[g+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(p|0));p=o+(e*36|0)+20|0;d=d+20|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}function Eh(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0.0;Qb[c[(c[a>>2]|0)+8>>2]&127](a,b,f,h);n=c[h>>2]|0;k=c[h+4>>2]|0;b=c[h+8>>2]|0;l=c[f>>2]|0;o=c[f+4>>2]|0;i=c[f+8>>2]|0;m=+g[d>>2];p=+g[d+4>>2];q=+g[d+8>>2];if(m>0.0)n=(g[j>>2]=m+(c[j>>2]=n,+g[j>>2]),c[j>>2]|0);else l=(g[j>>2]=m+(c[j>>2]=l,+g[j>>2]),c[j>>2]|0);if(p>0.0){d=o;k=(g[j>>2]=p+(c[j>>2]=k,+g[j>>2]),c[j>>2]|0)}else d=(g[j>>2]=p+(c[j>>2]=o,+g[j>>2]),c[j>>2]|0);if(q>0.0)b=(g[j>>2]=q+(c[j>>2]=b,+g[j>>2]),c[j>>2]|0);else i=(g[j>>2]=q+(c[j>>2]=i,+g[j>>2]),c[j>>2]|0);m=+g[e>>2];p=+g[e+4>>2];q=+g[e+8>>2];q=+A(+(m*m+p*p+q*q));q=q*+jb[c[(c[a>>2]|0)+16>>2]&15](a);c[f>>2]=l;c[f+4>>2]=d;c[f+8>>2]=i;g[f+12>>2]=0.0;c[h>>2]=n;c[h+4>>2]=k;c[h+8>>2]=b;g[h+12>>2]=0.0;g[f>>2]=+g[f>>2]-q;g[f+4>>2]=+g[f+4>>2]-q;g[f+8>>2]=+g[f+8>>2]-q;g[h>>2]=q+ +g[h>>2];g[h+4>>2]=q+ +g[h+4>>2];g[h+8>>2]=q+ +g[h+8>>2];return}function Fh(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;j=c[b+712>>2]|0;if(e){if((j|0)>0){f=c[b+720>>2]|0;e=0;do{g[f+(e*104|0)+88>>2]=0.0;e=e+1|0}while((e|0)!=(j|0))}f=c[b+752>>2]|0;if((f|0)>0){i=c[b+760>>2]|0;e=0;do{m=c[i+(e*44|0)+8>>2]|0;l=c[i+(e*44|0)+12>>2]|0;k=c[i+(e*44|0)+16>>2]|0;o=+g[m+8>>2];q=+g[m+12>>2];h=+g[m+16>>2];n=+g[l+8>>2]-o;r=+g[l+12>>2]-q;p=+g[l+16>>2]-h;o=+g[k+8>>2]-o;q=+g[k+12>>2]-q;h=+g[k+16>>2]-h;h=+A(+((n*q-r*o)*(n*q-r*o)+((r*h-p*q)*(r*h-p*q)+(p*o-n*h)*(p*o-n*h))));g[m+88>>2]=h+ +g[m+88>>2];g[l+88>>2]=h+ +g[l+88>>2];g[k+88>>2]=h+ +g[k+88>>2];e=e+1|0}while((e|0)!=(f|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}f=c[b+720>>2]|0;e=0;do{m=f+(e*104|0)+88|0;g[m>>2]=1.0/+g[m>>2];e=e+1|0}while((e|0)!=(j|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}f=c[b+720>>2]|0;e=0;h=0.0;do{r=+g[f+(e*104|0)+88>>2];h=h+(r>0.0?1.0/r:0.0);e=e+1|0}while((e|0)!=(j|0));h=1.0/h*d;e=0;do{m=f+(e*104|0)+88|0;g[m>>2]=+g[m>>2]/h;e=e+1|0}while((e|0)!=(j|0));m=b+924|0;a[m>>0]=1;return}function Gh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;l=+g[d>>2];if(+g[b>>2]<=l){j=+g[d+4>>2];if((((+g[b+4>>2]<=j?+g[b+8>>2]<=+g[d+8>>2]:0)?+g[b+16>>2]>=+g[d+16>>2]:0)?+g[b+20>>2]>=+g[d+20>>2]:0)?+g[b+24>>2]>=+g[d+24>>2]:0){d=0;return d|0}else h=d+4|0}else{h=d+4|0;j=+g[d+4>>2]}g[d>>2]=l-f;n=j-f;g[h>>2]=n;j=+g[d+8>>2]-f;g[d+8>>2]=j;q=+g[d+16>>2]+f;g[d+16>>2]=q;o=+g[d+20>>2]+f;g[d+20>>2]=o;m=+g[d+24>>2]+f;g[d+24>>2]=m;p=+g[e>>2];g[(p>0.0?d+16|0:d)>>2]=(p>0.0?q:l-f)+p;l=+g[e+4>>2];g[(l>0.0?d+20|0:h)>>2]=(l>0.0?o:n)+l;l=+g[e+8>>2];g[(l>0.0?d+24|0:d+8|0)>>2]=(l>0.0?m:j)+l;h=xh(a,b)|0;a:do if(h){k=c[a+8>>2]|0;if((k|0)<=-1){h=c[a>>2]|0;break}if(k){e=0;while(1){i=c[h+32>>2]|0;e=e+1|0;if(!i)break a;if((e|0)>=(k|0)){h=i;break}else h=i}}}else h=0;while(0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];tf(a,h,b);d=1;return d|0}function Hh(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0;d=k;k=k+144|0;ar(d+112|0,+g[a+16>>2],+g[a+20>>2],+g[a+24>>2],+g[a>>2],+g[a+4>>2],+g[a+8>>2]);Kr(d+128|0,+g[d+112>>2],+g[d+112+4>>2],+g[d+112+8>>2],.5);i=+g[d+128>>2];j=+g[d+128+4>>2];l=+g[d+128+8>>2];cr(d+96|0,+g[a+16>>2],+g[a+20>>2],+g[a+24>>2],i,j,l);Rm(d+128|0,b,i,j,l);b=DK(b)|0;m=mI(b,0)|0;mr(d+64|0,+g[m>>2],+g[m+4>>2],+g[m+8>>2]);m=mI(b,1)|0;mr(d+48|0,+g[m>>2],+g[m+4>>2],+g[m+8>>2]);b=mI(b,2)|0;mr(d+32|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);En(d+80|0,+g[d+96>>2],+g[d+96+4>>2],+g[d+96+8>>2],+g[d+64>>2],+g[d+64+4>>2],+g[d+64+8>>2],+g[d+48>>2],+g[d+48+4>>2],+g[d+48+8>>2],+g[d+32>>2],+g[d+32+4>>2],+g[d+32+8>>2]);l=+g[d+128>>2];j=+g[d+128+4>>2];i=+g[d+128+8>>2];h=+g[d+80>>2];f=+g[d+80+4>>2];e=+g[d+80+8>>2];cr(d+16|0,l,j,i,h,f,e);c[a>>2]=c[d+16>>2];c[a+4>>2]=c[d+16+4>>2];c[a+8>>2]=c[d+16+8>>2];c[a+12>>2]=c[d+16+12>>2];ar(d,l,j,i,h,f,e);c[a+16>>2]=c[d>>2];c[a+16+4>>2]=c[d+4>>2];c[a+16+8>>2]=c[d+8>>2];c[a+16+12>>2]=c[d+12>>2];k=d;return}function Ih(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0.0,l=0.0;e=c[d+204>>2]|0;if((e&3|0)==0?(c[d+504>>2]&1|0)==0:0){h=+g[d+344>>2];if(h!=0.0){l=1.0/h*+g[b+252>>2];k=1.0/h*+g[b+256>>2];g[d+364>>2]=1.0/h*+g[b+248>>2];g[d+368>>2]=l;g[d+372>>2]=k;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(e&1)if((c[d+216>>2]&-2|0)==4)e=e&3;else{c[d+216>>2]=2;e=e&3}else{f=c[b+232>>2]|0;if((f|0)==(c[b+236>>2]|0)?(j=(f|0)==0?1:f<<1,(f|0)<(j|0)):0){if(!j)e=0;else{c[7584]=(c[7584]|0)+1;e=lc((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+232>>2]|0}if((f|0)>0){i=0;do{c[e+(i<<2)>>2]=c[(c[b+240>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+240>>2]|0;if(i){if(a[b+244>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);f=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=e;c[b+236>>2]=j;e=c[d+204>>2]&3}else e=e&3;c[(c[b+240>>2]|0)+(f<<2)>>2]=d;c[b+232>>2]=f+1}j=(e|0)!=0;Qb[c[(c[b>>2]|0)+36>>2]&127](b,d,j?2:1,j?-3:-1);return}function Jh(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0.0,j=0.0;h=k;k=k+240|0;Kr(h+224|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],d);Sk(b,h+208|0,h+192|0);Kr(h+160|0,+g[h+208>>2],+g[h+208+4>>2],+g[h+208+8>>2],100.0);j=+g[h+224>>2];i=+g[h+224+4>>2];d=+g[h+224+8>>2];ar(h+176|0,j,i,d,+g[h+160>>2],+g[h+160+4>>2],+g[h+160+8>>2]);Kr(h+128|0,+g[h+208>>2],+g[h+208+4>>2],+g[h+208+8>>2],100.0);cr(h+144|0,j,i,d,+g[h+128>>2],+g[h+128+4>>2],+g[h+128+8>>2]);Kr(h+96|0,+g[h+192>>2],+g[h+192+4>>2],+g[h+192+8>>2],100.0);ar(h+112|0,j,i,d,+g[h+96>>2],+g[h+96+4>>2],+g[h+96+8>>2]);Kr(h+64|0,+g[h+192>>2],+g[h+192+4>>2],+g[h+192+8>>2],100.0);cr(h+80|0,j,i,d,+g[h+64>>2],+g[h+64+4>>2],+g[h+64+8>>2]);b=c[(c[a>>2]|0)+8>>2]|0;Lx(h+48|0,e,+g[h+176>>2],+g[h+176+4>>2],+g[h+176+8>>2]);Lx(h+32|0,e,+g[h+144>>2],+g[h+144+4>>2],+g[h+144+8>>2]);Qb[b&127](a,h+48|0,h+32|0,f);b=c[(c[a>>2]|0)+8>>2]|0;Lx(h+16|0,e,+g[h+112>>2],+g[h+112+4>>2],+g[h+112+8>>2]);Lx(h,e,+g[h+80>>2],+g[h+80+4>>2],+g[h+80+8>>2]);Qb[b&127](a,h+16|0,h,f);k=h;return}function Kh(b){b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0;g[b+16>>2]=3402823466385288598117041.0e14;g[b+20>>2]=3402823466385288598117041.0e14;g[b+24>>2]=3402823466385288598117041.0e14;g[b+32>>2]=-3402823466385288598117041.0e14;g[b+36>>2]=-3402823466385288598117041.0e14;g[b+40>>2]=-3402823466385288598117041.0e14;d=c[b+152>>2]|0;if(!d)return;n=c[b+160>>2]|0;f=-3402823466385288598117041.0e14;i=-3402823466385288598117041.0e14;h=-3402823466385288598117041.0e14;l=3402823466385288598117041.0e14;k=3402823466385288598117041.0e14;m=3402823466385288598117041.0e14;while(1){d=d+-1|0;e=c[n+(d<<2)>>2]|0;if(a[e+48>>0]|0){Db[c[(c[e>>2]|0)+68>>2]&511](e);a[e+48>>0]=0;n=c[b+160>>2]|0;e=c[n+(d<<2)>>2]|0;m=+g[b+16>>2];k=+g[b+20>>2];l=+g[b+24>>2];h=+g[b+32>>2];i=+g[b+36>>2];f=+g[b+40>>2]}p=e+16|0;s=+g[p>>2];m=m>s?s:m;g[b+16>>2]=m;q=c[(k>+g[e+20>>2]?p:b+16|0)+4>>2]|0;c[b+20>>2]=q;p=c[(l>+g[e+24>>2]?p:b+16|0)+8>>2]|0;c[b+24>>2]=p;r=e+32|0;k=+g[r>>2];h=h<k?k:h;g[b+32>>2]=h;o=c[(i<+g[e+36>>2]?r:b+32|0)+4>>2]|0;c[b+36>>2]=o;e=c[(f<+g[e+40>>2]?r:b+32|0)+8>>2]|0;c[b+40>>2]=e;k=(c[j>>2]=q,+g[j>>2]);l=(c[j>>2]=p,+g[j>>2]);i=(c[j>>2]=o,+g[j>>2]);if(!d)break;else f=(c[j>>2]=e,+g[j>>2])}return}function Lh(a,b,d,e,f,h,i,j,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;var n=0.0,o=0.0;a=k;k=k+80|0;o=+g[h+52>>2]-+g[f+52>>2];n=+g[h+56>>2]-+g[f+56>>2];g[a+56>>2]=+g[h+48>>2]-+g[f+48>>2];g[a+56+4>>2]=o;g[a+56+8>>2]=n;g[a+56+12>>2]=0.0;if(Ec(d,f,e,h,a+56|0,a,1)|0){c[j>>2]=c[a+4>>2];c[j+4>>2]=c[a+4+4>>2];c[j+8>>2]=c[a+4+8>>2];c[j+12>>2]=c[a+4+12>>2];c[l>>2]=c[a+20>>2];c[l+4>>2]=c[a+20+4>>2];c[l+8>>2]=c[a+20+8>>2];c[l+12>>2]=c[a+20+12>>2];c[i>>2]=c[a+36>>2];c[i+4>>2]=c[a+36+4>>2];c[i+8>>2]=c[a+36+8>>2];c[i+12>>2]=c[a+36+12>>2];l=1;k=a;return l|0}if(!(Ld(d,f,e,h,a+56|0,a)|0)){l=0;k=a;return l|0}c[j>>2]=c[a+4>>2];c[j+4>>2]=c[a+4+4>>2];c[j+8>>2]=c[a+4+8>>2];c[j+12>>2]=c[a+4+12>>2];c[l>>2]=c[a+20>>2];c[l+4>>2]=c[a+20+4>>2];c[l+8>>2]=c[a+20+8>>2];c[l+12>>2]=c[a+20+12>>2];c[i>>2]=c[a+36>>2];c[i+4>>2]=c[a+36+4>>2];c[i+8>>2]=c[a+36+8>>2];c[i+12>>2]=c[a+36+12>>2];l=0;k=a;return l|0}function Mh(b,e,f,h,i,j){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0;if((d[h+55>>0]|0|0)==(e|0)){h=0;return h|0}k=c[8212+(i<<2)>>2]|0;if(+g[h>>2]*+g[f+16>>2]+ +g[h+4>>2]*+g[f+20>>2]+ +g[h+8>>2]*+g[f+24>>2]-+g[h+16>>2]<-9.999999747378752e-06){e=bf(b,c[h+20+(k<<2)>>2]|0,c[h+20+(i<<2)>>2]|0,f,0)|0;if(!e){h=0;return h|0}a[e+52>>0]=i;c[e+32>>2]=h;a[h+52+i>>0]=0;c[h+32+(i<<2)>>2]=e;i=c[j>>2]|0;if(!i)c[j+4>>2]=e;else{a[i+53>>0]=2;c[i+36>>2]=e;a[e+54>>0]=1;c[e+40>>2]=i}c[j>>2]=e;c[j+8>>2]=(c[j+8>>2]|0)+1;h=1;return h|0}i=c[8224+(i<<2)>>2]|0;a[h+55>>0]=e;if(!(Mh(b,e,f,c[h+32+(k<<2)>>2]|0,d[h+52+k>>0]|0,j)|0)){h=0;return h|0}if(!(Mh(b,e,f,c[h+32+(i<<2)>>2]|0,d[h+52+i>>0]|0,j)|0)){h=0;return h|0}i=c[h+48>>2]|0;if(i|0)c[i+44>>2]=c[h+44>>2];i=c[h+44>>2]|0;if(i|0)c[i+48>>2]=c[h+48>>2];if((c[b+9280>>2]|0)==(h|0))c[b+9280>>2]=c[h+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[h+44>>2]=0;c[h+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=h;c[b+9288>>2]=h;c[b+9292>>2]=(c[b+9292>>2]|0)+1;h=1;return h|0}function Nh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0;p=k;k=k+2048|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];if(e*e+h*h+f*f<9.999999747378752e-05){n=1.0;m=0.0;h=0.0}else{q=1.0/+A(+(e*e+h*h+f*f));n=e*q;m=h*q;h=f*q}if((tb[c[(c[b>>2]|0)+96>>2]&255](b)|0)<=0){k=p;return}l=0;f=-999999984306749440.0;while(1){if(((tb[c[(c[b>>2]|0)+96>>2]&255](b)|0)-l|0)<128){d=(tb[c[(c[b>>2]|0)+96>>2]&255](b)|0)-l|0;if((d|0)>0)o=8;else{e=-3402823466385288598117041.0e14;d=-1}}else{d=128;o=8}if((o|0)==8){o=0;i=0;do{Nb[c[(c[b>>2]|0)+108>>2]&127](b,i,p+(i<<4)|0);i=i+1|0}while((i|0)!=(d|0));i=-1;j=0;e=-3402823466385288598117041.0e14;do{q=n*+g[p+(j<<4)>>2]+m*+g[p+(j<<4)+4>>2]+h*+g[p+(j<<4)+8>>2];r=q>e;i=r?j:i;e=r?q:e;j=j+1|0}while((j|0)!=(d|0));d=i}if(e>f){r=p+(d<<4)|0;c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2]}else e=f;l=l+128|0;if((l|0)>=(tb[c[(c[b>>2]|0)+96>>2]&255](b)|0))break;else f=e}k=p;return}function Oh(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=c[a+68+(d<<2)>>2]|0;j=b[i+((f&65535)<<2)+-4>>1]|0;if((e[i+((f&65535)<<2)>>1]|0)>=(j&65535))return;k=c[a+60>>2]|0;m=k+((e[i+((f&65535)<<2)+2>>1]|0)<<6)+54+(d<<1)|0;h=i+((f&65535)<<2)+-4|0;l=i+((f&65535)<<2)|0;while(1){i=e[l+-2>>1]|0;if(!(j&1)){f=e[l+2>>1]|0;if(((((e[k+(f<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[k+(i<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[k+(i<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[k+(f<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[k+(f<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[k+(i<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[k+(i<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[k+(f<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(p=c[a+92>>2]|0,n=k+(f<<6)|0,o=k+(i<<6)|0,yb[c[(c[p>>2]|0)+12>>2]&31](p,n,o,g)|0,p=c[a+96>>2]|0,p|0):0)yb[c[(c[p>>2]|0)+12>>2]&31](p,n,o,g)|0;f=k+(i<<6)+48+(d<<1)|0}else f=k+(i<<6)+54+(d<<1)|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[m>>1]=(b[m>>1]|0)+-1<<16>>16;f=e[l>>1]|e[l+2>>1]<<16;j=e[h>>1]|e[h+2>>1]<<16;b[l>>1]=j;b[l+2>>1]=j>>>16;b[h>>1]=f;b[h+2>>1]=f>>>16;f=l+-4|0;h=h+-4|0;j=b[h>>1]|0;if((e[f>>1]|0)>=(j&65535))break;l=f;k=c[a+60>>2]|0}return}function Ph(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0;h=c[d+204>>2]|0;if((h&3|0)==0?(c[d+504>>2]&1|0)==0:0){i=+g[d+344>>2];if(i!=0.0){n=1.0/i*+g[b+252>>2];m=1.0/i*+g[b+256>>2];g[d+364>>2]=1.0/i*+g[b+248>>2];g[d+368>>2]=n;g[d+372>>2]=m;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(h&1){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=2}else{h=c[b+232>>2]|0;if((h|0)==(c[b+236>>2]|0)?(l=(h|0)==0?1:h<<1,(h|0)<(l|0)):0){if(!l)k=0;else{c[7584]=(c[7584]|0)+1;h=lc((l<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=h;h=c[b+232>>2]|0}if((h|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+240>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[b+240>>2]|0;if(j){if(a[b+244>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0);h=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=k;c[b+236>>2]=l}c[(c[b+240>>2]|0)+(h<<2)>>2]=d;c[b+232>>2]=h+1}Qb[c[(c[b>>2]|0)+36>>2]&127](b,d,e,f);return}function Qh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+68+(d<<2)>>2]|0;l=c[a+60>>2]|0;m=e[g+((f&65535)<<2)+2>>1]|0;h=b[g+((f&65535)<<2)+6>>1]|0;if(!(h<<16>>16))return;k=g+((f&65535)<<2)|0;while(1){j=k;k=k+4|0;g=b[k>>1]|0;if((e[j>>1]|0)<(g&65535)){f=14;break}i=c[a+60>>2]|0;f=h&65535;if(!(g&1)){if(((((e[l+(m<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[i+(f<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[i+(f<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[l+(m<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[l+(m<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[i+(f<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[i+(f<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[l+(m<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(o=c[a+92>>2]|0,n=i+((e[j+2>>1]|0)<<6)|0,xb[c[(c[o>>2]|0)+8>>2]&63](o,n,i+(f<<6)|0)|0,o=c[a+96>>2]|0,o|0):0)xb[c[(c[o>>2]|0)+8>>2]&63](o,n,i+(f<<6)|0)|0;f=i+(f<<6)+48+(d<<1)|0}else f=i+(f<<6)+54+(d<<1)|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[l+(m<<6)+54+(d<<1)>>1]=(b[l+(m<<6)+54+(d<<1)>>1]|0)+1<<16>>16;h=e[j>>1]|e[j+2>>1]<<16;i=e[k>>1]|e[k+2>>1]<<16;b[j>>1]=i;b[j+2>>1]=i>>>16;b[k>>1]=h;b[k+2>>1]=h>>>16;h=b[j+10>>1]|0;if(!(h<<16>>16)){f=14;break}}if((f|0)==14)return}function Rh(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;i=b[h+((f&65535)<<2)+6>>1]|0;if(!(i<<16>>16))return;m=(c[a+60>>2]|0)+((e[h+((f&65535)<<2)+2>>1]|0)<<6)+48+(d<<1)|0;l=h+((f&65535)<<2)|0;while(1){k=l;l=l+4|0;f=b[l>>1]|0;if((e[k>>1]|0)<(f&65535)){f=14;break}j=c[a+60>>2]|0;h=i&65535;if(!(f&1))f=j+(h<<6)+48+(d<<1)|0;else{f=e[k+2>>1]|0;if(((((e[j+(f<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[j+(h<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[j+(h<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[j+(f<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[j+(f<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[j+(h<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[j+(h<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[j+(f<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(n=c[a+92>>2]|0,yb[c[(c[n>>2]|0)+12>>2]&31](n,j+(f<<6)|0,j+(h<<6)|0,g)|0,n=c[a+96>>2]|0,n|0):0)yb[c[(c[n>>2]|0)+12>>2]&31](n,j+(f<<6)|0,j+(h<<6)|0,g)|0;f=j+(h<<6)+54+(d<<1)|0}b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[m>>1]=(b[m>>1]|0)+1<<16>>16;i=e[k>>1]|e[k+2>>1]<<16;j=e[l>>1]|e[l+2>>1]<<16;b[k>>1]=j;b[k+2>>1]=j>>>16;b[l>>1]=i;b[l+2>>1]=i>>>16;i=b[k+10>>1]|0;if(!(i<<16>>16)){f=14;break}}if((f|0)==14)return}function Sh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;o=(+g[a+32>>2]-+g[a+16>>2])*.5;l=(+g[a+36>>2]-+g[a+20>>2])*.5;i=(+g[a+40>>2]-+g[a+24>>2])*.5;n=+jb[c[(c[a>>2]|0)+48>>2]&15](a);k=+jb[c[(c[a>>2]|0)+48>>2]&15](a);i=i+ +jb[c[(c[a>>2]|0)+48>>2]&15](a);C=(+g[a+32>>2]+ +g[a+16>>2])*.5;A=(+g[a+36>>2]+ +g[a+20>>2])*.5;x=(+g[a+40>>2]+ +g[a+24>>2])*.5;G=+g[b>>2];w=+z(+G);F=+g[b+4>>2];v=+z(+F);t=+g[b+8>>2];u=+z(+t);E=+g[b+16>>2];s=+z(+E);D=+g[b+20>>2];r=+z(+D);p=+g[b+24>>2];q=+z(+p);B=+g[b+32>>2];m=+z(+B);y=+g[b+36>>2];j=+z(+y);f=+g[b+40>>2];h=+z(+f);t=C*G+A*F+x*t+ +g[b+48>>2];p=C*E+A*D+x*p+ +g[b+52>>2];f=C*B+A*y+x*f+ +g[b+56>>2];g[d>>2]=t-((o+n)*w+(l+k)*v+i*u);g[d+4>>2]=p-((o+n)*s+(l+k)*r+i*q);g[d+8>>2]=f-((o+n)*m+(l+k)*j+i*h);g[d+12>>2]=0.0;g[e>>2]=(o+n)*w+(l+k)*v+i*u+t;g[e+4>>2]=(o+n)*s+(l+k)*r+i*q+p;g[e+8>>2]=(o+n)*m+(l+k)*j+i*h+f;g[e+12>>2]=0.0;return}function Th(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0;I=+g[a+48>>2];A=+g[a+32>>2];H=+g[a+52>>2];x=+g[a+36>>2];F=+g[a+56>>2];v=+g[a+40>>2];G=(c[a+16>>2]|0)==0;m=+jb[c[(c[a>>2]|0)+48>>2]&15](a);k=+jb[c[(c[a>>2]|0)+48>>2]&15](a);i=+jb[c[(c[a>>2]|0)+48>>2]&15](a);m=(G?0.0:(I-A)*.5)+m;k=(G?0.0:(H-x)*.5)+k;i=(G?0.0:(F-v)*.5)+i;E=+g[b>>2];u=+z(+E);D=+g[b+4>>2];t=+z(+D);r=+g[b+8>>2];s=+z(+r);C=+g[b+16>>2];q=+z(+C);B=+g[b+20>>2];p=+z(+B);n=+g[b+24>>2];o=+z(+n);y=+g[b+32>>2];l=+z(+y);w=+g[b+36>>2];j=+z(+w);f=+g[b+40>>2];h=+z(+f);A=G?0.0:(I+A)*.5;x=G?0.0:(H+x)*.5;v=G?0.0:(F+v)*.5;r=A*E+x*D+v*r+ +g[b+48>>2];n=A*C+x*B+v*n+ +g[b+52>>2];f=A*y+x*w+v*f+ +g[b+56>>2];g[d>>2]=r-(m*u+k*t+i*s);g[d+4>>2]=n-(m*q+k*p+i*o);g[d+8>>2]=f-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*u+k*t+i*s+r;g[e+4>>2]=m*q+k*p+i*o+n;g[e+8>>2]=m*l+k*j+i*h+f;g[e+12>>2]=0.0;return}function Uh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;k=c[a+60>>2]|0;l=e[h+((f&65535)<<2)+2>>1]|0;i=b[h+((f&65535)<<2)+-4>>1]|0;if((e[h+((f&65535)<<2)>>1]|0)>=(i&65535))return;g=h+((f&65535)<<2)+-4|0;j=h+((f&65535)<<2)|0;h=k;while(1){f=e[j+-2>>1]|0;if(!(i&1))f=h+(f<<6)+48+(d<<1)|0;else{if(((((e[k+(l<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[h+(f<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[h+(f<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[k+(l<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[k+(l<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[h+(f<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[h+(f<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[k+(l<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(n=c[a+92>>2]|0,m=h+(f<<6)|0,xb[c[(c[n>>2]|0)+8>>2]&63](n,k+(l<<6)|0,m)|0,n=c[a+96>>2]|0,n|0):0)xb[c[(c[n>>2]|0)+8>>2]&63](n,k+(l<<6)|0,m)|0;f=h+(f<<6)+54+(d<<1)|0}b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[k+(l<<6)+48+(d<<1)>>1]=(b[k+(l<<6)+48+(d<<1)>>1]|0)+-1<<16>>16;f=e[j>>1]|e[j+2>>1]<<16;i=e[g>>1]|e[g+2>>1]<<16;b[j>>1]=i;b[j+2>>1]=i>>>16;b[g>>1]=f;b[g+2>>1]=f>>>16;f=j+-4|0;g=g+-4|0;i=b[g>>1]|0;if((e[f>>1]|0)>=(i&65535))break;j=f;h=c[a+60>>2]|0}return}function Vh(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0,j=0,l=0;f=k;k=k+16|0;d=+g[(DK(a)|0)>>2];e=+g[(hK(a+16|0)|0)>>2];c=+g[(gK(a+32|0)|0)>>2];if(d+e+c>0.0){e=+pK(d+e+c+1.0);g[f+12>>2]=e*.5;d=+g[(hK(a+32|0)|0)>>2];g[f>>2]=(d-+g[(gK(a+16|0)|0)>>2])*(.5/e);d=+g[(gK(a)|0)>>2];g[f+4>>2]=(d-+g[(DK(a+32|0)|0)>>2])*(.5/e);d=+g[(DK(a+16|0)|0)>>2];g[f+8>>2]=(d-+g[(hK(a)|0)>>2])*(.5/e);i=f+4|0;h=f+8|0;a=f+12|0;j=f;ft(b,j,i,h,a);k=f;return}else{h=d<e?(e<c?2:1):d<c?2:0;i=DK(a+(h<<4)|0)|0;e=+g[i+(h<<2)>>2];l=DK(a+((((h+1|0)>>>0)%3|0)<<4)|0)|0;e=e-+g[l+((((h+1|0)>>>0)%3|0)<<2)>>2];j=DK(a+((((h+2|0)>>>0)%3|0)<<4)|0)|0;e=+pK(e-+g[j+((((h+2|0)>>>0)%3|0)<<2)>>2]+1.0);g[f+(h<<2)>>2]=e*.5;g[f+12>>2]=(+g[j+((((h+1|0)>>>0)%3|0)<<2)>>2]-+g[l+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+1|0)>>>0)%3|0)<<2)>>2]=(+g[l+(h<<2)>>2]+ +g[i+((((h+1|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+2|0)>>>0)%3|0)<<2)>>2]=(+g[j+(h<<2)>>2]+ +g[i+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);h=f+4|0;i=f+8|0;j=f+12|0;a=f;ft(b,a,h,i,j);k=f;return}}function Wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+212>>2]|0;a:do if((f|0)>0){g=c[a+220>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+220>>2]|0)+(f+-1<<2)>>2]=b;c[a+212>>2]=f+-1}}while(0);g=c[b+28>>2]|0;d=c[g+488>>2]|0;b:do if((d|0)>0){f=c[g+496>>2]|0;e=0;while(1){a=f+(e<<2)|0;if((c[a>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0))break b}if((e|0)<(d|0)){c[a>>2]=c[f+(d+-1<<2)>>2];c[(c[g+496>>2]|0)+(d+-1<<2)>>2]=b;c[g+488>>2]=d+-1;d=d+-1|0}}while(0);c[g+256>>2]=(d|0)>0&1;g=c[b+32>>2]|0;d=c[g+488>>2]|0;if((d|0)<=0){b=d;b=(b|0)>0;b=b&1;h=g+256|0;c[h>>2]=b;return}f=c[g+496>>2]|0;e=0;while(1){a=f+(e<<2)|0;if((c[a>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0)){h=19;break}}if((h|0)==19){b=(d|0)>0;b=b&1;h=g+256|0;c[h>>2]=b;return}if((e|0)>=(d|0)){b=d;b=(b|0)>0;b=b&1;h=g+256|0;c[h>>2]=b;return}c[a>>2]=c[f+(d+-1<<2)>>2];c[(c[g+496>>2]|0)+(d+-1<<2)>>2]=b;c[g+488>>2]=d+-1;b=d+-1|0;b=(b|0)>0;b=b&1;h=g+256|0;c[h>>2]=b;return}function Xh(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;Db[c[(c[a>>2]|0)+112>>2]&511](a);c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;m=c[a+184>>2]|0;if(!m){m=c[a>>2]|0;m=m+116|0;m=c[m>>2]|0;Db[m&511](a);return}k=c[a+180>>2]|0;l=c[a+192>>2]|0;if((c[a+188>>2]|0)==1){e=m+-1|0;f=0.0;i=0.0;j=0.0;while(1){q=k+(M(l,e)|0)|0;o=+h[q>>3]*+g[a+156>>2];n=+h[q+8>>3]*+g[a+160>>2];p=+h[q+16>>3]*+g[a+164>>2];f=f+b/+(m|0)*(n*n+p*p);g[d>>2]=f;i=b/+(m|0)*(o*o+p*p)+i;g[d+4>>2]=i;j=b/+(m|0)*(o*o+n*n)+j;g[d+8>>2]=j;if(!e)break;else e=e+-1|0}q=c[a>>2]|0;q=q+116|0;q=c[q>>2]|0;Db[q&511](a);return}else{e=m+-1|0;f=0.0;i=0.0;j=0.0;while(1){q=k+(M(l,e)|0)|0;o=+g[q>>2]*+g[a+156>>2];p=+g[q+4>>2]*+g[a+160>>2];n=+g[q+8>>2]*+g[a+164>>2];f=f+b/+(m|0)*(p*p+n*n);g[d>>2]=f;i=b/+(m|0)*(o*o+n*n)+i;g[d+4>>2]=i;j=b/+(m|0)*(o*o+p*p)+j;g[d+8>>2]=j;if(!e)break;else e=e+-1|0}q=c[a>>2]|0;q=q+116|0;q=c[q>>2]|0;Db[q&511](a);return}}function Yh(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;j=tb[c[(c[b>>2]|0)+28>>2]&255](b)|0;i=+g[j>>2]-+g[d>>2];h=+g[j+4>>2]-+g[d+4>>2];f=+g[j+8>>2]-+g[d+8>>2];if(!(i*i+h*h+f*f>1.1920928955078125e-07))return;rh(b,d);if((a[b+61>>0]|0)!=0?(e=c[b+52>>2]|0,Db[c[c[e>>2]>>2]&511](e),e=c[b+52>>2]|0,(e|0)!=0):0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);e=b+52|0}else e=b+52|0;c[7584]=(c[7584]|0)+1;d=lc(191)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+52>>2]=282;a[d+60>>0]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;c[d+72>>2]=0;a[d+100>>0]=1;c[d+96>>2]=0;c[d+88>>2]=0;c[d+92>>2]=0;a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140>>0]=1;c[d+136>>2]=0;c[d+128>>2]=0;c[d+132>>2]=0;c[d+144>>2]=0;a[d+164>>0]=1;c[d+160>>2]=0;c[d+152>>2]=0;c[d+156>>2]=0;c[d+168>>2]=0;c[d+4>>2]=-8388609;c[d+8>>2]=-8388609;c[d+12>>2]=-8388609;g[d+16>>2]=0.0;c[d+20>>2]=2139095039;c[d+24>>2]=2139095039;c[d+28>>2]=2139095039;g[d+32>>2]=0.0;c[d>>2]=11316;c[e>>2]=d;gd(d,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;return}function Zh(b,d){b=b|0;d=d|0;var e=0.0,f=0.0;if(a[b+1309>>0]|0){e=(+g[b+1256>>2]-+g[b+1316>>2])*+g[b+1340>>2];g[b+792>>2]=e*(+g[d>>2]*+g[b+1364>>2]/+(c[d+48>>2]|0));e=+z(+e);g[b+808>>2]=e/+g[d>>2]}if(a[b+1310>>0]|0){e=(+g[b+1260>>2]-+g[b+1320>>2])*+g[b+1344>>2];g[b+796>>2]=e*(+g[d>>2]*+g[b+1368>>2]/+(c[d+48>>2]|0));e=+z(+e);g[b+812>>2]=e/+g[d>>2]}if(a[b+1311>>0]|0){e=(+g[b+1264>>2]-+g[b+1324>>2])*+g[b+1348>>2];g[b+800>>2]=e*(+g[d>>2]*+g[b+1372>>2]/+(c[d+48>>2]|0));e=+z(+e);g[b+816>>2]=e/+g[d>>2]}if(a[b+1312>>0]|0){f=-((+g[b+1192>>2]-+g[b+1328>>2])*+g[b+1352>>2]);e=+g[d>>2];g[b+876>>2]=e*+g[b+1376>>2]/+(c[d+48>>2]|0)*f;g[b+880>>2]=+z(+f)/e}if(a[b+1313>>0]|0){e=-((+g[b+1196>>2]-+g[b+1332>>2])*+g[b+1356>>2]);f=+g[d>>2];g[b+940>>2]=f*+g[b+1380>>2]/+(c[d+48>>2]|0)*e;g[b+944>>2]=+z(+e)/f}if(!(a[b+1314>>0]|0)){Mk(b,d);return}e=-((+g[b+1200>>2]-+g[b+1336>>2])*+g[b+1360>>2]);f=+g[d>>2];g[b+1004>>2]=f*+g[b+1384>>2]/+(c[d+48>>2]|0)*e;g[b+1008>>2]=+z(+e)/f;Mk(b,d);return}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0;e=k;k=k+160|0;c[e+136>>2]=0;c[e+136+4>>2]=0;c[e+136+8>>2]=0;c[e+136+12>>2]=0;c[e+136+16>>2]=0;c[e+32>>2]=10244;f=e+32+4|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;c[e+32+44>>2]=0;c[e+32+44+4>>2]=0;c[e+32+44+8>>2]=0;c[e+32+44+12>>2]=0;c[e+32+60>>2]=1065353216;c[e+32+64>>2]=0;c[e+32+68>>2]=c[e+136+4>>2];c[e+32+68+4>>2]=c[e+136+4+4>>2];c[e+32+68+8>>2]=c[e+136+4+8>>2];c[e+32+68+12>>2]=c[e+136+4+12>>2];g[e+32+84>>2]=-999999984306749440.0;j=+g[d>>2];i=+g[d+4>>2];h=+g[d+8>>2];g[e+32+88>>2]=j+i*0.0+h*0.0;g[e+32+92>>2]=j*0.0+i+h*0.0;g[e+32+96>>2]=j*0.0+i*0.0+h;g[e+32+100>>2]=0.0;c[e+16>>2]=1566444395;c[e+16+4>>2]=1566444395;c[e+16+8>>2]=1566444395;g[e+16+12>>2]=0.0;d=c[(c[b>>2]|0)+64>>2]|0;g[e>>2]=-999999984306749440.0;g[e+4>>2]=-999999984306749440.0;g[e+8>>2]=-999999984306749440.0;g[e+12>>2]=0.0;Qb[d&127](b,e+32|0,e,e+16|0);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];k=e;return}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;q=k;k=k+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];if(e*e+f*f+h*h<9.999999747378752e-05){p=1.0;o=0.0;n=0.0}else{n=1.0/+A(+(e*e+f*f+h*h));p=e*n;o=f*n;n=h*n}d=c[b+52>>2]|0;m=+g[b+28+(((d+2|0)%3|0)<<2)>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+(d<<2)>>2]=c[b+28+(d<<2)>>2];j=p*m;l=o*m;m=n*m;e=j+ +g[q>>2];f=l+ +g[q+4>>2];i=m+ +g[q+8>>2];h=+jb[c[(c[b>>2]|0)+48>>2]&15](b);e=e-p*h;f=f-o*h;h=i-n*h;i=n*h+(p*e+o*f);if(i>-999999984306749440.0){g[a>>2]=e;g[a+4>>2]=f;g[a+8>>2]=h;g[a+12>>2]=0.0}else i=-999999984306749440.0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;d=c[b+52>>2]|0;g[q+(d<<2)>>2]=-+g[b+28+(d<<2)>>2];e=j+ +g[q>>2];f=l+ +g[q+4>>2];m=m+ +g[q+8>>2];h=+jb[c[(c[b>>2]|0)+48>>2]&15](b);e=e-p*h;f=f-o*h;h=m-n*h;if(!(n*h+(p*e+o*f)>i)){k=q;return}g[a>>2]=e;g[a+4>>2]=f;g[a+8>>2]=h;g[a+12>>2]=0.0;k=q;return}function ai(b){b=b|0;var d=0,e=0;if(!b)return;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;do if(d){if(!(a[b+16>>0]|0)){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+8|0;e=14;break}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);d=c[b+32>>2]|0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(d){if(!(a[b+36>>0]|0)){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=b+8|0;break}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);d=c[b+12>>2]|0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;if(!d)d=b+8|0;else{if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+12>>2]=0;d=b+8|0}}else{d=b+8|0;e=14}}else{a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+8|0;e=14}while(0);if((e|0)==14){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[d>>2]=0;Gz(b);return}function bi(a,b,d,e,f,h,i,j,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;l=+l;m=+m;var n=0;n=k;k=k+128|0;c[n+80>>2]=c[a+4>>2];c[n+80+4>>2]=c[a+20>>2];c[n+80+8>>2]=c[a+36>>2];g[n+80+12>>2]=0.0;c[n+80+16>>2]=c[a+8>>2];c[n+80+20>>2]=c[a+24>>2];c[n+80+24>>2]=c[a+40>>2];g[n+80+28>>2]=0.0;c[n+80+32>>2]=c[a+12>>2];c[n+80+36>>2]=c[a+28>>2];c[n+80+40>>2]=c[a+44>>2];g[n+80+44>>2]=0.0;c[n+32>>2]=c[b+4>>2];c[n+32+4>>2]=c[b+20>>2];c[n+32+8>>2]=c[b+36>>2];g[n+32+12>>2]=0.0;c[n+32+16>>2]=c[b+8>>2];c[n+32+20>>2]=c[b+24>>2];c[n+32+24>>2]=c[b+40>>2];g[n+32+28>>2]=0.0;c[n+32+32>>2]=c[b+12>>2];c[n+32+36>>2]=c[b+28>>2];c[n+32+40>>2]=c[b+44>>2];g[n+32+44>>2]=0.0;h=h-+g[a+56>>2];i=i-+g[a+60>>2];g[n+16>>2]=f-+g[a+52>>2];g[n+16+4>>2]=h;g[n+16+8>>2]=i;g[n+16+12>>2]=0.0;i=l-+g[b+56>>2];m=m-+g[b+60>>2];g[n>>2]=j-+g[b+52>>2];g[n+4>>2]=i;g[n+8>>2]=m;g[n+12>>2]=0.0;kh(d,n+80|0,n+32|0,n+16|0,n,e,a+396|0,+g[a+344>>2],b+396|0,+g[b+344>>2]);k=n;return}function ci(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=f|0;var h=0,i=0,j=0,l=0,m=0.0,n=0.0;j=k;k=k+48|0;m=1.0/+A(+(b*b+d*d+e*e));g[f>>2]=m*b;g[f+4>>2]=m*d;g[f+8>>2]=m*e;g[f+12>>2]=0.0;h=c[a+120>>2]|0;l=c[a+124>>2]|0;i=(c[a>>2]|0)+(1?l>>1:l)|0;if(l&1)h=c[(c[i>>2]|0)+h>>2]|0;Nb[h&127](j,i,f);b=-+g[f>>2];d=-+g[f+4>>2];e=-+g[f+8>>2];h=c[a+120>>2]|0;l=c[a+124>>2]|0;i=(c[a+4>>2]|0)+(1?l>>1:l)|0;if(l&1)h=c[(c[i>>2]|0)+h>>2]|0;m=+g[a+24>>2]*b+ +g[a+28>>2]*d+ +g[a+32>>2]*e;n=+g[a+40>>2]*b+ +g[a+44>>2]*d+ +g[a+48>>2]*e;g[j+16>>2]=+g[a+8>>2]*b+ +g[a+12>>2]*d+ +g[a+16>>2]*e;g[j+16+4>>2]=m;g[j+16+8>>2]=n;g[j+16+12>>2]=0.0;Nb[h&127](j+32|0,i,j+16|0);n=+g[j+32>>2];b=+g[j+32+4>>2];d=+g[j+32+8>>2];e=+g[j+4>>2]-(n*+g[a+72>>2]+b*+g[a+76>>2]+d*+g[a+80>>2]+ +g[a+108>>2]);m=+g[j+8>>2]-(n*+g[a+88>>2]+b*+g[a+92>>2]+d*+g[a+96>>2]+ +g[a+112>>2]);g[f+16>>2]=+g[j>>2]-(n*+g[a+56>>2]+b*+g[a+60>>2]+d*+g[a+64>>2]+ +g[a+104>>2]);g[f+20>>2]=e;g[f+24>>2]=m;g[f+28>>2]=0.0;k=j;return}function di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0;i=c[b>>2]|0;if((i|0)==(c[a+80>>2]|0)){h=1.0;return +h}if(c[i+204>>2]&4|0){h=1.0;return +h}if(d){e=+g[b+8>>2];f=+g[b+12>>2];h=+g[b+16>>2]}else{k=+g[b+8>>2];j=+g[b+12>>2];h=+g[b+16>>2];e=+g[i+4>>2]*k+ +g[i+8>>2]*j+ +g[i+12>>2]*h;f=k*+g[i+20>>2]+j*+g[i+24>>2]+h*+g[i+28>>2];h=k*+g[i+36>>2]+j*+g[i+40>>2]+h*+g[i+44>>2]}if(e*+g[a+84>>2]+f*+g[a+88>>2]+h*+g[a+92>>2]<+g[a+100>>2]){k=1.0;return +k}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=i;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{e=+g[b+8>>2];f=+g[b+12>>2];h=+g[b+16>>2];j=e*+g[i+20>>2]+f*+g[i+24>>2]+h*+g[i+28>>2];k=e*+g[i+36>>2]+f*+g[i+40>>2]+h*+g[i+44>>2];g[a+44>>2]=+g[i+4>>2]*e+ +g[i+8>>2]*f+ +g[i+12>>2]*h;g[a+48>>2]=j;g[a+52>>2]=k;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function ei(a,b,c,d,e,f,h,i,j,k,l,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;q=(j-f)*(n-h)-(k-h)*(m-f);r=(k-h)*(l-e)-(i-e)*(n-h);s=(i-e)*(m-f)-(j-f)*(l-e);if(+z(+(s*d+(q*b+r*c)))<1.1920928955078125e-07){s=-1.0;return +s}t=+g[a>>2];v=+g[a+4>>2];u=+g[a+8>>2];p=-(q*t+r*v+s*u-(s*h+(q*e+r*f)))/(s*d+(q*b+r*c));if(((p>1.1920928955078125e-06&p<o?s*((j-(v+p*c))*(e-(t+p*b))-(f-(v+p*c))*(i-(t+p*b)))+(q*((f-(v+p*c))*(k-(u+p*d))-(h-(u+p*d))*(j-(v+p*c)))+r*((h-(u+p*d))*(i-(t+p*b))-(k-(u+p*d))*(e-(t+p*b))))>-1.1920928955078125e-06:0)?s*((m-(v+p*c))*(i-(t+p*b))-(j-(v+p*c))*(l-(t+p*b)))+(q*((j-(v+p*c))*(n-(u+p*d))-(k-(u+p*d))*(m-(v+p*c)))+r*((k-(u+p*d))*(l-(t+p*b))-(n-(u+p*d))*(i-(t+p*b))))>-1.1920928955078125e-06:0)?s*((f-(v+p*c))*(l-(t+p*b))-(m-(v+p*c))*(e-(t+p*b)))+(q*((m-(v+p*c))*(h-(u+p*d))-(n-(u+p*d))*(f-(v+p*c)))+r*((n-(u+p*d))*(e-(t+p*b))-(h-(u+p*d))*(l-(t+p*b))))>-1.1920928955078125e-06:0){v=p;return +v}v=-1.0;return +v}function fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(a[b+165>>0]|0){if((c[b+92>>2]|0)>=(d|0))return;if((d|0)!=0?(c[7584]=(c[7584]|0)+1,e=lc((d<<4|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;g=e+4+15&-16}else g=0;f=c[b+88>>2]|0;if((f|0)>0){e=0;do{i=g+(e<<4)|0;h=(c[b+96>>2]|0)+(e<<4)|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+96>>2]|0;if(e|0){if(a[b+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=g;c[b+92>>2]=d;return}if((c[b+112>>2]|0)>=(d|0))return;if((d|0)!=0?(c[7584]=(c[7584]|0)+1,f=lc((d<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}else h=0;f=c[b+108>>2]|0;g=c[b+116>>2]|0;if((f|0)<=0)if(!g)e=b+120|0;else i=23;else{e=0;do{c[h+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));i=23}if((i|0)==23){if(a[b+120>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}c[b+116>>2]=0;e=b+120|0}a[e>>0]=1;c[b+116>>2]=h;c[b+112>>2]=d;return}function gi(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;if(!(c[i+44>>2]|0))return;b=c[i+20>>2]|0;if(!(c[i+64>>2]&256)){if((b|0)<=0)return;e=0;do{d=c[a+28>>2]|0;if((d|0)>0){b=0;do{j=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;g=c[a+16>>2]|0;Sg(g+((c[h+(j*152|0)+144>>2]|0)*244|0)|0,g+((c[h+(j*152|0)+148>>2]|0)*244|0)|0,h+(j*152|0)|0);b=b+1|0}while((b|0)!=(d|0));b=c[i+20>>2]|0}e=e+1|0}while((e|0)<(b|0));return}else{if((b|0)<=0)return;e=0;do{d=c[a+28>>2]|0;if((d|0)>0){b=0;do{j=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;g=c[a+16>>2]|0;Sg(g+((c[h+(j*152|0)+144>>2]|0)*244|0)|0,g+((c[h+(j*152|0)+148>>2]|0)*244|0)|0,h+(j*152|0)|0);b=b+1|0}while((b|0)!=(d|0));b=c[i+20>>2]|0}e=e+1|0}while((e|0)<(b|0));return}}function hi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(a[d+164>>0]|0)){if((c[d+152>>2]|0)>=(e|0))return;if((e|0)!=0?(c[7584]=(c[7584]|0)+1,g=lc((e<<1)+19|0)|0,(g|0)!=0):0){c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}else i=0;g=c[d+148>>2]|0;h=c[d+156>>2]|0;if((g|0)<=0)if(!h)f=d+160|0;else j=24;else{f=0;do{b[i+(f<<1)>>1]=b[h+(f<<1)>>1]|0;f=f+1|0}while((f|0)!=(g|0));j=24}if((j|0)==24){if(a[d+160>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=i;c[d+152>>2]=e;return}else{if((c[d+132>>2]|0)>=(e|0))return;if((e|0)!=0?(c[7584]=(c[7584]|0)+1,f=lc((e<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}else i=0;g=c[d+128>>2]|0;h=c[d+136>>2]|0;if((g|0)<=0)if(!h)f=d+140|0;else j=11;else{f=0;do{c[i+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0));j=11}if((j|0)==11){if(a[d+140>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=i;c[d+132>>2]=e;return}}function ii(a,b,d){a=a|0;b=b|0;d=d|0;ri(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];c[b+84>>2]=c[a+332>>2];c[b+88>>2]=c[a+336>>2];c[b+92>>2]=c[a+340>>2];c[b+96>>2]=c[a+344>>2];c[b+100>>2]=c[a+348>>2];c[b+104>>2]=c[a+352>>2];c[b+108>>2]=c[a+356>>2];c[b+112>>2]=c[a+360>>2];c[b+116>>2]=c[a+364>>2];c[b+120>>2]=c[a+368>>2];c[b+124>>2]=c[a+372>>2];c[b+128>>2]=c[a+376>>2];c[b+132>>2]=c[a+380>>2];c[b+136>>2]=c[a+384>>2];c[b+140>>2]=c[a+388>>2];c[b+144>>2]=c[a+392>>2];c[b+148>>2]=c[a+396>>2];c[b+152>>2]=c[a+400>>2];c[b+156>>2]=c[a+404>>2];c[b+160>>2]=c[a+408>>2];c[b+164>>2]=c[a+412>>2];c[b+168>>2]=c[a+416>>2];c[b+172>>2]=c[a+420>>2];c[b+176>>2]=c[a+424>>2];c[b+180>>2]=c[a+444>>2];c[b+184>>2]=c[a+448>>2];c[b+188>>2]=c[a+452>>2];c[b+192>>2]=c[a+428>>2];c[b+196>>2]=c[a+432>>2];c[b+200>>2]=c[a+436>>2];c[b+204>>2]=c[a+440>>2];return 18289}function ji(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;c[7584]=(c[7584]|0)+1;h=lc(55)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}c[j>>2]=d;c[j+4>>2]=e;c[j+8>>2]=f;c[j+12>>2]=-1;c[j+16>>2]=-1;c[j+20>>2]=-1;c[j+28>>2]=-1;g[j+32>>2]=0.0;f=j;d=c[b+4>>2]|0;c[j+24>>2]=d;if((d|0)!=(c[b+8>>2]|0)){i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}i=(d|0)==0?1:d<<1;if((d|0)>=(i|0)){i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}if(!i)h=0;else{c[7584]=(c[7584]|0)+1;h=lc((i<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}d=c[b+4>>2]|0}if((d|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+12>>2]|0;if(e){if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);d=c[b+4>>2]|0}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=i;i=d;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=f;i=i+1|0;c[b+4>>2]=i;return j|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;o=+jb[c[(c[a>>2]|0)+48>>2]&15](a);u=+g[a+72>>2];t=+g[a+56>>2];r=+g[a+76>>2];q=+g[a+60>>2];n=+g[a+80>>2];m=+g[a+64>>2];F=+g[b>>2];y=+z(+F);E=+g[b+4>>2];x=+z(+E);k=+g[b+8>>2];l=+z(+k);D=+g[b+16>>2];w=+z(+D);C=+g[b+20>>2];v=+z(+C);i=+g[b+24>>2];j=+z(+i);B=+g[b+32>>2];s=+z(+B);A=+g[b+36>>2];p=+z(+A);f=+g[b+40>>2];h=+z(+f);k=(u+t)*.5*F+(r+q)*.5*E+(n+m)*.5*k+ +g[b+48>>2];i=(u+t)*.5*D+(r+q)*.5*C+(n+m)*.5*i+ +g[b+52>>2];f=(u+t)*.5*B+(r+q)*.5*A+(n+m)*.5*f+ +g[b+56>>2];l=(o+(u-t)*.5)*y+(o+(r-q)*.5)*x+(o+(n-m)*.5)*l;j=(o+(u-t)*.5)*w+(o+(r-q)*.5)*v+(o+(n-m)*.5)*j;h=(o+(u-t)*.5)*s+(o+(r-q)*.5)*p+(o+(n-m)*.5)*h;g[d>>2]=k-l;g[d+4>>2]=i-j;g[d+8>>2]=f-h;g[d+12>>2]=0.0;g[e>>2]=l+k;g[e+4>>2]=j+i;g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function li(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;if(a[d+32>>0]&1){f=c[b+4>>2]|0;if(f|0)Rl(f,d,e);f=c[b>>2]|0;if(f|0){n=+g[d>>2];l=+g[f+128>>2];m=+g[d+4>>2];k=+g[d+8>>2];h=+g[e+4>>2];p=+g[e+8>>2];o=+g[e>>2];j=+g[f+180>>2]*(k*h-m*p)+ +g[f+184>>2]*(n*p-k*o)+(m*o-n*h)*+g[f+188>>2];i=(k*h-m*p)*+g[f+196>>2]+(n*p-k*o)*+g[f+200>>2]+(m*o-n*h)*+g[f+204>>2];h=(k*h-m*p)*+g[f+212>>2]+(n*p-k*o)*+g[f+216>>2]+(m*o-n*h)*+g[f+220>>2];g[f+244>>2]=n*l+ +g[f+244>>2];g[f+248>>2]=l*m+ +g[f+248>>2];g[f+252>>2]=l*k+ +g[f+252>>2];g[f+316>>2]=n*l+ +g[f+316>>2];g[f+320>>2]=l*m+ +g[f+320>>2];g[f+324>>2]=l*k+ +g[f+324>>2];g[f+260>>2]=j+ +g[f+260>>2];g[f+264>>2]=i+ +g[f+264>>2];g[f+268>>2]=h+ +g[f+268>>2];g[f+332>>2]=j+ +g[f+332>>2];g[f+336>>2]=i+ +g[f+336>>2];g[f+340>>2]=h+ +g[f+340>>2];c[f+308>>2]=(c[f+308>>2]|0)+1}}if(!(a[d+32>>0]&2))return;Fj(b,d+16|0,e);return}function mi(a){a=a|0;var b=0,d=0,e=0,f=0;d=k;k=k+16|0;Wj(19862);Db[c[(c[a>>2]|0)+8>>2]&511](a);Db[c[(c[a>>2]|0)+12>>2]&511](a);b=c[a+24>>2]|0;Wj(19896);if(b|0){f=c[(c[b>>2]|0)+32>>2]|0;e=c[a+68>>2]|0;e=tb[c[(c[e>>2]|0)+36>>2]&255](e)|0;Qb[f&127](b,e,a+28|0,c[a+24>>2]|0)}b=c[3369]|0;f=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=f;do if(!f){if(c[b+4>>2]|0){bb(d|0,0)|0;a=c[7583]|0;g[b+8>>2]=+g[b+8>>2]+ +(((c[d+4>>2]|0)-(c[a+4>>2]|0)+(((c[d>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;a=c[3369]|0;if(c[b+16>>2]|0)break}else a=b;a=c[a+20>>2]|0;c[3369]=a}else a=b;while(0);b=a+16|0;f=(c[b>>2]|0)+-1|0;c[b>>2]=f;if(f|0){k=d;return}do if(c[a+4>>2]|0){bb(d|0,0)|0;e=c[7583]|0;f=a+8|0;g[f>>2]=+g[f>>2]+ +(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[b>>2]|0)){a=c[3369]|0;break}else{k=d;return}}while(0);c[3369]=c[a+20>>2];k=d;return}function ni(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=12176;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b+16>>2]=0;c[b+20>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=-1;c[b+76>>2]=0;c[b+80>>2]=0;a[b+193>>0]=0;a[b+194>>0]=1;a[b+192>>0]=((d|0)!=0^1)&1;g[b+140>>2]=0.0;c[b+144>>2]=0;c[b+164>>2]=0;c[b+148>>2]=1;c[b+152>>2]=0;c[b+156>>2]=10;c[b+160>>2]=1;c[b+168>>2]=0;c[b+172>>2]=0;g[b+176>>2]=0.0;if(d|0){e=d;d=b+136|0;c[d>>2]=e;d=b+188|0;c[d>>2]=0;d=b+180|0;c[d>>2]=0;d=b+184|0;c[d>>2]=0;b=b+124|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}c[7584]=(c[7584]|0)+1;d=lc(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}cj(d);e=b+136|0;c[e>>2]=d;e=b+188|0;c[e>>2]=0;e=b+180|0;c[e>>2]=0;e=b+184|0;c[e>>2]=0;e=b+124|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;return}function oi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;if((c[b+12>>2]|0)>=2){Uf(b);return}c[7584]=(c[7584]|0)+1;d=lc(43)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){d=0;do{g=f+(d*12|0)|0;h=(c[b+16>>2]|0)+(d*12|0)|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Uf(b);return}function pi(a,b,e){a=a|0;b=b|0;e=e|0;ri(a,b,e)|0;c[b+52>>2]=c[a+52>>2];c[b+56>>2]=c[a+56>>2];c[b+60>>2]=c[a+60>>2];c[b+64>>2]=c[a+64>>2];c[b+68>>2]=c[a+68>>2];c[b+72>>2]=c[a+72>>2];c[b+76>>2]=c[a+76>>2];c[b+80>>2]=c[a+80>>2];c[b+84>>2]=c[a+84>>2];c[b+88>>2]=c[a+88>>2];c[b+92>>2]=c[a+92>>2];c[b+96>>2]=c[a+96>>2];c[b+100>>2]=c[a+100>>2];c[b+104>>2]=c[a+104>>2];c[b+108>>2]=c[a+108>>2];c[b+112>>2]=c[a+112>>2];c[b+116>>2]=c[a+116>>2];c[b+120>>2]=c[a+120>>2];c[b+124>>2]=c[a+124>>2];c[b+128>>2]=c[a+128>>2];c[b+132>>2]=c[a+132>>2];c[b+136>>2]=c[a+136>>2];c[b+140>>2]=c[a+140>>2];c[b+144>>2]=c[a+144>>2];c[b+148>>2]=c[a+148>>2];c[b+152>>2]=c[a+152>>2];c[b+156>>2]=c[a+156>>2];c[b+160>>2]=c[a+160>>2];c[b+164>>2]=c[a+164>>2];c[b+168>>2]=c[a+168>>2];c[b+172>>2]=c[a+172>>2];c[b+176>>2]=c[a+176>>2];c[b+180>>2]=c[a+188>>2];c[b+184>>2]=c[a+184>>2];c[b+188>>2]=c[a+196>>2];c[b+192>>2]=c[a+192>>2];c[b+196>>2]=d[a+180>>0];c[b+200>>2]=d[a+49>>0];return 18245}function qi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,l=0,m=0;i=k;k=k+128|0;Db[c[(c[b>>2]|0)+112>>2]&511](b);c[i+96>>2]=c[e>>2];c[i+96+4>>2]=c[e+4>>2];c[i+96+8>>2]=c[e+8>>2];c[i+96+12>>2]=c[e+12>>2];c[i+96+16>>2]=c[f>>2];c[i+96+16+4>>2]=c[f+4>>2];c[i+96+16+8>>2]=c[f+8>>2];c[i+96+16+12>>2]=c[f+12>>2];a[i+72+16>>0]=1;c[i+72+12>>2]=0;c[i+72+4>>2]=0;c[i+72+8>>2]=0;Gf(b+68|0,i+96|0,i+72|0);f=c[i+72+4>>2]|0;if(!f){Db[c[(c[b>>2]|0)+116>>2]&511](b);e=c[i+72+12>>2]|0;if(!e){k=i;return}}else{h=c[b+172>>2]|0;g[i+64>>2]=.009999999776482582;e=c[i+72+12>>2]|0;do{f=f+-1|0;j=e+(f<<2)|0;l=c[j>>2]|0;m=tb[c[(c[b>>2]|0)+84>>2]&255](b)|0;Nb[c[(c[m>>2]|0)+20>>2]&127](m,l,i);Qb[c[(c[d>>2]|0)+8>>2]&127](d,i,h,c[j>>2]|0)}while((f|0)!=0);Db[c[(c[b>>2]|0)+116>>2]&511](b)}if(a[i+72+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[i+72+12>>2]=0;k=i;return}function ri(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;c[b>>2]=vb[c[(c[e>>2]|0)+28>>2]&31](e,c[a+28>>2]|0)|0;c[b+4>>2]=vb[c[(c[e>>2]|0)+28>>2]&31](e,c[a+32>>2]|0)|0;f=vb[c[(c[e>>2]|0)+40>>2]&31](e,a)|0;g=vb[c[(c[e>>2]|0)+28>>2]&31](e,f)|0;c[b+8>>2]=g;if(g|0)Jb[c[(c[e>>2]|0)+48>>2]&127](e,f);c[b+12>>2]=c[a+4>>2];c[b+24>>2]=d[a+21>>0];c[b+40>>2]=c[a+24>>2];c[b+44>>2]=c[a+16>>2];c[b+48>>2]=d[a+20>>0];c[b+20>>2]=c[a+12>>2];c[b+16>>2]=c[a+8>>2];c[b+28>>2]=c[a+36>>2];c[b+32>>2]=c[a+40>>2];c[b+36>>2]=0;f=c[a+28>>2]|0;g=c[f+488>>2]|0;if((g|0)>0){e=c[f+496>>2]|0;if((c[e>>2]|0)==(a|0))c[b+36>>2]=1;if((g|0)>1){f=1;do{if((c[e+(f<<2)>>2]|0)==(a|0))c[b+36>>2]=1;f=f+1|0}while((f|0)!=(g|0))}}f=c[a+32>>2]|0;g=c[f+488>>2]|0;if((g|0)<=0)return 18182;e=c[f+496>>2]|0;if((c[e>>2]|0)==(a|0))c[b+36>>2]=1;if((g|0)<=1)return 18182;f=1;do{if((c[e+(f<<2)>>2]|0)==(a|0))c[b+36>>2]=1;f=f+1|0}while((f|0)!=(g|0));return 18182}function si(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0;f=k;k=k+16|0;x=c[a+52>>2]|0;n=+g[a+28+(((x+2|0)%3|0)<<2)>>2];g[f>>2]=n;g[f+4>>2]=n;g[f+8>>2]=n;g[f+12>>2]=0.0;g[f+(x<<2)>>2]=n+ +g[a+28+(x<<2)>>2];n=+jb[c[(c[a>>2]|0)+48>>2]&15](a);l=+jb[c[(c[a>>2]|0)+48>>2]&15](a);i=+jb[c[(c[a>>2]|0)+48>>2]&15](a);n=n+ +g[f>>2];g[f>>2]=n;l=l+ +g[f+4>>2];g[f+4>>2]=l;i=i+ +g[f+8>>2];w=+z(+(+g[b>>2]));v=+z(+(+g[b+4>>2]));u=+z(+(+g[b+8>>2]));s=+z(+(+g[b+16>>2]));r=+z(+(+g[b+20>>2]));q=+z(+(+g[b+24>>2]));m=+z(+(+g[b+32>>2]));j=+z(+(+g[b+36>>2]));h=+z(+(+g[b+40>>2]));t=+g[b+48>>2];p=+g[b+52>>2];o=+g[b+56>>2];g[d>>2]=t-(n*w+l*v+i*u);g[d+4>>2]=p-(n*s+l*r+i*q);g[d+8>>2]=o-(n*m+l*j+i*h);g[d+12>>2]=0.0;g[e>>2]=n*w+l*v+i*u+t;g[e+4>>2]=n*s+l*r+i*q+p;g[e+8>>2]=o+(n*m+l*j+i*h);g[e+12>>2]=0.0;k=f;return}function ti(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,l=0.0,m=0.0;h=k;k=k+96|0;g[h+4>>2]=1.0;c[h+8>>2]=0;b[h+12>>1]=1;b[h+14>>1]=-1;c[h+16>>2]=0;c[h>>2]=5744;c[h+20>>2]=c[d>>2];c[h+20+4>>2]=c[d+4>>2];c[h+20+8>>2]=c[d+8>>2];c[h+20+12>>2]=c[d+12>>2];c[h+36>>2]=c[e>>2];c[h+36+4>>2]=c[e+4>>2];c[h+36+8>>2]=c[e+8>>2];c[h+36+12>>2]=c[e+12>>2];a=c[a+4>>2]|0;Qb[c[(c[a>>2]|0)+32>>2]&127](a,d,e,h);a=c[h+8>>2]|0;if(!a){f=0;k=h;return f|0}if(!(c[a+236>>2]&2)){f=0;k=h;return f|0}if(c[a+204>>2]&4|0){f=0;k=h;return f|0}c[f>>2]=c[h+68>>2];c[f+4>>2]=c[h+68+4>>2];c[f+8>>2]=c[h+68+8>>2];c[f+12>>2]=c[h+68+12>>2];c[f+16>>2]=c[h+52>>2];c[f+16+4>>2]=c[h+52+4>>2];c[f+16+8>>2]=c[h+52+8>>2];c[f+16+12>>2]=c[h+52+12>>2];m=+g[f+16>>2];l=+g[f+20>>2];j=+g[f+24>>2];i=1.0/+A(+(m*m+l*l+j*j));g[f+16>>2]=m*i;g[f+20>>2]=l*i;g[f+24>>2]=j*i;c[f+32>>2]=c[h+4>>2];f=a;k=h;return f|0}function ui(){var b=0,d=0,e=0;b=_t(288)|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+236>>2]=4;c[b>>2]=8324;c[7584]=(c[7584]|0)+1;d=lc(95)|0;if(!d){e=0;cj(e);d=b+284|0;c[d>>2]=e;return b|0}c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16;cj(d);e=b+284|0;c[e>>2]=d;return b|0}function vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Db[c[(c[b>>2]|0)+32>>2]&511](b);e=xb[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;d=c[e+8>>2]|0;f=d;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d+88>>2]=c[a+248>>2];c[d+92>>2]=c[a+252>>2];c[d+96>>2]=c[a+256>>2];c[d+100>>2]=c[a+260>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+108>>2];c[d+20>>2]=c[a+116>>2];c[d+24>>2]=c[a+120>>2];c[d+28>>2]=c[a+124>>2];c[d+32>>2]=c[a+128>>2];c[d+36>>2]=c[a+132>>2];c[d+40>>2]=c[a+140>>2];c[d+44>>2]=c[a+144>>2];c[d+48>>2]=c[a+148>>2];c[d+52>>2]=c[a+152>>2];c[d+56>>2]=c[a+168>>2];c[d+60>>2]=c[a+172>>2];c[d+64>>2]=c[a+112>>2];c[d+68>>2]=c[a+156>>2];c[d+72>>2]=c[a+160>>2];c[d+76>>2]=c[a+164>>2];c[d+80>>2]=c[a+136>>2];Ub[c[(c[b>>2]|0)+20>>2]&31](b,e,17823,1145853764,d);Ij(a,b);ud(a,b);Db[c[(c[b>>2]|0)+36>>2]&511](b);return}function wi(b,d){b=b|0;d=d|0;if((c[b+16>>2]|0)!=(0-(c[b+76>>2]|0)|0))return;d=c[b+4>>2]|0;if(d|0)go(b+4|0,d);d=c[b+8>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+8>>2]=0;c[b+12>>2]=-1;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+20>>2]=0;d=c[b+64>>2]|0;if(d|0)go(b+64|0,d);d=c[b+68>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+68>>2]=0;c[b+72>>2]=-1;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b+80>>2]=0;a[b+193>>0]=0;a[b+194>>0]=1;c[b+144>>2]=0;c[b+164>>2]=0;c[b+148>>2]=1;c[b+152>>2]=0;c[b+156>>2]=10;c[b+160>>2]=1;c[b+124>>2]=0;c[b+124+4>>2]=0;c[b+124+8>>2]=0;c[b+168>>2]=0;c[b+168+4>>2]=0;c[b+168+8>>2]=0;c[b+168+12>>2]=0;c[b+168+16>>2]=0;c[b+168+20>>2]=0;return}function xi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=k;k=k+48|0;g=m;h=g+44|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if(!d)j=c[c[b+880>>2]>>2]|0;else j=d;d=c[b+732>>2]|0;if((d|0)==(c[b+736>>2]|0)?(l=(d|0)==0?1:d<<1,(d|0)<(l|0)):0){if(!l)i=0;else{c[7584]=(c[7584]|0)+1;d=lc((l*52|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;d=c[b+732>>2]|0}if((d|0)>0){e=0;do{g=i+(e*52|0)|0;f=(c[b+740>>2]|0)+(e*52|0)|0;h=g+52|0;do{c[g>>2]=c[f>>2];g=g+4|0;f=f+4|0}while((g|0)<(h|0));e=e+1|0}while((e|0)!=(d|0))}d=c[b+740>>2]|0;if(d|0){if(a[b+744>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=i;c[b+736>>2]=l;d=c[b+732>>2]|0}g=c[b+740>>2]|0;c[g+(d*52|0)>>2]=0;c[g+(d*52|0)+4>>2]=j;g=g+(d*52|0)+8|0;f=m;h=g+44|0;do{c[g>>2]=c[f>>2];g=g+4|0;f=f+4|0}while((g|0)<(h|0));c[b+732>>2]=(c[b+732>>2]|0)+1;k=m;return}function yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0;e=k;k=k+32|0;d=c[b+388>>2]|0;switch(c[a+388>>2]&48&d&63){case 32:{if((a|0)==(b|0)&(d&64|0)==0){k=e;return}g[e+4>>2]=1.0;c[e+8+4>>2]=0;c[e+8+4+4>>2]=0;c[e+8+4+8>>2]=0;c[e>>2]=6728;c[e+8>>2]=c[a+456>>2];d=c[a+192>>2]|0;h=+jb[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+12>>2]=h+ +jb[c[(c[d>>2]|0)+48>>2]&15](d);h=+g[a+316>>2];f=+g[b+316>>2];g[e+16>>2]=h<f?h:f;c[e+24>>2]=a;c[e+28>>2]=b;Ke(c[a+1048>>2]|0,c[b+1048>>2]|0,e);k=e;return}case 16:{if((a|0)==(b|0)){k=e;return}c[e>>2]=6764;d=c[a+192>>2]|0;h=+jb[c[(c[d>>2]|0)+48>>2]&15](d);d=c[b+192>>2]|0;g[e+12>>2]=h+ +jb[c[(c[d>>2]|0)+48>>2]&15](d);c[e+4>>2]=a;c[e+8>>2]=b;Ke(c[a+928>>2]|0,c[b+988>>2]|0,e);c[e+4>>2]=b;c[e+8>>2]=a;Ke(c[b+928>>2]|0,c[a+988>>2]|0,e);k=e;return}default:{k=e;return}}}function zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0;i=k;k=k+32|0;c[i+16>>2]=c[d>>2];c[i+16+4>>2]=c[d+4>>2];c[i+16+8>>2]=c[d+8>>2];c[i+16+12>>2]=c[d+12>>2];f=+g[i+16>>2];h=+g[i+16+4>>2];e=+g[i+16+8>>2];if(f*f+h*h+e*e<1.4210854715202004e-14){c[i+16>>2]=-1082130432;c[i+16+4>>2]=-1082130432;c[i+16+8>>2]=-1082130432;g[i+16+12>>2]=0.0;f=-1.0;h=-1.0;e=-1.0}j=1.0/+A(+(f*f+h*h+e*e));g[i+16>>2]=f*j;g[i+16+4>>2]=h*j;g[i+16+8>>2]=e*j;Hd(i,b,i+16|0);switch(c[b+4>>2]|0){case 8:{e=+g[b+28>>2]*+g[b+12>>2];break}case 0:{e=+g[b+44>>2];break}case 1:{e=+g[b+44>>2];break}case 13:{e=+g[b+44>>2];break}case 11:{e=+g[b+44>>2];break}case 10:{e=+g[b+44>>2];break}case 4:case 5:{e=+g[b+44>>2];break}default:e=+jb[c[(c[b>>2]|0)+48>>2]&15](b)}h=e*+g[i+16+4>>2]+ +g[i+4>>2];j=e*+g[i+16+8>>2]+ +g[i+8>>2];g[a>>2]=e*+g[i+16>>2]+ +g[i>>2];g[a+4>>2]=h;g[a+8>>2]=j;g[a+12>>2]=0.0;k=i;return}function Ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,l=0,m=0,n=0,o=0.0;m=k;k=k+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];i=+g[d+8>>2];if(e*e+f*f+i*i<9.999999747378752e-05){l=1065353216;h=0;e=0.0;d=0}else{o=1.0/+A(+(e*e+f*f+i*i));l=(g[j>>2]=e*o,c[j>>2]|0);n=(g[j>>2]=f*o,c[j>>2]|0);h=(g[j>>2]=i*o,c[j>>2]|0);e=+g[d+12>>2];d=n}c[m+32>>2]=11160;n=m+32+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[m+32+20>>2]=-999999984306749440.0;c[m+32+24>>2]=l;c[m+32+28>>2]=d;c[m+32+32>>2]=h;g[m+32+36>>2]=e;c[m+16>>2]=1566444395;c[m+16+4>>2]=1566444395;c[m+16+8>>2]=1566444395;g[m+16+12>>2]=0.0;b=c[b+92>>2]|0;l=c[(c[b>>2]|0)+8>>2]|0;g[m>>2]=-999999984306749440.0;g[m+4>>2]=-999999984306749440.0;g[m+8>>2]=-999999984306749440.0;g[m+12>>2]=0.0;Qb[l&127](b,m+32|0,m,m+16|0);c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[a+12>>2]=c[n+12>>2];k=m;return}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=vb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g|0)Jb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];f=c[a+96>>2]|0;c[b+60>>2]=f;if(!f){c[b+52>>2]=0;c[b+56>>2]=0;return 22869}c[b+52>>2]=vb[c[(c[d>>2]|0)+28>>2]&31](d,c[a+104>>2]|0)|0;c[b+56>>2]=0;g=xb[c[(c[d>>2]|0)+16>>2]&63](d,16,f)|0;if((f|0)>0){e=c[a+104>>2]|0;b=c[g+8>>2]|0;a=0;while(1){c[b>>2]=c[e+(a<<4)>>2];c[b+4>>2]=c[e+(a<<4)+4>>2];c[b+8>>2]=c[e+(a<<4)+8>>2];c[b+12>>2]=c[e+(a<<4)+12>>2];a=a+1|0;if((a|0)==(f|0))break;else b=b+16|0}}else e=c[a+104>>2]|0;Ub[c[(c[d>>2]|0)+20>>2]&31](d,g,25286,1497453121,e);return 22869}function Ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0;k=+g[b+60>>2]*.5;l=c[b+68>>2]|0;f=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];j=+A(+(f*f+i*i+j*j));h=c[b+64>>2]|0;do if(!(+g[d+(l<<2)>>2]>+g[b+52>>2]*j)){f=+g[d+(h<<2)>>2];e=c[b+72>>2]|0;i=+g[d+(e<<2)>>2];j=+A(+(f*f+i*i));if(j>1.1920928955078125e-07){j=+g[b+56>>2]/j;g[a+(h<<2)>>2]=f*j;g[a+(l<<2)>>2]=-k;f=i*j;break}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=-k;f=0.0;break}}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=k;f=0.0;e=c[b+72>>2]|0}while(0);g[a+(e<<2)>>2]=f;if(!(+jb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;i=+g[d>>2];k=+g[d+4>>2];j=+g[d+8>>2];m=i*i+k*k+j*j<1.4210854715202004e-14?-1.0:i;f=i*i+k*k+j*j<1.4210854715202004e-14?-1.0:k;j=i*i+k*k+j*j<1.4210854715202004e-14?-1.0:j;k=1.0/+A(+(j*j+(m*m+f*f)));i=+jb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*m*k;g[a+4>>2]=+g[a+4>>2]+i*f*k;g[a+8>>2]=+g[a+8>>2]+i*j*k;return}function Di(a,b,d){a=a|0;b=b|0;d=d|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];c[a+316>>2]=c[b+16>>2];c[a+316+4>>2]=c[b+16+4>>2];c[a+316+8>>2]=c[b+16+8>>2];c[a+316+12>>2]=c[b+16+12>>2];c[a+332>>2]=c[b+32>>2];c[a+332+4>>2]=c[b+32+4>>2];c[a+332+8>>2]=c[b+32+8>>2];c[a+332+12>>2]=c[b+32+12>>2];c[a+348>>2]=c[b+48>>2];c[a+348+4>>2]=c[b+48+4>>2];c[a+348+8>>2]=c[b+48+8>>2];c[a+348+12>>2]=c[b+48+12>>2];c[a+364>>2]=c[d>>2];c[a+364+4>>2]=c[d+4>>2];c[a+364+8>>2]=c[d+8>>2];c[a+364+12>>2]=c[d+12>>2];c[a+380>>2]=c[d+16>>2];c[a+380+4>>2]=c[d+16+4>>2];c[a+380+8>>2]=c[d+16+8>>2];c[a+380+12>>2]=c[d+16+12>>2];c[a+396>>2]=c[d+32>>2];c[a+396+4>>2]=c[d+32+4>>2];c[a+396+8>>2]=c[d+32+8>>2];c[a+396+12>>2]=c[d+32+12>>2];c[a+412>>2]=c[d+48>>2];c[a+412+4>>2]=c[d+48+4>>2];c[a+412+8>>2]=c[d+48+8>>2];c[a+412+12>>2]=c[d+48+12>>2];Db[c[(c[a>>2]|0)+8>>2]&511](a);return}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;n=c[a+4>>2]|0;a=c[a+64>>2]|0;do if(!n)if(!a){e=0.0;m=0.0;j=0.0;l=0.0;i=0.0;k=0.0;h=0.0;f=0.0}else{e=+g[a>>2];m=+g[a+12>>2];j=+g[a+16>>2];l=+g[a+20>>2];i=+g[a+24>>2];k=+g[a+28>>2];h=+g[a+4>>2];f=+g[a+8>>2]}else{e=+g[n>>2];if(!a){m=+g[n+12>>2];j=+g[n+16>>2];l=+g[n+20>>2];i=+g[n+24>>2];k=+g[n+28>>2];h=+g[n+4>>2];f=+g[n+8>>2];break}k=+g[a>>2];e=e<k?e:k;k=+g[n+16>>2];j=+g[a+16>>2];j=k>j?k:j;k=+g[n+4>>2];h=+g[a+4>>2];h=k<h?k:h;k=+g[n+20>>2];l=+g[a+20>>2];l=k>l?k:l;k=+g[n+8>>2];f=+g[a+8>>2];f=k<f?k:f;k=+g[n+24>>2];i=+g[a+24>>2];if(k>i){m=0.0;i=k;k=0.0}else{m=0.0;k=0.0}}while(0);g[b>>2]=e;g[b+4>>2]=h;g[b+8>>2]=f;g[b+12>>2]=m;g[d>>2]=j;g[d+4>>2]=l;g[d+8>>2]=i;g[d+12>>2]=k;return}function Fi(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;c=k;k=k+48|0;Vh(a+364|0,c+16|0);h=-+g[c+16>>2];e=-+g[c+16+4>>2];m=-+g[c+16+8>>2];l=+g[c+16+12>>2];f=+g[b>>2];n=+g[b+12>>2];j=+g[b+8>>2];i=+g[b+4>>2];Vh(a+300|0,c);p=+g[c>>2];q=+g[c+12>>2];d=+g[c+8>>2];o=+g[c+4>>2];g[c+32>>2]=(l*n-f*h-i*e-j*m)*p+(l*f+n*h+j*e-i*m)*q+(f*m+(n*e+l*i)-j*h)*d-(n*m+l*j+i*h-f*e)*o;g[c+32+4>>2]=p*(n*m+l*j+i*h-f*e)+(q*(f*m+(n*e+l*i)-j*h)+(l*n-f*h-i*e-j*m)*o)-(l*f+n*h+j*e-i*m)*d;g[c+32+8>>2]=(n*m+l*j+i*h-f*e)*q+(l*n-f*h-i*e-j*m)*d+(l*f+n*h+j*e-i*m)*o-p*(f*m+(n*e+l*i)-j*h);g[c+32+12>>2]=(l*n-f*h-i*e-j*m)*q-(l*f+n*h+j*e-i*m)*p-(f*m+(n*e+l*i)-j*h)*o-(n*m+l*j+i*h-f*e)*d;cf(a,c+32|0);k=c;return}function Gi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(AE(b,c[d+8>>2]|0)|0)){if(!(AE(b,c[d>>2]|0)|0)){b=c[b+8>>2]|0;Ub[c[(c[b>>2]|0)+24>>2]&31](b,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;a[d+52>>0]=0;a[d+53>>0]=0;f=c[b+8>>2]|0;Wb[c[(c[f>>2]|0)+20>>2]&7](f,d,e,e,1,g);if(a[d+53>>0]|0)if(!(a[d+52>>0]|0)){b=1;f=11}else f=15;else{b=0;f=11}do if((f|0)==11){c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(b){f=15;break}else{b=4;break}}if(b)f=15;else b=4}while(0);if((f|0)==15)b=3;c[d+44>>2]=b;break}if((f|0)==1)c[d+32>>2]=1}else pt(d,e,f);while(0);return}function Hi(b){b=b|0;var d=0;d=c[b>>2]|0;if(d|0)go(b,d);d=c[b+4>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+16>>2]=0;d=c[b+52>>2]|0;if(!d){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(!(a[b+56>>0]|0)){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);d=c[b+32>>2]|0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Ii(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!e)e=c[b+188>>2]|0;j=c[d>>2]|0;f=c[b+268>>2]|0;a:do if((f|0)>0){h=c[b+276>>2]|0;g=0;while(1){if((c[h+(g<<2)>>2]|0)==(j|0))break;g=g+1|0;if((g|0)>=(f|0))break a}if((g|0)!=(f|0))return}while(0);if((f|0)==(c[b+272>>2]|0)?(i=(f|0)==0?1:f<<1,(f|0)<(i|0)):0){if(!i)h=0;else{c[7584]=(c[7584]|0)+1;f=lc((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+268>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+276>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+276>>2]|0;if(g){if(a[b+280>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=h;c[b+272>>2]=i}c[(c[b+276>>2]|0)+(f<<2)>>2]=j;c[b+268>>2]=f+1;b=c[b+284>>2]|0;xb[c[(c[b>>2]|0)+8>>2]&63](b,e,d)|0;return}function Ji(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;i=k;k=k+32|0;h=nu()|0;c[h+4>>2]=11;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=7564;c[h+48>>2]=c[e+48>>2];c[h+48+4>>2]=c[e+48+4>>2];c[h+48+8>>2]=c[e+48+8>>2];c[h+48+12>>2]=c[e+48+12>>2];c[h+64>>2]=c[f+48>>2];c[h+64+4>>2]=c[f+48+4>>2];c[h+64+8>>2]=c[f+48+8>>2];c[h+64+12>>2]=c[f+48+12>>2];Vh(e,i+16|0);Vh(f,i);o=-+g[i>>2];m=-+g[i+4>>2];j=-+g[i+8>>2];r=+g[i+12>>2];q=+g[i+16+12>>2];p=+g[i+16>>2];n=+g[i+16+4>>2];l=+g[i+16+8>>2];g[h+80>>2]=q*o+r*p+n*j-l*m;g[h+84>>2]=l*o+(q*m+r*n)-p*j;g[h+88>>2]=p*m+(q*j+r*l)-n*o;g[h+92>>2]=r*q-p*o-n*m-l*j;k=i;return h|0}function Ki(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return ab(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function Li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(tb[c[(c[d>>2]|0)+16>>2]&255](d)|0)return;i=c[b+712>>2]|0;h=tb[c[(c[d>>2]|0)+36>>2]&255](d)|0;if(tb[c[(c[d>>2]|0)+8>>2]&255](d)|0?(e=tb[c[(c[d>>2]|0)+20>>2]&255](d)|0,g=tb[c[(c[d>>2]|0)+24>>2]&255](d)|0,(i|0)>0):0){f=c[b+720>>2]|0;a=h+(e<<2)|0;e=0;while(1){k=c[f+(e*104|0)+12>>2]|0;j=c[f+(e*104|0)+16>>2]|0;c[a>>2]=c[f+(e*104|0)+8>>2];c[a+4>>2]=k;c[a+8>>2]=j;e=e+1|0;if((e|0)==(i|0))break;else a=a+(g<<2)|0}}if(!(tb[c[(c[d>>2]|0)+12>>2]&255](d)|0))return;a=tb[c[(c[d>>2]|0)+28>>2]&255](d)|0;g=tb[c[(c[d>>2]|0)+32>>2]&255](d)|0;if((i|0)<=0)return;f=c[b+720>>2]|0;a=h+(a<<2)|0;e=0;while(1){j=c[f+(e*104|0)+76>>2]|0;k=c[f+(e*104|0)+80>>2]|0;c[a>>2]=c[f+(e*104|0)+72>>2];c[a+4>>2]=j;c[a+8>>2]=k;e=e+1|0;if((e|0)==(i|0))break;else a=a+(g<<2)|0}return}function Mi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=13400;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;f=c[b+28>>2]|0;if((f|0)>0){d=0;do{g=c[b+36>>2]|0;h=g+(d*36|0)+4|0;i=g+(d*36|0)+12|0;j=c[i>>2]|0;e=g+(d*36|0)+16|0;if(j|0){if(a[e>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}c[i>>2]=0}a[e>>0]=1;c[i>>2]=0;c[h>>2]=0;c[g+(d*36|0)+8>>2]=0;d=d+1|0}while((d|0)!=(f|0))}d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Ni(b){b=b|0;var d=0;c[b>>2]=11788;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b>>2]=13416;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}function Oi(b){b=b|0;var d=0;c[b>>2]=12348;d=c[b+160>>2]|0;if(d|0){if(a[b+164>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+160>>2]=0}a[b+164>>0]=1;c[b+160>>2]=0;c[b+152>>2]=0;c[b+156>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(!d){a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}if(a[b+80>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+76>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}function Pi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0.0,o=0,p=0;p=k;k=k+16|0;if((e|0)<=0){k=p;return}o=0;do{h=+g[a+60>>2]*.5;i=c[a+68>>2]|0;l=+g[b+(o<<4)>>2];m=+g[b+(o<<4)+4>>2];n=+g[b+(o<<4)+8>>2];n=+A(+(l*l+m*m+n*n));j=c[a+64>>2]|0;do if(!(+g[b+(o<<4)+(i<<2)>>2]>+g[a+52>>2]*n)){l=+g[b+(o<<4)+(j<<2)>>2];f=c[a+72>>2]|0;m=+g[b+(o<<4)+(f<<2)>>2];n=+A(+(l*l+m*m));if(n>1.1920928955078125e-07){n=+g[a+56>>2]/n;g[p+(j<<2)>>2]=l*n;g[p+(i<<2)>>2]=-h;h=m*n;break}else{g[p+(j<<2)>>2]=0.0;g[p+(i<<2)>>2]=-h;h=0.0;break}}else{g[p+(j<<2)>>2]=0.0;g[p+(i<<2)>>2]=h;h=0.0;f=c[a+72>>2]|0}while(0);g[p+(f<<2)>>2]=h;j=d+(o<<4)|0;c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];o=o+1|0}while((o|0)!=(e|0));k=p;return}function Qi(b){b=b|0;var d=0;c[b>>2]=8056;d=c[b+144>>2]|0;if(d|0){if(a[b+148>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Ri(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+12>>2]=0;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;c[b+24>>2]=1065353216;g[b+28>>2]=0.0;g[b+48>>2]=.03999999910593033;c[b+56>>2]=0;c[b+8>>2]=1;e=b+60|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[b+4>>2]=12412;c[b+116>>2]=0;c[b+120>>2]=1065353216;c[b+124>>2]=1065353216;c[b+128>>2]=1065353216;g[b+132>>2]=0.0;g[b+152>>2]=.03999999910593033;c[b+160>>2]=0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=-1082130432;c[b+184>>2]=-1082130432;c[b+188>>2]=-1082130432;g[b+192>>2]=0.0;a[b+196>>0]=0;c[b+112>>2]=2;c[b+108>>2]=12548;c[b+200>>2]=4;c[b+268>>2]=12684;c[b+276>>2]=12704;c[b+284>>2]=12724;c[b>>2]=d;if(tb[c[(c[d>>2]|0)+96>>2]&255](d)|0){f=b+276|0;e=b+292|0;c[e>>2]=f;f=f+4|0;c[f>>2]=b;return}else{f=c[b>>2]|0;f=tb[c[(c[f>>2]|0)+100>>2]&255](f)|0;f=f?b+284|0:b+268|0;e=b+292|0;c[e>>2]=f;f=f+4|0;c[f>>2]=b;return}}function Si(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;o=(+g[a+32>>2]-+g[a+16>>2])*+g[a+108>>2]*.5;m=(+g[a+36>>2]-+g[a+20>>2])*+g[a+112>>2]*.5;k=(+g[a+40>>2]-+g[a+24>>2])*+g[a+116>>2]*.5;t=+z(+(+g[b>>2]));s=+z(+(+g[b+4>>2]));r=+z(+(+g[b+8>>2]));n=+z(+(+g[b+16>>2]));l=+z(+(+g[b+20>>2]));j=+z(+(+g[b+24>>2]));w=+z(+(+g[b+32>>2]));v=+z(+(+g[b+36>>2]));f=+z(+(+g[b+40>>2]));u=+g[b+48>>2];p=+g[b+52>>2];h=+g[b+56>>2];q=+jb[c[(c[a>>2]|0)+48>>2]&15](a);i=+jb[c[(c[a>>2]|0)+48>>2]&15](a);f=o*w+m*v+k*f+ +jb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=u-(o*t+m*s+k*r+q);g[d+4>>2]=p-(o*n+m*l+k*j+i);g[d+8>>2]=h-f;g[d+12>>2]=0.0;g[e>>2]=u+(o*t+m*s+k*r+q);g[e+4>>2]=p+(o*n+m*l+k*j+i);g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function Ti(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0.0,k=0.0,l=0,m=0.0;b=DK(b)|0;m=+g[b>>2];h=DK(d)|0;j=+g[h>>2];i=DK(e)|0;k=+g[i>>2];l=c[(m>(j>k?k:j)?(j>k?i:h):b)>>2]|0;d=DK(a)|0;c[d>>2]=l;k=+g[h+4>>2];j=+g[i+4>>2];c[d+4>>2]=c[(+g[b+4>>2]>(k>j?j:k)?(k>j?i+4|0:h+4|0):b+4|0)>>2];j=+g[h+8>>2];k=+g[i+8>>2];c[d+8>>2]=c[(+g[b+8>>2]>(j>k?k:j)?(j>k?i+8|0:h+8|0):b+8|0)>>2];k=+g[h>>2];j=+g[i>>2];l=c[(+g[b>>2]<(k<j?j:k)?(k<j?i:h):b)>>2]|0;e=DK(a+16|0)|0;c[e>>2]=l;j=+g[h+4>>2];k=+g[i+4>>2];c[e+4>>2]=c[(+g[b+4>>2]<(j<k?k:j)?(j<k?i+4|0:h+4|0):b+4|0)>>2];k=+g[h+8>>2];j=+g[i+8>>2];c[e+8>>2]=c[(+g[b+8>>2]<(k<j?j:k)?(k<j?i+8|0:h+8|0):b+8|0)>>2];g[d>>2]=+g[d>>2]-f;g[d+4>>2]=+g[d+4>>2]-f;g[d+8>>2]=+g[d+8>>2]-f;g[e>>2]=+g[e>>2]+f;g[e+4>>2]=+g[e+4>>2]+f;g[e+8>>2]=+g[e+8>>2]+f;return}function Ui(b){b=b|0;var d=0;if((a[28320]|0)==0?_A(28320)|0:0){if((a[28272]|0)==0?_A(28272)|0:0){if((a[28280]|0)==0?_A(28280)|0:0){c[7174]=1065353216;c[7175]=0;c[7176]=0;c[7177]=0;c[7178]=0;c[7179]=1065353216;c[7180]=0;c[7181]=0;c[7182]=0;c[7183]=0;c[7184]=1065353216;g[7185]=0.0}c[7158]=c[7174];c[7159]=c[7175];c[7160]=c[7176];c[7161]=c[7177];c[7162]=c[7178];c[7163]=c[7179];c[7164]=c[7180];c[7165]=c[7181];c[7166]=c[7182];c[7167]=c[7183];c[7168]=c[7184];c[7169]=c[7185];c[7170]=0;c[7171]=0;c[7172]=0;c[7173]=0}c[7210]=c[7158];c[7211]=c[7159];c[7212]=c[7160];c[7213]=c[7161];c[7214]=c[7162];c[7215]=c[7163];c[7216]=c[7164];c[7217]=c[7165];c[7218]=c[7166];c[7219]=c[7167];c[7220]=c[7168];c[7221]=c[7169];c[7222]=c[7170];c[7223]=c[7171];c[7224]=c[7172];c[7225]=c[7173]}d=c[b+8>>2]|0;if(!d){d=c[b>>2]|0;return ((d|0)==0?28840:d+60|0)|0}else return d+4|0;return 0}function Vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=c[b>>2]|0;if((e|0)==(c[a+80>>2]|0)){f=1.0;return +f}if(c[e+204>>2]&4|0){f=1.0;return +f}if((+g[a+28>>2]-+g[a+12>>2])*+g[b+8>>2]+(+g[a+32>>2]-+g[a+16>>2])*+g[b+12>>2]+(+g[a+36>>2]-+g[a+20>>2])*+g[b+16>>2]>=-+g[a+84>>2]){f=1.0;return +f}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{k=+g[b+8>>2];j=+g[b+12>>2];i=+g[b+16>>2];h=k*+g[e+20>>2]+j*+g[e+24>>2]+i*+g[e+28>>2];f=k*+g[e+36>>2]+j*+g[e+40>>2]+i*+g[e+44>>2];g[a+44>>2]=+g[e+4>>2]*k+ +g[e+8>>2]*j+ +g[e+12>>2]*i;g[a+48>>2]=h;g[a+52>>2]=f;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function Wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=k;k=k+48|0;e=c[a+28>>2]|0;c[i>>2]=e;e=(c[a+20>>2]|0)-e|0;c[i+4>>2]=e;c[i+8>>2]=b;c[i+12>>2]=d;c[i+16>>2]=c[a+60>>2];c[i+16+4>>2]=i;c[i+16+8>>2]=2;f=aE(Ta(146,i+16|0)|0)|0;a:do if((e+d|0)!=(f|0)){b=2;g=e+d|0;e=i;while(1){if((f|0)<0)break;g=g-f|0;j=c[e+4>>2]|0;l=f>>>0>j>>>0;e=l?e+8|0:e;b=b+(l<<31>>31)|0;j=f-(l?j:0)|0;c[e>>2]=(c[e>>2]|0)+j;c[e+4>>2]=(c[e+4>>2]|0)-j;c[i+32>>2]=c[a+60>>2];c[i+32+4>>2]=e;c[i+32+8>>2]=b;f=aE(Ta(146,i+32|0)|0)|0;if((g|0)==(f|0)){h=3;break a}}c[a+16>>2]=0;c[a+28>>2]=0;c[a+20>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}else h=3;while(0);if((h|0)==3){l=c[a+44>>2]|0;c[a+16>>2]=l+(c[a+48>>2]|0);c[a+28>>2]=l;c[a+20>>2]=l}k=i;return d|0}function Xi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+96>>2]|0;if((f|0)==(c[b+100>>2]|0)?(i=(f|0)==0?1:f<<1,(f|0)<(i|0)):0){if(!i)h=0;else{c[7584]=(c[7584]|0)+1;f=lc((i<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+96>>2]|0}if((f|0)>0){g=0;do{j=h+(g<<4)|0;k=(c[b+104>>2]|0)+(g<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];g=g+1|0}while((g|0)!=(f|0))}f=c[b+104>>2]|0;if(f|0){if(a[b+108>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=h;c[b+100>>2]=i;f=c[b+96>>2]|0}k=(c[b+104>>2]|0)+(f<<4)|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[b+96>>2]=(c[b+96>>2]|0)+1;if(!e)return;_j(b);return}function Yi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,l=0;i=k;k=k+80|0;if((e|0)<=0){k=i;return}f=0;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));h=i+32+4|0;f=0;do{j=b+(f<<4)|0;c[i+32>>2]=11160;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[i+32+20>>2]=-999999984306749440.0;c[i+32+24>>2]=c[j>>2];c[i+32+24+4>>2]=c[j+4>>2];c[i+32+24+8>>2]=c[j+8>>2];c[i+32+24+12>>2]=c[j+12>>2];c[i+16>>2]=1566444395;c[i+16+4>>2]=1566444395;c[i+16+8>>2]=1566444395;g[i+16+12>>2]=0.0;j=c[a+92>>2]|0;l=c[(c[j>>2]|0)+8>>2]|0;g[i>>2]=-999999984306749440.0;g[i+4>>2]=-999999984306749440.0;g[i+8>>2]=-999999984306749440.0;g[i+12>>2]=0.0;Qb[l&127](j,i+32|0,i,i+16|0);j=d+(f<<4)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];f=f+1|0}while((f|0)<(e|0));k=i;return}function Zi(b){b=b|0;var d=0,e=0,f=0,h=0;c[b+32>>2]=262144;d=c[b+4>>2]|0;if((d|0)<2383){if((c[b+8>>2]|0)<2383){c[7584]=(c[7584]|0)+1;e=lc(9551)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}f=c[b+4>>2]|0;if((f|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=2383;e=b+12|0}else e=b+12|0;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=2383)}c[b+4>>2]=2383;e=0;do{h=(c[b+12>>2]|0)+(e<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(d|0)do{h=d;d=c[d+280>>2]|0;zK(h)}while((d|0)!=0);e=e+1|0}while((e|0)!=2383);g[b+20>>2]=.25;c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=1;c[b+40>>2]=1;return}function _i(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=k;k=k+96|0;b=c[b>>2]|0;if((b|0)==(c[a+4>>2]|0)){k=d;return 1}e=c[a+12>>2]|0;if(!(vb[c[(c[e>>2]|0)+8>>2]&31](e,c[b+188>>2]|0)|0)){k=d;return 1}e=c[a+4>>2]|0;f=c[e+192>>2]|0;c[d+64>>2]=0;c[d+64+4>>2]=f;c[d+64+8>>2]=e;c[d+64+12>>2]=e+4;c[d+64+16>>2]=-1;c[d+64+20>>2]=-1;e=c[b+192>>2]|0;c[d+40>>2]=0;c[d+40+4>>2]=e;c[d+40+8>>2]=b;c[d+40+12>>2]=b+4;c[d+40+16>>2]=-1;c[d+40+20>>2]=-1;b=c[(c[a+8>>2]|0)+24>>2]|0;b=yb[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,0)|0;if(b|0){f=c[a+12>>2]|0;c[d+4>>2]=0;c[d+8>>2]=d+64;c[d+12>>2]=d+40;c[d>>2]=9212;c[d+32>>2]=f;Ub[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,(c[a+8>>2]|0)+28|0,d);Db[c[c[b>>2]>>2]&511](b);f=c[(c[a+8>>2]|0)+24>>2]|0;Jb[c[(c[f>>2]|0)+60>>2]&127](f,b)}k=d;return 1}function $i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,l=0;l=k;k=k+80|0;i=c[c[a>>2]>>2]|0;h=c[c[a+4>>2]>>2]|0;if(!(xb[c[(c[b>>2]|0)+24>>2]&63](b,i,h)|0)){k=l;return}f=c[i+192>>2]|0;c[l+56>>2]=0;c[l+56+4>>2]=f;c[l+56+8>>2]=i;c[l+56+12>>2]=i+4;c[l+56+16>>2]=-1;c[l+56+20>>2]=-1;f=c[h+192>>2]|0;c[l+32>>2]=0;c[l+32+4>>2]=f;c[l+32+8>>2]=h;c[l+32+12>>2]=h+4;c[l+32+16>>2]=-1;c[l+32+20>>2]=-1;f=c[a+8>>2]|0;if(!f){f=yb[c[(c[b>>2]|0)+8>>2]&31](b,l+56|0,l+32|0,0)|0;c[a+8>>2]=f;if(f|0)j=4}else j=4;if((j|0)==4){c[l>>2]=8840;c[l+4>>2]=0;c[l+8>>2]=l+56;c[l+12>>2]=l+32;if((c[d+8>>2]|0)!=1){e=+pb[c[(c[f>>2]|0)+12>>2]&15](f,i,h,d,l);if(+g[d+12>>2]>e)g[d+12>>2]=e}else Ub[c[(c[f>>2]|0)+8>>2]&31](f,l+56|0,l+32|0,d,l)}k=l;return}function aj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+488>>2]|0;a:do if((e|0)>0){g=c[b+496>>2]|0;f=0;while(1){if((c[g+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(e|0))break a}if((f|0)!=(e|0)){d=b+256|0;c[d>>2]=1;return}}while(0);if((e|0)==(c[b+492>>2]|0)?(h=(e|0)==0?1:e<<1,(e|0)<(h|0)):0){if(!h)g=0;else{c[7584]=(c[7584]|0)+1;e=lc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+488>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+496>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+496>>2]|0;if(f){if(a[b+500>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);e=c[b+488>>2]|0}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=g;c[b+492>>2]=h}c[(c[b+496>>2]|0)+(e<<2)>>2]=d;c[b+488>>2]=e+1;d=b+256|0;c[d>>2]=1;return}function bj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=c[d+4>>2]|0;f=c[b+24>>2]|0;if((f|0)<(i|0)){if((c[b+28>>2]|0)<(i|0)){if(!i){e=0;h=f}else{c[7584]=(c[7584]|0)+1;e=lc((i<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+24>>2]|0}if((h|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[b+32>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[b+32>>2]|0;if(g|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=i;e=b+32|0}else e=b+32|0;do{c[(c[e>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(i|0))}else e=b+32|0;c[b+24>>2]=i;f=c[e>>2]|0;if((i|0)<=0)return;e=0;do{c[f+(e<<2)>>2]=c[(c[d+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(i|0));return}function cj(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=12060;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=0;a[b+28>>0]=0;a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;c[b+72>>2]=0;c[7584]=(c[7584]|0)+1;d=lc(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){d=0;do{g=c[b+16>>2]|0;c[f+(d<<4)>>2]=c[g+(d<<4)>>2];c[f+(d<<4)+4>>2]=c[g+(d<<4)+4>>2];c[f+(d<<4)+8>>2]=c[g+(d<<4)+8>>2];c[f+(d<<4)+12>>2]=c[g+(d<<4)+12>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Sf(b);return}if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Sf(b);return}function dj(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==32&(d|0)==32)){if((b|0)==32){if((d|0)<20){a=a+96|0;break}if((d+-21|0)>>>0<9){a=a+104|0;break}}else{if((b|0)<20&(d|0)==32){a=a+100|0;break}if((b+-21|0)>>>0<9&(d|0)==32){a=a+108|0;break}if((b|0)==8&(d|0)==8){a=a+60|0;break}if((b|0)==8&(d|0)==1){a=a+76|0;break}if((b|0)==1&(d|0)==8){a=a+80|0;break}}if(!(d|b)){a=a+72|0;break}if((b|0)<20&(d|0)==28){a=a+88|0;break}if((b|0)==28&(d|0)<20){a=a+84|0;break}if((b|0)<20){if((d|0)<20){a=a+32|0;break}if((d+-21|0)>>>0<9){a=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){a=a+40|0;break}if((b|0)==31)if((d|0)==31){a=a+48|0;break}else{a=a+44|0;break}}if((d|0)==31){a=a+52|0;break}else{a=a+56|0;break}}else a=a+92|0;while(0);return c[a>>2]|0}function ej(a,b,c,d,e,f,h,i,j,k,l){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;x=+g[a>>2]*f+ +g[a+16>>2]*h+ +g[a+32>>2]*i;v=+g[a+4>>2]*f+ +g[a+20>>2]*h+ +g[a+36>>2]*i;t=+g[a+8>>2]*f+ +g[a+24>>2]*h+ +g[a+40>>2]*i;s=+g[b>>2]*f+ +g[b+16>>2]*h+ +g[b+32>>2]*i;q=+g[b+4>>2]*f+ +g[b+20>>2]*h+ +g[b+36>>2]*i;o=+g[b+8>>2]*f+ +g[b+24>>2]*h+ +g[b+40>>2]*i;w=+g[j+80>>2];u=+g[j+84>>2];p=+g[j+88>>2];r=+g[k+80>>2];m=+g[k+84>>2];n=+g[k+88>>2];p=x*(x<0.0?-w:w)+v*(v<0.0?-u:u)+t*(t<0.0?-p:p);n=s*(s<0.0?-r:r)+q*(q<0.0?-m:m)+o*(o<0.0?-n:n);o=+g[j+96>>2];m=+g[k+96>>2];m=(p>o?p:o)+(n>m?n:m);return !((c*f+d*h+e*i+m<m-(c*f+d*h+e*i)?c*f+d*h+e*i+m:m-(c*f+d*h+e*i))>l)|0}function fj(b){b=b|0;var d=0;d=_t(616)|0;c[d+164>>2]=1065353216;c[d+168>>2]=1065353216;c[d+172>>2]=1065353216;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749440.0;c[d+188>>2]=0;c[d+188+4>>2]=0;c[d+188+8>>2]=0;c[d+188+12>>2]=0;c[d+204>>2]=1;c[d+208>>2]=-1;c[d+212>>2]=-1;c[d+216>>2]=1;g[d+220>>2]=0.0;g[d+224>>2]=.5;g[d+228>>2]=0.0;g[d+232>>2]=0.0;c[d+236>>2]=1;c[d+240>>2]=0;g[d+244>>2]=1.0;c[d+248>>2]=0;c[d+248+4>>2]=0;c[d+248+8>>2]=0;c[d+248+12>>2]=0;c[d+4>>2]=1065353216;c[d+8>>2]=0;c[d+8+4>>2]=0;c[d+8+8>>2]=0;c[d+8+12>>2]=0;c[d+24>>2]=1065353216;c[d+28>>2]=0;c[d+28+4>>2]=0;c[d+28+8>>2]=0;c[d+28+12>>2]=0;c[d+44>>2]=1065353216;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;c[d+48+16>>2]=0;c[d>>2]=7296;a[d+500>>0]=1;c[d+496>>2]=0;c[d+488>>2]=0;c[d+492>>2]=0;Kd(d,b);return d|0}function gj(a,b,d,e,f,h,i,j,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;var m=0,n=0,o=0;o=k;k=k+16|0;Wj(18386);Zb[c[(c[a>>2]|0)+32>>2]&1](a,b,d,e,f,h,i,j,l);n=c[a+184>>2]|0;m=c[j+20>>2]|0;m=(n|0)>(m|0)?n:m;if((m|0)>0){n=0;do{+sb[c[(c[a>>2]|0)+40>>2]&3](a,n,b,d,e,f,h,i,j,l);n=n+1|0}while((n|0)<(m|0))}m=c[3369]|0;l=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=l;if(l|0){k=o;return 0.0}do if(c[m+4>>2]|0){bb(o|0,0)|0;l=c[7583]|0;g[m+8>>2]=+g[m+8>>2]+ +(((c[o+4>>2]|0)-(c[l+4>>2]|0)+(((c[o>>2]|0)-(c[l>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[m+16>>2]|0)){m=c[3369]|0;break}else{k=o;return 0.0}}while(0);c[3369]=c[m+20>>2];k=o;return 0.0}function hj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0;if((e|0)<=0)return;f=0;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));r=0;do{j=+g[a+12>>2];k=+g[b+(r<<4)>>2]*j;l=+g[a+16>>2];m=+g[b+(r<<4)+4>>2]*l;n=+g[a+20>>2];o=+g[b+(r<<4)+8>>2]*n;p=c[a+96>>2]|0;if((p|0)>0){q=c[a+104>>2]|0;f=-1;i=0;h=-3402823466385288598117041.0e14;do{s=k*+g[q+(i<<4)>>2]+m*+g[q+(i<<4)+4>>2]+o*+g[q+(i<<4)+8>>2];t=s>h;f=t?i:f;h=t?s:h;i=i+1|0}while((i|0)!=(p|0));o=+g[q+(f<<4)+4>>2]*l;s=+g[q+(f<<4)+8>>2]*n;g[d+(r<<4)>>2]=+g[q+(f<<4)>>2]*j;g[d+(r<<4)+4>>2]=o;g[d+(r<<4)+8>>2]=s}else h=-999999984306749440.0;g[d+(r<<4)+12>>2]=h;r=r+1|0}while((r|0)!=(e|0));return}function ij(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[d>>2]|0;d=c[b+268>>2]|0;a:do if((d|0)>0){f=c[b+276>>2]|0;e=0;while(1){if((c[f+(e<<2)>>2]|0)==(g|0))break;e=e+1|0;if((e|0)>=(d|0))break a}if((e|0)!=(d|0))return}while(0);if((d|0)==(c[b+272>>2]|0)?(h=(d|0)==0?1:d<<1,(d|0)<(h|0)):0){if(!h)f=0;else{c[7584]=(c[7584]|0)+1;d=lc((h<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[b+268>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[b+276>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+276>>2]|0;if(e){if(a[b+280>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0);d=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=f;c[b+272>>2]=h}c[(c[b+276>>2]|0)+(d<<2)>>2]=g;c[b+268>>2]=d+1;return}function jj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+232>>2]|0;a:do if((f|0)>0){g=c[a+240>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+240>>2]|0)+(f+-1<<2)>>2]=b;c[a+232>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=tb[c[(c[g>>2]|0)+36>>2]&255](g)|0;Nb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Nb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function kj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+328>>2]|0;a:do if((f|0)>0){g=c[a+336>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+336>>2]|0)+(f+-1<<2)>>2]=b;c[a+328>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=tb[c[(c[g>>2]|0)+36>>2]&255](g)|0;Nb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Nb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function lj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+12>>2]|0;if(g|0){h=c[a+4>>2]|0;Jb[c[(c[h>>2]|0)+16>>2]&127](h,g);c[a+12>>2]=0}g=c[a+8>>2]|0;if(g|0){Db[c[c[g>>2]>>2]&511](g);h=c[a+4>>2]|0;Jb[c[(c[h>>2]|0)+60>>2]&127](h,c[a+8>>2]|0);c[a+8>>2]=0}c[a+24>>2]=-1;c[a+24+4>>2]=-1;c[a+24+8>>2]=-1;c[a+24+12>>2]=-1;c[a+16>>2]=f;c[a+20>>2]=e;e=c[b+4>>2]|0;if((c[e+4>>2]|0)!=25){g=c[d+4>>2]|0;if((c[g+4>>2]|0)!=25)return;qc(a,d,b,g,e,1);return}g=c[d+4>>2]|0;if((c[g+4>>2]|0)==25){tc(a,b,d,e,g);return}else{qc(a,b,d,e,g,0);return}}function mj(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;b=Ju()|0;c[b+8>>2]=0;c[b+12>>2]=1065353216;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;g[b+24>>2]=0.0;g[b+44>>2]=.03999999910593033;c[b+52>>2]=0;c[b>>2]=11180;c[b+4>>2]=0;f=+g[a>>2];e=+g[a+4>>2];d=+g[a+8>>2];d=+g[a+((f<e?(f<d?0:2):e<d?1:2)<<2)>>2]*.10000000149011612;if(d<.03999999910593033){i=+TH(b);h=+TH(b);f=+TH(b);i=i+ +g[b+28>>2];h=h+ +g[b+32>>2];f=f+ +g[b+36>>2];g[b+44>>2]=d;d=+TH(b);e=+TH(b);f=f-+TH(b);g[b+28>>2]=i-d;g[b+32>>2]=h-e;g[b+36>>2]=f;g[b+40>>2]=0.0}f=+TH(b);h=+TH(b);i=+TH(b);h=+g[a+4>>2]-h;i=+g[a+8>>2]-i;g[b+28>>2]=+g[a>>2]-f;g[b+32>>2]=h;g[b+36>>2]=i;g[b+40>>2]=0.0;return b|0}function nj(b){b=b|0;var d=0,e=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+64>>2]|0;if(d|0)do{c[b+64>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);d=c[b+64>>2]|0}while((d|0)!=0);d=c[b+48>>2]|0;if(d|0)do{c[b+48>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);d=c[b+48>>2]|0}while((d|0)!=0);d=c[b+32>>2]|0;if(!d)return;do{c[b+32>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);d=c[b+32>>2]|0}while((d|0)!=0);return}function oj(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;c[a+4>>2]=35;c[a+8>>2]=0;c[a+12>>2]=1065353216;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;g[a+24>>2]=0.0;g[a+44>>2]=.03999999910593033;c[a>>2]=11476;c[a+52>>2]=1;f=+g[b>>2];e=+g[b+4>>2];d=+g[b+8>>2];d=+g[b+((f<e?(f<d?0:2):e<d?1:2)<<2)>>2]*.10000000149011612;if(d<.03999999910593033){i=+TH(a);h=+TH(a);f=+TH(a);i=i+ +g[a+28>>2];h=h+ +g[a+32>>2];f=f+ +g[a+36>>2];g[a+44>>2]=d;d=+TH(a);e=+TH(a);f=f-+TH(a);g[a+28>>2]=i-d;g[a+32>>2]=h-e;g[a+36>>2]=f;g[a+40>>2]=0.0}f=+TH(a);h=+TH(a);i=+TH(a);h=+g[b+4>>2]-h;i=+g[b+8>>2]-i;g[a+28>>2]=+g[b>>2]-f;g[a+32>>2]=h;g[a+36>>2]=i;g[a+40>>2]=0.0;c[a+4>>2]=13;return}function pj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(c[b>>2]|0)+1794895138|0;h=vC(c[b+8>>2]|0,n)|0;f=vC(c[b+12>>2]|0,n)|0;g=vC(c[b+16>>2]|0,n)|0;a:do if((h>>>0<(2?d>>>2:d)>>>0?f>>>0<(d-(h<<2)|0)>>>0&g>>>0<(d-(h<<2)|0)>>>0:0)?((g|f)&3|0)==0:0){l=2?f>>>2:f;m=2?g>>>2:g;j=0;while(1){i=1?h>>>1:h;k=j+i|0;f=vC(c[b+((k<<1)+l<<2)>>2]|0,n)|0;g=vC(c[b+((k<<1)+l+1<<2)>>2]|0,n)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Bp(e,b+g|0)|0;if(!f)break;if((h|0)==1){f=0;break a}j=(f|0)<0?j:k;h=(f|0)<0?i:h-i|0}g=vC(c[b+((k<<1)+m<<2)>>2]|0,n)|0;f=vC(c[b+((k<<1)+m+1<<2)>>2]|0,n)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function qj(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0;f=+g[a+692>>2];do if(f>0.0){h=+g[a+688>>2];if(!((b-h)%6.2831854820251465<-3.1415927410125732))if((b-h)%6.2831854820251465>3.1415927410125732)e=(b-h)%6.2831854820251465+-6.2831854820251465;else e=(b-h)%6.2831854820251465;else e=(b-h)%6.2831854820251465+6.2831854820251465;if(!(!(e<-f)&e<=f))if(e>0.0){if((f+h)%6.2831854820251465<-3.1415927410125732){b=(f+h)%6.2831854820251465+6.2831854820251465;break}if(!((f+h)%6.2831854820251465>3.1415927410125732)){b=(f+h)%6.2831854820251465;break}b=(f+h)%6.2831854820251465+-6.2831854820251465;break}else{if((h-f)%6.2831854820251465<-3.1415927410125732){b=(h-f)%6.2831854820251465+6.2831854820251465;break}if(!((h-f)%6.2831854820251465>3.1415927410125732)){b=(h-f)%6.2831854820251465;break}b=(h-f)%6.2831854820251465+-6.2831854820251465;break}}while(0);g[a+680>>2]=(b-+Gj(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0))/d;return}function rj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[d>>2]|0;i=vb[c[(c[i>>2]|0)+56>>2]&31](i,28)|0;j=(a[b+4>>0]|0)==0;h=c[b+8>>2]|0;g=c[b+12>>2]|0;b=c[d>>2]|0;c[i+4>>2]=b;c[i>>2]=8716;a[i+8>>0]=0;c[i+12>>2]=0;if(j){a[i+16>>0]=0;c[i+20>>2]=h;c[i+24>>2]=g;if(!(xb[c[(c[b>>2]|0)+24>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=xb[c[(c[j>>2]|0)+12>>2]&63](j,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[i+8>>0]=1;return i|0}else{a[i+16>>0]=1;c[i+20>>2]=h;c[i+24>>2]=g;if(!(xb[c[(c[b>>2]|0)+24>>2]&63](b,c[f+8>>2]|0,c[e+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=xb[c[(c[j>>2]|0)+12>>2]&63](j,c[f+8>>2]|0,c[e+8>>2]|0)|0;a[i+8>>0]=1;return i|0}return 0}function sj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;if(AE(b,c[d+8>>2]|0)|0)Sl(d,e,f,g);else{j=a[d+52>>0]|0;k=a[d+53>>0]|0;l=c[b+12>>2]|0;a[d+52>>0]=0;a[d+53>>0]=0;Io(b+16|0,d,e,f,g,h);a:do if((l|0)>1){i=b+24|0;do{if(a[d+54>>0]|0)break a;if(!(a[d+52>>0]|0)){if(a[d+53>>0]|0?(c[b+8>>2]&1|0)==0:0)break a}else{if((c[d+24>>2]|0)==1)break a;if(!(c[b+8>>2]&2))break a}a[d+52>>0]=0;a[d+53>>0]=0;Io(i,d,e,f,g,h);i=i+8|0}while(i>>>0<(b+16+(l<<3)|0)>>>0)}while(0);a[d+52>>0]=j;a[d+53>>0]=k}return}function tj(){var b=0;b=_t(284)|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=8280;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+236>>2]=4;return b|0}function uj(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,l=0,m=0;f=k;k=k+48|0;if((c[b+136>>2]|0)<=0){k=f;return}e=0;do{m=c[b+144>>2]|0;c[f+32>>2]=(a[m+(e*284|0)+84>>0]|0)==0?1065353216:0;c[f+32+4>>2]=0;c[f+32+8>>2]=1065353216;g[f+32+12>>2]=0.0;l=m+(e*284|0)+140|0;c[f+16>>2]=c[l>>2];c[f+16+4>>2]=c[l+4>>2];c[f+16+8>>2]=c[l+8>>2];c[f+16+12>>2]=c[l+12>>2];l=c[b+120>>2]|0;h=c[(c[d>>2]|0)+8>>2]|0;j=+g[m+(e*284|0)+108+(l<<2)>>2]+ +g[f+16+4>>2];i=+g[m+(e*284|0)+124+(l<<2)>>2]+ +g[f+16+8>>2];g[f>>2]=+g[m+(e*284|0)+92+(l<<2)>>2]+ +g[f+16>>2];g[f+4>>2]=j;g[f+8>>2]=i;g[f+12>>2]=0.0;Qb[h&127](d,f+16|0,f,f+32|0);Qb[c[(c[d>>2]|0)+8>>2]&127](d,f+16|0,(c[b+144>>2]|0)+(e*284|0)+16|0,f+32|0);e=e+1|0}while((e|0)<(c[b+136>>2]|0));k=f;return}function vj(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:{if((e|0)<1){g[a+232>>2]=d;c[a+300>>2]=c[a+300>>2]|512;return}if((e|0)<3){g[a+264>>2]=d;c[a+300>>2]=c[a+300>>2]|32;return}if((e|0)==3){g[a+248>>2]=d;c[a+300>>2]=c[a+300>>2]|2048;return}if((e|0)>=6)return;g[a+280>>2]=d;c[a+300>>2]=c[a+300>>2]|128;return}case 3:{if((e|0)<1){g[a+212>>2]=d;c[a+300>>2]=c[a+300>>2]|1;return}if((e|0)!=3)return;g[a+228>>2]=d;c[a+300>>2]=c[a+300>>2]|4;return}case 4:{if((e|0)<1){g[a+244>>2]=d;c[a+300>>2]=c[a+300>>2]|256;return}if((e|0)<3){g[a+276>>2]=d;c[a+300>>2]=c[a+300>>2]|16;return}if((e|0)==3){g[a+260>>2]=d;c[a+300>>2]=c[a+300>>2]|1024;return}if((e|0)>=6)return;g[a+292>>2]=d;c[a+300>>2]=c[a+300>>2]|64;return}default:return}}function wj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,l=0;e=k;k=k+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;l=e+32+44|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;Qb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);i=(+g[e>>2]-+g[e+16>>2])*.5;h=(+g[e+4>>2]-+g[e+16+4>>2])*.5;j=(+g[e+8>>2]-+g[e+16+8>>2])*.5;f=+jb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b*.0833333283662796*((h+f)*2.0*(h+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+4>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+8>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(h+f)*2.0*(h+f)*2.0);g[d+12>>2]=0.0;k=e;return}function xj(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0;l=c[b+720>>2]|0;a:do if(h?(k=c[b+732>>2]|0,(k|0)>0):0){i=c[b+740>>2]|0;h=0;while(1){j=c[i+(h*52|0)+8>>2]|0;if((j|0)==(l+(d*104|0)|0)?(c[i+(h*52|0)+12>>2]|0)==(l+(e*104|0)|0):0){h=10;break}if((j|0)==(l+(e*104|0)|0)?(c[i+(h*52|0)+12>>2]|0)==(l+(d*104|0)|0):0){h=10;break}h=h+1|0;if((h|0)>=(k|0))break a}if((h|0)==10)return}while(0);xi(b,f);f=(c[b+732>>2]|0)+-1|0;k=c[b+740>>2]|0;c[k+(f*52|0)+8>>2]=l+(d*104|0);c[k+(f*52|0)+12>>2]=l+(e*104|0);o=+g[l+(d*104|0)+8>>2]-+g[l+(e*104|0)+8>>2];n=+g[l+(d*104|0)+12>>2]-+g[l+(e*104|0)+12>>2];m=+g[l+(d*104|0)+16>>2]-+g[l+(e*104|0)+16>>2];g[k+(f*52|0)+16>>2]=+A(+(o*o+n*n+m*m));a[b+924>>0]=1;return}function yj(){var b=0;b=hu()|0;c[b>>2]=1025;c[b+116>>2]=0;a[b+120>>0]=0;c[b+124>>2]=0;c[b+124+4>>2]=0;c[b+124+8>>2]=0;c[b+124+12>>2]=0;c[b+124+16>>2]=0;c[b+124+20>>2]=0;c[b+124+24>>2]=0;c[b+124+28>>2]=0;c[b+300>>2]=0;a[b+304>>0]=0;c[b+308>>2]=0;c[b+308+4>>2]=0;c[b+308+8>>2]=0;c[b+308+12>>2]=0;c[b+308+16>>2]=0;c[b+308+20>>2]=0;c[b+308+24>>2]=0;c[b+308+28>>2]=0;c[b+484>>2]=0;a[b+488>>0]=0;c[b+492>>2]=0;c[b+492+4>>2]=0;c[b+492+8>>2]=0;c[b+492+12>>2]=0;c[b+492+16>>2]=0;c[b+492+20>>2]=0;c[b+492+24>>2]=0;c[b+492+28>>2]=0;c[b+668>>2]=0;a[b+672>>0]=0;c[b+676>>2]=0;c[b+676+4>>2]=0;c[b+676+8>>2]=0;c[b+676+12>>2]=0;c[b+676+16>>2]=0;c[b+676+20>>2]=0;c[b+676+24>>2]=0;c[b+676+28>>2]=0;c[b+740>>2]=0;c[b+744>>2]=0;c[b+748>>2]=0;c[b+768>>2]=0;return b|0}function zj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c[a>>2]=7040;if((c[a+104>>2]|0)<=0){a=a+60|0;Mj(a);Nj(a);return}k=0;do{j=c[(c[a+4>>2]|0)+684>>2]|0;i=(c[a+112>>2]|0)+(k<<3)+4|0;b=c[i>>2]|0;d=c[j+60>>2]|0;if((d|0)>0){h=0;do{g=(c[j+68>>2]|0)+(h<<2)|0;e=c[g>>2]|0;if(e){f=0;while(1){d=e;e=c[e+280>>2]|0;if((c[d+276>>2]|0)==(b|0)){c[((f|0)==0?g:f+280|0)>>2]=e;zK(d);d=f}if(!e)break;else f=d}d=c[j+60>>2]|0}h=h+1|0}while((h|0)<(d|0));b=c[i>>2]|0}if(b|0)Db[c[(c[b>>2]|0)+4>>2]&511](b);k=k+1|0}while((k|0)<(c[a+104>>2]|0));a=a+60|0;Mj(a);Nj(a);return}function Aj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;if(!(a[b+84>>0]|0)){c[b+32>>2]=c[b+204>>2];g[b+272>>2]=0.0;o=-+g[b+56>>2];p=-+g[b+60>>2];g[b>>2]=-+g[b+52>>2];g[b+4>>2]=o;g[b+8>>2]=p;g[b+12>>2]=0.0;p=1.0;d=b+268|0;g[d>>2]=p;return}p=+g[b>>2];f=+g[b+4>>2];h=+g[b+8>>2];i=p*+g[b+52>>2]+f*+g[b+56>>2]+h*+g[b+60>>2];j=+g[b+16>>2]-+g[d+52>>2];k=+g[b+20>>2]-+g[d+56>>2];l=+g[b+24>>2]-+g[d+60>>2];m=+g[d+332>>2];n=+g[d+336>>2];o=+g[d+328>>2];if(!(i>=-.10000000149011612)){g[b+272>>2]=-1.0/i*(p*(m*l-k*n+ +g[d+312>>2])+f*(j*n-l*o+ +g[d+316>>2])+h*(k*o-j*m+ +g[d+320>>2]));p=-1.0/i;d=b+268|0;g[d>>2]=p;return}else{g[b+272>>2]=0.0;p=10.0;d=b+268|0;g[d>>2]=p;return}}function Bj(b,d){b=b|0;d=d|0;var e=0,f=0;if(a[b+1308>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}nd(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);c[d>>2]=0;c[d+4>>2]=6;if((c[b+856>>2]|0)==0?(a[b+788>>0]|0)==0:0){e=0;f=6}else{c[d>>2]=1;c[d+4>>2]=5;e=1;f=5}if(!((c[b+860>>2]|0)==0?(a[b+789>>0]|0)==0:0)){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}if(!((c[b+864>>2]|0)==0?!(a[b+790>>0]|0):0)){c[d>>2]=e+1;c[d+4>>2]=f+-1}if(pg(b,0)|0){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(pg(b,1)|0){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(!(pg(b,2)|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function Cj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+212>>2]|0;if((f|0)==(c[b+216>>2]|0)?(i=(f|0)==0?1:f<<1,(f|0)<(i|0)):0){if(!i)h=0;else{c[7584]=(c[7584]|0)+1;f=lc((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+212>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+220>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+220>>2]|0;if(g){if(a[b+224>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0);f=c[b+212>>2]|0}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=h;c[b+216>>2]=i}c[(c[b+220>>2]|0)+(f<<2)>>2]=d;c[b+212>>2]=f+1;if(!e)return;aj(c[d+28>>2]|0,d);aj(c[d+32>>2]|0,d);return}function Dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0;e=k;k=k+96|0;j=+g[c>>2];l=+g[c+4>>2];m=+g[c+8>>2];Kr(e+80|0,j,l,m,+Kz(j,l,m,+g[b>>2],+g[b+4>>2],+g[b+8>>2]));m=+g[e+80>>2];l=+g[e+80+4>>2];j=+g[e+80+8>>2];cr(e+64|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],m,l,j);lq(e+48|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]);i=+g[e+48>>2];h=+g[e+48+4>>2];f=+g[e+48+8>>2];n=+sK(d);Kr(e+16|0,+g[e+64>>2],+g[e+64+4>>2],+g[e+64+8>>2],n);ar(e+32|0,m,l,j,+g[e+16>>2],+g[e+16+4>>2],+g[e+16+8>>2]);Kr(e,i,h,f,+rK(d));ar(a,+g[e+32>>2],+g[e+32+4>>2],+g[e+32+8>>2],+g[e>>2],+g[e+4>>2],+g[e+8>>2]);k=e;return}function Ej(a,b,d,e,f,h,i,j,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;var n=0;n=k;k=k+16|0;Wj(18449);+rb[c[(c[a>>2]|0)+44>>2]&3](a,b,d,e,f,h,i,j,l);+rb[c[(c[a>>2]|0)+48>>2]&3](a,b,d,e,f,h,i,j,l);+ob[c[(c[a>>2]|0)+36>>2]&1](a,b,d,j);m=c[3369]|0;l=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=l;if(l|0){k=n;return 0.0}do if(c[m+4>>2]|0){bb(n|0,0)|0;l=c[7583]|0;g[m+8>>2]=+g[m+8>>2]+ +(((c[n+4>>2]|0)-(c[l+4>>2]|0)+(((c[n>>2]|0)-(c[l>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[m+16>>2]|0)){m=c[3369]|0;break}else{k=n;return 0.0}}while(0);c[3369]=c[m+20>>2];k=n;return 0.0}function Fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;e=c[a+4>>2]|0;if(e|0)Rl(e,b,d);a=c[a>>2]|0;if(!a)return;m=+g[b>>2];k=+g[a+128>>2];l=+g[b+4>>2];j=+g[b+8>>2];f=+g[d+4>>2];o=+g[d+8>>2];n=+g[d>>2];i=+g[a+180>>2]*(j*f-l*o)+ +g[a+184>>2]*(m*o-j*n)+(l*n-m*f)*+g[a+188>>2];h=(j*f-l*o)*+g[a+196>>2]+(m*o-j*n)*+g[a+200>>2]+(l*n-m*f)*+g[a+204>>2];f=(j*f-l*o)*+g[a+212>>2]+(m*o-j*n)*+g[a+216>>2]+(l*n-m*f)*+g[a+220>>2];g[a+276>>2]=m*k+ +g[a+276>>2];g[a+280>>2]=k*l+ +g[a+280>>2];g[a+284>>2]=k*j+ +g[a+284>>2];g[a+292>>2]=i+ +g[a+292>>2];g[a+296>>2]=h+ +g[a+296>>2];g[a+300>>2]=f+ +g[a+300>>2];c[a+312>>2]=(c[a+312>>2]|0)+1;return}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;v=+g[a+552>>2];u=+g[a+568>>2];t=+g[a+584>>2];s=+g[b>>2];r=+g[b+4>>2];q=+g[b+8>>2];o=+g[b+16>>2];n=+g[b+20>>2];m=+g[b+24>>2];k=+g[b+32>>2];i=+g[b+36>>2];f=+g[b+40>>2];j=+g[a+556>>2];h=+g[a+572>>2];e=+g[a+588>>2];x=+g[a+620>>2];w=+g[a+636>>2];d=+g[a+652>>2];p=x*+g[c>>2]+w*+g[c+4>>2]+d*+g[c+8>>2];l=x*+g[c+16>>2]+w*+g[c+20>>2]+d*+g[c+24>>2];d=x*+g[c+32>>2]+w*+g[c+36>>2]+d*+g[c+40>>2];d=+I(+((v*s+u*r+t*q)*p+(v*o+u*n+t*m)*l+(v*k+u*i+t*f)*d),+((s*j+r*h+q*e)*p+(o*j+n*h+m*e)*l+(k*j+i*h+f*e)*d));return +(d*+g[a+732>>2])}function Hj(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;i=k;k=k+16|0;Wj(20545);d=c[b+8>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+16>>2]|0)+(f<<2)>>2]|0;if(!(a[b+76>>0]|0))switch(c[e+216>>2]|0){case 2:case 5:break;default:h=11}else h=11;if((h|0)==11){h=0;Nf(b,e);d=c[b+8>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[3369]|0;h=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=h;if(h|0){k=i;return}do if(c[d+4>>2]|0){bb(i|0,0)|0;h=c[7583]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[i+4>>2]|0)-(c[h+4>>2]|0)+(((c[i>>2]|0)-(c[h>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3369]|0;break}else{k=i;return}}while(0);c[3369]=c[d+20>>2];k=i;return}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+8>>2]|0;if((d|0)>0){f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&2){g=tb[c[(c[e>>2]|0)+16>>2]&255](e)|0;g=xb[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=xb[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;Ub[c[(c[b>>2]|0)+20>>2]&31](b,g,d,1497645650,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0))}if((c[a+212>>2]|0)<=0)return;d=0;do{g=c[(c[a+220>>2]|0)+(d<<2)>>2]|0;e=tb[c[(c[g>>2]|0)+36>>2]&255](g)|0;e=xb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;f=xb[c[(c[g>>2]|0)+40>>2]&63](g,c[e+8>>2]|0,b)|0;Ub[c[(c[b>>2]|0)+20>>2]&31](b,e,f,1397641027,g);d=d+1|0}while((d|0)<(c[a+212>>2]|0));return}function Jj(a){a=a|0;var b=0.0,d=0,e=0,f=0,h=0;e=k;k=k+32|0;c[a+32>>2]=1566444395;c[a+36>>2]=1566444395;c[a+40>>2]=1566444395;g[a+44>>2]=0.0;c[a+48>>2]=-581039253;c[a+52>>2]=-581039253;c[a+56>>2]=-581039253;g[a+60>>2]=0.0;if((c[a+16>>2]|0)<=0){k=e;return}d=0;do{f=c[a+24>>2]|0;h=c[f+(d*80|0)+64>>2]|0;Qb[c[(c[h>>2]|0)+8>>2]&127](h,f+(d*80|0)|0,e+16|0,e);b=+g[e+16>>2];if(+g[a+32>>2]>b)g[a+32>>2]=b;b=+g[e>>2];if(+g[a+48>>2]<b)g[a+48>>2]=b;b=+g[e+16+4>>2];if(+g[a+36>>2]>b)g[a+36>>2]=b;b=+g[e+4>>2];if(+g[a+52>>2]<b)g[a+52>>2]=b;b=+g[e+16+8>>2];if(+g[a+40>>2]>b)g[a+40>>2]=b;b=+g[e+8>>2];if(+g[a+56>>2]<b)g[a+56>>2]=b;d=d+1|0}while((d|0)<(c[a+16>>2]|0));k=e;return}function Kj(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0&(b&3|0)!=0){e=d;while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=e+-1|0;if((d|0)!=0&(b&3|0)!=0)e=d;else{e=b;b=d;d=(d|0)!=0;f=5;break}}}else{e=b;b=d;d=(d|0)!=0;f=5}while(0);b:do if((f|0)==5){do if(d){if(!(a[e>>0]|0))if(!b)break;else{b=e;break b}c:do if(b>>>0>3)while(1){d=c[e>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0)break c;e=e+4|0;b=b+-4|0;if(b>>>0<=3){f=11;break}}else f=11;while(0);if((f|0)==11)if(!b)break;while(1){if(!(a[e>>0]|0)){b=e;break b}b=b+-1|0;if(!b)break;else e=e+1|0}}while(0);b=0}while(0);return b|0}function Lj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=k;k=k+64|0;h=c[d>>2]|0;g=d+(c[h+-8>>2]|0)|0;h=c[h+-4>>2]|0;c[i>>2]=e;c[i+4>>2]=d;c[i+8>>2]=5400;d=AE(h,e)|0;e=i+12|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b[i+12+40>>1]=0;a[i+12+42>>0]=0;a:do if(d){c[i+48>>2]=1;Wb[c[(c[h>>2]|0)+20>>2]&7](h,i,g,g,1,0);d=(c[i+24>>2]|0)==1?g:0}else{Ub[c[(c[h>>2]|0)+24>>2]&31](h,i,g,1,0);switch(c[i+36>>2]|0){case 0:{d=((c[i+40>>2]|0)==1?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1?c[i+20>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[i+24>>2]|0)!=1?!(((c[i+40>>2]|0)==0?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1):0){d=0;break}d=c[i+16>>2]|0}while(0);k=i;return d|0}function Mj(b){b=b|0;var d=0;d=c[b+12>>2]|0;if(d|0){if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+72>>2]|0;if(!d){a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;b=b+68|0;c[b>>2]=0;return}if(a[b+76>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+72>>2]=0;a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;b=b+68|0;c[b>>2]=0;return}function Nj(b){b=b|0;var d=0;d=c[b+72>>2]|0;if(d|0){if(a[b+76>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+72>>2]=0}a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;if(!d){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}function Oj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=k;k=k+96|0;i=+jb[c[(c[a>>2]|0)+48>>2]&15](a);c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Qb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(i+(+g[e>>2]-+g[e+16>>2])*.5)*2.0;f=(i+(+g[e+4>>2]-+g[e+16+4>>2])*.5)*2.0;i=(i+(+g[e+8>>2]-+g[e+16+8>>2])*.5)*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);g[d+12>>2]=0.0;k=e;return}function Pj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+12>>2]|0;if(!e)return;if(!(a[b+8>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h)e=0;else{c[7584]=(c[7584]|0)+1;e=lc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+12>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Qj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=c[b+328>>2]|0;if((g|0)==(c[b+332>>2]|0)?(j=(g|0)==0?1:g<<1,(g|0)<(j|0)):0){if(!j)i=0;else{c[7584]=(c[7584]|0)+1;g=lc((j<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=g;g=c[b+328>>2]|0}if((g|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+336>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}h=c[b+336>>2]|0;if(h){if(a[b+340>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);g=c[b+328>>2]|0}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=i;c[b+332>>2]=j}c[(c[b+336>>2]|0)+(g<<2)>>2]=d;c[b+328>>2]=g+1;c[d+284>>2]=c[b+452>>2];ch(b,d,e,f);return}function Rj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+20>>2]|0;if(!e)return;if(!(a[b+16>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h)e=0;else{c[7584]=(c[7584]|0)+1;e=lc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+20>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Sj(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;e=c[a+732>>2]|0;if((e|0)<=0)return;d=c[a+740>>2]|0;a=0;do{n=c[d+(a*52|0)+8>>2]|0;f=c[d+(a*52|0)+12>>2]|0;s=+g[n+40>>2];q=+g[n+44>>2];o=+g[n+48>>2];k=d+(a*52|0)+36|0;r=+g[k>>2];m=d+(a*52|0)+40|0;p=+g[m>>2];l=d+(a*52|0)+44|0;h=+g[l>>2];j=-(+g[d+(a*52|0)+32>>2]*((s-+g[f+40>>2])*r+(q-+g[f+44>>2])*p+(o-+g[f+48>>2])*h)*b);i=+g[n+88>>2]*j;g[n+40>>2]=s+r*i;g[n+44>>2]=q+p*i;g[n+48>>2]=o+h*i;j=+g[f+88>>2]*j;i=j*+g[m>>2];h=j*+g[l>>2];g[f+40>>2]=+g[f+40>>2]-+g[k>>2]*j;g[f+44>>2]=+g[f+44>>2]-i;g[f+48>>2]=+g[f+48>>2]-h;a=a+1|0}while((a|0)!=(e|0));return}function Tj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;k=+g[a+24>>2];i=+g[a+28>>2];j=+g[a+32>>2];f=k*+g[b>>2]+i*+g[b+4>>2]+j*+g[b+8>>2];h=+g[a+20>>2];if(f>h){g[a+20>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=k*+g[b+16>>2]+i*+g[b+20>>2]+j*+g[b+24>>2];if(h>f){g[a+20>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=k*+g[b+32>>2]+i*+g[b+36>>2]+j*+g[b+40>>2];if(!(f>h))return;g[a+20>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function Uj(b){b=b|0;var d=0;d=su()|0;c[d+8>>2]=0;c[d>>2]=9528;a[d+28>>0]=1;c[d+24>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+32>>2]=1566444395;c[d+36>>2]=1566444395;c[d+40>>2]=1566444395;g[d+44>>2]=0.0;c[d+48>>2]=-581039253;c[d+52>>2]=-581039253;c[d+56>>2]=-581039253;g[d+60>>2]=0.0;c[d+64>>2]=0;c[d+68>>2]=1;g[d+72>>2]=0.0;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;c[d+84>>2]=1065353216;g[d+88>>2]=0.0;c[d+4>>2]=31;if(!b)return d|0;c[7584]=(c[7584]|0)+1;b=lc(79)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+12>>2]=0;c[b+16>>2]=0;c[d+64>>2]=b;return d|0}function Vj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;k=+g[a+88>>2];i=+g[a+92>>2];j=+g[a+96>>2];f=k*+g[b>>2]+i*+g[b+4>>2]+j*+g[b+8>>2];h=+g[a+84>>2];if(f>h){g[a+84>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=k*+g[b+16>>2]+i*+g[b+20>>2]+j*+g[b+24>>2];if(h>f){g[a+84>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=k*+g[b+32>>2]+i*+g[b+36>>2]+j*+g[b+40>>2];if(!(f>h))return;g[a+84>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function Wj(a){a=a|0;var b=0,d=0,e=0,f=0;f=k;k=k+16|0;d=c[3369]|0;if((c[d>>2]|0)==(a|0))b=d;else{b=c[d+24>>2]|0;a:do if(!b)e=6;else while(1){if((c[b>>2]|0)==(a|0))break a;b=c[b+28>>2]|0;if(!b){e=6;break}}while(0);if((e|0)==6){b=zt(36)|0;c[b>>2]=a;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;c[b+20>>2]=d;c[b+24>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;Vs(b);c[b+28>>2]=c[d+24>>2];c[d+24>>2]=b}c[3369]=b}d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=b+16|0;e=c[d>>2]|0;c[d>>2]=e+1;if(e|0){k=f;return}bb(f|0,0)|0;e=c[7583]|0;c[b+12>>2]=(c[f+4>>2]|0)-(c[e+4>>2]|0)+(((c[f>>2]|0)-(c[e>>2]|0)|0)*1e6|0);k=f;return}function Xj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;h=+jb[c[(c[a>>2]|0)+48>>2]&15](a);l=h+ +g[a+28>>2];j=h+ +g[a+32>>2];h=h+ +g[a+36>>2];u=+z(+(+g[b>>2]));t=+z(+(+g[b+4>>2]));s=+z(+(+g[b+8>>2]));q=+z(+(+g[b+16>>2]));p=+z(+(+g[b+20>>2]));o=+z(+(+g[b+24>>2]));k=+z(+(+g[b+32>>2]));i=+z(+(+g[b+36>>2]));f=+z(+(+g[b+40>>2]));r=+g[b+48>>2];n=+g[b+52>>2];m=+g[b+56>>2];g[d>>2]=r-(l*u+j*t+h*s);g[d+4>>2]=n-(l*q+j*p+h*o);g[d+8>>2]=m-(l*k+j*i+h*f);g[d+12>>2]=0.0;g[e>>2]=l*u+j*t+h*s+r;g[e+4>>2]=l*q+j*p+h*o+n;g[e+8>>2]=m+(l*k+j*i+h*f);g[e+12>>2]=0.0;return}function Yj(b){b=b|0;var d=0;c[b>>2]=11920;if(c[b+108>>2]|0){d=c[b+112>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+112>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+108>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+108>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}}d=c[b+88>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+84>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+80>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+60>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}if(!(a[b+100>>0]|0))return;d=c[b+92>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+92>>2]|0;if(!d)return;c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);return}function Zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+76>>2]|0;if(!e)return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h)e=0;else{c[7584]=(c[7584]|0)+1;e=lc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+76>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function _j(b){b=b|0;var d=0,e=0,f=0,h=0.0;e=k;k=k+96|0;a[b+88>>0]=1;if((a[28392]|0)==0?_A(28392)|0:0){c[6780]=1065353216;c[6781]=0;c[6782]=0;c[6783]=0;c[6784]=0;c[6785]=1065353216;c[6786]=0;c[6787]=0;c[6788]=0;c[6789]=0;c[6790]=1065353216;g[6791]=0.0;c[6792]=-1082130432;c[6793]=0;c[6794]=0;c[6795]=0;c[6796]=0;c[6797]=-1082130432;c[6798]=0;c[6799]=0;c[6800]=0;c[6801]=0;c[6802]=-1082130432;g[6803]=0.0}d=e;f=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Qb[c[(c[b>>2]|0)+76>>2]&127](b,27120,e,6);h=+g[b+44>>2];g[b+72>>2]=+g[e>>2]+h;g[b+56>>2]=+g[e+48>>2]-h;g[b+76>>2]=+g[e+20>>2]+h;g[b+60>>2]=+g[e+68>>2]-h;g[b+80>>2]=+g[e+40>>2]+h;g[b+64>>2]=+g[e+88>>2]-h;k=e;return}function $j(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+12>>2]|0;if(!e)return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h)e=0;else{c[7584]=(c[7584]|0)+1;e=lc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+12>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function ak(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;f=c[a+732>>2]|0;if((f|0)<=0)return;e=c[a+740>>2]|0;a=0;do{d=+g[e+(a*52|0)+24>>2];if(d>0.0?(h=c[e+(a*52|0)+8>>2]|0,i=c[e+(a*52|0)+12>>2]|0,j=+g[h+8>>2],k=+g[i+8>>2]-j,l=+g[h+12>>2],m=+g[i+12>>2]-l,n=+g[h+16>>2],o=+g[i+16>>2]-n,p=+g[e+(a*52|0)+28>>2],p+(k*k+m*m+o*o)>1.1920928955078125e-07):0){d=(p-(k*k+m*m+o*o))/(d*(p+(k*k+m*m+o*o)))*b;q=d*+g[h+88>>2];g[h+8>>2]=j-k*q;g[h+12>>2]=l-m*q;g[h+16>>2]=n-o*q;d=d*+g[i+88>>2];g[i+8>>2]=+g[i+8>>2]+k*d;g[i+12>>2]=m*d+ +g[i+12>>2];g[i+16>>2]=o*d+ +g[i+16>>2]}a=a+1|0}while((a|0)!=(f|0));return}function bk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){j=c[a+12>>2]|0;l=c[j+(((b+d|0)/2|0)<<3)>>2]|0;f=d;e=b;while(1){while(1){i=j+(e<<3)|0;k=e+1|0;if((c[i>>2]|0)<(l|0))e=k;else break}while(1){g=j+(f<<3)|0;h=f+-1|0;if((c[g>>2]|0)>(l|0))f=h;else break}if((e|0)<=(f|0)){j=c[i>>2]|0;e=c[i+4>>2]|0;m=c[g+4>>2]|0;c[i>>2]=c[g>>2];c[i+4>>2]=m;f=(c[a+12>>2]|0)+(f<<3)|0;c[f>>2]=j;c[f+4>>2]=e;f=h;e=k}if((e|0)>(f|0))break;j=c[a+12>>2]|0}if((f|0)>(b|0))bk(a,b,f);if((e|0)<(d|0))b=e;else break}return}function ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0;e=k;k=k+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;n=e+32+44|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;Qb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);m=+g[e>>2];l=+g[e+16>>2];j=+g[e+4>>2];i=+g[e+16+4>>2];h=+g[e+8>>2];f=+g[e+16+8>>2];g[d>>2]=+A(+((m-l)*(m-l)+(j-i)*(j-i)+(h-f)*(h-f)))*.5;g[b>>2]=(m+l)*.5;g[b+4>>2]=(j+i)*.5;g[b+8>>2]=(h+f)*.5;g[b+12>>2]=0.0;k=e;return}function dk(){var b=0,d=0;d=su()|0;c[d+8>>2]=0;c[d>>2]=9528;a[d+28>>0]=1;c[d+24>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+32>>2]=1566444395;c[d+36>>2]=1566444395;c[d+40>>2]=1566444395;g[d+44>>2]=0.0;c[d+48>>2]=-581039253;c[d+52>>2]=-581039253;c[d+56>>2]=-581039253;g[d+60>>2]=0.0;c[d+64>>2]=0;c[d+68>>2]=1;g[d+72>>2]=0.0;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;c[d+84>>2]=1065353216;g[d+88>>2]=0.0;c[d+4>>2]=31;c[7584]=(c[7584]|0)+1;b=lc(79)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+12>>2]=0;c[b+16>>2]=0;c[d+64>>2]=b;return d|0}function ek(a,d,f,h){a=a|0;d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=c[a+108>>2]|0;if(i|0){Qb[c[(c[i>>2]|0)+28>>2]&127](i,d,f,h);return}i=b[a+56>>1]|0;if(!(i<<16>>16))return;m=1;k=1;do{j=c[a+68>>2]|0;if(b[j+(k<<2)>>1]&1){l=c[a+60>>2]|0;k=e[j+(k<<2)+2>>1]|0;if(!(+g[d>>2]>+g[l+(k<<6)+32>>2])?!(+g[f>>2]<+g[l+(k<<6)+16>>2]):0)j=1;else j=0;if(!(!(+g[d+8>>2]>+g[l+(k<<6)+40>>2])?!(+g[f+8>>2]<+g[l+(k<<6)+24>>2]):0))j=0;if(!(+g[d+4>>2]>+g[l+(k<<6)+36>>2])?!(+g[f+4>>2]<+g[l+(k<<6)+20>>2]|j^1):0){vb[c[(c[h>>2]|0)+8>>2]&31](h,l+(k<<6)|0)|0;i=b[a+56>>1]|0}}m=m+1<<16>>16;k=m&65535}while(((i&65535)<<1|1)>>>0>k>>>0);return}function fk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0;h=+g[b>>2];i=+g[b+16>>2];j=h<i?h:i;f=+g[b+32>>2];if((j<f?j:f)>+g[a+24>>2])return;k=h>i?b:b+16|0;if(+g[(+g[k>>2]>f?k:b+32|0)>>2]<+g[a+8>>2])return;f=+g[b+8>>2];h=+g[b+24>>2];j=f<h?f:h;i=+g[b+40>>2];if((j<i?j:i)>+g[a+32>>2])return;k=f>h?b+8|0:b+24|0;if(+g[(+g[k>>2]>i?k:b+40|0)>>2]<+g[a+16>>2])return;f=+g[b+4>>2];h=+g[b+20>>2];j=f<h?f:h;i=+g[b+36>>2];if((j<i?j:i)>+g[a+28>>2])return;k=f>h?b+4|0:b+20|0;if(+g[(+g[k>>2]>i?k:b+36|0)>>2]<+g[a+12>>2])return;k=c[a+4>>2]|0;Qb[c[(c[k>>2]|0)+8>>2]&127](k,b,d,e);return}function gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0;f=k;k=k+16|0;c[a+4>>2]=c[b+24>>2];e=c[b>>2]|0;c[a+8>>2]=e;if(d){c[a+52>>2]=c[b+8>>2];c[a+52+4>>2]=c[b+8+4>>2];c[a+52+8>>2]=c[b+8+8>>2];c[a+52+12>>2]=c[b+8+12>>2];i=a+68|0;d=a+20|0;e=a+36|0;h=+g[b+24>>2];$q(i,d,e,h);h=+g[b+24>>2];k=f;return +h}else{d=DK(hK(e)|0)|0;Nm(f,d,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+52>>2]=c[f>>2];c[a+52+4>>2]=c[f+4>>2];c[a+52+8>>2]=c[f+8>>2];c[a+52+12>>2]=c[f+12>>2];d=a+68|0;e=a+20|0;i=a+36|0;h=+g[b+24>>2];$q(d,e,i,h);h=+g[b+24>>2];k=f;return +h}return 0.0}function hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,l=0.0;h=k;k=k+16|0;g[b+32>>2]=f;c[b+8>>2]=c[d>>2];c[b+8+4>>2]=c[d+4>>2];c[b+8+8>>2]=c[d+8>>2];c[b+8+12>>2]=c[d+12>>2];i=+g[b+28>>2];l=+g[e+4>>2]-i*+g[d+4>>2];j=+g[e+8>>2]-i*+g[d+8>>2];g[h>>2]=+g[e>>2]-+g[d>>2]*i;g[h+4>>2]=l;g[h+8>>2]=j;g[h+12>>2]=0.0;f=i+ +g[b+24>>2]+f;g[b+32>>2]=f;if(!(f<0.0)){b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ob[e&15](b,d,h,f);k=h;return}a[b+36>>0]=1;b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ob[e&15](b,d,h,f);k=h;return}function ik(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=9464;d=c[b+8>>2]|0;g=c[d+8>>2]|0;if((g|0)>0){e=0;do{f=c[(c[d+16>>2]|0)+(e*12|0)+8>>2]|0;if(f|0){Db[c[c[f>>2]>>2]&511](f);h=c[b+4>>2]|0;Jb[c[(c[h>>2]|0)+60>>2]&127](h,f)}e=e+1|0}while((e|0)!=(g|0));d=c[b+8>>2]|0}oi(d);d=c[b+8>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+8>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}if(a[b+28>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}function jk(b,d){b=b|0;d=d|0;c[b+204>>2]=c[d+48>>2];c[b+208>>2]=c[d+52>>2];c[b+212>>2]=c[d+56>>2];c[b+216>>2]=c[d+60>>2];c[b+220>>2]=c[d+64>>2];c[b+224>>2]=c[d+68>>2];c[b+156>>2]=c[d>>2];c[b+156+4>>2]=c[d+4>>2];c[b+156+8>>2]=c[d+8>>2];c[b+156+12>>2]=c[d+12>>2];c[b+172>>2]=c[d+16>>2];c[b+172+4>>2]=c[d+16+4>>2];c[b+172+8>>2]=c[d+16+8>>2];c[b+172+12>>2]=c[d+16+12>>2];c[b+188>>2]=c[d+32>>2];c[b+188+4>>2]=c[d+32+4>>2];c[b+188+8>>2]=c[d+32+8>>2];c[b+188+12>>2]=c[d+32+12>>2];c[b+228>>2]=c[d+72>>2];g[b+232>>2]=0.0;g[b+252>>2]=0.0;g[b+236>>2]=0.0;g[b+240>>2]=0.0;g[b+256>>2]=0.0;g[b+244>>2]=.10000000149011612;a[b+260>>0]=a[d+80>>0]&1;c[b+248>>2]=c[d+76>>2];return}function kk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0;f=k;k=k+16|0;c[b+4>>2]=d;c[b>>2]=7784;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=e;if((a[28360]|0)==0?_A(28360)|0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Dg(28992,0.0,0,0,f)}c[7299]=c[7299]|1;g[7334]=0.0;h=+g[7344]*0.0;i=+g[7345]*0.0;g[7339]=+g[7343]*0.0;g[7340]=h;g[7341]=i;g[7342]=0.0;c[7347]=0;c[7348]=0;c[7349]=0;c[7350]=0;i=+g[7336]*0.0;h=+g[7337]*0.0;g[7388]=+g[7335]*0.0;g[7389]=i;g[7390]=h;g[7391]=0.0;c[b+32>>2]=28992;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;k=f;return}function lk(a){a=a|0;var b=0;c[a>>2]=6256;b=c[a+92>>2]|0;Db[c[c[b>>2]>>2]&511](b);b=c[a+92>>2]|0;if(b|0){c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0)}b=c[a+96>>2]|0;Db[c[c[b>>2]>>2]&511](b);b=c[a+96>>2]|0;if(b|0){c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0)}b=c[a+100>>2]|0;Db[c[c[b>>2]>>2]&511](b);b=c[a+100>>2]|0;if(b|0){c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0)}b=c[a+104>>2]|0;Db[c[c[b>>2]>>2]&511](b);b=c[a+104>>2]|0;if(b|0){c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0)}b=c[a+108>>2]|0;Db[c[c[b>>2]>>2]&511](b);b=c[a+108>>2]|0;if(!b){rf(a);return}c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);rf(a);return}function mk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((c[d+60>>2]|0)==2){g=c[d+48>>2]|0;xh(b+64|0,g)|0;f=c[b+68>>2]|0;if(f|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+68>>2]=g;c[b+76>>2]=(c[b+76>>2]|0)+-1}else{f=c[d+48>>2]|0;xh(b+4|0,f)|0;g=c[b+8>>2]|0;if(g|0){c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0)}c[b+8>>2]=f;c[b+16>>2]=(c[b+16>>2]|0)+-1}f=c[d+52>>2]|0;if(!f)f=b+124+(c[d+60>>2]<<2)|0;else f=f+56|0;c[f>>2]=c[d+56>>2];f=c[d+56>>2]|0;if(f|0)c[f+52>>2]=c[d+52>>2];g=c[b+136>>2]|0;Nb[c[(c[g>>2]|0)+16>>2]&127](g,d,e);c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);a[b+194>>0]=1;return}function nk(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;n=+g[a+4>>2];h=+g[a+396>>2];m=+g[a+8>>2];e=+g[a+400>>2];l=+g[a+12>>2];c=+g[a+404>>2];k=+g[a+20>>2];j=+g[a+24>>2];i=+g[a+28>>2];f=+g[a+36>>2];d=+g[a+40>>2];b=+g[a+44>>2];g[a+264>>2]=n*h*n+m*e*m+l*c*l;g[a+268>>2]=n*h*k+m*e*j+l*c*i;g[a+272>>2]=n*h*f+m*e*d+l*c*b;g[a+276>>2]=0.0;g[a+280>>2]=h*k*n+e*j*m+c*i*l;g[a+284>>2]=h*k*k+e*j*j+c*i*i;g[a+288>>2]=h*k*f+e*j*d+c*i*b;g[a+292>>2]=0.0;g[a+296>>2]=h*f*n+e*d*m+c*b*l;g[a+300>>2]=h*f*k+e*d*j+c*b*i;g[a+304>>2]=h*f*f+e*d*d+c*b*b;g[a+308>>2]=0.0;return}function ok(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=8868;e=c[b+8>>2]|0;d=c[b+16>>2]|0;if((e|0)>0){h=0;do{f=(c[d+(h<<2)>>2]|0)+188|0;g=c[f>>2]|0;if(g){e=c[b+68>>2]|0;e=tb[c[(c[e>>2]|0)+36>>2]&255](e)|0;Nb[c[(c[e>>2]|0)+40>>2]&127](e,g,c[b+24>>2]|0);e=c[b+68>>2]|0;Nb[c[(c[e>>2]|0)+12>>2]&127](e,g,c[b+24>>2]|0);c[f>>2]=0;e=c[b+8>>2]|0;d=c[b+16>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0,k=0.0,l=0,m=0.0;j=c[b+52>>2]|0;l=c[j+32>>2]|0;b=c[l>>2]|0;m=+g[d>>2];k=+g[d+4>>2];i=+g[d+8>>2];j=c[j+24>>2]|0;if((j|0)<=1){l=b;l=l+8|0;c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];return}d=0;h=1;e=m*+g[b+8>>2]+k*+g[b+12>>2]+i*+g[b+16>>2];while(1){b=c[l+(h<<2)>>2]|0;f=m*+g[b+8>>2]+k*+g[b+12>>2]+i*+g[b+16>>2];b=f>e;d=b?h:d;h=h+1|0;if((h|0)==(j|0))break;else e=b?f:e}l=c[l+(d<<2)>>2]|0;l=l+8|0;c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];return}function qk(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0;c[a+248>>2]=c[b>>2];c[a+248+4>>2]=c[b+4>>2];c[a+248+8>>2]=c[b+8>>2];c[a+248+12>>2]=c[b+12>>2];d=c[a+232>>2]|0;if((d|0)<=0)return;h=0;do{f=c[(c[a+240>>2]|0)+(h<<2)>>2]|0;switch(c[f+216>>2]|0){case 2:case 5:break;default:if(!(c[f+504>>2]&1)){e=+g[f+344>>2];if(e!=0.0){j=1.0/e*+g[b+4>>2];i=1.0/e*+g[b+8>>2];g[f+364>>2]=1.0/e*+g[b>>2];g[f+368>>2]=j;g[f+372>>2]=i;g[f+376>>2]=0.0}c[f+380>>2]=c[b>>2];c[f+380+4>>2]=c[b+4>>2];c[f+380+8>>2]=c[b+8>>2];c[f+380+12>>2]=c[b+12>>2];d=c[a+232>>2]|0}}h=h+1|0}while((h|0)<(d|0));return}function rk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0;if(a[b+738>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=5;c[d+4>>2]=1;e=+Gj(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+728>>2]=e;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;f=+g[b+692>>2];do if(f>=0.0){e=(e-+g[b+688>>2])%6.2831854820251465;if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(e<-f){a[b+716>>0]=1;g[b+708>>2]=-(f+e);g[b+712>>2]=1.0;break}if(e>f){a[b+716>>0]=1;g[b+708>>2]=f-e;g[b+712>>2]=-1.0}else h=12}else h=12;while(0);if((h|0)==12?(a[b+737>>0]|0)==0:0)return;c[d>>2]=6;c[d+4>>2]=0;return}function sk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=k;k=k+96|0;g=c[b+192>>2]|0;c[f+64>>2]=0;c[f+64+4>>2]=g;c[f+64+8>>2]=b;c[f+64+12>>2]=b+4;c[f+64+16>>2]=-1;c[f+64+20>>2]=-1;b=c[d+192>>2]|0;c[f+40>>2]=0;c[f+40+4>>2]=b;c[f+40+8>>2]=d;c[f+40+12>>2]=d+4;c[f+40+16>>2]=-1;c[f+40+20>>2]=-1;b=c[a+24>>2]|0;b=yb[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,0)|0;if(!b){k=f;return}c[f+4>>2]=0;c[f+8>>2]=f+64;c[f+12>>2]=f+40;c[f>>2]=9212;c[f+32>>2]=e;Ub[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,a+28|0,f);Db[c[c[b>>2]>>2]&511](b);g=c[a+24>>2]|0;Jb[c[(c[g>>2]|0)+60>>2]&127](g,b);k=f;return}function tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+12>>2]|0;if(!e){e=c[a+4>>2]|0;e=xb[c[(c[e>>2]|0)+12>>2]&63](e,c[b+8>>2]|0,c[d+8>>2]|0)|0;c[a+12>>2]=e;f=a+4|0}else f=a+4|0;c[(c[a+16>>2]|0)+4>>2]=e;g=c[f>>2]|0;e=yb[c[(c[g>>2]|0)+8>>2]&31](g,b,d,e)|0;g=c[a+16>>2]|0;Nb[c[(c[g>>2]|0)+8>>2]&127](g,c[a+28>>2]|0,c[a+24>>2]|0);g=c[a+16>>2]|0;Nb[c[(c[g>>2]|0)+12>>2]&127](g,c[a+36>>2]|0,c[a+32>>2]|0);Ub[c[(c[e>>2]|0)+8>>2]&31](e,b,d,c[a+20>>2]|0,c[a+16>>2]|0);Db[c[c[e>>2]>>2]&511](e);d=c[f>>2]|0;Jb[c[(c[d>>2]|0)+60>>2]&127](d,e);return}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[b+8>>2]|0;if((k|0)<=0)return;j=c[b+16>>2]|0;i=0;b=0;do{h=c[j+(i<<2)>>2]|0;if(!(c[h+204>>2]&3)){g=c[a+16>>2]|0;d=g+(b<<3)|0;e=c[d>>2]|0;if((e|0)!=(b|0)){c[d>>2]=c[g+(e<<3)>>2];d=c[g+(e<<3)>>2]|0;e=c[g+(d<<3)>>2]|0;if((d|0)!=(e|0)){f=g+(d<<3)|0;do{d=g+(e<<3)|0;c[f>>2]=c[d>>2];d=c[d>>2]|0;f=g+(d<<3)|0;e=c[f>>2]|0}while((d|0)!=(e|0))}}else d=b;c[h+208>>2]=d;c[g+(b<<3)+4>>2]=i;c[h+212>>2]=-1;b=b+1|0}else{c[h+208>>2]=-1;c[h+212>>2]=-2}i=i+1|0}while((i|0)!=(k|0));return}function vk(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0.0,i=0.0,k=0.0;e=c[a+204>>2]|0;if(b==0.0){c[a+204>>2]=e|1;h=0.0}else{c[a+204>>2]=e&-2;h=1.0/b}g[a+344>>2]=h;k=+g[a+384>>2]*b;i=+g[a+388>>2]*b;g[a+364>>2]=+g[a+380>>2]*b;g[a+368>>2]=k;g[a+372>>2]=i;g[a+376>>2]=0.0;b=+g[d>>2];f=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+4>>2];e=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+8>>2];d=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;c[a+396>>2]=f;c[a+400>>2]=e;c[a+404>>2]=d;g[a+408>>2]=0.0;i=h*+g[a+352>>2];k=h*+g[a+356>>2];g[a+560>>2]=+g[a+348>>2]*h;g[a+564>>2]=i;g[a+568>>2]=k;g[a+572>>2]=0.0;return}function wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+280>>2]|0;if((e|0)==(c[b+284>>2]|0)?(h=(e|0)==0?1:e<<1,(e|0)<(h|0)):0){if(!h)g=0;else{c[7584]=(c[7584]|0)+1;e=lc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+280>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+288>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+288>>2]|0;if(f){if(a[b+292>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);e=c[b+280>>2]|0}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=g;c[b+284>>2]=h}c[(c[b+288>>2]|0)+(e<<2)>>2]=d;c[b+280>>2]=e+1;return}function xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0,k=0.0,l=0;k=+g[b+60>>2]*.5;l=c[b+68>>2]|0;e=+g[d>>2];f=+g[d+4>>2];i=+g[d+8>>2];i=+A(+(e*e+f*f+i*i));h=c[b+64>>2]|0;if(+g[d+(l<<2)>>2]>+g[b+52>>2]*i){g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=k;k=0.0;l=c[b+72>>2]|0;l=a+(l<<2)|0;g[l>>2]=k;return}i=+g[d+(h<<2)>>2];j=c[b+72>>2]|0;e=+g[d+(j<<2)>>2];f=+A(+(i*i+e*e));if(f>1.1920928955078125e-07){f=+g[b+56>>2]/f;g[a+(h<<2)>>2]=i*f;g[a+(l<<2)>>2]=-k;k=e*f;l=j;l=a+(l<<2)|0;g[l>>2]=k;return}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=-k;k=0.0;l=j;l=a+(l<<2)|0;g[l>>2]=k;return}}function yk(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=k;k=k+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Qb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(+g[e>>2]-+g[e+16>>2])*.5*2.0;f=(+g[e+4>>2]-+g[e+16+4>>2])*.5*2.0;i=(+g[e+8>>2]-+g[e+16+8>>2])*.5*2.0;g[d>>2]=b/12.0*(f*f+i*i);g[d+4>>2]=b/12.0*(h*h+i*i);g[d+8>>2]=b/12.0*(h*h+f*f);k=e;return}function zk(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=du()|0;kk(e,3,b);c[e>>2]=7732;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];k=+g[d>>2];j=+g[d+4>>2];i=+g[d+8>>2];h=k*+g[b+20>>2]+j*+g[b+24>>2]+i*+g[b+28>>2]+ +g[b+56>>2];f=k*+g[b+36>>2]+j*+g[b+40>>2]+i*+g[b+44>>2]+ +g[b+60>>2];g[e+316>>2]=k*+g[b+4>>2]+j*+g[b+8>>2]+i*+g[b+12>>2]+ +g[b+52>>2];g[e+320>>2]=h;g[e+324>>2]=f;g[e+328>>2]=0.0;c[e+332>>2]=0;a[e+344>>0]=0;g[e+348>>2]=.30000001192092896;g[e+352>>2]=1.0;g[e+356>>2]=0.0;return e|0}function Ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0;e=k;k=k+16|0;Nb[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];if(!(+jb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){k=e;return}i=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];l=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:i;j=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:f;h=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:h;f=1.0/+A(+(h*h+(l*l+j*j)));i=+jb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*l*f;g[a+4>>2]=+g[a+4>>2]+i*j*f;g[a+8>>2]=+g[a+8>>2]+i*h*f;k=e;return}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:{if((c|0)<1){d=+g[a+232>>2];break a}if((c|0)<3){d=+g[a+264>>2];break a}if((c|0)==3){d=+g[a+248>>2];break a}if((c|0)<6)d=+g[a+280>>2];else d=3402823466385288598117041.0e14;break}case 3:{if((c|0)<1){d=+g[a+212>>2];break a}if((c|0)==3)d=+g[a+228>>2];else d=3402823466385288598117041.0e14;break}case 4:{if((c|0)<1){d=+g[a+244>>2];break a}if((c|0)<3){d=+g[a+276>>2];break a}if((c|0)==3){d=+g[a+260>>2];break a}if((c|0)<6)d=+g[a+292>>2];else d=3402823466385288598117041.0e14;break}default:d=3402823466385288598117041.0e14}while(0);return +d}function Ck(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=12940;e=c[b+152>>2]|0;d=c[b+160>>2]|0;if(e)do{e=e+-1|0;f=c[d+(e<<2)>>2]|0;if(f){Db[c[(c[f>>2]|0)+4>>2]&511](f);d=c[b+160>>2]|0}}while((e|0)!=0);if(d|0){if(a[b+164>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+160>>2]=0}a[b+164>>0]=1;c[b+160>>2]=0;c[b+152>>2]=0;c[b+156>>2]=0;c[b>>2]=5896;d=c[b+84>>2]|0;if(!d){a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;b=b+80|0;c[b>>2]=0;return}if(a[b+88>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+84>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;b=b+80|0;c[b>>2]=0;return}function Dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0;n=c[b+96>>2]|0;if((n|0)<=0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}o=+g[b+12>>2];p=+g[d>>2]*o;k=+g[b+16>>2];l=+g[d+4>>2]*k;m=+g[b+20>>2];j=+g[d+8>>2]*m;f=c[b+104>>2]|0;d=-1;b=0;e=-3402823466385288598117041.0e14;while(1){h=p*+g[f+(b<<4)>>2]+l*+g[f+(b<<4)+4>>2]+j*+g[f+(b<<4)+8>>2];i=h>e;d=i?b:d;b=b+1|0;if((b|0)==(n|0))break;else e=i?h:e}l=k*+g[f+(d<<4)+4>>2];p=m*+g[f+(d<<4)+8>>2];g[a>>2]=o*+g[f+(d<<4)>>2];g[a+4>>2]=l;g[a+8>>2]=p;g[a+12>>2]=0.0;return}function Ek(){var b=0;b=Lt()|0;c[b>>2]=7996;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;c[b+192>>2]=0;return b|0}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[7561]=(c[7561]|0)+1;f=(c[b+12>>2]|0)>(c[d+12>>2]|0);g=c[(f?d:b)+12>>2]|0;f=c[(f?b:d)+12>>2]|0;b=(f<<16|g)+~((f<<16|g)<<15)|0;b=((10?b>>10:b)^b)*9|0;b=(6?b>>6:b)^b;b=((16?b+~(b<<11)>>16:b+~(b<<11)|0)^b+~(b<<11))&(c[a+12>>2]|0)+-1;if((b|0)>=(c[a+36>>2]|0)){g=0;return g|0}b=c[(c[a+44>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){g=0;return g|0}e=c[a+16>>2]|0;d=b;while(1){b=e+(d<<4)|0;if((c[(c[b>>2]|0)+12>>2]|0)==(g|0)?(c[(c[e+(d<<4)+4>>2]|0)+12>>2]|0)==(f|0):0){d=7;break}d=c[(c[a+64>>2]|0)+(d<<2)>>2]|0;if((d|0)==-1){b=0;d=7;break}}if((d|0)==7)return b|0;return 0}function Gk(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=+g[a+28>>2];i=+g[a+32>>2];k=+g[a+36>>2];l=+jb[c[(c[a>>2]|0)+48>>2]&15](a);j=+jb[c[(c[a>>2]|0)+48>>2]&15](a);k=+jb[c[(c[a>>2]|0)+48>>2]&15](a)+k;switch(c[a+52>>2]|0){case 0:{h=b*.25*(j+i)*(j+i)+b/12.0*(l+e)*(l+e)*4.0;f=h;e=b*.5*(j+i)*(j+i);break}case 2:{f=b*.5*(l+e)*(l+e);h=b*.25*(l+e)*(l+e)+b/12.0*k*k*4.0;e=b*.25*(l+e)*(l+e)+b/12.0*k*k*4.0;break}default:{k=b*.25*(l+e)*(l+e)+b/12.0*(j+i)*(j+i)*4.0;f=k;h=b*.5*(l+e)*(l+e);e=k}}g[d>>2]=e;g[d+4>>2]=h;g[d+8>>2]=f;g[d+12>>2]=0.0;return}function Hk(b){b=b|0;var d=0;c[b>>2]=7060;if(a[b+456>>0]|0?(d=c[b+452>>2]|0,Db[c[c[d>>2]>>2]&511](d),d=c[b+452>>2]|0,d|0):0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}d=c[b+420>>2]|0;if(d|0){if(a[b+424>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+420>>2]=0}a[b+424>>0]=1;c[b+420>>2]=0;c[b+412>>2]=0;c[b+416>>2]=0;d=c[b+336>>2]|0;if(!d){a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;eh(b);return}if(a[b+340>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+336>>2]=0;a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;eh(b);return}function Ik(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0;d=k;k=k+64|0;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;i=+g[b>>2];f=+g[b+4>>2];m=+g[b+8>>2];j=+g[b+12>>2];h=i*(2.0/(i*i+f*f+m*m+j*j));e=f*(2.0/(i*i+f*f+m*m+j*j));l=m*(2.0/(i*i+f*f+m*m+j*j));g[d>>2]=1.0-(f*e+m*l);g[d+4>>2]=i*e-j*l;g[d+8>>2]=i*l+j*e;g[d+12>>2]=0.0;g[d+16>>2]=i*e+j*l;g[d+20>>2]=1.0-(i*h+m*l);g[d+24>>2]=f*l-j*h;g[d+28>>2]=0.0;g[d+32>>2]=i*l-j*e;g[d+36>>2]=f*l+j*h;g[d+40>>2]=1.0-(i*h+f*e);g[d+44>>2]=0.0;Pd(a,d);k=d;return}function Jk(a,b){a=a|0;b=+b;var d=0,e=0,f=0;e=k;k=k+16|0;Wj(17474);if((c[a+280>>2]|0)>0){d=0;do{f=c[(c[a+288>>2]|0)+(d<<2)>>2]|0;Kb[c[(c[f>>2]|0)+8>>2]&7](f,a,b);d=d+1|0}while((d|0)<(c[a+280>>2]|0))}d=c[3369]|0;f=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=f;if(f|0){k=e;return}do if(c[d+4>>2]|0){bb(e|0,0)|0;f=c[7583]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[e+4>>2]|0)-(c[f+4>>2]|0)+(((c[e>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3369]|0;break}else{k=e;return}}while(0);c[3369]=c[d+20>>2];k=e;return}function Kk(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var h=0;h=Ot()|0;c[h>>2]=8112;a[h+144>>0]=1;c[h+140>>2]=0;c[h+132>>2]=0;c[h+136>>2]=0;c[h+176>>2]=f;g[h+56>>2]=.019999999552965164;c[h+60>>2]=0;c[h+60+4>>2]=0;c[h+60+8>>2]=0;c[h+60+12>>2]=0;a[h+170>>0]=1;c[h+8>>2]=b;g[h+52>>2]=e;g[h+48>>2]=0.0;c[h+12>>2]=d;a[h+171>>0]=1;g[h+172>>2]=0.0;g[h+16>>2]=0.0;g[h+20>>2]=0.0;g[h+44>>2]=29.399999618530273;g[h+24>>2]=55.0;g[h+28>>2]=10.0;a[h+168>>0]=0;a[h+169>>0]=0;a[h+180>>0]=1;g[h+36>>2]=.7853981852531433;g[h+40>>2]=.7071067690849304;g[h+108>>2]=0.0;a[h+181>>0]=0;a[h+182>>0]=0;return h|0}function Lk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,l=0.0,m=0,n=0,o=0;f=k;k=k+48|0;Nb[c[(c[a>>2]|0)+124>>2]&127](a,f+32|0,e);o=c[f+32>>2]|0;n=c[f+32+4>>2]|0;m=c[f+32+8>>2]|0;c[b>>2]=o;c[b+4>>2]=n;c[b+8>>2]=m;g[b+12>>2]=0.0;e=c[(c[a>>2]|0)+64>>2]|0;l=-(c[j>>2]=o,+g[j>>2]);i=-(c[j>>2]=n,+g[j>>2]);h=-(c[j>>2]=m,+g[j>>2]);g[f>>2]=l;g[f+4>>2]=i;g[f+8>>2]=h;g[f+12>>2]=0.0;Nb[e&127](f+16|0,a,f);c[d>>2]=c[f+16>>2];c[d+4>>2]=c[f+16+4>>2];c[d+8>>2]=c[f+16+8>>2];c[d+12>>2]=c[f+16+12>>2];k=f;return}function Mk(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+28>>2]|0;f=c[b+32>>2]|0;if(!(a[b+1301>>0]|0)){zg(b,d,jg(b,d,0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0;return}else{jg(b,d,zg(b,d,0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0;return}}function Nk(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==8&(d|0)==8)){if((b|0)==8&(d|0)==1){a=a+76|0;break}if((b|0)==1&(d|0)==8){a=a+80|0;break}if(!(d|b)){a=a+72|0;break}if((b|0)<20&(d|0)==28){a=a+88|0;break}if((b|0)==28&(d|0)<20){a=a+84|0;break}if((b|0)<20){if((d|0)<20){a=a+32|0;break}if((d+-21|0)>>>0<9){a=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){a=a+40|0;break}if((b|0)==31)if((d|0)==31){a=a+48|0;break}else{a=a+44|0;break}}if((d|0)==31){a=a+52|0;break}else{a=a+56|0;break}}else a=a+60|0;while(0);return c[a>>2]|0}function Ok(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0;h=k;k=k+48|0;c[h+32>>2]=e;c[h+32+4>>2]=f;n=+g[b>>2];m=+g[b+4>>2];i=+g[b+8>>2];l=+g[a+56>>2]*n+ +g[a+60>>2]*m+ +g[a+64>>2]*i;j=n*+g[a+72>>2]+m*+g[a+76>>2]+i*+g[a+80>>2];i=n*+g[a+88>>2]+m*+g[a+92>>2]+i*+g[a+96>>2];c[h>>2]=c[a+48>>2];c[h+4>>2]=h+32;g[h+8>>2]=l;g[h+12>>2]=j;g[h+16>>2]=i;g[h+20>>2]=0.0;g[h+24>>2]=d;f=c[a+44>>2]|0;d=+mb[c[(c[f>>2]|0)+12>>2]&15](f,h,1);k=h;return +d}function Pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=k;k=k+16|0;c[a+4>>2]=c[b+40>>2];e=c[b>>2]|0;c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{e=DK(hK(e)|0)|0;Nm(f,e,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+44>>2]=c[f>>2];c[a+44+4>>2]=c[f+4>>2];c[a+44+8>>2]=c[f+8>>2];c[a+44+12>>2]=c[f+12>>2]}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=f;return +(+g[b+40>>2])}function Qk(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if(e>>>0<3)switch(b|0){case 2:{g[a+756+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<<e*3;return}case 4:{g[a+772+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<<e*3;return}case 3:{g[a+740+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<<e*3;return}default:return}if((e+-3|0)>>>0>=3)return;switch(b|0){case 2:{g[a+868+(e+-3<<6)+32>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<<e*3;return}case 4:{g[a+868+(e+-3<<6)+36>>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<<e*3;return}case 3:{g[a+868+(e+-3<<6)+28>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<<e*3;return}default:return}}function Rk(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=Ot()|0;c[f>>2]=8112;a[f+144>>0]=1;c[f+140>>2]=0;c[f+132>>2]=0;c[f+136>>2]=0;c[f+176>>2]=1;g[f+56>>2]=.019999999552965164;c[f+60>>2]=0;c[f+60+4>>2]=0;c[f+60+8>>2]=0;c[f+60+12>>2]=0;a[f+170>>0]=1;c[f+8>>2]=b;g[f+52>>2]=e;g[f+48>>2]=0.0;c[f+12>>2]=d;a[f+171>>0]=1;g[f+172>>2]=0.0;g[f+16>>2]=0.0;g[f+20>>2]=0.0;g[f+44>>2]=29.399999618530273;g[f+24>>2]=55.0;g[f+28>>2]=10.0;a[f+168>>0]=0;a[f+169>>0]=0;a[f+180>>0]=1;g[f+36>>2]=.7853981852531433;g[f+40>>2]=.7071067690849304;g[f+108>>2]=0.0;a[f+181>>0]=0;a[f+182>>0]=0;return f|0}function Sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0;a=DK(a)|0;d=+g[a+8>>2];if(+qK(d)>.7071067690849304){f=+g[a+4>>2];e=1.0/+pK(f*f+d*d);b=DK(b)|0;g[b>>2]=0.0;g[b+4>>2]=-(+g[a+8>>2]*e);g[b+8>>2]=+g[a+4>>2]*e;c=DK(c)|0;g[c>>2]=(f*f+d*d)*e;g[c+4>>2]=-(+g[a>>2]*+g[b+8>>2]);g[c+8>>2]=+g[a>>2]*+g[b+4>>2];return}else{d=+g[a>>2];e=+g[a+4>>2];f=1.0/+pK(d*d+e*e);b=DK(b)|0;g[b>>2]=-(e*f);h=+g[a>>2]*f;g[b+4>>2]=h;g[b+8>>2]=0.0;h=-(+g[a+8>>2]*h);c=DK(c)|0;g[c>>2]=h;g[c+4>>2]=+g[a+8>>2]*+g[b>>2];g[c+8>>2]=(d*d+e*e)*f;return}}function Tk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=du()|0;c[h+4>>2]=3;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=7732;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[f>>2];c[h+316+4>>2]=c[f+4>>2];c[h+316+8>>2]=c[f+8>>2];c[h+316+12>>2]=c[f+12>>2];c[h+332>>2]=0;a[h+344>>0]=0;g[h+348>>2]=.30000001192092896;g[h+352>>2]=1.0;g[h+356>>2]=0.0;return h|0}function Uk(b){b=b|0;var d=0;c[b>>2]=12060;d=c[b+64>>2]|0;if(d|0){if(a[b+68>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+64>>2]=0}a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;d=c[b+44>>2]|0;if(d|0){if(a[b+48>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Vk(b){b=b|0;var d=0;c[b>>2]=7544;d=c[b+80>>2]|0;if(d|0){if(a[b+84>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+72>>2]=0;c[b+76>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(!d){a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}if(a[b+44>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+40>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}function Wk(b){b=b|0;var d=0;c[b>>2]=8692;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0;d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}function Xk(b){b=b|0;var d=0;c[b>>2]=13372;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Yk(){var a=0,b=0,d=0,e=0;e=k;k=k+48|0;a=st()|0;if(a|0?(d=c[a>>2]|0,d|0):0){b=c[d+48>>2]|0;a=c[d+48+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[e+24>>2]=25589;Yx(25539,e+24|0)}if((b|0)==1126902529&(a|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e+36>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Ul(5376,d,e+36|0)|0){d=c[e+36>>2]|0;d=tb[c[(c[d>>2]|0)+8>>2]&255](d)|0;c[e>>2]=25589;c[e+4>>2]=a;c[e+8>>2]=d;Yx(25453,e)}else{c[e+16>>2]=25589;c[e+16+4>>2]=a;Yx(25498,e+16|0)}}Yx(25577,e+32|0)}function Zk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=vb[c[(c[b>>2]|0)+56>>2]&31](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=6828;a[b+8>>0]=1;c[b+12>>2]=7040;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[f+8>>2];c[b+20>>2]=c[e+8>>2];Mj(b+72|0);return b|0}function _k(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=vb[c[(c[b>>2]|0)+56>>2]&31](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=6828;a[b+8>>0]=0;c[b+12>>2]=7040;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[e+8>>2];c[b+20>>2]=c[f+8>>2];Mj(b+72|0);return b|0}function $k(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,h=0;f=k;k=k+64|0;h=AJ(d)|0;c[f+48>>2]=c[h>>2];c[f+48+4>>2]=c[h+4>>2];c[f+48+8>>2]=c[h+8>>2];c[f+48+12>>2]=c[h+12>>2];d=DK(d)|0;et(f+32|0,d,1);et(f+16|0,d,0);Sb[c[(c[a>>2]|0)+64>>2]&1](a,f+48|0,f+32|0,f+16|0,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,e,30.0,0);d=c[(c[a>>2]|0)+64>>2]|0;Cs(f,+g[f+16>>2],+g[f+16+4>>2],+g[f+16+8>>2]);Sb[d&1](a,f+48|0,f+32|0,f,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,e,30.0,0);k=f;return}function al(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var i=0;i=k;k=k+64|0;c[i+48>>2]=f;c[i+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){k=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];g[i+40>>2]=e;e=+mb[c[(c[f>>2]|0)+12>>2]&15](f,i,0);k=i;return +e}function bl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[e+16>>2]|0;if(!f){if(!(Jp(e)|0)){g=c[e+16>>2]|0;h=5}}else{g=f;h=5}a:do if((h|0)==5){f=c[e+20>>2]|0;if((g-f|0)>>>0<d>>>0){xb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0)g=b;else{h=d;while(1){g=h+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){g=b;break b}else h=g}if((xb[c[e+36>>2]&63](e,b,h)|0)>>>0<h>>>0)break a;g=b+h|0;d=d-h|0;f=c[e+20>>2]|0}while(0);Ki(f|0,g|0,d|0)|0;c[e+20>>2]=(c[e+20>>2]|0)+d}while(0);return}function cl(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var i=0;i=k;k=k+64|0;c[i+48>>2]=f;c[i+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){k=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];g[i+40>>2]=e;e=+mb[c[(c[f>>2]|0)+12>>2]&15](f,i,1);k=i;return +e}function dl(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;c=k;k=k+48|0;d=2.0/+OG(b);f=+g[(DK(b)|0)>>2];e=+g[(hK(b)|0)>>2];i=+g[(gK(b)|0)>>2];h=+g[(fK(b)|0)>>2];g[c+32>>2]=1.0-(e*e*d+i*i*d);g[c+28>>2]=f*e*d-h*i*d;g[c+24>>2]=f*i*d+h*e*d;g[c+20>>2]=f*e*d+h*i*d;g[c+16>>2]=1.0-(f*f*d+i*i*d);g[c+12>>2]=e*i*d-h*f*d;g[c+8>>2]=f*i*d-h*e*d;g[c+4>>2]=e*i*d+h*f*d;g[c>>2]=1.0-(f*f*d+e*e*d);xq(a,c+32|0,c+28|0,c+24|0,c+20|0,c+16|0,c+12|0,c+8|0,c+4|0,c);k=c;return}function el(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[7597]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[7586]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=(6?d>>>6:d)|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=(12?d>>>12:d)|224;a[b+1>>0]=(6?d>>>6:d)&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=(18?d>>>18:d)|240;a[b+1>>0]=(12?d>>>12:d)&63|128;a[b+2>>0]=(6?d>>>6:d)&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[7586]=84;b=-1;break}}else b=1;while(0);return b|0}function fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0;e=k;k=k+16|0;Nb[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];l=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:i;j=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:f;h=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:h;f=1.0/+A(+(h*h+(l*l+j*j)));i=+jb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*l*f;g[a+4>>2]=+g[a+4>>2]+i*j*f;g[a+8>>2]=+g[a+8>>2]+i*h*f;k=e;return}function gl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=k;k=k+48|0;e=mI(b,0)|0;g[d+32>>2]=+qq(c,e);g[d+28>>2]=+Mp(c,e);g[d+24>>2]=+Lp(c,e);e=mI(b,1)|0;g[d+20>>2]=+qq(c,e);g[d+16>>2]=+Mp(c,e);g[d+12>>2]=+Lp(c,e);b=mI(b,2)|0;g[d+8>>2]=+qq(c,b);g[d+4>>2]=+Mp(c,b);g[d>>2]=+Lp(c,b);Nr(a,d+32|0,d+28|0,d+24|0,d+20|0,d+16|0,d+12|0,d+8|0,d+4|0,d);k=d;return}function hl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=tb[c[(c[g>>2]|0)+36>>2]&255](g)|0;Nb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;Nb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=9;break}}if((h|0)==9)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function il(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0;while(1){g=c[a+12>>2]|0;if(!(((e[f>>1]|0)>=(e[a>>1]|0)?(e[d>>1]|0)<=(e[a+6>>1]|0):0)&(e[d+4>>1]|0)<=(e[a+10>>1]|0)&(e[f+4>>1]|0)>=(e[a+4>>1]|0)&(e[d+2>>1]|0)<=(e[a+8>>1]|0)&(e[f+2>>1]|0)>=(e[a+2>>1]|0))){h=6;break}if((g|0)>-1)break;i=a+16|0;il(i,b,d,f);g=c[a+28>>2]|0;a=(g|0)>-1?a+32|0:i+(0-g<<4)|0}if((h|0)==6)return;Nb[c[(c[b>>2]|0)+8>>2]&127](b,21?g>>>21:g,g&2097151);return}function jl(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+C(+c);h=+D(+c);c=+g[b+444>>2];if(+z(+i)>1.1920928955078125e-07){j=+g[b+448>>2];e=h*h;f=i*i;c=+A(+((h*h/(i*i)+1.0)/(1.0/(j*j)+h*h/(i*i)/(c*c))))}else{e=h*h;f=i*i}c=c*.5;j=+D(+c)/+A(+(e+(f+0.0)));c=+C(+c);k=c*d+i*j*0.0-h*j*-0.0;f=c*0.0-h*j*d-j*0.0*0.0;e=c*0.0+j*0.0*0.0-i*j*d;d=-(j*0.0*d)-i*j*0.0-h*j*-0.0;g[a>>2]=h*j*f+(c*k+d*-(j*0.0))-e*-(i*j);g[a+4>>2]=e*-(j*0.0)+(c*f+d*-(i*j))-h*j*k;g[a+8>>2]=k*-(i*j)+(h*j*d+c*e)-f*-(j*0.0);g[a+12>>2]=0.0;return}function kl(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;g[b+16>>2]=0.0;g[b+20>>2]=0.0;a[b+168>>0]=0;a[b+169>>0]=0;g[b+172>>2]=0.0;c[b+60>>2]=0;c[b+60+4>>2]=0;c[b+60+8>>2]=0;c[b+60+12>>2]=0;b=c[(c[b+8>>2]|0)+284>>2]|0;if((c[(tb[c[(c[b>>2]|0)+28>>2]&255](b)|0)+4>>2]|0)<=0)return;do{f=c[b>>2]|0;h=c[f+12>>2]|0;f=c[c[(tb[c[f+28>>2]&255](b)|0)+12>>2]>>2]|0;e=c[(c[(tb[c[(c[b>>2]|0)+28>>2]&255](b)|0)+12>>2]|0)+4>>2]|0;yb[h&31](b,f,e,c[d+24>>2]|0)|0}while((c[(tb[c[(c[b>>2]|0)+28>>2]&255](b)|0)+4>>2]|0)>0);return}function ll(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[7557]=(c[7557]|0)+-1;Jb[c[(c[a>>2]|0)+20>>2]&127](a,b);e=c[b+768>>2]|0;d=(c[a+12>>2]|0)+-1|0;g=c[a+20>>2]|0;f=c[g+(e<<2)>>2]|0;c[g+(e<<2)>>2]=c[g+(d<<2)>>2];c[(c[a+20>>2]|0)+(d<<2)>>2]=f;c[(c[(c[a+20>>2]|0)+(e<<2)>>2]|0)+768>>2]=e;c[a+12>>2]=d;a=c[a+68>>2]|0;if(!b)return;g=c[a+16>>2]|0;if(g>>>0<=b>>>0?(g+(M(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);return}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;if((e|0)<=0)return;f=0;do{n=+g[b+(f<<4)>>2];m=+g[b+(f<<4)+4>>2];j=+g[b+(f<<4)+8>>2];k=n*+g[a+56>>2]+m*+g[a+60>>2]+j*+g[a+64>>2];l=n*+g[a+72>>2]+m*+g[a+76>>2]+j*+g[a+80>>2];j=n*+g[a+88>>2]+m*+g[a+92>>2]+j*+g[a+96>>2];i=a+56+((k<l?(l<j?2:1):k<j?2:0)<<4)|0;h=d+(f<<4)|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];f=f+1|0}while((f|0)!=(e|0));return}function nl(a,b){a=a|0;b=+b;var d=0,e=0;d=k;k=k+16|0;sf(a,b);Wj(17231);a=c[a+452>>2]|0;Eb[c[(c[a>>2]|0)+24>>2]&31](a,b);a=c[3369]|0;e=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=e;if(e|0){k=d;return}do if(c[a+4>>2]|0){bb(d|0,0)|0;e=c[7583]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[3369]|0;break}else{k=d;return}}while(0);c[3369]=c[a+20>>2];k=d;return}function ol(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=k;k=k+224|0;e=g+160|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[g+208>>2]=c[d>>2];if((Vc(0,b,g+208|0,g+80|0,g+160|0)|0)>=0){e=c[3371]|0;if((a[13558]|0)<1)c[3371]=e&-33;if(!(c[3383]|0)){d=c[3382]|0;c[3382]=g;c[3378]=g;c[3376]=g;c[3383]=80;c[3375]=g+80;Vc(13484,b,g+208|0,g+80|0,g+160|0)|0;if(d|0){xb[c[13520>>2]&63](13484,0,0)|0;c[3382]=d;c[3383]=0;c[3375]=0;c[3378]=0;c[3376]=0}}else Vc(13484,b,g+208|0,g+80|0,g+160|0)|0;c[3371]=c[3371]|e&32}k=g;return}function pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;do switch(b|0){case 0:{b=1;f=0;break}case 1:{b=2;f=0;break}case 2:{b=3;f=1;break}case 3:{b=3;f=2;break}case 4:{b=4;f=0;break}case 5:{b=5;f=1;break}case 6:{b=6;f=2;break}case 7:{b=7;f=3;break}case 8:{b=5;f=4;break}case 9:{b=6;f=4;break}case 10:{b=7;f=5;break}case 11:{b=7;f=6;break}default:{b=0;f=0}}while(0);Nb[c[(c[a>>2]|0)+108>>2]&127](a,f,d);Nb[c[(c[a>>2]|0)+108>>2]&127](a,b,e);return}function ql(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;h=+g[a+56>>2];k=+g[a+72>>2]-h;j=+g[a+60>>2];i=+g[a+76>>2]-j;l=+g[a+64>>2];m=+g[a+80>>2]-l;h=+g[a+88>>2]-h;j=+g[a+92>>2]-j;l=+g[a+96>>2]-l;g[d+12>>2]=0.0;f=1.0/+A(+((k*j-i*h)*(k*j-i*h)+((i*l-m*j)*(i*l-m*j)+(m*h-k*l)*(m*h-k*l))));g[d>>2]=(i*l-m*j)*f;g[d+4>>2]=(m*h-k*l)*f;g[d+8>>2]=(k*j-i*h)*f;c[e>>2]=c[a+56>>2];c[e+4>>2]=c[a+56+4>>2];c[e+8>>2]=c[a+56+8>>2];c[e+12>>2]=c[a+56+12>>2];return}function rl(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=9400;e=c[b+12>>2]|0;if((e|0)>0){d=0;do{f=c[(c[b+20>>2]|0)+(d<<2)>>2]|0;if(f|0){Db[c[c[f>>2]>>2]&511](f);f=c[b+4>>2]|0;Jb[c[(c[f>>2]|0)+60>>2]&127](f,c[(c[b+20>>2]|0)+(d<<2)>>2]|0)}d=d+1|0}while((d|0)!=(e|0))}d=c[b+20>>2]|0;if(!d){a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}if(a[b+24>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+20>>2]=0;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}function sl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+g[a+56>>2];k=+g[a+72>>2]-i;j=+g[a+60>>2];f=+g[a+76>>2]-j;d=+g[a+64>>2];h=+g[a+80>>2]-d;i=+g[a+88>>2]-i;j=+g[a+92>>2]-j;d=+g[a+96>>2]-d;g[c+12>>2]=0.0;e=1.0/+A(+((k*j-f*i)*(k*j-f*i)+((f*d-h*j)*(f*d-h*j)+(h*i-k*d)*(h*i-k*d))));g[c>>2]=(f*d-h*j)*e;g[c+4>>2]=(h*i-k*d)*e;g[c+8>>2]=(k*j-f*i)*e;if(!b)return;g[c>>2]=-((f*d-h*j)*e);g[c+4>>2]=-((h*i-k*d)*e);g[c+8>>2]=-((k*j-f*i)*e);return}function tl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=c[a+720>>2]|0;g=c[a+752>>2]|0;if((g|0)<=0){h=0;return h|0}f=c[a+760>>2]|0;a=0;while(1){i=c[f+(a*44|0)+8>>2]|0;if(((i|0)==(h+(e*104|0)|0)|((i|0)==(h+(b*104|0)|0)|(i|0)==(h+(d*104|0)|0))?(i=c[f+(a*44|0)+12>>2]|0,(i|0)==(h+(e*104|0)|0)|((i|0)==(h+(b*104|0)|0)|(i|0)==(h+(d*104|0)|0))):0)?(i=c[f+(a*44|0)+16>>2]|0,(i|0)==(h+(e*104|0)|0)|((i|0)==(h+(b*104|0)|0)|(i|0)==(h+(d*104|0)|0))):0){a=1;f=7;break}a=a+1|0;if((a|0)>=(g|0)){a=0;f=7;break}}if((f|0)==7)return a|0;return 0}function ul(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0,j=0;i=c[a+96>>2]|0;j=c[a+104>>2]|0;f=+g[j+(((b|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];h=+g[j+(((b|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[j+(((b|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=h;g[d+12>>2]=0.0;d=c[a+104>>2]|0;h=+g[d+(((b+1|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];f=+g[d+(((b+1|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[e>>2]=+g[d+(((b+1|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0,i=0;e=k;k=k+32|0;d=c[a+184>>2]|0;if(+g[d+4>>2]==0.0){d=0;k=e;return d|0}b=c[b>>2]|0;if(!(vb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){d=1;k=e;return d|0}h=c[a+192>>2]|0;i=c[b+192>>2]|0;d=c[a+184>>2]|0;f=+g[a+188>>2];c[e>>2]=0;c[e+4>>2]=i;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;uc(h,a+36|0,a+100|0,e,d,f);d=1;k=e;return d|0}function wl(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;f=k;k=k+32|0;g=mI(c[a+16>>2]|0,d)|0;eo(f+16|0,b[g>>1]|0,b[g+2>>1]|0,b[g+4>>1]|0,a+24|0,a+56|0);c[e>>2]=c[f+16>>2];c[e+4>>2]=c[f+16+4>>2];c[e+8>>2]=c[f+16+8>>2];c[e+12>>2]=c[f+16+12>>2];d=mI(c[a+16>>2]|0,d)|0;eo(f,b[d+6>>1]|0,b[d+8>>1]|0,b[d+10>>1]|0,a+24|0,a+56|0);c[e+16>>2]=c[f>>2];c[e+16+4>>2]=c[f+4>>2];c[e+16+8>>2]=c[f+8>>2];c[e+16+12>>2]=c[f+12>>2];k=f;return}function xl(a,b){a=a|0;b=b|0;var d=0;d=k;k=k+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=c[a+8>>2]|0;c[b+260>>2]=(c[b+260>>2]|0)+1;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+52>>2]=c[d>>2];c[b+52+4>>2]=c[d+4>>2];c[b+52+8>>2]=c[d+8>>2];c[b+52+12>>2]=c[d+12>>2];k=d;return}function yl(a){a=a|0;var b=0,d=0;b=k;k=k+16|0;Wj(20519);d=c[a+68>>2]|0;Jb[c[(c[d>>2]|0)+32>>2]&127](d,c[a+24>>2]|0);a=c[3369]|0;d=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=d;if(d|0){k=b;return}do if(c[a+4>>2]|0){bb(b|0,0)|0;d=c[7583]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[b+4>>2]|0)-(c[d+4>>2]|0)+(((c[b>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[3369]|0;break}else{k=b;return}}while(0);c[3369]=c[a+20>>2];k=b;return}function zl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+jb[c[(c[a>>2]|0)+48>>2]&15](a);h=+jb[c[(c[a>>2]|0)+48>>2]&15](a);d=+jb[c[(c[a>>2]|0)+48>>2]&15](a);m=(k+ +g[a+28>>2])/+g[a+12>>2];j=(h+ +g[a+32>>2])/+g[a+16>>2];f=(d+ +g[a+36>>2])/+g[a+20>>2];l=+z(+(+g[b>>2]));i=+z(+(+g[b+4>>2]));e=+z(+(+g[b+8>>2]));g[a+12>>2]=l;g[a+16>>2]=i;g[a+20>>2]=e;g[a+24>>2]=0.0;g[a+28>>2]=m*l-k;g[a+32>>2]=j*i-h;g[a+36>>2]=f*e-d;g[a+40>>2]=0.0;return}function Al(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0;if(a[b+527>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=3;c[d+4>>2]=3;j=c[b+28>>2]|0;i=c[b+32>>2]|0;rc(b,j+4|0,i+4|0,j+264|0,i+264|0);if((a[b+526>>0]|0?(e=c[d>>2]|0,c[d>>2]=e+1,f=c[d+4>>2]|0,c[d+4>>2]=f+-1,h=+g[b+456>>2],+g[b+444>>2]<h):0)?+g[b+448>>2]<h:0){c[d>>2]=e+2;c[d+4>>2]=f+-2}if(!(a[b+525>>0]|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function Bl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=d|d<<8|d<<16|d<<24;while((b|0)<=((f&-4)-64|0)){c[b>>2]=g;c[b+4>>2]=g;c[b+8>>2]=g;c[b+12>>2]=g;c[b+16>>2]=g;c[b+20>>2]=g;c[b+24>>2]=g;c[b+28>>2]=g;c[b+32>>2]=g;c[b+36>>2]=g;c[b+40>>2]=g;c[b+44>>2]=g;c[b+48>>2]=g;c[b+52>>2]=g;c[b+56>>2]=g;c[b+60>>2]=g;b=b+64|0}while((b|0)<(f&-4|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Cl(a,b,c,d,e,f,h,i,j,k){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=k|0;if(!(((h-d)*b-(i-e)*a)*f+(((i-e)*c-(j-f)*b)*d+((j-f)*a-(h-d)*c)*e)<0.0)){k=0;return k|0}do if(!((h-d)*d+(i-e)*e+(j-f)*f>0.0))if((h-d)*h+(i-e)*i+(j-f)*j<0.0){a=h*h+i*i+j*j;break}else{a=((h*h+i*i+j*j)*(d*d+e*e+f*f)-(h*d+i*e+j*f)*(h*d+i*e+j*f))/((h-d)*(h-d)+(i-e)*(i-e)+(j-f)*(j-f));a=a>0.0?a:0.0;break}else a=d*d+e*e+f*f;while(0);g[k>>2]=+A(+a);k=1;return k|0}function Dl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,h=0,i=0;b=c[b+36>>2]|0;i=c[b+8>>2]|0;h=c[b+12>>2]|0;f=c[b+16>>2]|0;e=+g[a+52>>2];d=+ei(a+4|0,+g[a+36>>2],+g[a+40>>2],+g[a+44>>2],+g[i+8>>2],+g[i+12>>2],+g[i+16>>2],+g[h+8>>2],+g[h+12>>2],+g[h+16>>2],+g[f+8>>2],+g[f+12>>2],+g[f+16>>2],e);if(!(d>0.0&d<e)){i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}g[a+52>>2]=d;c[a+56>>2]=b;i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}function El(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if(c>>>0>=3)if((c+-3|0)>>>0<3)switch(b|0){case 2:{d=+g[a+868+(c+-3<<6)+32>>2];break a}case 4:{d=+g[a+868+(c+-3<<6)+36>>2];break a}case 3:{d=+g[a+868+(c+-3<<6)+28>>2];break a}default:{d=0.0;break a}}else d=0.0;else switch(b|0){case 2:{d=+g[a+756+(c<<2)>>2];break a}case 4:{d=+g[a+772+(c<<2)>>2];break a}case 3:{d=+g[a+740+(c<<2)>>2];break a}default:{d=0.0;break a}}while(0);return +d}function Fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;Nb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+jb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;h=+g[d>>2];e=+g[d+4>>2];f=+g[d+8>>2];j=h*h+e*e+f*f<1.4210854715202004e-14?-1.0:h;i=h*h+e*e+f*f<1.4210854715202004e-14?-1.0:e;f=h*h+e*e+f*f<1.4210854715202004e-14?-1.0:f;e=1.0/+A(+(f*f+(j*j+i*i)));h=+jb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+h*j*e;g[a+4>>2]=+g[a+4>>2]+h*i*e;g[a+8>>2]=+g[a+8>>2]+h*f*e;return}function Gl(b,d,e){b=b|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;a[b+171>>0]=0;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];f=+g[b+60>>2];h=+g[b+64>>2];i=+g[b+68>>2];j=1.0/+A(+(f*f+h*h+i*i));if(+A(+(i*j*i*j+(f*j*f*j+h*j*h*j)))<1.1920928955078125e-07){k=0.0;h=0.0;f=0.0;d=0}else{k=f*j;h=h*j;f=i*j;d=c[b+72>>2]|0}g[b+76>>2]=k;g[b+80>>2]=h;g[b+84>>2]=f;c[b+88>>2]=d;g[b+172>>2]=+g[b+172>>2]+e;return}function Hl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(AE(b,c[d+8>>2]|0)|0)){if(AE(b,c[d>>2]|0)|0){if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else pt(d,e,f);while(0);return}function Il(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(AE(b,c[d+8>>2]|0)|0)){h=c[b+12>>2]|0;jp(b+16|0,d,e,f);if((h|0)>1){g=b+24|0;do{jp(g,d,e,f);if(a[d+54>>0]|0)break a;g=g+8|0}while(g>>>0<(b+16+(h<<3)|0)>>>0)}}else Pn(d,e,f);while(0);return}function Jl(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;g[b>>2]=d;c[b+4>>2]=e;c[b+72>>2]=f;c[b+76>>2]=c[h>>2];c[b+76+4>>2]=c[h+4>>2];c[b+76+8>>2]=c[h+8>>2];c[b+76+12>>2]=c[h+12>>2];g[b+92>>2]=0.0;g[b+96>>2]=0.0;g[b+100>>2]=.5;g[b+104>>2]=0.0;g[b+108>>2]=0.0;g[b+112>>2]=.800000011920929;g[b+116>>2]=1.0;a[b+120>>0]=0;g[b+124>>2]=.004999999888241291;g[b+128>>2]=.009999999776482582;g[b+132>>2]=.009999999776482582;g[b+136>>2]=.009999999776482582;gs(b+8|0);return}function Kl(b,d,e){b=b|0;d=d|0;e=e|0;b=zt(152)|0;c[b>>2]=8056;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+100>>2]=e;g[b+104>>2]=0.0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+116>>2]=d;c[b+120>>2]=0;c[b+124>>2]=2;c[b+128>>2]=1;g[b+112>>2]=0.0;g[b+108>>2]=0.0;return b|0}function Ll(b){b=b|0;var d=0,e=0,f=0;e=zt(5260)|0;c[e>>2]=8368;c[e+4>>2]=2;a[e+24>>0]=1;c[e+20>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+28>>2]=8840;c[e+5256>>2]=b;c[e+60>>2]=91;c[e+64>>2]=tb[c[(c[b>>2]|0)+12>>2]&255](b)|0;c[e+68>>2]=tb[c[(c[b>>2]|0)+8>>2]&255](b)|0;b=0;do{d=0;do{f=c[e+5256>>2]|0;c[e+72+(b*144|0)+(d<<2)>>2]=xb[c[(c[f>>2]|0)+16>>2]&63](f,b,d)|0;d=d+1|0}while(d>>>0<36);b=b+1|0}while(b>>>0<36);return e|0}function Ml(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=vb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Jb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 23429}function Nl(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,h=0,i=0;e=k;k=k+16|0;b=c[a+8>>2]|0;d=c[a+8+4>>2]|0;if((d|0)>-1|(d|0)==-1&b>>>0>4294967295){f=(+(b>>>0)+4294967296.0*+(d>>>0))*18446744073709551616.0+(+((c[a>>2]|0)>>>0)+4294967296.0*+((c[a+4>>2]|0)>>>0));k=e;return +f}else{i=c[a>>2]|0;h=c[a+4>>2]|0;g=yx(0,0,i|0,h|0)|0;a=x;d=Rx((i|0)==0&(h|0)==0&1|0,0,~b|0,~d|0)|0;c[e>>2]=g;c[e+4>>2]=a;c[e+8>>2]=d;c[e+8+4>>2]=x;f=-+Nl(e);k=e;return +f}return 0.0}function Ol(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=vb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Jb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 22973}function Pl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=vb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Jb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];f=c[a+144>>2]|0;xb[c[(c[f>>2]|0)+56>>2]&63](f,b+12|0,d)|0;c[b+56>>2]=c[a+12>>2];c[b+40>>2]=c[a+52>>2];c[b+44>>2]=c[a+56>>2];c[b+48>>2]=c[a+60>>2];c[b+52>>2]=c[a+64>>2];c[b+60>>2]=tb[c[(c[a>>2]|0)+80>>2]&255](a)|0;return 24481}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=vb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Jb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+68>>2];return 21993}function Rl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=k;k=k+32|0;if(!(+g[a+344>>2]!=0.0)){k=d;return}bp(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);if(!(DK(a+544|0)|0)){k=d;return}br(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);lq(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);cp(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);k=d;return}function Sl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=c[b+16>>2]|0;if(!e){c[b+16>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;break}e=c[b+24>>2]|0;if((e|0)==2){c[b+24>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function Tl(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0,l=0;e=k;k=k+16|0;j=c[a+52>>2]|0;l=c[a+28+(((j+2|0)%3|0)<<2)>>2]|0;c[e>>2]=l;c[e+4>>2]=l;c[e+8>>2]=l;g[e+12>>2]=0.0;g[e+(j<<2)>>2]=+g[a+28+(j<<2)>>2]+ +g[e+(j<<2)>>2];h=(+g[e>>2]+.03999999910593033)*2.0;f=(+g[e+4>>2]+.03999999910593033)*2.0;i=(+g[e+8>>2]+.03999999910593033)*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);k=e;return}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=k;k=k+64|0;if(!(AE(a,b)|0))if((b|0)!=0?(f=Lj(b,5384)|0,(f|0)!=0):0){b=g+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Qb[c[(c[f>>2]|0)+28>>2]&127](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;k=g;return b|0}function Vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+32>>2];h=+g[a+28>>2];i=b+(m<<4)|0;k=+g[b+(m<<4)+4>>2];f=+g[b+(m<<4)+8>>2];l=+A(+(k*k+f*f));if(l!=0.0){j=f*(e/l);f=+g[i>>2]<0.0?-h:h;e=k*(e/l)}else{j=0.0;f=+g[i>>2]<0.0?-h:h}g[c+(m<<4)>>2]=f;g[c+(m<<4)+4>>2]=e;g[c+(m<<4)+8>>2]=j;m=m+1|0}while((m|0)!=(d|0));return}function Wl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;if(!e)e=c[a+188>>2]|0;i=c[a+268>>2]|0;if((i|0)<=0)return;h=c[a+276>>2]|0;f=0;while(1){g=h+(f<<2)|0;if((c[g>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(i|0)){k=9;break}}if((k|0)==9)return;if((f|0)>=(i|0))return;c[g>>2]=c[h+(i+-1<<2)>>2];c[a+268>>2]=i+-1;k=c[a+284>>2]|0;yb[c[(c[k>>2]|0)+12>>2]&31](k,e,b,d)|0;return}function Xl(b,d){b=b|0;d=d|0;var e=0;e=nu()|0;c[e+8>>2]=0;c[e+12>>2]=1065353216;c[e+16>>2]=1065353216;c[e+20>>2]=1065353216;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;c[e+56>>2]=1065353216;c[e+60>>2]=1065353216;c[e+64>>2]=1065353216;g[e+68>>2]=0.0;c[e+72>>2]=-1082130432;c[e+76>>2]=-1082130432;c[e+80>>2]=-1082130432;g[e+84>>2]=0.0;a[e+88>>0]=0;c[e>>2]=11028;c[e+92>>2]=b;c[e+4>>2]=3;if(!d)return e|0;_j(e);return e|0}function Yl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=k;k=k+32|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){d=0;k=e;return d|0}b=c[b>>2]|0;if(!(vb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){d=1;k=e;return d|0}f=c[b+192>>2]|0;d=c[a+216>>2]|0;c[e>>2]=0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;Rc(a+68|0,a+132|0,e,d);d=1;k=e;return d|0}function Zl(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=Pt()|0;Qe(i,b,d,e,f,h);c[i>>2]=7672;c[i+4>>2]=9;a[i+1309>>0]=0;a[i+1309+1>>0]=0;a[i+1309+2>>0]=0;a[i+1309+3>>0]=0;a[i+1309+4>>0]=0;a[i+1309+5>>0]=0;b=i+1316|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));g[i+1364>>2]=1.0;g[i+1368>>2]=1.0;g[i+1372>>2]=1.0;g[i+1376>>2]=1.0;g[i+1380>>2]=1.0;g[i+1384>>2]=1.0;return i|0}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=vb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Jb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];return 16634}function $l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=vb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Jb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+12>>2]=c[a+68>>2];c[b+16>>2]=c[a+72>>2];c[b+20>>2]=c[a+76>>2];c[b+24>>2]=c[a+80>>2];c[b+28>>2]=c[a+48>>2];c[b+32>>2]=c[a+52>>2];c[b+36>>2]=c[a+56>>2];c[b+40>>2]=c[a+60>>2];c[b+44>>2]=c[a+64>>2];return 22670}function am(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0;if((d|0)<=0)return;l=0;do{e=+g[a+28>>2];h=+g[a+36>>2];j=+g[b+(l<<4)>>2];f=+g[b+(l<<4)+4>>2];k=+A(+(j*j+f*f));if(k!=0.0){i=f*(e/k);f=+g[b+(l<<4)+8>>2]<0.0?-h:h;e=j*(e/k)}else{i=0.0;f=+g[b+(l<<4)+8>>2]<0.0?-h:h}g[c+(l<<4)>>2]=e;g[c+(l<<4)+4>>2]=i;g[c+(l<<4)+8>>2]=f;l=l+1|0}while((l|0)!=(d|0));return}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0;if((d|0)<=0)return;l=0;do{e=+g[a+28>>2];h=+g[a+32>>2];j=+g[b+(l<<4)>>2];f=+g[b+(l<<4)+8>>2];k=+A(+(j*j+f*f));if(k!=0.0){i=f*(e/k);f=+g[b+(l<<4)+4>>2]<0.0?-h:h;e=j*(e/k)}else{i=0.0;f=+g[b+(l<<4)+4>>2]<0.0?-h:h}g[c+(l<<4)>>2]=e;g[c+(l<<4)+4>>2]=f;g[c+(l<<4)+8>>2]=i;l=l+1|0}while((l|0)!=(d|0));return}function cm(a){a=a|0;var b=0;b=k;k=k+32|0;zI(a);c[a>>2]=6052;c[a+8>>2]=0;c[a+28>>2]=0;g[a+4>>2]=.009999999776482582;g[b+8>>2]=1.0;g[b+4>>2]=1.0;g[b>>2]=1.0;Yt(b+16|0,b+8|0,b+4|0,b);c[a+12>>2]=c[b+16>>2];c[a+12+4>>2]=c[b+16+4>>2];c[a+12+8>>2]=c[b+16+8>>2];c[a+12+12>>2]=c[b+16+12>>2];c[a+32>>2]=0;c[a+36>>2]=0;c[a+40>>2]=0;c[a+48>>2]=0;c[a+48+4>>2]=0;c[a+48+8>>2]=0;c[a+48+12>>2]=0;k=b;return}function dm(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;a[b+171>>0]=1;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];e=+g[b+60>>2];f=+g[b+64>>2];h=+g[b+68>>2];i=1.0/+A(+(e*e+f*f+h*h));if(+A(+(h*i*h*i+(e*i*e*i+f*i*f*i)))<1.1920928955078125e-07){j=0.0;f=0.0;e=0.0;d=0}else{j=e*i;f=f*i;e=h*i;d=c[b+72>>2]|0}g[b+76>>2]=j;g[b+80>>2]=f;g[b+84>>2]=e;c[b+88>>2]=d;return}function em(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0;j=c[a+68>>2]|0;i=c[a+64>>2]|0;h=c[a+72>>2]|0;e=+g[a+60>>2]*(+g[b+(j<<2)>>2]/+g[a+12+(j<<2)>>2]);g[a+60>>2]=e;f=+g[a+56>>2]*(+g[b+(i<<2)>>2]/+g[a+12+(i<<2)>>2]+ +g[b+(h<<2)>>2]/+g[a+12+(h<<2)>>2])*.5;g[a+56>>2]=f;g[a+52>>2]=f/+A(+(e*e+f*f));f=+z(+(+g[b>>2]));e=+z(+(+g[b+4>>2]));d=+z(+(+g[b+8>>2]));g[a+12>>2]=f;g[a+16>>2]=e;g[a+20>>2]=d;g[a+24>>2]=0.0;return}function fm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=k;k=k+48|0;c[f+32>>2]=12276;c[f+32+4>>2]=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[d>>2];c[f+16+4>>2]=c[d+4>>2];c[f+16+8>>2]=c[d+8>>2];c[f+16+12>>2]=c[d+12>>2];kf(c[a+4>>2]|0,f,f+32|0);kf(c[a+64>>2]|0,f,f+32|0);k=f;return}function gm(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0;d=1.0/+g[(c[b+116>>2]|0)+344>>2];if((c[b+136>>2]|0)<=0)return;e=0;do{f=c[b+144>>2]|0;if(!(a[f+(e*284|0)+84>>0]|0))h=0.0;else{h=+g[f+(e*284|0)+272>>2];h=d*(+g[f+(e*284|0)+216>>2]*(+g[f+(e*284|0)+204>>2]-+g[f+(e*284|0)+32>>2])*+g[f+(e*284|0)+268>>2]-h*+g[(h<0.0?f+(e*284|0)+220|0:f+(e*284|0)+224|0)>>2]);h=h<0.0?0.0:h}g[f+(e*284|0)+276>>2]=h;e=e+1|0}while((e|0)<(c[b+136>>2]|0));return}function hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;b=(c[a+36>>2]|0)+(M(c[a+48>>2]|0,b)|0)|0;if((c[a+44>>2]|0)==1){e=+h[b>>3];a=DK(a+12|0)|0;e=e*+g[a>>2];d=DK(d)|0;g[d>>2]=e;g[d+4>>2]=+h[b+8>>3]*+g[a+4>>2];g[d+8>>2]=+h[b+16>>3]*+g[a+8>>2];return}else{e=+g[b>>2];a=DK(a+12|0)|0;e=e*+g[a>>2];d=DK(d)|0;g[d>>2]=e;g[d+4>>2]=+g[b+4>>2]*+g[a+4>>2];g[d+8>>2]=+g[b+8>>2]*+g[a+8>>2];return}}function im(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=k;k=k+48|0;f=+sK(b);h=+sK(c);i=+sK(d);b=+rK(b);c=+rK(c);d=+rK(d);g[e+32>>2]=h*i;g[e+28>>2]=c*b*i-f*d;g[e+24>>2]=c*f*i+b*d;g[e+20>>2]=h*d;g[e+16>>2]=c*b*d+f*i;g[e+12>>2]=c*f*d-b*i;g[e+8>>2]=-c;g[e+4>>2]=h*b;g[e>>2]=h*f;xq(a,e+32|0,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0,e+8|0,e+4|0,e);k=e;return}function jm(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=c[a+108>>2]|0;if(j|0){Wb[c[(c[j>>2]|0)+24>>2]&7](j,d,f,g,h,i);return}d=b[a+56>>1]|0;if(!(d<<16>>16))return;h=1;i=1;do{f=c[a+68>>2]|0;if(b[f+(i<<2)>>1]&1){vb[c[(c[g>>2]|0)+8>>2]&31](g,(c[a+60>>2]|0)+((e[f+(i<<2)+2>>1]|0)<<6)|0)|0;d=b[a+56>>1]|0}h=h+1<<16>>16;i=h&65535}while(((d&65535)<<1|1)>>>0>i>>>0);return}function km(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=vb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=8744;a[b+8>>0]=1;c[b+12>>2]=8792;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=f;c[b+20>>2]=e;f=xb[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[b+76>>2]=f;e=c[b+60>>2]|0;Jb[c[(c[e>>2]|0)+20>>2]&127](e,f);return b|0}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0;e=+g[a+28>>2];i=+g[a+32>>2];h=+g[a+36>>2];switch(d|0){case 0:{a=0;d=0;f=1065353216;break}case 1:{a=0;d=0;f=-1082130432;break}case 2:{a=0;d=1065353216;f=0;e=i;break}case 3:{a=0;d=-1082130432;f=0;e=i;break}case 4:{a=1065353216;d=0;f=0;e=h;break}case 5:{a=-1082130432;d=0;f=0;e=h;break}default:return}c[b>>2]=f;c[b+4>>2]=d;c[b+8>>2]=a;g[b+12>>2]=-e;return}function mm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=vb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=8744;a[b+8>>0]=0;c[b+12>>2]=8792;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=e;c[b+20>>2]=f;f=xb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[b+76>>2]=f;e=c[b+60>>2]|0;Jb[c[(c[e>>2]|0)+20>>2]&127](e,f);return b|0}function nm(b){b=b|0;var d=0;c[b>>2]=8324;d=c[b+284>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+284>>2]|0;if(d|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b>>2]=8280;d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=8244;return}if(a[b+280>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=8244;return}function om(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0;e=c[a+232>>2]|0;if((e|0)<=0)return;b=c[a+240>>2]|0;a=0;do{d=c[b+(a<<2)>>2]|0;switch(c[d+216>>2]|0){case 2:case 5:break;default:if(!(c[d+204>>2]&3)){h=+g[d+368>>2]*+g[d+352>>2];f=+g[d+372>>2]*+g[d+356>>2];g[d+412>>2]=+g[d+364>>2]*+g[d+348>>2]+ +g[d+412>>2];g[d+416>>2]=h+ +g[d+416>>2];g[d+420>>2]=f+ +g[d+420>>2]}}a=a+1|0}while((a|0)!=(e|0));return}function pm(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,i=0;h=k;k=k+16|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;f=c[a+152>>2]|0;if(!f){k=h;return}e=f;do{e=e+-1|0;i=c[(c[a+160>>2]|0)+(e<<2)>>2]|0;Hb[c[(c[i>>2]|0)+32>>2]&31](i,b/+(f|0),h);g[d>>2]=+g[h>>2]+ +g[d>>2];g[d+4>>2]=+g[h+4>>2]+ +g[d+4>>2];g[d+8>>2]=+g[h+8>>2]+ +g[d+8>>2]}while((e|0)!=0);k=h;return}function qm(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0;c=k;k=k+16|0;m=+g[a+12>>2];i=+g[(DK(b)|0)>>2];j=+g[a>>2];l=+g[b+12>>2];h=+g[a+4>>2];d=+g[(gK(b)|0)>>2];e=+g[a+8>>2];f=+g[(hK(b)|0)>>2];g[c+12>>2]=m*i+j*l+h*d-e*f;g[c+8>>2]=m*f+h*l+e*i-j*d;g[c+4>>2]=m*d+e*l+j*f-h*i;g[c>>2]=m*l-j*i-h*f-e*d;ft(a,c+12|0,c+8|0,c+4|0,c);k=c;return a|0}function rm(b){b=b|0;var d=0;d=nu()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+52>>2]=0;c[d+56>>2]=1065353216;c[d+60>>2]=1065353216;c[d+64>>2]=1065353216;g[d+68>>2]=0.0;c[d+72>>2]=-1082130432;c[d+76>>2]=-1082130432;c[d+80>>2]=-1082130432;g[d+84>>2]=0.0;a[d+88>>0]=0;c[d>>2]=11028;c[d+92>>2]=b;c[d+4>>2]=3;_j(d);return d|0}function sm(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;h=+jb[c[(c[a>>2]|0)+48>>2]&15](a);e=+jb[c[(c[a>>2]|0)+48>>2]&15](a);i=+jb[c[(c[a>>2]|0)+48>>2]&15](a);h=h+ +g[a+28>>2];e=e+ +g[a+32>>2];i=i+ +g[a+36>>2];g[a+44>>2]=b;f=+jb[c[(c[a>>2]|0)+48>>2]&15](a);d=+jb[c[(c[a>>2]|0)+48>>2]&15](a);b=i-+jb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=h-f;g[a+32>>2]=e-d;g[a+36>>2]=b;g[a+40>>2]=0.0;return}function tm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Pt()|0;$d(f,b,d,e);c[f>>2]=7672;c[f+4>>2]=9;a[f+1309>>0]=0;a[f+1309+1>>0]=0;a[f+1309+2>>0]=0;a[f+1309+3>>0]=0;a[f+1309+4>>0]=0;a[f+1309+5>>0]=0;b=f+1316|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));g[f+1364>>2]=1.0;g[f+1368>>2]=1.0;g[f+1372>>2]=1.0;g[f+1376>>2]=1.0;g[f+1380>>2]=1.0;g[f+1384>>2]=1.0;return f|0}function um(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=(a[b+16>>0]|0)==0;h=c[(f?d:e)+8>>2]|0;e=f?e:d;f=c[e+8>>2]|0;g=c[h+268>>2]|0;a:do if((g|0)>0){d=c[h+276>>2]|0;b=0;while(1){if((c[d+(b<<2)>>2]|0)==(f|0))break;b=b+1|0;if((b|0)>=(g|0))break a}if((b|0)!=(g|0))return}while(0);d=c[h+284>>2]|0;Nb[c[(c[d>>2]|0)+36>>2]&127](d,h,e);return}function vm(a){a=a|0;var b=0,d=0;c[a>>2]=12384;b=c[a+12>>2]|0;if(b|0){d=c[a+4>>2]|0;Jb[c[(c[d>>2]|0)+16>>2]&127](d,b);c[a+12>>2]=0}b=c[a+8>>2]|0;if(!b){d=a+24|0;c[d>>2]=-1;c[d+4>>2]=-1;c[d+8>>2]=-1;c[d+12>>2]=-1;return}Db[c[c[b>>2]>>2]&511](b);d=c[a+4>>2]|0;Jb[c[(c[d>>2]|0)+60>>2]&127](d,c[a+8>>2]|0);c[a+8>>2]=0;d=a+24|0;c[d>>2]=-1;c[d+4>>2]=-1;c[d+8>>2]=-1;c[d+12>>2]=-1;return}function wm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=vb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=8812;a[b+8>>0]=0;c[b+12>>2]=0;if(!(xb[c[(c[d>>2]|0)+24>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0))return b|0;d=c[b+4>>2]|0;c[b+12>>2]=xb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function xm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=k;k=k+32|0;a=tb[c[(c[a>>2]|0)+84>>2]&255](a)|0;Nb[c[(c[a>>2]|0)+16>>2]&127](a,b,g);Hh(g,d);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[f>>2]=c[g+16>>2];c[f+4>>2]=c[g+16+4>>2];c[f+8>>2]=c[g+16+8>>2];c[f+12>>2]=c[g+16+12>>2];k=g;return}function ym(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+jb[c[(c[a>>2]|0)+48>>2]&15](a);h=+jb[c[(c[a>>2]|0)+48>>2]&15](a);f=+jb[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[b+52>>2]-h;j=+g[b+56>>2]-f;g[d>>2]=+g[b+48>>2]-i;g[d+4>>2]=k;g[d+8>>2]=j;g[d+12>>2]=0.0;h=h+ +g[b+52>>2];f=f+ +g[b+56>>2];g[e>>2]=i+ +g[b+48>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function zm(b,d){b=b|0;d=d|0;var e=0;a[b+148>>0]=0;a:do if(fe(b,d)|0){e=0;while(1){a[b+148>>0]=1;if(e>>>0>3)break a;if(fe(b,d)|0)e=e+1|0;else break}}while(0);d=(c[b+8>>2]|0)+52|0;c[b+92>>2]=c[d>>2];c[b+92+4>>2]=c[d+4>>2];c[b+92+8>>2]=c[d+8>>2];c[b+92+12>>2]=c[d+12>>2];Sq(b+112|0,d|0,16)|0;return}function Am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+720>>2]|0;h=c[a+732>>2]|0;if((h|0)<=0){h=0;return h|0}e=c[a+740>>2]|0;a=0;while(1){f=c[e+(a*52|0)+8>>2]|0;if((f|0)==(g+(b*104|0)|0)?(c[e+(a*52|0)+12>>2]|0)==(g+(d*104|0)|0):0){a=1;e=8;break}if((f|0)==(g+(d*104|0)|0)?(c[e+(a*52|0)+12>>2]|0)==(g+(b*104|0)|0):0){a=1;e=8;break}a=a+1|0;if((a|0)>=(h|0)){a=0;e=8;break}}if((e|0)==8)return a|0;return 0}function Bm(a){a=a|0;var b=0,d=0,e=0.0,f=0.0;if((c[a+136>>2]|0)<=0)return;b=0;do{d=c[a+144>>2]|0;c[d+(b*284|0)+32>>2]=c[d+(b*284|0)+204>>2];g[d+(b*284|0)+272>>2]=0.0;f=-+g[d+(b*284|0)+56>>2];e=-+g[d+(b*284|0)+60>>2];g[d+(b*284|0)>>2]=-+g[d+(b*284|0)+52>>2];g[d+(b*284|0)+4>>2]=f;g[d+(b*284|0)+8>>2]=e;g[d+(b*284|0)+12>>2]=0.0;g[d+(b*284|0)+268>>2]=1.0;b=b+1|0}while((b|0)<(c[a+136>>2]|0));return}function Cm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=c[d>>2]|0;g=vb[c[(c[g>>2]|0)+56>>2]&31](g,20)|0;h=c[d+4>>2]|0;i=a[b+4>>0]|0;b=c[d>>2]|0;c[g+4>>2]=b;c[g>>2]=9240;a[g+8>>0]=0;c[g+12>>2]=h;a[g+16>>0]=i;if(h|0)return g|0;c[g+12>>2]=xb[c[(c[b>>2]|0)+12>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[g+8>>0]=1;return g|0}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;j=+g[d>>2];i=+g[d+4>>2];e=+g[d+8>>2];f=j*+g[b+56>>2]+i*+g[b+60>>2]+e*+g[b+64>>2];h=j*+g[b+72>>2]+i*+g[b+76>>2]+e*+g[b+80>>2];e=j*+g[b+88>>2]+i*+g[b+92>>2]+e*+g[b+96>>2];d=b+56+((f<h?(h<e?2:1):f<e?2:0)<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];return}function Em(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=vb[c[(c[b>>2]|0)+56>>2]&31](b,44)|0;c[b+4>>2]=c[d>>2];c[b>>2]=9400;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=1;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[f+4>>2]|0)+68>>2];zh(b,e,f);return b|0}function Fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0,j=0.0,k=0.0;k=+g[a+28>>2];i=+g[a+32>>2];e=+g[a+36>>2];j=+jb[c[(c[a>>2]|0)+48>>2]&15](a);h=+jb[c[(c[a>>2]|0)+48>>2]&15](a);e=e+ +jb[c[(c[a>>2]|0)+48>>2]&15](a);f=(1?b>>>1:b)&1;a=(2?b>>>2:b)&1;g[d>>2]=(k+j)*+(b&1^1|0)-(k+j)*+(b&1|0);g[d+4>>2]=(i+h)*+(f^1|0)-(i+h)*+(f|0);g[d+8>>2]=e*+(a^1|0)-e*+(a|0);g[d+12>>2]=0.0;return}function Gm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=vb[c[(c[b>>2]|0)+56>>2]&31](b,44)|0;c[b+4>>2]=c[d>>2];c[b>>2]=9400;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=0;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[e+4>>2]|0)+68>>2];zh(b,e,f);return b|0}function Hm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;f=c[d>>2]|0;f=vb[c[(c[f>>2]|0)+56>>2]&31](f,36)|0;h=c[d+4>>2]|0;j=c[b+12>>2]|0;i=c[b+8>>2]|0;g=c[b+16>>2]|0;e=c[b+20>>2]|0;c[f+4>>2]=c[d>>2];c[f>>2]=9288;c[f+8>>2]=j;c[f+12>>2]=i;a[f+16>>0]=0;c[f+20>>2]=h;a[f+24>>0]=0;c[f+28>>2]=g;c[f+32>>2]=e;return f|0}function Im(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=k;k=k+48|0;c[f>>2]=10264;c[f+4>>2]=b;c[f+8>>2]=c[d>>2];c[f+8+4>>2]=c[d+4>>2];c[f+8+8>>2]=c[d+8>>2];c[f+8+12>>2]=c[d+12>>2];c[f+24>>2]=c[e>>2];c[f+24+4>>2]=c[e+4>>2];c[f+24+8>>2]=c[e+8>>2];c[f+24+12>>2]=c[e+12>>2];b=c[a+48>>2]|0;Qb[c[(c[b>>2]|0)+8>>2]&127](b,f,d,e);k=f;return}function Jm(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[a+28>>2];f=+g[a+32>>2];j=+g[a+36>>2];h=+jb[c[(c[a>>2]|0)+48>>2]&15](a);e=+jb[c[(c[a>>2]|0)+48>>2]&15](a);j=(j+ +jb[c[(c[a>>2]|0)+48>>2]&15](a))*2.0;g[d>>2]=b/12.0*((f+e)*2.0*(f+e)*2.0+j*j);g[d+4>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+j*j);g[d+8>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+(f+e)*2.0*(f+e)*2.0);g[d+12>>2]=0.0;return}function Km(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,i=0.0;d=lu()|0;c[d+4>>2]=35;c[d+8>>2]=0;g[d+12>>2]=0.0;c[d>>2]=10284;i=+g[a>>2];h=+g[a+4>>2];f=+g[a+8>>2];a=c[a+12>>2]|0;e=1.0/+A(+(i*i+h*h+f*f));g[d+48>>2]=i*e;g[d+52>>2]=h*e;g[d+56>>2]=f*e;c[d+60>>2]=a;g[d+64>>2]=b;c[d+68>>2]=0;c[d+68+4>>2]=0;c[d+68+8>>2]=0;c[d+68+12>>2]=0;c[d+4>>2]=28;return d|0}function Lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=k;k=k+32|0;nr(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);br(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);lq(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);sr(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);k=d;return}function Mm(a,b){a=a|0;b=b|0;var d=0;d=k;k=k+64|0;c[d>>2]=1065353216;c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+4+8>>2]=0;c[d+4+12>>2]=0;c[d+20>>2]=1065353216;c[d+24>>2]=0;c[d+24+4>>2]=0;c[d+24+8>>2]=0;c[d+24+12>>2]=0;c[d+40>>2]=1065353216;c[d+44>>2]=0;c[d+48>>2]=c[b>>2];c[d+48+4>>2]=c[b+4>>2];c[d+48+8>>2]=c[b+8>>2];c[d+48+12>>2]=c[b+12>>2];Pd(a,d);k=d;return}function Nm(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0;f=k;k=k+16|0;h=mI(b,0)|0;g[f+8>>2]=+Kz(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);h=mI(b,1)|0;g[f+4>>2]=+Kz(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);b=mI(b,2)|0;g[f>>2]=+Kz(+g[b>>2],+g[b+4>>2],+g[b+8>>2],c,d,e);Yt(a,f+8|0,f+4|0,f);k=f;return}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==0?1:(c[d+236>>2]&2|0)==0){g=1;return g|0}g=c[b+488>>2]|0;if((g|0)<=0){g=1;return g|0}e=c[b+496>>2]|0;b=0;while(1){f=c[e+(b<<2)>>2]|0;if(a[f+20>>0]|0){if((c[f+28>>2]|0)==(d|0)){b=0;e=8;break}if((c[f+32>>2]|0)==(d|0)){b=0;e=8;break}}b=b+1|0;if((b|0)>=(g|0)){b=1;e=8;break}}if((e|0)==8)return b|0;return 0}function Pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=k;k=k+16|0;Mn(a,b,e,e+4|0,e+8|0);hm(a,c[e>>2]|0,d);hm(a,c[e+4>>2]|0,d+16|0);hm(a,c[e+8>>2]|0,d+32|0);c[d+64>>2]=c[a+4>>2];k=e;return}function Qm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=EC(b|0,c|0,10,0)|0;f=c;c=x;g=$t(b|0,c|0,-10,-1)|0;g=Rx(e|0,f|0,g|0,x|0)|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g+(M(c,-10)|0)|48}while(g>>>0>=10);return d|0}function Rm(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0,i=0,j=0;f=k;k=k+16|0;j=mI(b,0)|0;i=mI(b,1)|0;h=mI(b,2)|0;En(f,c,d,e,+g[j>>2],+g[j+4>>2],+g[j+8>>2],+g[i>>2],+g[i+4>>2],+g[i+8>>2],+g[h>>2],+g[h+4>>2],+g[h+8>>2]);ar(a,+g[f>>2],+g[f+4>>2],+g[f+8>>2],+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);k=f;return}function Sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[b+28>>2];j=+g[b+32>>2];e=+g[b+36>>2];h=+jb[c[(c[b>>2]|0)+48>>2]&15](b);f=+jb[c[(c[b>>2]|0)+48>>2]&15](b);e=e+ +jb[c[(c[b>>2]|0)+48>>2]&15](b);f=+g[d+4>>2]>=0.0?j+f:-(j+f);e=+g[d+8>>2]>=0.0?e:-e;g[a>>2]=+g[d>>2]>=0.0?i+h:-(i+h);g[a+4>>2]=f;g[a+8>>2]=e;g[a+12>>2]=0.0;return}function Tm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0;if((d|0)<=0)return;e=0;do{i=+g[a+28>>2];h=+g[a+32>>2];h=+g[b+(e<<4)+4>>2]>=0.0?h:-h;f=+g[a+36>>2];f=+g[b+(e<<4)+8>>2]>=0.0?f:-f;g[c+(e<<4)>>2]=+g[b+(e<<4)>>2]>=0.0?i:-i;g[c+(e<<4)+4>>2]=h;g[c+(e<<4)+8>>2]=f;g[c+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));return}function Um(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;a=c[a+32>>2]|0;c[d>>2]=c[a+(k<<5)+12>>2];c[b>>2]=c[a+(k<<5)+16>>2];c[e>>2]=c[a+(k<<5)+28>>2];c[f>>2]=c[a+(k<<5)+20>>2];c[i>>2]=c[a+(k<<5)>>2];c[g>>2]=c[a+(k<<5)+4>>2];c[h>>2]=c[a+(k<<5)+8>>2];c[j>>2]=c[a+(k<<5)+24>>2];return}function Vm(b){b=b|0;var d=0,e=0;c[b>>2]=9528;d=c[b+64>>2]|0;if(d|0?(Hi(d),e=c[b+64>>2]|0,e|0):0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}if(a[b+28>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}function Wm(b){b=b|0;var d=0,e=0;c[b>>2]=10592;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=10360;d=c[b+52>>2]|0;if(d|0?(Db[c[c[d>>2]>>2]&511](d),e=c[b+52>>2]|0,e|0):0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);return}function Xm(a,b){a=+a;b=+b;var d=0;d=Fu()|0;c[d+8>>2]=0;c[d>>2]=10492;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+A(+(a*a+b*b));c[d>>2]=9708;c[d+64>>2]=0;c[d+68>>2]=2;c[d+72>>2]=1;g[d+28>>2]=a;g[d+36>>2]=b;g[d+32>>2]=a;return d|0}function Ym(a,b){a=+a;b=+b;var d=0;d=Fu()|0;c[d+8>>2]=0;c[d>>2]=10492;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+A(+(a*a+b*b));c[d>>2]=9808;c[d+64>>2]=1;c[d+68>>2]=0;c[d+72>>2]=2;g[d+32>>2]=a;g[d+28>>2]=b;g[d+36>>2]=a;return d|0}function Zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;switch(b|0){case 0:{a=0;b=0;e=1065353216;break}case 1:{a=0;b=0;e=-1082130432;break}case 2:{a=0;b=1065353216;e=0;break}case 3:{a=0;b=-1082130432;e=0;break}case 4:{a=1065353216;b=0;e=0;break}case 5:{a=-1082130432;b=0;e=0;break}default:return}c[d>>2]=e;c[d+4>>2]=b;c[d+8>>2]=a;g[d+12>>2]=0.0;return}function _m(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;a[b+40>>0]=1;return}function $m(a,e,f){a=a|0;e=e|0;f=f|0;var h=0.0;switch(c[a+96>>2]|0){case 0:{h=+g[(c[a+92>>2]|0)+((M(c[a+64>>2]|0,f)|0)+e<<2)>>2];return +h}case 5:{h=+(d[(c[a+92>>2]|0)+((M(c[a+64>>2]|0,f)|0)+e)>>0]|0)*+g[a+88>>2];return +h}case 3:{h=+(b[(c[a+92>>2]|0)+((M(c[a+64>>2]|0,f)|0)+e<<1)>>1]|0)*+g[a+88>>2];return +h}default:{h=0.0;return +h}}return 0.0}function an(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];xn(a+28|0,b+28|0);c[a+76>>2]=c[b+76>>2];c[a+76+4>>2]=c[b+76+4>>2];c[a+76+8>>2]=c[b+76+8>>2];c[a+76+12>>2]=c[b+76+12>>2];c[a+76+16>>2]=c[b+76+16>>2];return}function bn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+8>>2]|0)<=0)return;e=0;do{f=c[a+16>>2]|0;g=f+(e<<4)|0;if(vb[c[(c[b>>2]|0)+8>>2]&31](b,g)|0){yb[c[(c[a>>2]|0)+12>>2]&31](a,c[g>>2]|0,c[f+(e<<4)+4>>2]|0,d)|0;c[7558]=(c[7558]|0)+-1}else e=e+1|0}while((e|0)<(c[a+8>>2]|0));return}function cn(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=k;k=k+32|0;c=+g[b+12>>2];if(1.0-c*c<1.1920928955078125e-06){g[d+20>>2]=1.0;g[d+16>>2]=0.0;g[d+12>>2]=0.0;Yt(a,d+20|0,d+16|0,d+12|0);k=d;return}else{c=1.0/+pK(1.0-c*c);g[d+8>>2]=+g[b>>2]*c;g[d+4>>2]=+g[b+4>>2]*c;g[d>>2]=+g[b+8>>2]*c;Yt(a,d+8|0,d+4|0,d);k=d;return}}function dn(b){b=b|0;var d=0;c[b>>2]=10592;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=10360;d=c[b+52>>2]|0;if(!d)return;Db[c[c[d>>2]>>2]&511](d);d=c[b+52>>2]|0;if(!d)return;c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);return}function en(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;d=k;k=k+16|0;c[d>>2]=12312;c[d+4>>2]=e;Be(a+4|0,c[a+4>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);Be(a+64|0,c[a+64>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);k=d;return}function fn(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=Jv(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+fn(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function gn(a,b){a=+a;b=+b;var d=0;d=Fu()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=9608;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;c[d+64>>2]=0;c[d+68>>2]=1;c[d+72>>2]=2;g[d+28>>2]=a;g[d+32>>2]=b;g[d+36>>2]=a;g[d+52>>2]=a/+A(+(a*a+b*b));return d|0}function hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=k;k=k+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+16>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+12>>2]|0;f=+mb[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+12>>2]|0)+4>>2];k=e;return +f}function jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=DK(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))Po(a,b);while(1){if((e|0)>=(b|0))break;f=(c[a+12>>2]|0)+(e*104|0)|0;g=d;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}c[a+4>>2]=b;return}function kn(a,b){a=a|0;b=b|0;var d=0;d=k;k=k+16|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];c[a+348+12>>2]=c[b+12>>2];Kr(d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2],+g[a+344>>2]);c[a+560>>2]=c[d>>2];c[a+560+4>>2]=c[d+4>>2];c[a+560+8>>2]=c[d+8>>2];c[a+560+12>>2]=c[d+12>>2];k=d;return}function ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[a+268>>2]|0;if((g|0)<=0)return;b=c[b>>2]|0;f=c[a+276>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(g|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(g|0))return;c[e>>2]=c[f+(g+-1<<2)>>2];c[a+268>>2]=g+-1;return}function mn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=k;k=k+16|0;f=+sK(b*.5);b=+rK(b*.5);h=+sK(c*.5);c=+rK(c*.5);i=+sK(d*.5);d=+rK(d*.5);g[e+12>>2]=d*h*f-i*c*b;g[e+8>>2]=i*c*f+d*h*b;g[e+4>>2]=i*h*b-d*c*f;g[e>>2]=i*h*f+d*c*b;ft(a,e+12|0,e+8|0,e+4|0,e);k=e;return}function nn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=k;k=k+32|0;Np(f,a+16|0);Hh(f,b);c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[e>>2]=c[f+16>>2];c[e+4>>2]=c[f+16+4>>2];c[e+8>>2]=c[f+16+8>>2];c[e+12>>2]=c[f+16+12>>2];k=f;return}function on(a){a=a|0;var b=0;b=k;k=k+32|0;g[a>>2]=1.2000000476837158;g[a+4>>2]=0.0;g[a+8>>2]=0.0;g[a+12>>2]=1.0e3;g[b+20>>2]=0.0;g[b+16>>2]=0.0;g[b+12>>2]=0.0;Yt(a+16|0,b+20|0,b+16|0,b+12|0);c[a+32>>2]=0;c[a+36>>2]=0;g[b+8>>2]=0.0;g[b+4>>2]=-10.0;g[b>>2]=0.0;Yt(a+40|0,b+8|0,b+4|0,b);fE(a+56|0);k=b;return}function pn(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+52>>2]=c[d>>2];c[b+52+4>>2]=c[d+4>>2];c[b+52+8>>2]=c[d+8>>2];c[b+52+12>>2]=c[d+12>>2];e=c[b+152>>2]|0;if(!e){d=b+48|0;a[d>>0]=1;return}do{e=e+-1|0;f=c[(c[b+160>>2]|0)+(e<<2)>>2]|0;Jb[c[(c[f>>2]|0)+24>>2]&127](f,d)}while((e|0)!=0);f=b+48|0;a[f>>0]=1;return}function qn(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=c[e>>2];c[a+8+4>>2]=c[e+4>>2];c[a+8+8>>2]=c[e+8>>2];c[a+8+12>>2]=c[e+12>>2];c[a+24>>2]=c[f>>2];c[a+24+4>>2]=c[f+4>>2];c[a+24+8>>2]=c[f+8>>2];c[a+24+12>>2]=c[f+12>>2];g[a+40>>2]=h;return}function rn(){var b=0,e=0,f=0;f=k;k=k+16|0;a[f>>0]=10;b=c[3375]|0;if(!b)if(!(Jp(13484)|0)){b=c[3375]|0;e=4}else b=-1;else e=4;do if((e|0)==4){e=c[3376]|0;if(!(e>>>0>=b>>>0|(a[13559]|0)==10)){c[3376]=e+1;a[e>>0]=10;b=10;break}if((xb[c[13520>>2]&63](13484,f,1)|0)==1)b=d[f>>0]|0;else b=-1}while(0);k=f;return b|0}function sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+280>>2]|0;if((f|0)<=0)return;g=c[a+288>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+288>>2]|0)+(f+-1<<2)>>2]=b;c[a+280>>2]=f+-1;return}function tn(){var b=0;b=k;k=k+48|0;if(a[28280]|0){k=b;return}if(!(_A(28280)|0)){k=b;return}g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;Nr(28696,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);k=b;return}function un(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+712>>2]|0;if((e|0)<=0)return;d=c[a+720>>2]|0;a=0;do{if(+g[d+(a*104|0)+88>>2]>0.0){f=d+(a*104|0)+56|0;g[f>>2]=+g[b>>2]+ +g[f>>2];f=d+(a*104|0)+60|0;g[f>>2]=+g[b+4>>2]+ +g[f>>2];f=d+(a*104|0)+64|0;g[f>>2]=+g[b+8>>2]+ +g[f>>2]}a=a+1|0}while((a|0)!=(e|0));return}function vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=k;k=k+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+24>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+20>>2]|0;f=+mb[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+20>>2]|0)+4>>2];k=e;return +f}function wn(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0;d=k;k=k+16|0;e=+VB(+g[b>>2],+g[b+4>>2],+g[b+8>>2]);e=+rK(c*.5)/e;g[d+12>>2]=+g[(DK(b)|0)>>2]*e;g[d+8>>2]=+g[(hK(b)|0)>>2]*e;g[d+4>>2]=+g[(gK(b)|0)>>2]*e;g[d>>2]=+sK(c*.5);ft(a,d+12|0,d+8|0,d+4|0,d);k=d;return}function xn(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+16+4>>2]=c[b+16+4>>2];c[a+16+8>>2]=c[b+16+8>>2];c[a+16+12>>2]=c[b+16+12>>2];c[a+32>>2]=c[b+32>>2];c[a+32+4>>2]=c[b+32+4>>2];c[a+32+8>>2]=c[b+32+8>>2];c[a+32+12>>2]=c[b+32+12>>2];return}function yn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:case 1:{if(c>>>0<3){d=+g[a+600>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+432>>2];else d=0.0;break}case 4:case 3:{if(c>>>0<3){d=+g[a+596>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+604>>2];else d=0.0;break}default:d=0.0}while(0);return +d}function zn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=vb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=13304;a[b+8>>0]=0;c[b+12>>2]=0;c[b+12>>2]=xb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function An(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+56>>2]|0;if(!d)return;e=tb[c[(c[d>>2]|0)+8>>2]&255](d)|0;e=xb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+56>>2]|0;d=xb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,b)|0;Ub[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346456916,c[a+56>>2]|0);return}function Bn(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:case 1:if(e>>>0<3){g[a+600>>2]=d;c[a+592>>2]=c[a+592>>2]|2;return}else{g[a+432>>2]=d;return}case 4:case 3:if(e>>>0<3){g[a+596>>2]=d;c[a+592>>2]=c[a+592>>2]|1;return}else{g[a+604>>2]=d;c[a+592>>2]=c[a+592>>2]|4;return}default:return}}function Cn(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+52>>2]|0;if(!d)return;e=tb[c[(c[d>>2]|0)+12>>2]&255](d)|0;e=xb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+52>>2]|0;d=xb[c[(c[d>>2]|0)+16>>2]&63](d,c[e+8>>2]|0,b)|0;Ub[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1213612625,c[a+52>>2]|0);return}function Dn(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[16+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=112;else{b=f;g=5}if((g|0)==5){f=112;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return DI(f,c[e+20>>2]|0)|0}function En(a,b,c,d,e,f,h,i,j,l,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;l=+l;m=+m;n=+n;o=+o;var p=0;p=k;k=k+16|0;g[p+8>>2]=+Kz(b,c,d,e,f,h);g[p+4>>2]=+Kz(b,c,d,i,j,l);g[p>>2]=+Kz(b,c,d,m,n,o);Yt(a,p+8|0,p+4|0,p);k=p;return}function Fn(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0;e=+g[a+28>>2];f=+g[a+32>>2];h=+g[a+36>>2];d=+g[b>>2];if(!(d<=e+c)){b=0;return b|0}if(!(d>=-e-c)){b=0;return b|0}d=+g[b+4>>2];if(!(d<=f+c)){b=0;return b|0}if(!(d>=-f-c)){b=0;return b|0}d=+g[b+8>>2];if(!(d<=h+c)){b=0;return b|0}b=d>=-h-c;return b|0}function Gn(a,b,d){a=a|0;b=b|0;d=d|0;xx(a);c[a>>2]=6136;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];c[a+28>>2]=c[d>>2];c[a+28+4>>2]=c[d+4>>2];c[a+28+8>>2]=c[d+8>>2];c[a+28+12>>2]=c[d+12>>2];c[a+76>>2]=0;return}function Hn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;if(!(+g[b+36>>2]>f))return;a[b+40>>0]=1;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;return}function In(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+28>>2];f=+g[b+36>>2];j=+g[c>>2];e=+g[c+4>>2];i=+A(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c+8>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c+8>>2]<0.0?-f:f}g[a>>2]=d;g[a+8>>2]=e;g[a+4>>2]=h;return}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+28>>2];f=+g[b+32>>2];j=+g[c>>2];e=+g[c+8>>2];i=+A(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c+4>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c+4>>2]<0.0?-f:f}g[a>>2]=d;g[a+4>>2]=e;g[a+8>>2]=h;return}function Kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+32>>2];f=+g[b+28>>2];j=+g[c+4>>2];e=+g[c+8>>2];i=+A(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c>>2]<0.0?-f:f}g[a+4>>2]=d;g[a>>2]=e;g[a+8>>2]=h;return}function Ln(a,b){a=a|0;b=+b;var c=0,d=0.0;c=k;k=k+16|0;if(!(+g[a+68>>2]>0.0)){k=c;return}d=-+g[a+92>>2];b=-+g[a+96>>2];g[c>>2]=-+g[a+88>>2];g[c+4>>2]=d;g[c+8>>2]=b;g[c+12>>2]=0.0;Fj(a+4|0,c,a+164|0);Fj(a+16|0,a+88|0,a+180|0);k=c;return}function Mn(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;b=(c[a+52>>2]|0)+(M(c[a+56>>2]|0,b)|0)|0;if((c[a+64>>2]|0)==3){c[d>>2]=e[b>>1];c[f>>2]=e[b+2>>1];f=e[b+4>>1]|0;c[g>>2]=f;return}else{c[d>>2]=c[b>>2];c[f>>2]=c[b+4>>2];f=c[b+8>>2]|0;c[g>>2]=f;return}}function Nn(a){a=a|0;var b=0.0,d=0.0,e=0.0;d=+g[(c[a+28>>2]|0)+344>>2];e=+g[(c[a+32>>2]|0)+344>>2];e=e==0.0?1.0:d/(d+e);d=+g[a+1116>>2]*e+(1.0-e)*+g[a+1180>>2];b=e*+g[a+1120>>2]+(1.0-e)*+g[a+1184>>2];g[a+1284>>2]=+g[a+1112>>2]*e+ +g[a+1176>>2]*(1.0-e);g[a+1288>>2]=d;g[a+1292>>2]=b;g[a+1296>>2]=0.0;return}function On(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;d=+g[a+344>>2];if(d!=0.0){f=1.0/d*+g[b+4>>2];e=1.0/d*+g[b+8>>2];g[a+364>>2]=1.0/d*+g[b>>2];g[a+368>>2]=f;g[a+372>>2]=e;g[a+376>>2]=0.0}c[a+380>>2]=c[b>>2];c[a+380+4>>2]=c[b+4>>2];c[a+380+8>>2]=c[b+8>>2];c[a+380+12>>2]=c[b+12>>2];return}function Pn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+16>>2]|0;do if(f){if((f|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}if((c[b+24>>2]|0)==2)c[b+24>>2]=e}else{c[b+16>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}while(0);return}function Qn(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;f=c[a+80>>2]|0;if((e|0)==(f|0)){f=0;return f|0}if(!((b[a+10>>1]&b[d+4>>1])<<16>>16)){f=0;return f|0}if(!((b[d+6>>1]&b[a+8>>1])<<16>>16)){f=0;return f|0}d=c[a+92>>2]|0;f=xb[c[(c[d>>2]|0)+28>>2]&63](d,f,e)|0;return f|0}function Rn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=k;k=k+16|0;d=0;while(1){if((d|0)>=(tb[c[(c[b>>2]|0)+28>>2]&255](b)|0))break;f=_t(212)|0;uq(f,b,d);c[e>>2]=f;so(a+148|0,e);d=d+1|0}k=e;return}function Sn(){var b=0,d=0,e=0;do if((c[3390]|0)>=0?(HK()|0)!=0:0){if((a[13559]|0)!=10?(b=c[3376]|0,b>>>0<(c[3375]|0)>>>0):0){c[3376]=b+1;a[b>>0]=10;break}rn()|0}else e=3;while(0);do if((e|0)==3){if((a[13559]|0)!=10?(d=c[3376]|0,d>>>0<(c[3375]|0)>>>0):0){c[3376]=d+1;a[d>>0]=10;break}rn()|0}while(0);return}function Tn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+8>>2]|0;a=c[f+8>>2]|0;if((a|0)<=0)return;e=0;do{d=c[(c[f+16>>2]|0)+(e*12|0)+8>>2]|0;if(d){Jb[c[(c[d>>2]|0)+16>>2]&127](d,b);a=c[f+8>>2]|0}e=e+1|0}while((e|0)<(a|0));return}function Un(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(e|0){case 5:case -1:break;default:return}switch(b|0){case 2:{g[a+760>>2]=d;c[a+748>>2]=c[a+748>>2]|2;return}case 4:{g[a+756>>2]=d;c[a+748>>2]=c[a+748>>2]|1;return}case 3:{g[a+752>>2]=d;c[a+748>>2]=c[a+748>>2]|4;return}default:return}}function Vn(a,b,d){a=a|0;b=b|0;d=d|0;Qu(a);c[a>>2]=5744;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];c[a+36>>2]=c[d>>2];c[a+36+4>>2]=c[d+4>>2];c[a+36+8>>2]=c[d+8>>2];c[a+36+12>>2]=c[d+12>>2];return}function Wn(a){a=a|0;var b=0,d=0;c[a>>2]=12384;b=c[a+12>>2]|0;if(b|0){d=c[a+4>>2]|0;Jb[c[(c[d>>2]|0)+16>>2]&127](d,b);c[a+12>>2]=0}b=c[a+8>>2]|0;if(!b){zK(a);return}Db[c[c[b>>2]>>2]&511](b);d=c[a+4>>2]|0;Jb[c[(c[d>>2]|0)+60>>2]&127](d,c[a+8>>2]|0);zK(a);return}function Xn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;a=yz(c[b>>2]|0)|0;f=yz(f)|0;if(a|0)Qb[c[(c[a>>2]|0)+32>>2]&127](a,d,e,b);if(!f)return 0;Qb[c[(c[f>>2]|0)+32>>2]&127](f,b,e,d);return 0}function Yn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=k;k=k+48|0;f=c[b+192>>2]|0;Qb[c[(c[f>>2]|0)+8>>2]&127](f,b+4|0,e+32|0,e+16|0);c[e>>2]=9192;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;d=c[a+68>>2]|0;Qb[c[(c[d>>2]|0)+28>>2]&127](d,e+32|0,e+16|0,e);k=e;return}function Zn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=k;k=k+256|0;if((c|0)>(d|0)&(e&73728|0)==0){Bl(f|0,b<<24>>24|0,((c-d|0)>>>0<256?c-d|0:256)|0)|0;if((c-d|0)>>>0>255){b=c-d|0;do{EB(a,f,256);b=b+-256|0}while(b>>>0>255);b=c-d&255}else b=c-d|0;EB(a,f,b)}k=f;return}function _n(a,b,d){a=a|0;b=b|0;d=d|0;a:do switch(c[b+216>>2]|0){case 2:case 5:{switch(c[d+216>>2]|0){case 2:case 5:{a=0;break}default:break a}return a|0}default:{}}while(0);if(c[b+256>>2]|0?!(vb[c[c[b>>2]>>2]&31](b,d)|0):0){d=0;return d|0}d=1;return d|0}function $n(a,b,d){a=a|0;b=b|0;d=d|0;ri(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];return 18123}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=k;k=k+112|0;d=DK(c[b+4>>2]|0)|0;e=f;g=e+104|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));bI(f);jn(a,d,f);rp(b,d,c[a+12>>2]|0);k=f;return}function bo(a){a=a|0;c[7126]=c[a>>2];c[7127]=c[a+4>>2];c[7128]=c[a+8>>2];c[7129]=c[a+12>>2];c[7130]=c[a+16>>2];c[7131]=c[a+20>>2];c[7132]=c[a+24>>2];xn(28532,a+28|0);c[7145]=c[a+76>>2];c[7146]=c[a+76+4>>2];c[7147]=c[a+76+8>>2];c[7148]=c[a+76+12>>2];c[7149]=c[a+76+16>>2];return}function co(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0;e=k;k=k+16|0;c=+OG(a);c=+pK(c*+OG(b));d=+tq(a,b);if(d<0.0){up(e,b);d=+iC(+tq(a,e)/c);d=d*2.0;k=e;return +d}else{d=+iC(d/c);d=d*2.0;k=e;return +d}return 0.0}function eo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0;h=k;k=k+16|0;g[h+8>>2]=+(b&65535)/+g[(DK(f)|0)>>2];g[h+4>>2]=+(c&65535)/+g[(hK(f)|0)>>2];g[h>>2]=+(d&65535)/+g[(gK(f)|0)>>2];Yt(a,h+8|0,h+4|0,h);tt(a,e)|0;k=h;return}function fo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=DK(b)|0;i=DK(b+16|0)|0;h=DK(b+32|0)|0;g=hK(b)|0;f=hK(b+16|0)|0;e=hK(b+32|0)|0;d=gK(b)|0;c=gK(b+16|0)|0;Nr(a,j,i,h,g,f,e,d,c,gK(b+32|0)|0);return}function go(a,b){a=a|0;b=b|0;var d=0;if(c[b+40>>2]|0){go(a,c[b+36>>2]|0);go(a,c[b+40>>2]|0)}if((c[a>>2]|0)==(b|0))c[a>>2]=0;d=c[a+4>>2]|0;if(!d){c[a+4>>2]=b;return}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);c[a+4>>2]=b;return}function ho(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;Pg(a,Sd(a,b,f)|0);Pg(a,Sd(a,d,f)|0);Pg(a,Sd(a,e,f)|0);return}function io(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(AE(a,c[b+8>>2]|0)|0)Sl(b,d,e,f);else{a=c[a+8>>2]|0;Wb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function jo(a){a=a|0;var b=0;b=k;k=k+48|0;g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;xq(a,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);k=b;return}function ko(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=DK(d)|0;if((e|0)==(DK(c[a+8>>2]|0)|0)){Lo(a,jD(e)|0);d=c[a+4>>2]|0}an((c[a+12>>2]|0)+(d*96|0)|0,b);c[a+4>>2]=(c[a+4>>2]|0)+1;return}function lo(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+68>>2]=(c[a+68>>2]|0)+1;d=c[a+16>>2]|0;if((d|0)>0)do{e=d;d=d+-1|0;if((c[(c[a+24>>2]|0)+(d*80|0)+64>>2]|0)==(b|0))ye(a,d)}while((e|0)>1);Db[c[(c[a>>2]|0)+68>>2]&511](a);return}function mo(a,b){a=+a;b=+b;var d=0;d=Ju()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=10928;c[d+52>>2]=2;g[d+28>>2]=a;g[d+32>>2]=a;g[d+36>>2]=b*.5;g[d+40>>2]=0.0;return d|0}function no(a,b){a=+a;b=+b;var d=0;d=Ju()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=10828;c[d+52>>2]=0;g[d+28>>2]=b*.5;g[d+32>>2]=a;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function oo(a,b){a=+a;b=+b;var d=0;d=Ju()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=10728;c[d+4>>2]=10;c[d+52>>2]=1;g[d+28>>2]=a;g[d+32>>2]=b*.5;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function po(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(c|0){case 5:case -1:switch(b|0){case 2:{d=+g[a+760>>2];break a}case 4:{d=+g[a+756>>2];break a}case 3:{d=+g[a+752>>2];break a}default:{d=0.0;break a}}default:d=0.0}while(0);return +d}function qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=k;k=k+16|0;c[f>>2]=a;c[f+4>>2]=e;e=c[a+72+((c[(c[b+4>>2]|0)+4>>2]|0)*144|0)+(c[(c[d+4>>2]|0)+4>>2]<<2)>>2]|0;e=yb[c[(c[e>>2]|0)+8>>2]&31](e,f,b,d)|0;k=f;return e|0}function ro(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;if(!b)return;d=c[a+16>>2]|0;if(d>>>0<=b>>>0?(d+(M(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);return}function so(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=DK(d)|0;if((e|0)==(DK(c[a+8>>2]|0)|0)){Ho(a,jD(e)|0);d=c[a+4>>2]|0}c[(c[a+12>>2]|0)+(d<<2)>>2]=c[b>>2];c[a+4>>2]=(c[a+4>>2]|0)+1;return}function to(a){a=a|0;var b=0,d=0;if((c[a+232>>2]|0)<=0)return;b=0;do{d=(c[(c[a+240>>2]|0)+(b<<2)>>2]|0)+412|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;b=b+1|0}while((b|0)<(c[a+232>>2]|0));return}function uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=DK(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))Lo(a,b);while(1){if((e|0)>=(b|0))break;an((c[a+12>>2]|0)+(e*96|0)|0,d);e=e+1|0}c[a+4>>2]=b;return}function vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=k;k=k+96|0;d=DK(c[b+4>>2]|0)|0;e=f;g=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));uo(a,d,f);Tr(b,d,c[a+12>>2]|0);k=f;return}function wo(a,d){a=a|0;d=d|0;var f=0,g=0;if(b[a+56>>1]|0)return;b[a+64>>1]=1;d=b[a+58>>1]|0;g=c[a+60>>2]|0;if((d&65535)>1){f=1;do{d=f;f=f+1|0;b[g+(d<<6)+48>>1]=f;d=e[a+58>>1]|0}while(f>>>0<d>>>0)}else d=d&65535;b[g+(d+-1<<6)+48>>1]=0;return}function xo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+12>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+20>>2]|0)+(f<<2)>>2]|0;if(e){Jb[c[(c[e>>2]|0)+16>>2]&127](e,b);d=c[a+12>>2]|0}f=f+1|0}while((f|0)<(d|0));return}function yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=DK(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))Ho(a,b);while(1){if((e|0)>=(b|0))break;c[(c[a+12>>2]|0)+(e<<2)>>2]=c[d>>2];e=e+1|0}c[a+4>>2]=b;return}function zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+32>>2]|0;c[f>>2]=(c[f>>2]|0)+1;Pg(a,Sd(a,b,0)|0);Pg(a,Sd(a,d,0)|0);Pg(a,Sd(a,e,0)|0);return}function Ao(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];c[a+68>>2]=c[d>>2];c[a+68+4>>2]=c[d+4>>2];c[a+68+8>>2]=c[d+8>>2];c[a+68+12>>2]=c[d+12>>2];c[a+48>>2]=1;return}function Bo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d>>2]|0;a=yz(c[b>>2]|0)|0;e=yz(e)|0;if(a|0)Nb[c[(c[a>>2]|0)+28>>2]&127](a,d,b);if(!e)return 0;Nb[c[(c[e>>2]|0)+28>>2]&127](e,b,d);return 0}function Co(b){b=b|0;var d=0;d=k;k=k+16|0;c[b+4>>2]=35;c[b+8>>2]=0;g[b+12>>2]=0.0;c[b>>2]=5896;FD(b+68|0);c[b+4>>2]=25;iq(b+16|0);a[b+48>>0]=1;g[d+8>>2]=1.0;g[d+4>>2]=1.0;g[d>>2]=1.0;Yt(b+52|0,d+8|0,d+4|0,d);k=d;return}function Do(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a;e=b;f=d+104|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Tw(a+104|0,b+104|0);Uw(a+124|0,b+124|0);Uw(a+144|0,b+144|0);return}function Eo(a,b,c){a=+a;b=b|0;c=c|0;var d=0,e=0;e=k;k=k+32|0;d=zt(140)|0;g[e+8>>2]=0.0;g[e+4>>2]=0.0;g[e>>2]=0.0;Yt(e+16|0,e+8|0,e+4|0,e);Jl(d,a,b,c,e+16|0);k=e;return d|0}function Fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=c[b+16>>2];c[d+4>>2]=c[b+16+4>>2];c[d+8>>2]=c[b+16+8>>2];c[d+12>>2]=c[b+16+12>>2];c[e>>2]=c[b+32>>2];c[e+4>>2]=c[b+32+4>>2];c[e+8>>2]=c[b+32+8>>2];c[e+12>>2]=c[b+32+12>>2];return}function Go(a){a=a|0;var b=0;a=c[a+140>>2]|0;b=c[a+32>>2]|0;if((b|0)>0){b=b+1|0;c[a+32>>2]=b;return}else{b=c[a+8>>2]|0;_b[c[(c[b>>2]|0)+16>>2]&3](b,a+36|0,a+40|0,a+44|0,a+48|0,a+52|0,a+56|0,a+60|0,a+64|0,c[a+28>>2]|0);b=1;c[a+32>>2]=b;return}}function Ho(b,d){b=b|0;d=d|0;var e=0;if((DK(c[b+8>>2]|0)|0)>=(d|0))return;e=Du(d)|0;qs(b,DK(c[b+4>>2]|0)|0,e);bu(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function Io(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=8?i>>8:i;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Wb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function Jo(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;d=c[a+8>>2]|0;if(d|0){b=c[a+12>>2]|0;c[a+12>>2]=c[b>>2];c[a+8>>2]=d+-1;return b|0}c[7584]=(c[7584]|0)+1;a=lc(b+19|0)|0;if(!a){b=0;return b|0}c[(a+4+15&-16)+-4>>2]=a;b=a+4+15&-16;return b|0}function Ko(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+720>>2]|0;if(!(+g[a+(d*104|0)+88>>2]>0.0))return;g[a+(d*104|0)+56>>2]=+g[b>>2]+ +g[a+(d*104|0)+56>>2];g[a+(d*104|0)+60>>2]=+g[b+4>>2]+ +g[a+(d*104|0)+60>>2];g[a+(d*104|0)+64>>2]=+g[b+8>>2]+ +g[a+(d*104|0)+64>>2];return}function Lo(b,d){b=b|0;d=d|0;var e=0;if((DK(c[b+8>>2]|0)|0)>=(d|0))return;e=Wu(d)|0;Tr(b,DK(c[b+4>>2]|0)|0,e);bu(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function Mo(a,b,d){a=a|0;b=+b;d=+d;var e=0;e=k;k=k+16|0;g[e+12>>2]=b;g[e+8>>2]=d;g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+444>>2]=c[(b<0.0?e+4|0:b>1.0?e:e+12|0)>>2];g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+448>>2]=c[(d<0.0?e+4|0:d>1.0?e:e+8|0)>>2];k=e;return}function No(){var b=0;b=k;k=k+32|0;if(a[28272]|0){k=b;return}if(!(_A(28272)|0)){k=b;return}tn();g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;Yt(b+16|0,b+8|0,b+4|0,b);Qr(28632,28696,b+16|0);k=b;return}function Oo(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+16>>2]|0;e=tb[c[(c[a>>2]|0)+16>>2]&255](a)|0;e=xb[d&63](b,e,1)|0;d=xb[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;Ub[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1497645650,a);return}function Po(b,d){b=b|0;d=d|0;var e=0;if((DK(c[b+8>>2]|0)|0)>=(d|0))return;e=$u(d)|0;rp(b,DK(c[b+4>>2]|0)|0,e);bu(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function Qo(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g[a+692>>2]=(c-b)*.5;b=((c-b)*.5+b)%6.2831854820251465;if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+688>>2]=b;g[a+696>>2]=d;g[a+700>>2]=e;g[a+704>>2]=f;return}function Ro(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=k;k=k+32|0;Nm(e,DK(a+4|0)|0,b,c,d);br(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);tt(a+412|0,e+16|0)|0;k=e;return}function So(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+52>>2];c[b+4>>2]=c[a+52+4>>2];c[b+8>>2]=c[a+52+8>>2];c[b+12>>2]=c[a+52+12>>2];c[d>>2]=c[a+68>>2];c[d+4>>2]=c[a+68+4>>2];c[d+8>>2]=c[a+68+8>>2];c[d+12>>2]=c[a+68+12>>2];return}function To(a){a=a|0;var b=0,d=0,e=0;b=c[a+24>>2]|0;if((b|0)<=0)return;e=0;do{d=c[(c[a+32>>2]|0)+(e<<2)>>2]|0;switch(c[d+216>>2]|0){case 2:case 5:break;default:{Og(d);b=c[a+24>>2]|0}}e=e+1|0}while((e|0)<(b|0));return}function Uo(a,b){a=a|0;b=b|0;var d=0,e=0;e=tb[c[(c[a>>2]|0)+16>>2]&255](a)|0;e=xb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=xb[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;Ub[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1245859651,a);return}function Vo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(AE(a,c[b+8>>2]|0)|0)Pn(b,d,e);else{a=c[a+8>>2]|0;Qb[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e)}return}function Wo(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=k;k=k+16|0;g[d+12>>2]=+g[(DK(b)|0)>>2]*c;g[d+8>>2]=+g[(hK(b)|0)>>2]*c;g[d+4>>2]=+g[(gK(b)|0)>>2]*c;g[d>>2]=+g[b+12>>2]*c;jx(a,d+12|0,d+8|0,d+4|0,d);k=d;return}function Xo(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+8>>2];c[b+4>>2]=c[a+8+4>>2];c[b+8>>2]=c[a+8+8>>2];c[b+12>>2]=c[a+8+12>>2];c[d>>2]=c[a+24>>2];c[d+4>>2]=c[a+24+4>>2];c[d+8>>2]=c[a+24+8>>2];c[d+12>>2]=c[a+24+12>>2];return}function Yo(a,b){a=a|0;b=b|0;var d=0,e=0;e=tb[c[(c[a>>2]|0)+52>>2]&255](a)|0;e=xb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=xb[c[(c[a>>2]|0)+56>>2]&63](a,c[e+8>>2]|0,b)|0;Ub[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346455635,a);return}function Zo(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=k;k=k+32|0;Nm(e,DK(a+4|0)|0,b,c,d);br(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);tt(a+428|0,e+16|0)|0;k=e;return}function _o(a,b){a=a|0;b=b|0;var c=0;c=k;k=k+80|0;fo(c+32|0,b);Cs(c,+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);Nm(c+16|0,c+32|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2]);Qr(a,c+32|0,c+16|0);k=c;return}function $o(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=8?h>>8:h;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Ub[c[(c[a>>2]|0)+24>>2]&31](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function ap(b){b=b|0;var d=0;c[b>>2]=8280;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=8244;c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);return}function bp(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=k;k=k+32|0;br(e,b,c,d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);Kr(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+344>>2]);tt(a+312|0,e+16|0)|0;k=e;return}function cp(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=k;k=k+32|0;Nm(e,a+264|0,b,c,d);br(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);tt(a+328|0,e+16|0)|0;k=e;return}function dp(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c[b+4>>2];c[a+164+8>>2]=c[b+8>>2];c[a+164+12>>2]=c[b+12>>2];b=DK(b)|0;if((!(+g[b>>2]!=1.0)?!(+g[b+4>>2]!=1.0):0)?!(+g[b+8>>2]!=1.0):0)d=0;c[a+180>>2]=d;return}function ep(b,d){b=b|0;d=+d;var e=0,f=0;g[b+12>>2]=d;e=c[b+152>>2]|0;if(!e){b=b+48|0;a[b>>0]=1;return}do{e=e+-1|0;f=c[(c[b+160>>2]|0)+(e<<2)>>2]|0;Eb[c[(c[f>>2]|0)+44>>2]&31](f,d)}while((e|0)!=0);f=b+48|0;a[f>>0]=1;return}function fp(b){b=b|0;var d=0;c[b>>2]=7296;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=8244;c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);return}function gp(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+892>>2];c[b+4>>2]=c[a+892+4>>2];c[b+8>>2]=c[a+892+8>>2];c[b+12>>2]=c[a+892+12>>2];c[d>>2]=c[a+908>>2];c[d+4>>2]=c[a+908+4>>2];c[d+8>>2]=c[a+908+8>>2];c[d+12>>2]=c[a+908+12>>2];return}function hp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if((c|0)==-1)switch(b|0){case 2:case 1:{d=+g[a+336>>2];break a}case 4:case 3:{d=+g[a+340>>2];break a}default:{d=3402823466385288598117041.0e14;break a}}else d=3402823466385288598117041.0e14;while(0);return +d}function ip(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b+28>>2];e=+g[b+32>>2];e=+g[c+4>>2]>=0.0?e:-e;d=+g[b+36>>2];d=+g[c+8>>2]>=0.0?d:-d;g[a>>2]=+g[c>>2]>=0.0?f:-f;g[a+4>>2]=e;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function jp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=8?g>>8:g;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Qb[c[(c[a>>2]|0)+28>>2]&127](a,b,d+f|0,(g&2|0)==0?2:e);return}function kp(b){b=b|0;var d=0;c[b>>2]=8112;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);return}function lp(b,d){b=b|0;d=+d;var e=0,f=0;g[b+12>>2]=d;e=tb[c[(c[b>>2]|0)+88>>2]&255](b)|0;while(1){f=e+-1|0;if(!e)break;e=vb[c[(c[b>>2]|0)+124>>2]&31](b,f)|0;Eb[c[(c[e>>2]|0)+44>>2]&31](e,d);e=f}a[b+48>>0]=1;return}function mp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+152>>2]|0;if(!f)return;do{f=f+-1|0;g=c[(c[a+160>>2]|0)+(f<<2)>>2]|0;Qb[c[(c[g>>2]|0)+144>>2]&127](g,b,d,e)}while((f|0)!=0);return}function np(b){b=b|0;var d=0;d=k;k=k+16|0;if(!(a[28256]|0))_A(28256)|0;mq(d,c[b+116>>2]|0,c[b+128>>2]|0);c[7150]=c[d>>2];c[7151]=c[d+4>>2];c[7152]=c[d+8>>2];c[7153]=c[d+12>>2];k=d;return 28600}function op(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+152>>2]|0;if(!f)return;do{f=f+-1|0;g=c[(c[a+160>>2]|0)+(f<<2)>>2]|0;Qb[c[(c[g>>2]|0)+64>>2]&127](g,b,d,e)}while((f|0)!=0);return}function pp(b){b=b|0;var d=0;c[b>>2]=13416;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);return}function qp(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;if((c[b>>2]|0)!=(d|0)?(c[b+4>>2]|0)!=(d|0):0)return 0;d=c[a+8>>2]|0;Nb[c[(c[d>>2]|0)+32>>2]&127](d,b,c[a+12>>2]|0);return 0}function rp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){if((e|0)>=(b|0))break;f=d+(e*104|0)|0;g=(c[a+12>>2]|0)+(e*104|0)|0;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}return}function sp(a){a=a|0;var b=0.0,d=0.0;if(c[a+204>>2]&3|0)return;d=+g[a+368>>2]*+g[a+352>>2];b=+g[a+372>>2]*+g[a+356>>2];g[a+412>>2]=+g[a+364>>2]*+g[a+348>>2]+ +g[a+412>>2];g[a+416>>2]=d+ +g[a+416>>2];g[a+420>>2]=b+ +g[a+420>>2];return}function tp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=vb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=vb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Jb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];return 22789}function up(a,b){a=a|0;b=b|0;var c=0;c=k;k=k+16|0;g[c+12>>2]=-+g[(DK(b)|0)>>2];g[c+8>>2]=-+g[(hK(b)|0)>>2];g[c+4>>2]=-+g[(gK(b)|0)>>2];g[c>>2]=-+g[b+12>>2];jx(a,c+12|0,c+8|0,c+4|0,c);k=c;return}function vp(b){b=b|0;var d=0;c[b>>2]=5896;d=c[b+84>>2]|0;if(d|0){if(a[b+88>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+84>>2]=0}a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);return}function wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0;h=c[a+104>>2]|0;f=+g[h+(b<<4)+4>>2]*+g[a+16>>2];e=+g[h+(b<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[h+(b<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=e;g[d+12>>2]=0.0;return}function xp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=k;k=k+32|0;c[e>>2]=c[a+60>>2];c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=e+20;c[e+16>>2]=d;if((aE(Sa(140,e|0)|0)|0)<0){c[e+20>>2]=-1;a=-1}else a=c[e+20>>2]|0;k=e;return a|0}function yp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;f=c[d>>2]|0;f=vb[c[(c[f>>2]|0)+56>>2]&31](f,20)|0;e=a[b+4>>0]|0;c[f+4>>2]=c[d>>2];c[f>>2]=6800;a[f+16>>0]=e;return f|0}function zp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=k;k=k+80|0;kG(e);Nb[c[(c[a>>2]|0)+20>>2]&127](a,b,e);Ti(d,e,e+16|0,e+32|0,+g[e+64>>2]);k=e;return}function Ap(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;e=vb[c[(c[e>>2]|0)+56>>2]&31](e,40)|0;c[e+4>>2]=c[b>>2];c[e>>2]=12384;c[e+12>>2]=0;c[e+8>>2]=0;return e|0}function Bp(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Cp(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(DK(b)|0)>>2];g[a>>2]=+g[a>>2]+c;c=+g[(hK(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]+c;c=+g[(gK(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]+c;g[a+12>>2]=+g[a+12>>2]+ +g[b+12>>2];return a|0}function Dp(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(DK(b)|0)>>2];g[a>>2]=+g[a>>2]-c;c=+g[(hK(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]-c;c=+g[(gK(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]-c;g[a+12>>2]=+g[a+12>>2]-+g[b+12>>2];return a|0}function Ep(b){b=b|0;var d=0;d=k;k=k+16|0;if(!(a[28240]|0))_A(28240)|0;Jb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[7122]=c[d>>2];c[7123]=c[d+4>>2];c[7124]=c[d+8>>2];c[7125]=c[d+12>>2];k=d;return 28488}function Fp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+z(+(+g[b>>2]));d=+z(+(+g[b+4>>2]));c=+z(+(+g[b+8>>2]));g[a+12>>2]=e;g[a+16>>2]=d;g[a+20>>2]=c;g[a+24>>2]=0.0;_j(a);return}function Gp(b){b=b|0;var d=0;d=k;k=k+16|0;if(!(a[28296]|0))_A(28296)|0;Jb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[7190]=c[d>>2];c[7191]=c[d+4>>2];c[7192]=c[d+8>>2];c[7193]=c[d+12>>2];k=d;return 28760}function Hp(a,b){a=a|0;b=b|0;var d=0,e=0;d=k;k=k+16|0;e=DK(c[b+4>>2]|0)|0;c[d>>2]=0;yo(a,e,d);qs(b,e,c[a+12>>2]|0);k=d;return}function Ip(b){b=b|0;var d=0,e=0;d=c[b+152>>2]|0;if(!d){b=b+48|0;a[b>>0]=1;return}do{d=d+-1|0;e=c[(c[b+160>>2]|0)+(d<<2)>>2]|0;Db[c[(c[e>>2]|0)+72>>2]&511](e)}while((d|0)!=0);e=b+48|0;a[e>>0]=1;return}function Jp(b){b=b|0;var d=0;d=a[b+74>>0]|0;a[b+74>>0]=d+255|d;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function Kp(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if((e|0)!=-1)return;switch(b|0){case 2:case 1:{g[a+336>>2]=d;c[a+332>>2]=c[a+332>>2]|1;return}case 4:case 3:{g[a+340>>2]=d;c[a+332>>2]=c[a+332>>2]|2;return}default:return}}function Lp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(gK(a)|0)>>2];c=c*+g[(DK(b)|0)>>2];d=+g[(gK(a+16|0)|0)>>2];d=c+d*+g[(hK(b)|0)>>2];c=+g[(gK(a+32|0)|0)>>2];return +(d+c*+g[(gK(b)|0)>>2])}function Mp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(hK(a)|0)>>2];c=c*+g[(DK(b)|0)>>2];d=+g[(hK(a+16|0)|0)>>2];d=c+d*+g[(hK(b)|0)>>2];c=+g[(hK(a+32|0)|0)>>2];return +(d+c*+g[(gK(b)|0)>>2])}function Np(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+16+4>>2]=c[b+16+4>>2];c[a+16+8>>2]=c[b+16+8>>2];c[a+16+12>>2]=c[b+16+12>>2];return}function Op(a){a=a|0;var b=0;b=c[a+140>>2]|0;a=c[b+32>>2]|0;if(!a)return;if((a|0)>1)a=a+-1|0;else{a=c[b+8>>2]|0;Jb[c[(c[a>>2]|0)+24>>2]&127](a,c[b+28>>2]|0);c[b+36>>2]=0;a=0}c[b+32>>2]=a;return}function Pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))return;e=c[(c[a+4>>2]|0)+136>>2]|0;xb[c[(c[e>>2]|0)+8>>2]&63](e,c[b+36>>2]|0,c[d+36>>2]|0)|0;d=(c[a+4>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+1;return}function Qp(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=k;k=k+16|0;if(!(a[28264]|0))_A(28264)|0;Dj(f,b,d,e);c[7154]=c[f>>2];c[7155]=c[f+4>>2];c[7156]=c[f+8>>2];c[7157]=c[f+12>>2];k=f;return 28616}function Rp(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=k;k=k+16|0;if(!(a[28304]|0))_A(28304)|0;Dj(f,b,d,e);c[7194]=c[f>>2];c[7195]=c[f+4>>2];c[7196]=c[f+8>>2];c[7197]=c[f+12>>2];k=f;return 28776}function Sp(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0;d=k;k=k+32|0;Nb[c[(c[a>>2]|0)+12>>2]&127](a,d+8|0,d);f=+g[d+8>>2];e=+g[d+8+4>>2];b=+g[d+8+8>>2];b=+A(+(f*f+e*e+b*b));k=d;return +(+g[d>>2]+b)}function Tp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=k;k=k+16|0;c[f>>2]=8440;c[f+4>>2]=d;c[f+8>>2]=a;Nb[c[(c[b>>2]|0)+48>>2]&127](b,f,e);k=f;return}function Up(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;Qb[c[(c[a>>2]|0)+8>>2]&127](a,b,d,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,d,e,f);Qb[c[(c[a>>2]|0)+8>>2]&127](a,e,b,f);return}function Vp(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+8>>2]|0;if(!((d|0)!=0&(a|0)!=0))return;Db[c[c[a>>2]>>2]&511](a);Jb[c[(c[d>>2]|0)+60>>2]&127](d,c[b+8>>2]|0);c[b+8>>2]=0;return}function Wp(b){b=b|0;var d=0;c[b>>2]=8280;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=8244;return}function Xp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=k;k=k+16|0;c[e>>2]=12136;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;Nb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);k=e;return}function Yp(b){b=b|0;var d=0;c[b>>2]=10008;if(a[b+61>>0]|0?(d=c[b+52>>2]|0,Db[c[c[d>>2]>>2]&511](d),d=c[b+52>>2]|0,d|0):0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);return}function Zp(a){a=a|0;var b=0;b=c[i>>2]|0;if((a|0)>0&(b+a|0)<(b|0)|(b+a|0)<0){U()|0;Ra(12);return -1}c[i>>2]=b+a;if((b+a|0)>(T()|0)?(S()|0)==0:0){c[i>>2]=b;Ra(12);return -1}return b|0}function _p(b){b=b|0;var d=0;c[b>>2]=7296;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=8244;return}function $p(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=k;k=k+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=Lu()|0;Ov(e,f+12|0,f+8|0,f+4|0,f);k=f;return e|0}function aq(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=k;k=k+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=zt(16)|0;jx(e,f+12|0,f+8|0,f+4|0,f);k=f;return e|0}function bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(AE(a,c[b+8>>2]|0)|0)Sl(b,d,e,f);return}function cq(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;e=c[a+712>>2]|0;if((e|0)<=0){b=0.0;return +b}d=c[a+720>>2]|0;a=0;b=0.0;do{f=+g[d+(a*104|0)+88>>2];b=b+(f>0.0?1.0/f:0.0);a=a+1|0}while((a|0)!=(e|0));return +b}function dq(a){a=a|0;var b=0;c[a>>2]=8744;c[a+12>>2]=8792;b=c[a+60>>2]|0;Jb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;Jb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);zK(a);return}function eq(b){b=b|0;var d=0;c[b>>2]=8112;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;return}function fq(b){b=b|0;var d=0;d=k;k=k+16|0;if(!(a[28232]|0))_A(28232)|0;KB(d,b);c[7118]=c[d>>2];c[7119]=c[d+4>>2];c[7120]=c[d+8>>2];c[7121]=c[d+12>>2];k=d;return 28472}function gq(b){b=b|0;var d=0;d=k;k=k+16|0;if(!(a[28224]|0))_A(28224)|0;qA(d,b);c[7114]=c[d>>2];c[7115]=c[d+4>>2];c[7116]=c[d+8>>2];c[7117]=c[d+12>>2];k=d;return 28456}function hq(a,b,d){a=a|0;b=+b;d=d|0;b=b*.4000000059604645*+jb[c[(c[a>>2]|0)+48>>2]&15](a);b=b*+jb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=b;g[d+12>>2]=0.0;return}function iq(a){a=a|0;var b=0;b=DK(a)|0;g[b>>2]=3402823466385288598117041.0e14;g[b+4>>2]=3402823466385288598117041.0e14;g[b+8>>2]=3402823466385288598117041.0e14;a=DK(a+16|0)|0;g[a>>2]=-3402823466385288598117041.0e14;g[a+4>>2]=-3402823466385288598117041.0e14;g[a+8>>2]=-3402823466385288598117041.0e14;return}function jq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;e=vb[c[(c[e>>2]|0)+56>>2]&31](e,24)|0;c[e+4>>2]=c[b>>2];c[e>>2]=7268;return e|0}function kq(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;f=a[e>>0]|0;if(!(KJ(f<<24>>24)|0))d=0;else{d=0;do{d=(d*10|0)+-48+(f<<24>>24)|0;e=e+1|0;c[b>>2]=e;f=a[e>>0]|0}while((KJ(f<<24>>24)|0)!=0)}return d|0}function lq(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=k;k=k+16|0;g[i+8>>2]=c*h-d*f;g[i+4>>2]=d*e-b*h;g[i>>2]=b*f-c*e;Yt(a,i+8|0,i+4|0,i);k=i;return}function mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=DK(b+4|0)|0;e=(DK(mI(b,0)|0)|0)+(c<<2)|0;d=(DK(mI(b,1)|0)|0)+(c<<2)|0;Yt(a,e,d,(DK(mI(b,2)|0)|0)+(c<<2)|0);return}function nq(){}function oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=M(b&65535,a&65535)|0;e=(c>>>16)+(M(b&65535,a>>>16)|0)|0;d=M(b>>>16,a&65535)|0;return (x=(e>>>16)+(M(b>>>16,a>>>16)|0)+(((e&65535)+d|0)>>>16)|0,e+d<<16|c&65535|0)|0}function pq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=-581039253;c[d+4>>2]=-581039253;c[d+8>>2]=-581039253;g[d+12>>2]=0.0;c[e>>2]=1566444395;c[e+4>>2]=1566444395;c[e+8>>2]=1566444395;g[e+12>>2]=0.0;return}function qq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(DK(a)|0)>>2];c=c*+g[(DK(b)|0)>>2];d=+g[(DK(a+16|0)|0)>>2];d=c+d*+g[(hK(b)|0)>>2];c=+g[(DK(a+32|0)|0)>>2];return +(d+c*+g[(gK(b)|0)>>2])}function rq(b){b=b|0;var d=0;d=k;k=k+16|0;if(!(a[28208]|0))_A(28208)|0;er(d,b);c[7106]=c[d>>2];c[7107]=c[d+4>>2];c[7108]=c[d+8>>2];c[7109]=c[d+12>>2];k=d;return 28424}function sq(b){b=b|0;var d=0;d=k;k=k+16|0;if(!(a[28216]|0))_A(28216)|0;cn(d,b);c[7110]=c[d>>2];c[7111]=c[d+4>>2];c[7112]=c[d+8>>2];c[7113]=c[d+12>>2];k=d;return 28440}function tq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[a>>2];c=c*+g[(DK(b)|0)>>2];d=+g[a+4>>2];d=c+d*+g[(hK(b)|0)>>2];c=+g[a+8>>2];c=d+c*+g[(gK(b)|0)>>2];return +(c+ +g[a+12>>2]*+g[b+12>>2])}function uq(a,b,d){a=a|0;b=b|0;d=d|0;Co(a);c[a>>2]=12784;cm(a+144|0);c[a+152>>2]=b;c[a+172>>2]=d;JC(a+68|0,a+144|0);return}function vq(b){b=b|0;var d=0;c[b>>2]=12176;if(a[b+192>>0]|0?(d=c[b+136>>2]|0,Db[c[c[d>>2]>>2]&511](d),d=c[b+136>>2]|0,d|0):0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}Hi(b+64|0);Hi(b+4|0);return}function wq(b){b=b|0;var d=0;c[b>>2]=13416;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function xq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Yt(a,b,c,d);Yt(a+16|0,e,f,g);Yt(a+32|0,h,i,j);return}function yq(a){a=a|0;var b=0,d=0;c[a>>2]=10360;b=c[a+52>>2]|0;if(b|0?(Db[c[c[b>>2]>>2]&511](b),d=c[a+52>>2]|0,d|0):0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function zq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=k;k=k+64|0;gl(d+16|0,b,c);Rm(d,b,+g[c+48>>2],+g[c+52>>2],+g[c+56>>2]);Qr(a,d+16|0,d);k=d;return}function Aq(a){a=a|0;var b=0;c[a>>2]=8744;c[a+12>>2]=8792;b=c[a+60>>2]|0;Jb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;Jb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);return}function Bq(b){b=b|0;var d=0;c[b>>2]=6184;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Cq(a,b){a=a|0;b=b|0;var d=0;d=(c[a+92>>2]|0)+4|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];_j(a);return}function Dq(b,d){b=b|0;d=d|0;var e=0;if(a[b+273>>0]|0?(e=c[b+200>>2]|0,e|0):0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}a[b+273>>0]=0;c[b+200>>2]=d;c[(c[b+196>>2]|0)+8>>2]=d;return}function Eq(b){b=b|0;var d=0;c[b>>2]=5896;d=c[b+84>>2]|0;if(d|0){if(a[b+88>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+84>>2]=0}a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;return}function Fq(b){b=b|0;var d=0;c[b>>2]=8368;d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;return}function Gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;e=vb[c[(c[e>>2]|0)+56>>2]&31](e,8)|0;c[e+4>>2]=c[b>>2];c[e>>2]=13276;return e|0}function Hq(a,b){a=a|0;b=+b;c[a+8>>2]=0;c[a+12>>2]=1065353216;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;g[a+24>>2]=0.0;g[a+44>>2]=.03999999910593033;c[a>>2]=9908;c[a+4>>2]=8;$H(a+28|0,b);g[a+44>>2]=b;return}function Iq(b){b=b|0;var d=0;d=Eu()|0;c[d+44>>2]=b;a[d+16>>0]=1;c[d+12>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[d+40>>2]=0;return d|0}function Jq(b){b=b|0;var d=0;c[b>>2]=11984;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function Kq(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=k;k=k+16|0;g[f+12>>2]=b;g[f+8>>2]=c;g[f+4>>2]=d;g[f>>2]=e;ft(a,f+12|0,f+8|0,f+4|0,f);k=f;return}function Lq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=c[b+8>>2]|0;e=c[f+284>>2]|0;Nb[c[(c[e>>2]|0)+40>>2]&127](e,f,c[d+8>>2]|0);return}function Mq(b){b=b|0;var d=0,e=0;c[b>>2]=9240;if(!(a[b+8>>0]|0)){zK(b);return}d=c[b+12>>2]|0;if(!d){zK(b);return}e=c[b+4>>2]|0;Jb[c[(c[e>>2]|0)+16>>2]&127](e,d);zK(b);return}function Nq(b){b=b|0;var d=0,e=0;c[b>>2]=13304;if(!(a[b+8>>0]|0)){zK(b);return}d=c[b+12>>2]|0;if(!d){zK(b);return}e=c[b+4>>2]|0;Jb[c[(c[e>>2]|0)+16>>2]&127](e,d);zK(b);return}function Oq(b){b=b|0;var d=0,e=0;c[b>>2]=8716;if(!(a[b+8>>0]|0)){zK(b);return}d=c[b+12>>2]|0;if(!d){zK(b);return}e=c[b+4>>2]|0;Jb[c[(c[e>>2]|0)+16>>2]&127](e,d);zK(b);return}function Pq(b){b=b|0;var d=0;c[b>>2]=10008;if(!(a[b+61>>0]|0))return;d=c[b+52>>2]|0;Db[c[c[d>>2]>>2]&511](d);b=c[b+52>>2]|0;if(!b)return;c[7585]=(c[7585]|0)+1;Bd(c[b+-4>>2]|0);return}function Qq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=k;k=k+16|0;c[e>>2]=12156;c[e+4>>2]=b;Nb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);k=e;return}function Rq(b){b=b|0;var d=0,e=0;c[b>>2]=8812;if(!(a[b+8>>0]|0)){zK(b);return}d=c[b+12>>2]|0;if(!d){zK(b);return}e=c[b+4>>2]|0;Jb[c[(c[e>>2]|0)+16>>2]&127](e,d);zK(b);return}function Sq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Ki(b,c,d)|0;return b|0}function Tq(){var a=0,b=0;b=k;k=k+32|0;a=zt(112)|0;Su(b);Eg(a,b);k=b;return a|0}function Uq(b){b=b|0;var d=0,e=0;c[b>>2]=9288;if(!(a[b+16>>0]|0)){zK(b);return}d=c[b+20>>2]|0;if(!d){zK(b);return}e=c[b+4>>2]|0;Jb[c[(c[e>>2]|0)+16>>2]&127](e,d);zK(b);return}function Vq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+z(+(+g[b>>2]));d=+z(+(+g[b+4>>2]));c=+z(+(+g[b+8>>2]));g[a+12>>2]=e;g[a+16>>2]=d;g[a+20>>2]=c;g[a+24>>2]=0.0;return}function Wq(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=k;k=k+64|0;gs(f);rt(f,b);Ib[c[(c[a>>2]|0)+16>>2]&1](a,d,f,e);k=f;return}function Xq(a,b){a=a|0;b=b|0;gg(a,c[b+36>>2]|0);return}function Yq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(AE(a,c[b+8>>2]|0)|0)Pn(b,d,e);return}function Zq(a){a=a|0;var b=0;c[a>>2]=8792;b=c[a+48>>2]|0;Jb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Jb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);zK(a);return}function _q(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;l=+l;m=m|0;Sb[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function $q(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;g[a>>2]=(1.0-d)*+g[b>>2]+ +g[c>>2]*d;g[a+4>>2]=(1.0-d)*+g[b+4>>2]+ +g[c+4>>2]*d;g[a+8>>2]=(1.0-d)*+g[b+8>>2]+ +g[c+8>>2]*d;return}function ar(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=k;k=k+16|0;g[i+8>>2]=b+e;g[i+4>>2]=c+f;g[i>>2]=d+h;Yt(a,i+8|0,i+4|0,i);k=i;return}function br(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=k;k=k+16|0;g[i+8>>2]=b*e;g[i+4>>2]=c*f;g[i>>2]=d*h;Yt(a,i+8|0,i+4|0,i);k=i;return}function cr(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=k;k=k+16|0;g[i+8>>2]=b-e;g[i+4>>2]=c-f;g[i>>2]=d-h;Yt(a,i+8|0,i+4|0,i);k=i;return}function dr(a,b){a=a|0;b=b|0;c[a+156>>2]=c[b>>2];c[a+156+4>>2]=c[b+4>>2];c[a+156+8>>2]=c[b+8>>2];c[a+156+12>>2]=c[b+12>>2];Db[c[(c[a>>2]|0)+72>>2]&511](a);return}function er(a,b){a=a|0;b=b|0;var c=0;c=k;k=k+16|0;g[c+8>>2]=-+g[b>>2];g[c+4>>2]=-+g[b+4>>2];g[c>>2]=-+g[b+8>>2];jx(a,c+8|0,c+4|0,c,b+12|0);k=c;return}function fr(a){a=a|0;var b=0;c[a>>2]=10360;b=c[a+52>>2]|0;if(!b)return;Db[c[c[b>>2]>>2]&511](b);a=c[a+52>>2]|0;if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function gr(a,b){a=a|0;b=b|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];Db[c[(c[a>>2]|0)+72>>2]&511](a);return}function hr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +(+Wa(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0))}function ir(a,b){a=a|0;b=b|0;if((b|0)==0?1:(c[b+236>>2]&2|0)==0){hl(a,b);return}else{Jb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}}function jr(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[2384+(b&15)>>0]|0|f;b=Jv(b|0,c|0,4)|0;c=x}while(!((b|0)==0&(c|0)==0));return e|0}function kr(a){a=a|0;var b=0;c[a>>2]=8792;b=c[a+48>>2]|0;Jb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Jb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);return}function lr(){var b=0;b=zt(40)|0;g[b+12>>2]=1.0;c[b+8>>2]=0;c[b+4>>2]=5;c[b>>2]=6184;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+16>>0]=1;return b|0}function mr(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=k;k=k+16|0;g[e+8>>2]=+qK(b);g[e+4>>2]=+qK(c);g[e>>2]=+qK(d);Yt(a,e+8|0,e+4|0,e);k=e;return}function nr(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=k;k=k+16|0;br(e,b,c,d,+g[a+348>>2],+g[a+352>>2],+g[a+356>>2]);tt(a+412|0,e)|0;k=e;return}function or(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0;e=k;k=k+16|0;g[e+8>>2]=a;g[e+4>>2]=b;g[e>>2]=c;d=Lu()|0;Yt(d,e+8|0,e+4|0,e);k=e;return d|0}function pr(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];_j(a);return}function qr(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return Bb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function rr(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return vb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function sr(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=k;k=k+16|0;br(e,b,c,d,+g[a+544>>2],+g[a+548>>2],+g[a+552>>2]);tt(a+428|0,e)|0;k=e;return}function tr(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return +sb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function ur(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=ou()|0;Ie(h,a,b,c,d,e,f,g);return h|0}function vr(){var a=0,b=0;a=st()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?((c[b+48>>2]&-256|0)==1126902528?(c[b+48+4>>2]|0)==1129074247:0):0)tz(c[b+12>>2]|0);tz(zG()|0)}function wr(a,b,d){a=a|0;b=b|0;d=d|0;oB(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function xr(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=c[a+96+(b<<4)>>2];c[d+4>>2]=c[a+96+(b<<4)+4>>2];c[d+8>>2]=c[a+96+(b<<4)+8>>2];c[d+12>>2]=c[a+96+(b<<4)+12>>2];return}function yr(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+328>>2]=c[b>>2];c[a+328+4>>2]=c[b+4>>2];c[a+328+8>>2]=c[b+8>>2];c[a+328+12>>2]=c[b+12>>2];return}function zr(){var a=0,b=0;b=k;k=k+32|0;a=zt(92)|0;Su(b);_d(a,b);k=b;return a|0}function Ar(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=c[a+56+(b<<4)>>2];c[d+4>>2]=c[a+56+(b<<4)+4>>2];c[d+8>>2]=c[a+56+(b<<4)+8>>2];c[d+12>>2]=c[a+56+(b<<4)+12>>2];return}function Br(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+312>>2]=c[b>>2];c[a+312+4>>2]=c[b+4>>2];c[a+312+8>>2]=c[b+8>>2];c[a+312+12>>2]=c[b+12>>2];return}function Cr(b,d){b=b|0;d=d|0;if(!(a[28288]|0))_A(28288)|0;d=mI(b,d)|0;c[7186]=c[d>>2];c[7187]=c[d+4>>2];c[7188]=c[d+8>>2];c[7189]=c[d+12>>2];return 28744}function Dr(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+544>>2]=c[b>>2];c[a+544+4>>2]=c[b+4>>2];c[a+544+8>>2]=c[b+8>>2];c[a+544+12>>2]=c[b+12>>2];return}function Er(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;Tb[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function Fr(a){a=a|0;var b=0.0,d=0.0;d=+g[a+32>>2];+jb[c[(c[a>>2]|0)+48>>2]&15](a);b=+jb[c[(c[a>>2]|0)+48>>2]&15](a);+jb[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function Gr(a){a=a|0;var b=0.0,d=0.0;d=+g[a+28>>2];b=+jb[c[(c[a>>2]|0)+48>>2]&15](a);+jb[c[(c[a>>2]|0)+48>>2]&15](a);+jb[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function Hr(a,b){a=a|0;b=b|0;Co(a);c[a>>2]=12940;CB(a+148|0);c[a+144>>2]=b;Rn(a,b);return}function Ir(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;_b[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Jr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=k;k=k+16|0;c[e>>2]=c[d>>2];a=xb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];k=e;return a&1|0}function Kr(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=k;k=k+16|0;g[f+8>>2]=b*e;g[f+4>>2]=c*e;g[f>>2]=d*e;Yt(a,f+8|0,f+4|0,f);k=f;return}function Lr(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];g[a+12>>2]=+g[a+12>>2]*+g[b>>2];return a|0}function Mr(){var a=0;a=zt(8)|0;c[7583]=a;bb(a|0,0)|0;c[7573]=25394;c[7574]=0;c[7575]=0;c[7576]=0;c[7577]=0;c[7578]=0;c[7579]=0;c[7580]=0;c[7581]=0;Vs(30292);return}function Nr(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;xq(a,b,c,d,e,f,g,h,i,j);return}function Or(b){b=b|0;var d=0;c[b>>2]=6184;d=c[b+32>>2]|0;if(!d){zK(b);return}if(!(a[b+36>>0]|0)){zK(b);return}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);zK(b);return}function Pr(a,b,d){a=a|0;b=b|0;d=d|0;b=c[b+204>>2]|0;if(b&4|0)return 0;a=c[d+204>>2]|0;if(!(a&4))return (b&3|0)==0|(a&3|0)==0|0;else return 0;return 0}function Qr(a,b,d){a=a|0;b=b|0;d=d|0;xn(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function Rr(b){b=b|0;var d=0;c[b>>2]=9240;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Jb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function Sr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=_t(324)|0;ee(d,a,b,c);return d|0}function Tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;an(d+(e*96|0)|0,(c[a+12>>2]|0)+(e*96|0)|0);e=e+1|0}return}function Ur(b){b=b|0;var d=0;c[b>>2]=13304;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Jb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function Vr(b){b=b|0;var d=0;c[b>>2]=8368;d=c[b+20>>2]|0;if(!d){zK(b);return}if(!(a[b+24>>0]|0)){zK(b);return}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);zK(b);return}function Wr(a,b){a=a|0;b=b|0;var c=0;c=k;k=k+128|0;_o(c,a+68|0);zq(c+64|0,c,a+4|0);ts(b,c+64|0);k=c;return}function Xr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=ou()|0;Ie(g,a,b,c,d,e,f,0);return g|0}function Yr(b){b=b|0;var d=0;c[b>>2]=8716;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Jb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function Zr(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;return ((c[b>>2]|0)==(a|0)?1:(c[b+4>>2]|0)==(a|0))|0}function _r(b){b=b|0;var d=0;c[b>>2]=11984;d=c[b+16>>2]|0;if(!d){zK(b);return}if(!(a[b+20>>0]|0)){zK(b);return}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);zK(b);return}function $r(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=au()|0;Qe(f,a,b,c,d,e);return f|0}function as(a,b){a=a|0;b=b|0;a=c[a+20>>2]|0;return vb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function bs(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=k;k=k+16|0;g[e+8>>2]=b;g[e+4>>2]=c;g[e>>2]=d;Yt(a,e+8|0,e+4|0,e);k=e;return}function cs(b){b=b|0;var d=0;c[b>>2]=8812;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Jb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function ds(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;Vb[c[(c[a>>2]|0)+28>>2]&1](a,b,d,e,i,j);return}function es(a,b,d){a=a|0;b=b|0;d=d|0;gJ(a);c[a>>2]=5848;ts(a+4|0,b);ts(a+68|0,d);ts(a+132|0,b);c[a+196>>2]=0;return}function fs(b){b=b|0;var d=0;c[b>>2]=9288;if(!(a[b+16>>0]|0))return;d=c[b+20>>2]|0;if(!d)return;b=c[b+4>>2]|0;Jb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function gs(a){a=a|0;var b=0;b=k;k=k+16|0;jo(a);g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;Yt(a+48|0,b+8|0,b+4|0,b);k=b;return}function hs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return Ab[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function is(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0;f=zt(44)|0;qn(f,a,b,c,d,e);return f|0}function js(a,b,c){a=a|0;b=b|0;c=+c;switch(b|0){case 3:{g[a+452>>2]=c;return}case 4:{g[a+448>>2]=c;return}case 5:{g[a+444>>2]=c;return}default:return}}function ks(a,b){a=a|0;b=b|0;b=c[b+36>>2]|0;_e(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+24>>2]|0)+(b*80|0)+64>>2]|0,b);return}function ls(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +rb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function ms(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)+4>>2]=+mu(+g[(DK(b)|0)+(c<<2)>>2]);c=c+1|0}return}function ns(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;var e=0;e=zt(140)|0;Jl(e,a,b,c,d);return e|0}function os(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +(+qb[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,i))}function ps(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=Jv(b|0,c|0,3)|0;c=x}while(!((b|0)==0&(c|0)==0));return d|0}function qs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=c[(c[a+12>>2]|0)+(e<<2)>>2];e=e+1|0}return}function rs(a,b){a=a|0;b=b|0;b=k;k=k+16|0;g[b+8>>2]=1.0;g[b+4>>2]=1.0;g[b>>2]=1.0;Yt(a,b+8|0,b+4|0,b);k=b;return}function ss(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=c[d>>2]|0;Nb[c[(c[e>>2]|0)+108>>2]&127](e,b,d+108|0);return (c[a+4>>2]|0)+108|0}function ts(a,b){a=a|0;b=b|0;xn(a,b);c[a+48>>2]=c[b+48>>2];c[a+48+4>>2]=c[b+48+4>>2];c[a+48+8>>2]=c[b+48+8>>2];c[a+48+12>>2]=c[b+48+12>>2];return}function us(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=c[d>>2]|0;Nb[c[(c[e>>2]|0)+104>>2]&127](e,b,d+4|0);return (c[a+4>>2]|0)+4|0}function vs(a,b){a=a|0;b=b|0;Yt(a,b,b+16|0,b+32|0);Yt(a+16|0,b+4|0,b+20|0,b+36|0);Yt(a+32|0,b+8|0,b+24|0,b+40|0);return}function ws(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)>>2]=+mu(+g[(DK(b)|0)+(c<<2)>>2]);c=c+1|0}return}function xs(a){a=a|0;c[7584]=(c[7584]|0)+1;a=lc((a<<2|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ys(a,b){a=a|0;b=b|0;Db[c[(c[b>>2]|0)+32>>2]&511](b);ud(a,b);Db[c[(c[b>>2]|0)+36>>2]&511](b);return}function zs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Zb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function As(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Nb[c[(c[a>>2]|0)+108>>2]&127](a,b,d);Nb[c[(c[a>>2]|0)+108>>2]&127](a,(b+1|0)%3|0,e);return}function Bs(a){a=a|0;var b=0.0,c=0;c=+tq(a,a)<0.0;b=+g[a+12>>2];if(c){b=+iC(b);b=b*2.0;return +b}else{b=+iC(-b);b=b*2.0;return +b}return 0.0}function Cs(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=k;k=k+16|0;g[e+8>>2]=-b;g[e+4>>2]=-c;g[e>>2]=-d;Yt(a,e+8|0,e+4|0,e);k=e;return}function Ds(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=eu()|0;pe(f,a,b,c&65535,d,e);return f|0}function Es(a){a=a|0;c[7584]=(c[7584]|0)+1;a=lc((a*104|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Fs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;Yb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,+j)}function Gs(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];return}function Hs(a,b){a=a|0;b=b|0;c[a+44>>2]=c[b>>2];c[a+44+4>>2]=c[b+4>>2];c[a+44+8>>2]=c[b+8>>2];c[a+44+12>>2]=c[b+12>>2];return}function Is(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+6>>1])<<16>>16)){c=0;return c|0}c=(b[a+4>>1]&b[c+6>>1])<<16>>16!=0;return c|0}function Js(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+10>>1])<<16>>16)){c=0;return c|0}c=(b[a+8>>1]&b[c+6>>1])<<16>>16!=0;return c|0}function Ks(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b>>2];c[a+696+4>>2]=c[b+4>>2];c[a+696+8>>2]=c[b+8>>2];c[a+696+12>>2]=c[b+12>>2];return}function Ls(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b>>2];c[a+680+4>>2]=c[b+4>>2];c[a+680+8>>2]=c[b+8>>2];c[a+680+12>>2]=c[b+12>>2];return}function Ms(a,b){a=a|0;b=b|0;c[a+60>>2]=c[b>>2];c[a+60+4>>2]=c[b+4>>2];c[a+60+8>>2]=c[b+8>>2];c[a+60+12>>2]=c[b+12>>2];return}function Ns(a,b){a=a|0;b=b|0;c[a+28>>2]=c[b>>2];c[a+28+4>>2]=c[b+4>>2];c[a+28+8>>2]=c[b+8>>2];c[a+28+12>>2]=c[b+12>>2];return}function Os(a,b){a=a|0;b=b|0;c[a+156>>2]=c[b>>2];c[a+156+4>>2]=c[b+4>>2];c[a+156+8>>2]=c[b+8>>2];c[a+156+12>>2]=c[b+12>>2];return}function Ps(b,c,d){b=b|0;c=c|0;d=d|0;a[b+1309+c>>0]=d&1;if((c|0)<3){a[b+788+c>>0]=d&1;return}else{a[b+868+(c+-3<<6)+44>>0]=d&1;return}}function Qs(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+14>>1])<<16>>16)){c=0;return c|0}c=(b[a+12>>1]&b[c+6>>1])<<16>>16!=0;return c|0}function Rs(a,b){a=a|0;b=b|0;c[a+108>>2]=c[b>>2];c[a+108+4>>2]=c[b+4>>2];c[a+108+8>>2]=c[b+8>>2];c[a+108+12>>2]=c[b+12>>2];return}function Ss(b){b=b|0;if(a[28328]|0)return 28904;if(!(_A(28328)|0))return 28904;c[7226]=1065353216;c[7227]=1065353216;c[7228]=1065353216;g[7229]=0.0;return 28904}function Ts(a){a=a|0;c[7584]=(c[7584]|0)+1;a=lc(a*96|19)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Us(a,b){a=a|0;b=b|0;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];return}function Vs(a){a=a|0;var b=0;do{c[a+4>>2]=0;g[a+8>>2]=0.0;b=c[a+24>>2]|0;if(b|0)Vs(b);a=c[a+28>>2]|0}while((a|0)!=0);return}function Ws(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Nd(a,b,c,d,e,f);return}function Xs(a,b){a=a|0;b=b|0;c[a+172>>2]=c[b>>2];c[a+172+4>>2]=c[b+4>>2];c[a+172+8>>2]=c[b+8>>2];c[a+172+12>>2]=c[b+12>>2];return}function Ys(a,b){a=a|0;b=b|0;c[a+32>>2]=c[b>>2];c[a+32+4>>2]=c[b+4>>2];c[a+32+8>>2]=c[b+8>>2];c[a+32+12>>2]=c[b+12>>2];return}function Zs(a){a=a|0;g[a>>2]=5.880000114440918;g[a+4>>2]=.8299999833106995;g[a+8>>2]=.8799999952316284;g[a+12>>2]=500.0;g[a+16>>2]=10.5;g[a+20>>2]=6.0e3;return}function _s(a,b){a=a|0;b=b|0;c[a+316>>2]=c[b>>2];c[a+316+4>>2]=c[b+4>>2];c[a+316+8>>2]=c[b+8>>2];c[a+316+12>>2]=c[b+12>>2];return}function $s(a,b){a=a|0;b=b|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];return}function at(a,b){a=a|0;b=b|0;c[a+64>>2]=c[b>>2];c[a+64+4>>2]=c[b+4>>2];c[a+64+8>>2]=c[b+8>>2];c[a+64+12>>2]=c[b+12>>2];return}function bt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=eu()|0;pe(e,a,b,c&65535,d,0);return e|0}function ct(a,b){a=a|0;b=b|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];return}function dt(a,b){a=a|0;b=b|0;c[a+188>>2]=c[b>>2];c[a+188+4>>2]=c[b+4>>2];c[a+188+8>>2]=c[b+8>>2];c[a+188+12>>2]=c[b+12>>2];return}function et(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=(DK(b)|0)+(c<<2)|0;d=(DK(b+16|0)|0)+(c<<2)|0;Yt(a,e,d,(DK(b+32|0)|0)+(c<<2)|0);return}function ft(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];c[a+12>>2]=c[f>>2];return}function gt(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +qb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function ht(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];return}function it(a,b,d){a=a|0;b=b|0;d=+d;Jb[c[(c[a>>2]|0)+32>>2]&127](a,b);Kb[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function jt(a,b){a=a|0;b=b|0;c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];return}function kt(a,b){a=a|0;b=b|0;c[a+36>>2]=c[b>>2];c[a+36+4>>2]=c[b+4>>2];c[a+36+8>>2]=c[b+8>>2];c[a+36+12>>2]=c[b+12>>2];return}function lt(a,b){a=a|0;b=b|0;c[a>>2]=c[b+248>>2];c[a+4>>2]=c[b+248+4>>2];c[a+8>>2]=c[b+248+8>>2];c[a+12>>2]=c[b+248+12>>2];return}function mt(b,d){b=b|0;d=d|0;if(!(a[28248]|0))_A(28248)|0;bo(kD(c[b+12>>2]|0,d)|0);return 28504}function nt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=au()|0;$d(d,a,b,c);return d|0}function ot(){var a=0;a=iu()|0;No();No();es(a,28632,28632);return a|0}function pt(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a+4>>2]|0)==(b|0)?(c[a+28>>2]|0)!=1:0)c[a+28>>2]=d;return}function qt(){var a=0,b=0;b=$t(c[7104]|0,c[7105]|0,1284865837,1481765933)|0;b=Rx(b|0,x|0,1,0)|0;a=x;c[7104]=b;c[7105]=a;a=Jv(b|0,a|0,33)|0;return a|0}function rt(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b>>2];c[a+48+4>>2]=c[b+4>>2];c[a+48+8>>2]=c[b+8>>2];c[a+48+12>>2]=c[b+12>>2];return}function st(){var a=0,b=0;a=k;k=k+16|0;if(!(fb(30908,3)|0)){b=db(c[7728]|0)|0;k=a;return b|0}else Yx(25728,a);return 0}function tt(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]+ +g[b>>2];g[a+4>>2]=+g[a+4>>2]+ +g[b+4>>2];g[a+8>>2]=+g[a+8>>2]+ +g[b+8>>2];return a|0}function ut(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]-+g[b>>2];g[a+4>>2]=+g[a+4>>2]-+g[b+4>>2];g[a+8>>2]=+g[a+8>>2]-+g[b+8>>2];return a|0}function vt(a,b){a=a|0;b=b|0;var c=0;c=k;k=k+64|0;zq(c,b,a+68|0);ts(a+4|0,c);k=c;return}function wt(a){a=a|0;var b=0;b=zt(112)|0;Eg(b,a);return b|0}function xt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=eu()|0;pe(d,a,b,c&65535,0,0);return d|0}function yt(a,b){a=a|0;b=b|0;c[a+76>>2]=c[b>>2];c[a+76+4>>2]=c[b+4>>2];c[a+76+8>>2]=c[b+8>>2];c[a+76+12>>2]=c[b+12>>2];return}function zt(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=lc(b)|0;if(a|0)break;a=qG()|0;if(!a){a=0;break}Cb[a&3]()}return a|0}function At(a,b){a=a|0;b=b|0;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];return}function Bt(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function Ct(a,b){a=a|0;b=b|0;c[a+40>>2]=c[b>>2];c[a+40+4>>2]=c[b+4>>2];c[a+40+8>>2]=c[b+8>>2];c[a+40+12>>2]=c[b+12>>2];return}function Dt(a,b){a=a|0;b=b|0;c[a+24>>2]=c[b>>2];c[a+24+4>>2]=c[b+4>>2];c[a+24+8>>2]=c[b+8>>2];c[a+24+12>>2]=c[b+12>>2];return}function Et(a,b){a=a|0;b=b|0;c[a+72>>2]=c[b>>2];c[a+72+4>>2]=c[b+4>>2];c[a+72+8>>2]=c[b+8>>2];c[a+72+12>>2]=c[b+12>>2];return}function Ft(a,b){a=a|0;b=b|0;c[a+56>>2]=c[b>>2];c[a+56+4>>2]=c[b+4>>2];c[a+56+8>>2]=c[b+8>>2];c[a+56+12>>2]=c[b+12>>2];return}function Gt(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];return a|0}function Ht(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=_t(1252)|0;xc(e,a,b,c,d);return e|0}function It(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;g[a+(c[b+52>>2]<<2)>>2]=1.0;return}function Jt(a){a=a|0;var b=0;b=k;k=k+16|0;Bd(a);if(!(gb(c[7728]|0,0)|0)){k=b;return}else Yx(25827,b)}function Kt(a,b){a=a|0;b=b|0;c[a+8>>2]=c[b>>2];c[a+8+4>>2]=c[b+4>>2];c[a+8+8>>2]=c[b+8>>2];c[a+8+12>>2]=c[b+12>>2];return}function Lt(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(215)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Mt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Fu()|0;hf(d,a,b,c);return d|0}function Nt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Cd(b,c,d,e)|0}function Ot(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(203)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Pt(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(1407)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Qt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;Pb[c[(c[a>>2]|0)+32>>2]&1](a,b,d,e,f,g);return}function Rt(a){a=a|0;switch(c[a+92>>2]|0){case 4:{a=6;break}case 3:{a=3;break}case 2:{a=1;break}default:a=0}return a|0}function St(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;_a(1,a|0,b|0,c|0,+d,e|0,f|0)|0;return}function Tt(a){a=a|0;var b=0;b=iu()|0;No();es(b,a,28632);return b|0}function Ut(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(191)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Vt(a,b){a=a|0;b=b|0;if(!b?c[a+204>>2]&3|0:0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function Wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Qb[c[(c[a+-4>>2]|0)+8>>2]&127](a+-4|0,b,d,e);return}function Xt(a,b){a=a|0;b=b|0;var c=0.0;c=+OG(a);c=+pK(c*+OG(b));return +(+iC(+tq(a,b)/c))}function Yt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];g[a+12>>2]=0.0;return}function Zt(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(143)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function _t(a){a=a|0;c[7584]=(c[7584]|0)+1;a=lc(a+19|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function $t(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=oq(a,c)|0;f=x;return (x=(M(b,c)|0)+(M(d,a)|0)+f|f&0,e|0|0)|0}function au(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(1331)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function bu(b){b=b|0;var d=0;d=c[b+12>>2]|0;if(!d)return;if(a[b+16>>0]&1)Gz(d);c[b+12>>2]=0;return}function cu(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Xb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function du(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(379)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function eu(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(135)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function fu(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(627)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function gu(a,b){a=a|0;b=b|0;var c=0;c=eu()|0;pe(c,a,b,16384,0,0);return c|0}function hu(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(791)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function iu(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(219)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ju(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(1147)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ku(a,b){a=a|0;b=b|0;var c=0;c=zt(80)|0;Gn(c,a,b);return c|0}function lu(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(103)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function mu(a){a=+a;a=+TJ(a);if(a<-3.1415927410125732){a=a+6.2831854820251465;return +a}if(!(a>3.1415927410125732))return +a;a=a+-6.2831854820251465;return +a}function nu(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(115)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ou(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(783)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function pu(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(131)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function qu(a,b){a=a|0;b=b|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];return}function ru(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((d|0)<=0)return;Bl(c|0,0,d<<4|0)|0;return}function su(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(111)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function tu(a,b){a=a|0;b=b|0;c[a+480>>2]=b;if(!b)return;Jb[c[(c[b>>2]|0)+8>>2]&127](b,a+4|0);return}function uu(a,b){a=a|0;b=b|0;var c=0;c=Fu()|0;hf(c,a,b,1);return c|0}function vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+192>>2]|0;Qb[c[(c[e>>2]|0)+8>>2]&127](e,a+4|0,b,d);return}function wu(a){a=a|0;var b=0;b=zt(92)|0;_d(b,a);return b|0}function xu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ki(a,b,c,d);return}function yu(b){b=b|0;if(!(tb[c[(c[b>>2]|0)+40>>2]&255](b)|0))return;c[b+16>>2]=c[b+28>>2];a[b+169>>0]=1;return}function zu(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;Nb[c[d+60>>2]&127](b,d,c[a+4>>2]|0);return 0}function Au(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(71)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Bu(a,b){a=a|0;b=b|0;var d=0;d=a+92|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Cu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ch(a,b,c,d);return}function Du(a){a=a|0;if(!a){a=0;return a|0}a=xs(a)|0;return a|0}function Eu(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(67)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Fu(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(95)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Gu(a,b){a=a|0;b=b|0;return +(+Kz(+g[a>>2],+g[a+4>>2],+g[a+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]))}function Hu(a,b){a=a|0;b=b|0;var c=0;c=zt(84)|0;Vn(c,a,b);return c|0}function Iu(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function Ju(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(75)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ku(a){a=a|0;var b=0;b=k;k=k+16|0;c[b>>2]=DK(c[a+60>>2]|0)|0;a=aE(Ua(6,b|0)|0)|0;k=b;return a|0}function Lu(){var a=0;c[7584]=(c[7584]|0)+1;a=lc(35)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Mu(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return zb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Nu(a){a=a|0;var b=0;b=Ju()|0;oj(b,a);c[b>>2]=11684;c[b+52>>2]=2;return b|0}function Ou(a){a=a|0;var b=0;b=Ju()|0;oj(b,a);c[b>>2]=11580;c[b+52>>2]=0;return b|0}function Pu(a){a=a|0;Ag(a);if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function Qu(a){a=a|0;c[a>>2]=5768;g[a+4>>2]=1.0;c[a+8>>2]=0;b[a+12>>1]=1;b[a+14>>1]=-1;c[a+16>>2]=0;return}function Ru(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Qb[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function Su(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=4096;c[a+12>>2]=4096;c[a+16>>2]=0;c[a+20>>2]=1;return}function Tu(a,b,d){a=a|0;b=b|0;d=d|0;He(c[a+116>>2]|0,c[a+144>>2]|0,b,d);return}function Uu(a,b){a=a|0;b=+b;var c=0;c=k;k=k+16|0;g[c>>2]=b;a=Lr(a,c)|0;k=c;return a|0}function Vu(a,b){a=a|0;b=b|0;var c=0;c=iu()|0;es(c,a,b);return c|0}function Wu(a){a=a|0;if(!a){a=0;return a|0}a=Ts(a)|0;return a|0}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;Nb[c[(c[b>>2]|0)+64>>2]&127](a,b,d);return}function Yu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function Zu(a,b){a=a|0;b=b|0;a=c[c[a+4>>2]>>2]|0;return vb[c[(c[a>>2]|0)+128>>2]&31](a,b)|0}function _u(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Qb[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);return}function $u(a){a=a|0;if(!a){a=0;return a|0}a=Es(a)|0;return a|0}function av(){var a=0;a=k;k=k+16|0;if(!(eb(30912,298)|0)){k=a;return}else Yx(25777,a)}function bv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;return +nb[a&3](b|0,c|0,d|0,+e,f|0,g|0)}function cv(a,b){a=a|0;b=+b;var c=0;c=k;k=k+16|0;g[c>>2]=b;a=Gt(a,c)|0;k=c;return a|0}function dv(a){a=a|0;if(c[a+204>>2]&3|0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function ev(a,b){a=a|0;b=b|0;Ro(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function fv(){var a=0;a=zt(8)|0;c[a>>2]=0;c[a+4>>2]=0;HA(a);return a|0}function gv(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;vb[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;return}function hv(a,b){a=a|0;b=b|0;vs(a,b);Yt(a+48|0,b+48|0,b+52|0,b+56|0);return}function iv(a,b,d){a=a|0;b=b|0;d=d|0;hh(c[a+116>>2]|0,b,d);return}function jv(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+192>>2]=b;c[a+200>>2]=b;return}function kv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Wb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function lv(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;Q(35)}function mv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Qb[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function nv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Qb[c[(c[a>>2]|0)+88>>2]&127](a,b,d,e);return}function ov(a,b,d){a=a|0;b=b|0;d=d|0;Nb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);return}function pv(b,d){b=b|0;d=d|0;b=(a[b+344>>0]|0)==0?3:0;c[d>>2]=b;c[d+4>>2]=b;return}function qv(a,b){a=a|0;b=+b;var c=0;c=k;k=k+16|0;g[c>>2]=1.0/b;a=Lr(a,c)|0;k=c;return a|0}function rv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Qb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);return}function sv(a,b,d){a=a|0;b=+b;d=d|0;return ub[c[(c[a>>2]|0)+52>>2]&1](a,b,d,.01666666753590107)|0}function tv(b){b=b|0;if(!(a[b+48>>0]&1))return;Db[c[(c[b>>2]|0)+68>>2]&511](b);a[b+48>>0]=0;return}function uv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){x=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}x=a<<c-32;return 0}function vv(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function wv(a,b){a=a|0;b=b|0;bp(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function xv(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return ub[c[(c[a>>2]|0)+52>>2]&1](a,b,d,e)|0}function yv(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function zv(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=0;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function Av(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Qb[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);return}function Bv(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=1065353216;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function Cv(a,b){a=a|0;b=b|0;Nb[c[(c[a>>2]|0)+8>>2]&127](a,b,c[(c[a+8>>2]|0)+48>>2]|0);return}function Dv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;Vb[a&1](b|0,c|0,d|0,e|0,f|0,+g)}function Ev(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;Pb[a&1](b|0,c|0,d|0,+e,f|0,g|0)}function Fv(a,b){a=a|0;b=b|0;cp(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Gv(a){a=a|0;zD(a+144|0);zD(a+124|0);zD(a+104|0);return}function Hv(b,d,e){b=b|0;d=d|0;e=+e;g[(c[b+720>>2]|0)+(d*104|0)+88>>2]=e>0.0?1.0/e:0.0;a[b+924>>0]=1;return}function Iv(a,b,d){a=a|0;b=b|0;d=+d;Kb[c[(c[a>>2]|0)+20>>2]&7](a,b,d);return}function Jv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){x=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}x=0;return b>>>c-32|0}function Kv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Qb[c[(c[a>>2]|0)+124>>2]&127](a,e,b,d);return}function Lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+120>>2]=b;c[a+124>>2]=d;c[a+128>>2]=e;return}function Mv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;yb[c[(c[a>>2]|0)+8>>2]&31](a,b,d,e)|0;return}function Nv(a,b){a=a|0;b=b|0;nr(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Ov(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Yt(a,b,d,e);c[a+12>>2]=c[f>>2];return}function Pv(b,c,d,e){b=b|0;c=c|0;d=+d;e=+e;a[b+737>>0]=c&1;g[b+680>>2]=d;g[b+684>>2]=e;return}function Qv(a,b){a=a|0;b=b|0;Zo(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Rv(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;Qo(a,b,c,d,e,f);return}function Sv(a){a=a|0;Hk(a);if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function Tv(a){a=a|0;nm(a);if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function Uv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;Gb[a&3](b|0,+c,+d,e|0,f|0,g|0)}function Vv(a,b,d){a=a|0;b=b|0;d=d|0;Qb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-3);return}function Wv(a,b){a=a|0;b=b|0;var c=0;c=pu()|0;Bg(c,a,b,16);return c|0}function Xv(a,b){a=a|0;b=b|0;if(!b)b=0;else b=pj(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function Yv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function Zv(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Q(18);return 0}function _v(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Qb[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);return}function $v(a){a=a|0;eh(a);if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function aw(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Q(9);return 0.0}function bw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xj(a,b,c,d,e);return}function cw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ng(a,b,c,d,e);return}function dw(a){a=a|0;var b=0;b=_t(168)|0;Hr(b,a);return b|0}function ew(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;Lb[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e);return}function fw(a,b){a=a|0;b=b|0;cf(a,b);return}function gw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Qb[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function hw(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;Q(36)}function iw(a,b){a=a|0;b=b|0;hh(c[a+116>>2]|0,b,1);return}function jw(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;ts(a+4|0,b);return}function kw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return +pb[a&15](b|0,c|0,d|0,e|0,f|0)}function lw(a,b){a=a|0;b=b|0;var c=0;c=Ut()|0;tg(c,a,b);return c|0}function mw(a,b){a=a|0;b=b|0;sr(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function nw(a,b,d){a=a|0;b=b|0;d=d|0;Qb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-1);return}function ow(a,b){a=a|0;b=+b;var c=0;c=k;k=k+16|0;g[c>>2]=1.0/b;Gt(a,c)|0;k=c;return}function pw(a,b){a=a|0;b=+b;return ub[c[(c[a>>2]|0)+52>>2]&1](a,b,1,.01666666753590107)|0}function qw(a){a=a|0;var b=0;b=zt(8)|0;ox(b,a);return b|0}function rw(a,b,d){a=a|0;b=b|0;d=d|0;Nb[c[(c[a>>2]|0)+56>>2]&127](a,b,d);return}function sw(a,b,d){a=a|0;b=b|0;d=+d;Kb[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function tw(a){a=a|0;Ck(a);if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function uw(a){a=a|0;Mi(a);if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function vw(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Q(43)}function ww(a){a=a|0;Yj(a);if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function xw(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;Qo(a,b,c,d,e,1.0);return}function yw(a){a=a|0;c[a>>2]=11396;if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +lb[a&3](b|0,c|0,+d,e|0,f|0)}function Aw(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Pv(a,b,c,d);return}function Bw(a,b){a=a|0;b=b|0;return c[(lD(c[a+24>>2]|0,b)|0)+64>>2]|0}function Cw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ub[a&31](b|0,c|0,d|0,e|0,f|0)}function Dw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$a(0,a|0,b|0,c|0,d|0)|0;return}function Ew(a,b){a=a|0;b=b|0;jh(b);return}function Fw(a){a=a|0;if(!(c[a+12>>2]|0)){a=0;return a|0}a=c[a+20>>2]|0;return a|0}function Gw(a){a=a|0;bu(a);Ix(a);return}function Hw(a){a=a|0;Vm(a);if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function Iw(a,b){a=a|0;b=b|0;var c=0;c=zt(64)|0;wr(c,a,b);return c|0}function Jw(){var a=0;a=zt(24)|0;Su(a);return a|0}function Kw(a,b,d){a=a|0;b=b|0;d=+d;Eb[c[(c[a>>2]|0)+16>>2]&31](a,d);return}function Lw(a,b,c){a=a|0;b=b|0;c=c|0;dp(a,b,c);return}function Mw(a,b){a=a|0;b=b|0;Qb[c[(c[a>>2]|0)+36>>2]&127](a,b,2,-3);return}function Nw(a){a=a|0;var b=0;b=pu()|0;Bg(b,a,0,16);return b|0}function Ow(a,b,d){a=a|0;b=+b;d=d|0;Hb[c[(c[a>>2]|0)+32>>2]&31](a,b,d);return}function Pw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function Qw(a){a=a|0;Ni(a);if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function Rw(a){a=a|0;Oi(a);if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;return +(+mb[c[(c[a>>2]|0)+32>>2]&15](a,b,d))}function Tw(a,b){a=a|0;b=b|0;Hp(a,b);return}function Uw(a,b){a=a|0;b=b|0;Hp(a,b);return}function Vw(a,b){a=a|0;b=b|0;ix(b);return}function Ww(a,b){a=a|0;b=b|0;Hp(a,b);return}function Xw(a,b){a=a|0;b=b|0;return c[(iF(c[a+276>>2]|0,b)|0)>>2]|0}function Yw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Rb[a&1](b|0,c|0,d|0,e|0,+f)}function Zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Mb[a&1](b|0,c|0,+d,e|0,f|0)}function _w(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Q(17);return 0}function $w(a){a=a|0;if(!(+g[a+16>>2]==0.0)){a=0;return a|0}a=+g[a+20>>2]==0.0;return a|0}function ax(a){a=a|0;c[a>>2]=7784;if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function bx(a){a=a|0;c[a>>2]=8244;if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function cx(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Q(8);return 0.0}function dx(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+52>>2]&127](a,b);return}function ex(a,b){a=a|0;b=b|0;return vb[c[(c[a>>2]|0)+92>>2]&31](a,b)|0}function fx(a,b,d){a=a|0;b=b|0;d=+d;Kb[c[(c[a>>2]|0)+8>>2]&7](a,b,d);return}function gx(a,b){a=a|0;b=b|0;BB(a,b);return}function hx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Mc(a,b,c,d)|0;return 1}function ix(a){a=a|0;jh(a);return}function jx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ft(a,b,c,d,e);return}function kx(a,b,d){a=a|0;b=b|0;d=d|0;Nb[c[(c[a>>2]|0)+40>>2]&127](a,b,d);return}function lx(a){a=a|0;var b=0;b=Ut()|0;tg(b,a,1);return b|0}function mx(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+232>>2]=b;return}function nx(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+252>>2]=b;return}function ox(a,b){a=a|0;b=b|0;RI(a);c[a>>2]=8092;c[a+4>>2]=b;return}function px(a,b){a=a|0;b=b|0;ms(a,b);return}function qx(a,b){a=a|0;b=b|0;ws(a,b);return}function rx(a,b){a=a|0;b=b|0;Qb[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);return}function sx(a,b,c){a=a|0;b=b|0;c=c|0;yi(b,c);return}function tx(a,b){a=a|0;b=+b;g[a+148>>2]=b;Db[c[(c[a>>2]|0)+72>>2]&511](a);return}function ux(a,b){a=a|0;b=b|0;vo(a,b);return}function vx(a){a=a|0;zd(a);if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function wx(a){a=a|0;var b=0;b=((c[a+52>>2]|0)+2|0)%3|0;return +(+g[(DK(a+28|0)|0)+(b<<2)>>2])}function xx(a){a=a|0;c[a>>2]=6160;g[a+4>>2]=1.0;b[a+8>>1]=1;b[a+10>>1]=-1;return}function yx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (x=d,a-c>>>0|0)|0}function zx(a,b){a=a|0;b=b|0;return c[(iF(c[a+12>>2]|0,b)|0)>>2]|0}function Ax(a,b){a=a|0;b=b|0;if((c[a+216>>2]&-2|0)==4)return;c[a+216>>2]=b;return}function Bx(a,b){a=a|0;b=b|0;Ks(a,b);return}function Cx(a,b){a=a|0;b=b|0;Ls(a,b);return}function Dx(a,b){a=a|0;b=b|0;Nb[c[(c[a>>2]|0)+56>>2]&127](a,b,0);return}function Ex(a,b){a=a|0;b=+b;uz(a,b);return}function Fx(a,b){a=a|0;b=b|0;return vb[c[(c[a>>2]|0)+40>>2]&31](a,b)|0}function Gx(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+60>>2]&127](a,b);return}function Hx(a,b,d){a=a|0;b=b|0;d=+d;Jb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function Ix(b){b=b|0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Jx(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}function Kx(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;x=c[j+4>>2]|0;return b|0}function Lx(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;Rm(a,b,c,d,e);return}function Mx(a,b){a=a|0;b=b|0;ao(a,b);return}function Nx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return yb[a&31](b|0,c|0,d|0,e|0)|0}function Ox(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+32>>2]&127](a,b);return}function Px(a){a=a|0;var b=0;b=Ju()|0;oj(b,a);return b|0}function Qx(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Q(42)}function Rx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (x=b+d+(a+c>>>0>>>0<a>>>0|0)>>>0,a+c>>>0|0)|0}function Sx(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+40>>2]&127](a,b);return}function Tx(a,b,c){a=a|0;b=b|0;c=c|0;Xe(a,b,c);return}function Ux(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+256>>2]=b;return}function Vx(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+84>>2]&127](a,b);return}function Wx(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;mn(a,b,c,d);return}function Xx(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+28>>2]&127](a,b);return}function Yx(a,b){a=a|0;b=b|0;var d=0;d=k;k=k+16|0;c[d>>2]=b;ol(a,d);Sn();Va()}function Zx(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;return}function _x(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +ob[a&1](b|0,c|0,d|0,e|0)}function $x(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;Q(41)}function ay(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+72>>2]&127](a,b);return}function by(){var a=0;a=pu()|0;Bg(a,0,0,16);return a|0}function cy(a){a=a|0;var b=0;b=zt(284)|0;jk(b,a);return b|0}function dy(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+8>>2]&511](a);return}function ey(a,b){a=a|0;b=+b;g[a+36>>2]=b;g[a+40>>2]=+C(+b);return}function fy(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&511](a);return}function gy(a,b){a=a|0;b=+b;return +(+jb[c[(c[a>>2]|0)+16>>2]&15](a)*b)}function hy(a){a=a|0;ow(a,+VB(+g[a>>2],+g[a+4>>2],+g[a+8>>2]));return}function iy(a,b){a=a|0;b=b|0;Ww(a+868|0,b);return}function jy(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function ky(a,b){a=a|0;b=b|0;Ze(a,b);return}function ly(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+8>>2]&127](a,b);return}function my(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+16>>2]&127](a,b);return}function ny(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+36>>2]&127](a,b);return}function oy(a,b){a=a|0;b=b|0;b=(b|0)<2?b:2;c[a+176>>2]=(b|0)>0?b:0;return}function py(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Q(7);return 0.0}function qy(a,b,c){a=a|0;b=b|0;c=c|0;Xi(a,b,c);return}function ry(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function sy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Qb[a&127](b|0,c|0,d|0,e|0)}function ty(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function uy(a,b,c){a=a|0;b=b|0;c=c|0;Rl(a,b,c);return}function vy(a,b){a=a|0;b=b|0;Nf(a,b);return}function wy(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function xy(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function yy(a,b,c){a=a|0;b=b|0;c=c|0;Za(3,a|0,b|0,c|0)|0;return}function zy(){var a=0;a=Ut()|0;tg(a,1,1);return a|0}function Ay(a){a=a|0;return sG(c[a+204>>2]|0)|0}function By(a,b,c){a=a|0;b=+b;c=+c;qz(a,b,c);return}function Cy(a,b){a=a|0;b=+b;Eb[c[(c[a>>2]|0)+20>>2]&31](a,b);return}function Dy(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;im(a,b,c,d);return}function Ey(a,b){a=a|0;b=b|0;c[b>>2]=6;c[b+4>>2]=6;return}function Fy(a,b){a=a|0;b=b|0;ux(a+788|0,b);return}function Gy(a,b){a=a|0;b=+b;Eb[c[(c[a>>2]|0)+16>>2]&31](a,b);return}function Hy(a,b){a=a|0;b=b|0;return +(+g[(c[a+144>>2]|0)+(b*284|0)+232>>2])}function Iy(){var a=0;a=zt(196)|0;ni(a,0);return a|0}function Jy(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}function Ky(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function Ly(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function My(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Ny(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return ub[a&1](b|0,+c,d|0,+e)|0}function Oy(a,b,c){a=a|0;b=b|0;c=+c;wn(a,b,c);return}function Py(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function Qy(a){a=a|0;var b=0;b=((DK(c[a+236>>2]|0)|0)&2|0)==0;return (b?0:a)|0}function Ry(a,b){a=a|0;b=b|0;return wD(c[a+12>>2]|0,b)|0}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;Lm(a,b,c);return}function Ty(a,b,c){a=a|0;b=b|0;c=+c;g[a+1340+(b<<2)>>2]=c;return}function Uy(a,b){a=a|0;b=b|0;Jb[c[(c[a>>2]|0)+44>>2]&127](a,b);return}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;return bc(a,b,c)|0}function Wy(a,b){a=a|0;b=b|0;oy(a,b);return}function Xy(a,b,c){a=a|0;b=b|0;c=+c;js(a,b,c);return}function Yy(a){a=a|0;c[a>>2]=6828;zj(a+12|0);zK(a);return}function Zy(a,b){a=a|0;b=b|0;ko(a,b);return}function _y(a,b){a=a|0;b=b|0;Mx(a+708|0,b);return}function $y(a){a=a|0;if(!a)return;IG(a);zK(a);return}function az(a,b,c){a=a|0;b=b|0;c=+c;g[a+1364+(b<<2)>>2]=c;return}function bz(a,b){a=a|0;b=b|0;ye(a,b);return}function cz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Ob[a&15](b|0,c|0,d|0,+e)}function dz(a){a=a|0;if(!a)return;zD(a);zK(a);return}function ez(a){a=+a;var b=0;b=Au()|0;Hq(b,a);return b|0}function fz(a,b){a=a|0;b=b|0;jw(a,b);return}function gz(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function hz(a,b){a=a|0;b=+b;zA(a,b);return}function iz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Lb[a&7](b|0,c|0,+d,e|0)}function jz(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Ib[a&1](b|0,+c,d|0,e|0)}function kz(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function lz(a,b){a=a|0;b=b|0;_s(a,b);return}function mz(a,b){a=a|0;b=b|0;$s(a,b);return}function nz(a,b){a=a|0;b=b|0;wl(a,0,b);return}function oz(a){a=a|0;var b=0;b=DK(a+28|0)|0;return +(+g[b+(c[a+52>>2]<<2)>>2])}function pz(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function qz(a,b,c){a=a|0;b=+b;c=+c;g[a+472>>2]=b;g[a+476>>2]=c;return}function rz(a,b){a=a|0;b=b|0;return QD(a,b)|0}function sz(a,b){a=a|0;b=b|0;g[a+48>>2]=+(b|0);return}function tz(a){a=a|0;var b=0;b=k;k=k+16|0;Cb[a&3]();Yx(25880,b)}function uz(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=1;return}function vz(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function wz(a){a=a|0;return +(+MJ(+g[a+16>>2]))}function xz(a){a=a|0;return tb[c[(c[a>>2]|0)+40>>2]&255](a)|0}function yz(a){a=a|0;var b=0;b=(DK(c[a+236>>2]|0)|0)==4;return (b?a:0)|0}function zz(a){a=a|0;return +(+VB(+g[a>>2],+g[a+4>>2],+g[a+8>>2]))}function Az(a,b){a=a|0;b=+b;mD(a,b);return}function Bz(a,b){a=a|0;b=b|0;iD(a,b);return}function Cz(a,b){a=a|0;b=+b;Eb[c[(c[a>>2]|0)+44>>2]&31](a,b);return}function Dz(a,b){a=a|0;b=b|0;yr(a,b);return}function Ez(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function Fz(a){a=a|0;return EH(+g[a+4>>2])|0}function Gz(a){a=a|0;if(!a)return;c[7585]=(c[7585]|0)+1;Bd(c[a+-4>>2]|0);return}function Hz(a,b){a=a|0;b=b|0;sE(a,b);return}function Iz(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)+92|0}function Jz(a,b){a=a|0;b=b|0;return Xw(a,b)|0}function Kz(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function Lz(a){a=a|0;c[a>>2]=5720;b[a+4>>1]=1;b[a+6>>1]=-1;return}function Mz(a){a=a|0;var b=0;b=(DK(c[a+236>>2]|0)|0)==8;return (b?a:0)|0}function Nz(){var a=0;a=zt(24)|0;Zs(a);return a|0}function Oz(a,b){a=a|0;b=b|0;Br(a,b);return}function Pz(a,b){a=a|0;b=+b;cE(a,b);return}function Qz(a){a=a|0;g[a>>2]=.30000001192092896;g[a+4>>2]=1.0;g[a+8>>2]=0.0;return}function Rz(a,b){a=a|0;b=+b;AD(a,b);return}function Sz(a,b){a=a|0;b=b|0;tE(a,b);return}function Tz(a){a=a|0;Db[c[(c[a>>2]|0)+44>>2]&511](a);return}function Uz(a,b){a=a|0;b=b|0;ts(a+4|0,b);return}function Vz(a,b){a=a|0;b=b|0;nz(b,a);return}function Wz(a){a=a|0;return aH(c[a+204>>2]|0)|0}function Xz(a,b){a=a|0;b=+b;dE(a,b);return}function Yz(a,b){a=a|0;b=+b;gB(a,b);return}function Zz(a,b){a=a|0;b=+b;eE(a,b);return}function _z(a,b){a=a|0;b=+b;hB(a,b);return}function $z(a,b){a=a|0;b=b|0;tu(a,b);return}function aA(a,b){a=a|0;b=b|0;Dr(a,b);return}function bA(a){a=a|0;return +(+MJ(+g[a+112>>2]))}function cA(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}function dA(a){a=a|0;return tb[c[(c[a>>2]|0)+96>>2]&255](a)|0}function eA(a){a=a|0;return UG(c[a+8>>2]|0)|0}function fA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return xb[a&63](b|0,c|0,d|0)|0}function gA(a,b){a=a|0;b=+b;YF(a,b);return}function hA(a,b){a=a|0;b=b|0;return +(+co(a,b))}function iA(a,b){a=a|0;b=b|0;Xi(a,b,1);return}function jA(a,b){a=a|0;b=b|0;JD(a,b);return}function kA(a){a=a|0;if(!a)a=0;else a=(Lj(a,5456)|0)!=0&1;return a|0}function lA(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;Kr(a,c,d,e,b);return}function mA(a){a=a|0;lk(a);zK(a);return}function nA(a,b){a=a|0;b=b|0;kn(a,b);return}function oA(a,b){a=a|0;b=+b;g[a+116>>2]=b;return}function pA(a){a=a|0;return tb[c[(c[a>>2]|0)+20>>2]&255](a)|0}function qA(a,b){a=a|0;b=b|0;tC(a,b,+BF(b));return}function rA(a){a=a|0;c[a>>2]=6828;zj(a+12|0);return}function sA(a,b){a=a|0;b=b|0;bE(a,b);return}function tA(a,b){a=a|0;b=b|0;hv(a,b);return}function uA(){var a=0;a=zt(100)|0;on(a);return a|0}function vA(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function wA(a,b){a=a|0;b=+b;g[a+124>>2]=b;return}function xA(a,b){a=a|0;b=b|0;RD(a,b);return}function yA(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function zA(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=0;return}function AA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +mb[a&15](b|0,c|0,d|0)}function BA(a,b){a=a|0;b=b|0;SD(a,b);return}function CA(a,b){a=a|0;b=b|0;return bc(a,b,8192)|0}function DA(b,c){b=b|0;c=c|0;a[b+120>>0]=c&1;return}function EA(a){a=a|0;Db[c[(c[a>>2]|0)+24>>2]&511](a);return}function FA(){var a=0;a=zt(12)|0;Qz(a);return a|0}function GA(a){a=a|0;if(!a)return;Gv(a);zK(a);return}function HA(a){a=a|0;Lz(a);c[a>>2]=5696;return}function IA(a){a=a|0;return GH(a)|0}function JA(a,b){a=a|0;b=+b;Zx(a,b);return}function KA(a,b){a=a|0;b=b|0;return +(+yf(a,b))}function LA(a){a=a|0;return +(+MJ(+g[a+120>>2]))}function MA(){var a=0;a=zt(4)|0;aD(a);return a|0}function NA(a){a=a|0;a=c[a+92>>2]|0;return ((a|0)==4?4:(a|0)==3?2:0)|0}function OA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function PA(a){a=a|0;return AH(c[a+204>>2]|0)|0}function QA(a,b){a=a|0;b=+b;ME(a,b);return}function RA(a,b){a=a|0;b=b|0;Vh(a,b);return}function SA(a,b){a=a|0;b=+b;KE(a,b);return}function TA(a){a=a|0;return tb[c[(c[a>>2]|0)+28>>2]&255](a)|0}function UA(a,b){a=a|0;b=b|0;return Bw(a,b)|0}function VA(){var a=0;a=zt(4)|0;c[a>>2]=0;wG(a);return a|0}function WA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return wb[a&7](b|0,c|0,+d)|0}function XA(a){a=a|0;return +(+g[a+132>>2])}function YA(a){a=a|0;return vB(c[a+68>>2]|0)|0}function ZA(a){a=a|0;return tb[c[(c[a>>2]|0)+48>>2]&255](a)|0}function _A(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function $A(b,c){b=b|0;c=c|0;a[b+80>>0]=c&1;return}function aB(a){a=a|0;return +(+g[a+128>>2])}function bB(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)|0}function cB(a,b){a=a|0;b=b|0;lE(a,b);return}function dB(a){a=a|0;c[a+4>>2]=(c[a+4>>2]|0)+-1;return}function eB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Q(40)}function fB(a){a=a|0;return JE(a)|0}function gB(a,b){a=a|0;b=+b;g[a+196>>2]=+mu(b);return}function hB(a,b){a=a|0;b=+b;g[a+192>>2]=+mu(b);return}function iB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Nb[a&127](b|0,c|0,d|0)}function jB(a,b){a=a|0;b=b|0;ts(a+92|0,b);return}function kB(a){a=a|0;ik(a);zK(a);return}function lB(a,b){a=a|0;b=+b;g[a+268>>2]=b;return}function mB(a){a=a|0;return +(+MJ(+g[a+80>>2]))}function nB(a,b){a=a|0;b=b|0;c[b+748>>2]=0;return}function oB(a,b){a=a|0;b=b|0;dl(a,b);return}function pB(a){a=a|0;return nI(a)|0}function qB(a,b){a=a|0;b=+b;jy(a,b);return}function rB(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function sB(a){a=a|0;return +(+jb[c[(c[a>>2]|0)+48>>2]&15](a))}function tB(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function uB(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function vB(a){a=a|0;return tb[c[(c[a>>2]|0)+36>>2]&255](a)|0}function wB(a){a=a|0;var b=0;b=k;k=k+a|0;k=k+15&-16;return b|0}function xB(a,b){a=a|0;b=b|0;Pd(a,b);return}function yB(a,b){a=a|0;b=b|0;LE(a,b);return}function zB(a){a=a|0;return +(+g[a+136>>2])}function AB(b){b=b|0;return (a[b+32>>0]&1)!=0|0}function BB(b,c){b=b|0;c=c|0;a[b+170>>0]=c&1;return}function CB(a){a=a|0;Ix(a);return}function DB(a,b){a=a|0;b=b|0;Ya(2,a|0,b|0)|0;return}function EB(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))bl(b,d,a);return}function FB(a,b){a=a|0;b=b|0;rt(a,b);return}function GB(a,b){a=a|0;b=b|0;Do(a+288|0,b);return}function HB(a,b){a=a|0;b=b|0;return Qy(b)|0}function IB(a,b){a=a|0;b=+b;g[a+108>>2]=b;return}function JB(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function KB(a,b){a=a|0;b=b|0;Vh(b,a);return}function LB(a,b){a=a|0;b=+b;g[a+272>>2]=b;return}function MB(a){a=a|0;return rI(a)|0}function NB(a){a=a|0;return sI(a)|0}function OB(a){a=a|0;return xI(a)|0}function PB(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function QB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Q(16);return 0}function RB(a){a=a|0;dB(a);return}function SB(a,b){a=a|0;b=b|0;oB(a,b);return}function TB(a,b){a=a|0;b=b|0;return Mz(b)|0}function UB(a,b){a=a|0;b=b|0;c[a+44>>2]=b&1;return}function VB(a,b,c){a=+a;b=+b;c=+c;return +(+pK(+gC(a,b,c)))}function WB(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Hb[a&31](b|0,+c,d|0)}function XB(a,b){a=a|0;b=b|0;if(!a)a=0;else a=el(a,b)|0;return a|0}function YB(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function ZB(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function _B(b){b=b|0;return (a[b+120>>0]&1)!=0|0}function $B(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}function aC(a){a=a|0;return ~~+g[a+48>>2]|0}function bC(b,c){b=b|0;c=c|0;a[b+180>>0]=c&1;return}function cC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Kb[a&7](b|0,c|0,+d)}function dC(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function eC(a,b){a=a|0;b=+b;xy(a,b);return}function fC(a){a=a|0;return OD(c[a+216>>2]|0)|0}function gC(a,b,c){a=+a;b=+b;c=+c;return +(+Kz(a,b,c,a,b,c))}function hC(a){a=a|0;c[a>>2]=5896;kH(a+68|0);return}function iC(a){a=+a;if(!(a<-1.0)){if(a>1.0)a=1.0}else a=-1.0;return +(+F(+a))}function jC(a){a=a|0;return +(+g[a+116>>2])}function kC(a){a=a|0;return +(+Bs(a))}function lC(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}function mC(a){a=a|0;return AF(a)|0}function nC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Q(4);return 0.0}function oC(a,b){a=a|0;b=+b;g[a+276>>2]=b;return}function pC(a,b){a=a|0;b=+b;g[a+204>>2]=b;return}function qC(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function rC(a){a=a|0;return +(+g[a+112>>2])}function sC(a){a=a|0;return +(+g[a+124>>2])}function tC(a,b,c){a=a|0;b=b|0;c=+c;Wo(a,b,1.0/c);return}function uC(a){a=a|0;rf(a);zK(a);return}function vC(a,b){a=a|0;b=b|0;var c=0;c=WC(a|0)|0;return ((b|0)==0?a:c)|0}function wC(a){a=a|0;return c[a+60>>2]|0}function xC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function yC(a,b){a=a|0;b=b|0;Ya(4,a|0,b|0)|0;return}function zC(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function AC(b){b=b|0;return (a[b+80>>0]&1)!=0|0}function BC(a){a=a|0;if(!a)return;Gz(a);return}function CC(a,b){a=a|0;b=b|0;c[a+36>>2]=b;return}function DC(a,b){a=a|0;b=b|0;c[a+32>>2]=b;return}function EC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return jf(a,b,c,d,0)|0}function FC(b,c){b=b|0;c=c|0;a[b+260>>0]=c&1;return}function GC(a){a=a|0;tv(a);return}function HC(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}function IC(a,b,c){a=a|0;b=+b;c=c|0;return}function JC(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function KC(a){a=a|0;qv(a,+BF(a))|0;return}function LC(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Fb[a&7](b|0,+c,+d)}function MC(a){a=a|0;return +(+VI(+g[a+12>>2]))}function NC(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function OC(a){a=a|0;return OI(a)|0}function PC(a,b){a=a|0;b=b|0;return +(+Xt(a,b))}function QC(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function RC(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}function SC(b,c){b=b|0;c=c|0;a[b+84>>0]=c&1;return}function TC(a){a=a|0;Uk(a);zK(a);return}function UC(a){a=a|0;rl(a);zK(a);return}function VC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Q(39)}function WC(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function XC(a){a=a|0;return WI(a)|0}function YC(a){a=a|0;return aG(a)|0}function ZC(a){a=a|0;return (c[a+116>>2]|0)+4|0}function _C(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function $C(a,b){a=a|0;b=b|0;xn(a+28|0,b);return}function aD(a){a=a|0;aI(a);c[a>>2]=5792;return}function bD(a,b,c){a=a|0;b=b|0;c=c|0;return vb[a&31](b|0,c|0)|0}function cD(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function dD(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function eD(a){a=a|0;return +(+g[a+104>>2])}function fD(a,b){a=a|0;b=b|0;return qm(a,b)|0}function gD(a){a=a|0;return $I(a)|0}function hD(a){a=a|0;Vk(a);zK(a);return}function iD(b,c){b=b|0;c=c|0;a[b+524>>0]=c&1;return}function jD(a){a=a|0;return ((a|0)==0?1:a<<1)|0}function kD(a,b){a=a|0;b=b|0;return a+(b*96|0)|0}function lD(a,b){a=a|0;b=b|0;return a+(b*80|0)|0}function mD(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function nD(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function oD(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function pD(a){a=a|0;return +(+g[a+268>>2])}function qD(a){a=a|0;return tG(a)|0}function rD(a){a=a|0;return DK(c[a+84>>2]|0)|0}function sD(a,b){a=a|0;b=b|0;return Dp(a,b)|0}function tD(a,b){a=a|0;b=b|0;return Cp(a,b)|0}function uD(a,b){a=a|0;b=b|0;return +(+tq(a,b))}function vD(a){a=a|0;return +(+oz(a))}function wD(a,b){a=a|0;b=b|0;return a+(b*104|0)|0}function xD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Q(38)}function yD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Q(32)}function zD(a){a=a|0;Gw(a);return}function AD(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function BD(a){a=a|0;return +(+g[a+96>>2])}function CD(a){a=a|0;return lJ(a)|0}function DD(a){a=a|0;return (c[a+44>>2]|0)!=0|0}function ED(a){a=a|0;zj(a);zK(a);return}function FD(a){a=a|0;KD(a);c[a+72>>2]=0;return}function GD(a){a=a|0;return DK(c[a+88>>2]|0)|0}function HD(a){a=a|0;return DK(c[a+748>>2]|0)|0}function ID(b){b=b|0;return (a[b+24>>0]&1)!=0|0}function JD(b,c){b=b|0;c=c|0;a[b+552>>0]=c&1;return}function KD(a){a=a|0;fE(a+4|0);c[a>>2]=0;return}function LD(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function MD(a){a=a|0;return jH(a)|0}function ND(a){a=a|0;return +(+g[a+108>>2])}function OD(a){a=a|0;a=DK(a)|0;return (a|0)!=2&(a|0)!=5|0}function PD(a){a=a|0;Wk(a);zK(a);return}function QD(a,b){a=a|0;b=b|0;return a+4+(b*184|0)|0}function RD(b,c){b=b|0;c=c|0;a[b+736>>0]=c&1;return}function SD(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function TD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;Q(23)}function UD(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function VD(a,b){a=a|0;b=+b;g[a+280>>2]=b;return}function WD(a,b){a=a|0;b=+b;g[a+236>>2]=b;return}function XD(a){a=a|0;return +(+g[a+272>>2])}function YD(a,b){a=a|0;b=+b;return qv(a,b)|0}function ZD(b){b=b|0;return (a[b+16>>0]&1)!=0|0}function _D(a){a=a|0;return b[a+10>>1]|0}function $D(a){a=a|0;return b[a+8>>1]|0}function aE(a){a=a|0;if(a>>>0>4294963200){c[7586]=0-a;a=-1}return a|0}function bE(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function cE(a,b){a=a|0;b=+b;g[a+684>>2]=b;return}function dE(a,b){a=a|0;b=+b;g[a+188>>2]=b;return}function eE(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function fE(a){a=a|0;CB(a);return}function gE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Q(6);return 0.0}function hE(a){a=a|0;return +(+g[a+220>>2])}function iE(a){a=a|0;return +(+g[a+100>>2])}function jE(a){a=a|0;return DK(c[a+128>>2]|0)|0}function kE(a){a=a|0;return b[a+12>>1]|0}function lE(b,c){b=b|0;c=c|0;a[b+737>>0]=c&1;return}function mE(a,b){a=a|0;b=+b;g[a+256>>2]=b;return}function nE(a){a=a|0;return +(+g[a+224>>2])}function oE(a,b){a=a|0;b=b|0;return ut(a,b)|0}function pE(a,b){a=a|0;b=b|0;return tt(a,b)|0}function qE(a){a=a|0;return Ch(a)|0}function rE(a){a=a|0;return b[a+14>>1]|0}function sE(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function tE(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function uE(a,b){a=a|0;b=b|0;c[a+92>>2]=b;return}function vE(a,b){a=a|0;b=b|0;c[a+100>>2]=b;return}function wE(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function xE(a){a=a|0;return (c[a+48>>2]|0)==1|0}function yE(a){a=a|0;Xk(a);zK(a);return}function zE(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;return}function AE(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function BE(a,b){a=a|0;b=b|0;if(!m){m=a;n=b}}function CE(b){b=b|0;return (a[b+260>>0]&1)!=0|0}function DE(a){a=a|0;return DK(c[a+116>>2]|0)|0}function EE(a){a=a|0;return DK(c[a+120>>2]|0)|0}function FE(a){a=a|0;return DK(c[a+744>>2]|0)|0}function GE(a){a=a|0;return DK(c[a+740>>2]|0)|0}function HE(b){b=b|0;return (a[b+25>>0]&1)!=0|0}function IE(a){a=a|0;return (c[a+92>>2]|0)+4|0}function JE(a){a=a|0;return DK(c[a+268>>2]|0)|0}function KE(a,b){a=a|0;b=+b;g[a+440>>2]=b;return}function LE(a,b){a=a|0;b=b|0;c[a+240>>2]=b;return}function ME(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function NE(a,b,c){a=a|0;b=b|0;c=c|0;Jb[a&127](b|0,c|0)}function OE(a,b,c){a=a|0;b=b|0;c=+c;return +kb[a&1](b|0,+c)}function PE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Q(2);return 0.0}function QE(a){a=a|0;return +(+g[a+276>>2])}function RE(a){a=a|0;return +(+g[a+208>>2])}function SE(a){a=a|0;return DK(c[a+192>>2]|0)|0}function TE(a){a=a|0;return DK(c[a+204>>2]|0)|0}function UE(a){a=a|0;return DK(c[a+24>>2]|0)|0}function VE(a){a=a|0;return DK(c[a+68>>2]|0)|0}function WE(a){a=a|0;return +(+wx(a))}function XE(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function YE(a,b){a=a|0;b=+b;g[a+64>>2]=b;return}function ZE(a,b){a=a|0;b=+b;g[a+68>>2]=b;return}function _E(a){a=a|0;if(!a)return;zK(a);return}function $E(a){a=a|0;return +(+g[a+216>>2])}function aF(a){a=a|0;return DK(c[a+480>>2]|0)|0}function bF(a){a=a|0;return DK(c[a+124>>2]|0)|0}function cF(a,b){a=a|0;b=+b;bH(a,b);return}function dF(b){b=b|0;return (a[b+26>>0]&1)!=0|0}function eF(b){b=b|0;return (a[b+84>>0]&1)!=0|0}function fF(a,b){a=a|0;b=+b;g[a+80>>2]=b;return}function gF(a,b){a=a|0;b=+b;g[a+76>>2]=b;return}function hF(a){a=a|0;return +(+g[a+28>>2]*+g[a+12>>2])}function iF(a,b){a=a|0;b=b|0;return a+(b<<2)|0}function jF(a){a=a|0;return +(+g[a+248>>2])}function kF(a){a=a|0;return DK(c[a+240>>2]|0)|0}function lF(a){a=a|0;return oJ(a)|0}function mF(a,b){a=a|0;b=+b;g[a+60>>2]=b;return}function nF(a,b){a=a|0;b=+b;g[a+52>>2]=b;return}function oF(a,b){a=a|0;b=+b;g[a+56>>2]=b;return}function pF(a,b){a=a|0;b=b|0;c[a+20>>2]=b;return}function qF(a){a=a|0;return +(+g[a+204>>2])}function rF(a){a=a|0;gs(a);return}function sF(a,b,c){a=a|0;b=b|0;c=+c;return 0}function tF(a,b){a=a|0;b=+b;BH(a,b);return}function uF(a,b){a=a|0;b=+b;CH(a,b);return}function vF(a,b){a=a|0;b=+b;$H(a,b);return}function wF(a){a=a|0;return c[a+36>>2]|0}function xF(a){a=a|0;return c[a+32>>2]|0}function yF(a){a=a|0;return DK(c[a+52>>2]|0)|0}function zF(a){a=a|0;return (c[a+48>>2]|0)+4|0}function AF(a){a=a|0;return DK(c[a+16>>2]|0)|0}function BF(a){a=a|0;return +(+pK(+OG(a)))}function CF(a){a=a|0;return a+44|0}function DF(a){a=a|0;return c[a+68>>2]|0}function EF(a,b,c){a=a|0;b=b|0;c=+c;Eb[a&31](b|0,+c)}function FF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Q(37)}function GF(a){a=a|0;return +(+g[(gK(a)|0)>>2])}function HF(a){a=a|0;return +(+g[(hK(a)|0)>>2])}function IF(a){a=a|0;return +(+g[(fK(a)|0)>>2])}function JF(a){a=a|0;return AJ(a)|0}function KF(a){a=a|0;KC(a);return}function LF(a){a=a|0;return c[a+8>>2]|0}function MF(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function NF(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function OF(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function PF(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function QF(a){a=a|0;return a+60|0}function RF(a){a=a|0;return c[a+200>>2]|0}function SF(a){a=a|0;return +(+g[a+244>>2])}function TF(a){a=a|0;return +(+g[a+240>>2])}function UF(a){a=a|0;return +(+OG(a))}function VF(a,b){a=a|0;b=+b;g[a+24>>2]=b;return}function WF(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function XF(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function YF(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function ZF(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function _F(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function $F(a){a=a|0;return c[a+212>>2]|0}function aG(a){a=a|0;return DK(c[a+136>>2]|0)|0}function bG(a){a=a|0;c[a+192>>2]=0;return}function cG(a,b,c){a=a|0;b=b|0;c=c|0;return}function dG(a,b){a=a|0;b=+b;g[a+72>>2]=b;return}function eG(a){a=a|0;return +(+g[a+212>>2])}function fG(a){a=a|0;return +(+g[a+228>>2])}function gG(a,b){a=a|0;b=+b;g[a+88>>2]=b;return}function hG(a){a=a|0;return c[a+24>>2]|0}function iG(a){a=a|0;return c[a+204>>2]|0}function jG(a){a=a|0;return DK(c[a>>2]|0)|0}function kG(a){a=a|0;g[a+64>>2]=.009999999776482582;return}function lG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Q(34)}function mG(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Q(29)}function nG(a){a=a|0;return +(+g[a+252>>2])}function oG(a){a=a|0;return hK(a)|0}function pG(a){a=a|0;return +(+BF(a))}function qG(){var a=0;a=c[7729]|0;c[7729]=a+0;return a|0}function rG(a,b,c){a=a|0;b=b|0;c=c|0;return 0.0}function sG(a){a=a|0;return (a&3|0)!=0|0}function tG(a){a=a|0;return DK(c[a+12>>2]|0)|0}function uG(a){a=a|0;return c[a+136>>2]|0}function vG(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function wG(a){a=a|0;jJ(a);c[a>>2]=5496;return}function xG(a){a=a|0;return a+20|0}function yG(a){a=a|0;return Xa(5,a|0)|0}function zG(){var a=0;a=c[3402]|0;c[3402]=a+0;return a|0}function AG(a){a=a|0;Qi(a);zK(a);return}function BG(a){a=a|0;vq(a);zK(a);return}function CG(a){a=a|0;ok(a);zK(a);return}function DG(a){a=a|0;return +(+g[a+232>>2])}function EG(a){a=a|0;return +(+g[a+280>>2])}function FG(a){a=a|0;return +(+g[a+236>>2])}function GG(a){a=a|0;return 348}function HG(a){a=a|0;return c[a+12>>2]|0}function IG(a){a=a|0;LG(a+56|0);return}function JG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Q(15);return 0}function KG(a){a=a|0;hy(a);return}function LG(a){a=a|0;zD(a);return}function MG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Q(5);return 0.0}function NG(a){a=a|0;return DK(c[a+4>>2]|0)|0}function OG(a){a=a|0;return +(+tq(a,a))}function PG(a){a=a|0;LG(a+4|0);return}function QG(a){a=a|0;return (a?31-(P(a^a-1)|0)|0:32)|0}function RG(a){a=a|0;return +(+g[a+256>>2])}function SG(a){a=a|0;return a+348|0}function TG(a){a=a|0;return +(+g[a>>2])}function UG(a){a=a|0;return (a|0)!=0|0}function VG(b){b=b|0;a[b+48>>0]=1;return}function WG(a,b){a=a|0;b=b|0;return tb[a&255](b|0)|0}function XG(a){a=a|0;Ma(a|0)|0;vr()}function YG(a){a=a|0;return +(+g[a+148>>2])}function ZG(a){a=a|0;return a+64|0}function _G(a){a=a|0;return +(+g[a+64>>2])}function $G(a){a=a|0;return +(+g[a+68>>2])}function aH(a){a=a|0;return (a&2|0)!=0|0}function bH(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function cH(a){a=a|0;return a+172|0}function dH(a){a=a|0;return c[a+4>>2]|0}function eH(a){a=a|0;return c[a+84>>2]|0}function fH(a){a=a|0;return c[a+88>>2]|0}function gH(a){a=a|0;return c[a+92>>2]|0}function hH(a){a=a|0;return c[a+100>>2]|0}function iH(a){a=a|0;return 252}function jH(a){a=a|0;return c[a+240>>2]|0}function kH(a){a=a|0;PG(a);return}function lH(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;Q(11);return 0}function mH(a){a=a|0;return +(+g[(DK(a)|0)>>2])}function nH(a){a=a|0;return +(+g[a+80>>2])}function oH(a){a=a|0;return +(+g[a+76>>2])}function pH(a){a=a|0;return 28}function qH(a){a=a|0;return a+144|0}function rH(a){a=a|0;return c[a+72>>2]|0}function sH(a,b){a=a|0;b=b|0;return +jb[a&15](b|0)}function tH(a){a=a|0;return c[a+16>>2]|0}function uH(a){a=a|0;return +(+g[a+60>>2])}function vH(a){a=a|0;return +(+g[a+52>>2])}function wH(a){a=a|0;return +(+g[a+56>>2])}function xH(a){a=a|0;return a+108|0}function yH(a){a=a|0;return 212}function zH(a){a=a|0;return c[a+96>>2]|0}function AH(a){a=a|0;return (a&1|0)!=0|0}function BH(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function CH(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function DH(a){a=a|0;return a+16|0}function EH(a){a=+a;return a<1.0|0}function FH(a,b){a=a|0;b=b|0;return 1}function GH(a){a=a|0;return a+324|0}function HH(a){a=a|0;aJ(a);return}function IH(a,b){a=a|0;b=b|0;k=a;l=b}function JH(a){a=a|0;return a+188|0}function KH(a){a=a|0;return c[a+20>>2]|0}function LH(a){a=a|0;return a+52|0}function MH(a){a=a|0;return a+156|0}function NH(a){a=a|0;return 204}function OH(a,b){a=a|0;b=b|0;return}function PH(a){a=a|0;c[a>>2]=11396;return}function QH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Q(33)}function RH(a){a=a|0;return a+36|0}function SH(a){a=a|0;return +(+g[a+92>>2])}function TH(a){a=a|0;return +(+g[a+44>>2])}function UH(a){a=a|0;return +(+g[a+40>>2])}function VH(a){a=a|0;return +(+g[a+36>>2])}function WH(a){a=a|0;return +(+g[a+48>>2])}function XH(a){a=a|0;return 64}function YH(a){a=a|0;return 220}function ZH(a){a=a|0;return 256}function _H(a){a=a|0;return +(+g[a+72>>2])}function $H(a,b){a=a|0;b=+b;g[a>>2]=b;return}function aI(a){a=a|0;c[a>>2]=5820;return}function bI(a){a=a|0;HH(a);return}function cI(a){a=a|0;return +(+g[a+24>>2])}function dI(a){a=a|0;return +(+g[a+4>>2])}function eI(a){a=a|0;return +(+g[a+20>>2])}function fI(a){a=a|0;return +(+g[a+32>>2])}function gI(a){a=a|0;return +(+g[a+16>>2])}function hI(a){a=a|0;return +(+g[a+12>>2])}function iI(a){a=a|0;return +(+g[a+28>>2])}function jI(a){a=a|0;return 52}function kI(a){a=a|0;return 68}function lI(a){a=a|0;return 84}function mI(a,b){a=a|0;b=b|0;return a+(b<<4)|0}function nI(a){a=a|0;return a+352|0}function oI(a){a=a|0;return a+868|0}function pI(a){a=a|0;return +(+g[a+88>>2])}function qI(a){a=a|0;return +(+g[a+8>>2])}function rI(a){a=a|0;return a+316|0}function sI(a){a=a|0;return a+300|0}function tI(a,b){a=a|0;b=b|0;Db[a&511](b|0)}
|
|
function $b(d,f){d=d|0;f=f|0;var h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ja=k;k=k+192|0;i=c[d+52>>2]|0;if(i|0?(Db[c[c[i>>2]>>2]&511](i),h=c[d+52>>2]|0,h|0):0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[7584]=(c[7584]|0)+1;h=lc(151)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=13400;a[h+20>>0]=1;c[h+16>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;a[h+40>>0]=1;c[h+36>>2]=0;c[h+28>>2]=0;c[h+32>>2]=0;a[h+60>>0]=1;c[h+56>>2]=0;c[h+48>>2]=0;c[h+52>>2]=0;c[d+52>>2]=h;n=0;o=0;ia=0;I=0;h=0;while(1){if((n|0)>=(tb[c[(c[d>>2]|0)+96>>2]&255](d)|0))break;do if((I|0)==(o|0)){i=(o|0)==0?1:o<<1;if((o|0)<(i|0)){if((i|0)!=0?(c[7584]=(c[7584]|0)+1,p=lc((i<<4|3)+16|0)|0,(p|0)!=0):0){c[(p+4+15&-16)+-4>>2]=p;l=p+4+15&-16}else l=0;if((o|0)<=0){if(!ia){m=l;h=l;l=o;break}}else{h=0;do{ha=l+(h<<4)|0;ga=ia+(h<<4)|0;c[ha>>2]=c[ga>>2];c[ha+4>>2]=c[ga+4>>2];c[ha+8>>2]=c[ga+8>>2];c[ha+12>>2]=c[ga+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[7585]=(c[7585]|0)+1;Bd(c[ia+-4>>2]|0);m=l;h=l;l=o}else{i=o;m=ia;l=o}}else{i=o;m=ia;l=I}while(0);o=m+(I<<4)|0;c[o>>2]=c[ja>>2];c[o+4>>2]=c[ja+4>>2];c[o+8>>2]=c[ja+8>>2];c[o+12>>2]=c[ja+12>>2];Nb[c[(c[d>>2]|0)+108>>2]&127](d,n,o);n=n+1|0;o=i;ia=m;I=l+1|0}a[ja+124+16>>0]=1;ha=ja+124+12|0;c[ha>>2]=0;c[ja+124+4>>2]=0;c[ja+124+8>>2]=0;a[ja+124+36>>0]=1;ga=ja+124+32|0;c[ga>>2]=0;c[ja+124+24>>2]=0;c[ja+124+28>>2]=0;a[ja+124+56>>0]=1;fa=ja+124+52|0;c[fa>>2]=0;c[ja+124+44>>2]=0;c[ja+124+48>>2]=0;if(f){if((I|0)>0){H=0;i=0;l=0;m=0;while(1){h=H;H=H+1|0;a:do if((H|0)<(I|0)){C=ia+(h<<4)|0;D=ia+(h<<4)+4|0;B=ia+(h<<4)+8|0;n=H;h=m;while(1){y=n+1|0;b:do if((y|0)<(I|0)){w=ia+(n<<4)|0;x=ia+(n<<4)+4|0;f=ia+(n<<4)+8|0;m=y;while(1){q=+g[C>>2];J=+g[w>>2]-q;r=+g[D>>2];K=+g[x>>2]-r;s=+g[B>>2];F=+g[f>>2]-s;L=+g[ia+(m<<4)>>2]-q;M=+g[ia+(m<<4)+4>>2]-r;G=+g[ia+(m<<4)+8>>2]-s;E=(J*M-K*L)*(J*M-K*L)+((K*G-F*M)*(K*G-F*M)+(F*L-J*G)*(F*L-J*G));c:do if(E>9.999999747378752e-05){v=1.0/+A(+E);t=(K*G-F*M)*v;u=(F*L-J*G)*v;v=(J*M-K*L)*v;d:do if((h|0)>0){n=0;while(1){if(t*+g[l+(n<<4)>>2]+u*+g[l+(n<<4)+4>>2]+v*+g[l+(n<<4)+8>>2]>.9990000128746033)break d;n=n+1|0;if((n|0)>=(h|0)){da=34;break}}}else da=34;while(0);e:do if((da|0)==34){da=0;n=0;do{if(t*+g[ia+(n<<4)>>2]+u*+g[ia+(n<<4)+4>>2]+v*+g[ia+(n<<4)+8>>2]-(t*q+u*r+v*s)+-.009999999776482582>0.0)break e;n=n+1|0}while((n|0)<(I|0));do if((h|0)==(i|0)){p=(i|0)==0?1:i<<1;if((i|0)<(p|0)){do if(!p)o=0;else{c[7584]=(c[7584]|0)+1;n=lc((p<<4|3)+16|0)|0;if(!n){o=0;break}c[(n+4+15&-16)+-4>>2]=n;o=n+4+15&-16}while(0);if((i|0)<=0){if(!l){n=p;l=o;break}}else{n=0;do{ca=o+(n<<4)|0;ba=l+(n<<4)|0;c[ca>>2]=c[ba>>2];c[ca+4>>2]=c[ba+4>>2];c[ca+8>>2]=c[ba+8>>2];c[ca+12>>2]=c[ba+12>>2];n=n+1|0}while((n|0)!=(i|0))}c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0);n=p;l=o}else n=i}else{n=i;i=h}while(0);g[l+(i<<4)>>2]=t;g[l+(i<<4)+4>>2]=u;g[l+(i<<4)+8>>2]=v;g[l+(i<<4)+12>>2]=-(t*q+u*r+v*s);i=n;h=h+1|0}while(0);if(E>9.999999747378752e-05){r=1.0/+A(+E);t=-((K*G-F*M)*r);s=-((F*L-J*G)*r);r=-((J*M-K*L)*r);if((h|0)>0){n=0;do{if(+g[l+(n<<4)>>2]*t+ +g[l+(n<<4)+4>>2]*s+ +g[l+(n<<4)+8>>2]*r>.9990000128746033)break c;n=n+1|0}while((n|0)<(h|0))}q=+g[C>>2]*t+ +g[D>>2]*s+ +g[B>>2]*r;n=0;do{if(+g[ia+(n<<4)>>2]*t+ +g[ia+(n<<4)+4>>2]*s+ +g[ia+(n<<4)+8>>2]*r-q+-.009999999776482582>0.0)break c;n=n+1|0}while((n|0)<(I|0));do if((h|0)==(i|0)){p=(i|0)==0?1:i<<1;if((i|0)>=(p|0)){n=i;break}do if(!p)o=0;else{c[7584]=(c[7584]|0)+1;n=lc((p<<4|3)+16|0)|0;if(!n){o=0;break}c[(n+4+15&-16)+-4>>2]=n;o=n+4+15&-16}while(0);if((i|0)<=0){if(!l){n=p;l=o;break}}else{n=0;do{ca=o+(n<<4)|0;ba=l+(n<<4)|0;c[ca>>2]=c[ba>>2];c[ca+4>>2]=c[ba+4>>2];c[ca+8>>2]=c[ba+8>>2];c[ca+12>>2]=c[ba+12>>2];n=n+1|0}while((n|0)!=(i|0))}c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0);n=p;l=o}else{n=i;i=h}while(0);g[l+(i<<4)>>2]=t;g[l+(i<<4)+4>>2]=s;g[l+(i<<4)+8>>2]=r;g[l+(i<<4)+12>>2]=-q;i=n;h=h+1|0}}while(0);m=m+1|0;if((m|0)==(I|0))break b}}while(0);if((y|0)==(I|0))break a;n=y}}else h=m;while(0);if((H|0)==(I|0)){f=h;break}else m=h}if((f|0)>0){h=0;o=0;p=0;while(1){ca=l+(p<<4)|0;c[ja>>2]=c[ca>>2];c[ja+4>>2]=c[ca+4>>2];c[ja+8>>2]=c[ca+8>>2];q=+g[l+(p<<4)+12>>2];q=q-+jb[c[(c[d>>2]|0)+48>>2]&15](d);do if((p|0)==(h|0)){n=(h|0)==0?1:h<<1;if((h|0)<(n|0)){if((n|0)!=0?(c[7584]=(c[7584]|0)+1,N=lc((n<<4|3)+16|0)|0,(N|0)!=0):0){c[(N+4+15&-16)+-4>>2]=N;m=N+4+15&-16}else m=0;if((h|0)<=0){if(!o)break}else{i=0;do{ca=m+(i<<4)|0;ba=o+(i<<4)|0;c[ca>>2]=c[ba>>2];c[ca+4>>2]=c[ba+4>>2];c[ca+8>>2]=c[ba+8>>2];c[ca+12>>2]=c[ba+12>>2];i=i+1|0}while((i|0)!=(h|0))}c[7585]=(c[7585]|0)+1;Bd(c[o+-4>>2]|0)}else{n=h;m=o}}else{n=h;m=o;h=p}while(0);ca=m+(h<<4)|0;c[ca>>2]=c[ja>>2];c[ca+4>>2]=c[ja+4>>2];c[ca+8>>2]=c[ja+8>>2];g[m+(h<<4)+12>>2]=q;p=p+1|0;if((p|0)<(f|0)){h=n;o=m}else break}N=0;o=0;n=0;i=0;h=0;do{I=N;N=N+1|0;f:do if((N|0)<(p|0)){f=N;while(1){H=f+1|0;g:do if((H|0)<(p|0)){B=m+(f<<4)+4|0;C=m+(f<<4)+8|0;D=m+(f<<4)|0;y=m+(f<<4)+12|0;f=H;while(1){t=+g[B>>2];q=+g[m+(f<<4)+8>>2];r=+g[C>>2];u=+g[m+(f<<4)+4>>2];v=+g[m+(f<<4)>>2];E=+g[D>>2];s=+g[m+(I<<4)+8>>2];F=+g[m+(I<<4)+4>>2];G=+g[m+(I<<4)>>2];h:do if((((u*E-t*v)*(u*E-t*v)+((t*q-r*u)*(t*q-r*u)+(r*v-q*E)*(r*v-q*E))>9.999999747378752e-05?(v*F-u*G)*(v*F-u*G)+((u*s-q*F)*(u*s-q*F)+(q*G-v*s)*(q*G-v*s))>9.999999747378752e-05:0)?(t*G-E*F)*(t*G-E*F)+((r*F-t*s)*(r*F-t*s)+(E*s-r*G)*(E*s-r*G))>9.999999747378752e-05:0)?(X=s*(u*E-t*v)+(F*(r*v-q*E)+(t*q-r*u)*G),+z(+X)>9.999999974752427e-07):0){L=+g[m+(I<<4)+12>>2];M=+g[y>>2];K=+g[m+(f<<4)+12>>2];J=-1.0/X*((r*F-t*s)*K+((t*q-r*u)*L+(u*s-q*F)*M));r=-1.0/X*((E*s-r*G)*K+((r*v-q*E)*L+(q*G-v*s)*M));q=-1.0/X*((t*G-E*F)*K+((u*E-t*v)*L+(v*F-u*G)*M));w=0;do{if(+g[m+(w<<4)+12>>2]+(J*+g[m+(w<<4)>>2]+r*+g[m+(w<<4)+4>>2]+q*+g[m+(w<<4)+8>>2])+-.009999999776482582>0.0)break h;w=w+1|0}while((w|0)<(p|0));do if((i|0)==(o|0)){x=(o|0)==0?1:o<<1;if((o|0)>=(x|0)){x=o;break}do if(!x)w=0;else{c[7584]=(c[7584]|0)+1;h=lc((x<<4|3)+16|0)|0;if(!h){w=0;break}c[(h+4+15&-16)+-4>>2]=h;w=h+4+15&-16}while(0);if((o|0)<=0){if(!n){n=w;h=w;break}}else{h=0;do{ca=w+(h<<4)|0;ba=n+(h<<4)|0;c[ca>>2]=c[ba>>2];c[ca+4>>2]=c[ba+4>>2];c[ca+8>>2]=c[ba+8>>2];c[ca+12>>2]=c[ba+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0);n=w;h=w}else{x=o;o=i}while(0);g[n+(o<<4)>>2]=J;g[n+(o<<4)+4>>2]=r;g[n+(o<<4)+8>>2]=q;g[n+(o<<4)+12>>2]=0.0;o=x;i=i+1|0}while(0);f=f+1|0;if((f|0)==(p|0))break g}}while(0);if((H|0)==(p|0))break f;f=H}}while(0)}while((N|0)!=(p|0))}else{n=0;m=0;i=0;h=0}}else{n=0;m=0;l=0;i=0;h=0}nc(ja+124|0,h,i);if(n|0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0)}if(m|0){c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0)}if(l|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}}else nc(ja+124|0,h,I);H=c[ja+124+44>>2]|0;if((H|0)>0){c[7584]=(c[7584]|0)+1;h=lc((H<<4|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=0;do{ca=i+(h<<4)|0;c[ca>>2]=c[ja>>2];c[ca+4>>2]=c[ja+4>>2];c[ca+8>>2]=c[ja+8>>2];c[ca+12>>2]=c[ja+12>>2];h=h+1|0}while((h|0)!=(H|0));ca=i;aa=i}else{ca=0;aa=0}a[ja+104+16>>0]=1;ba=ja+104+12|0;c[ba>>2]=0;$=ja+104+4|0;c[$>>2]=0;c[ja+104+8>>2]=0;l=ja;n=l+19|0;do{a[l>>0]=0;l=l+1|0}while((l|0)<(n|0));if((H|0)<0)cb();if(H|0){Xf(ja+104|0,H);i=c[ba>>2]|0;h=0;do{a[i+(h*36|0)+16>>0]=1;l=i+(h*36|0)+4|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;l=i+(h*36|0)+20|0;m=ja+3|0;n=l+16|0;do{a[l>>0]=a[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));h=h+1|0}while((h|0)!=(H|0))}c[$>>2]=H;o=c[ja+124+4>>2]|0;n=c[d+52>>2]|0;m=c[n+8>>2]|0;if((m|0)<(o|0)){if((c[n+12>>2]|0)<(o|0)){if(!o){h=0;l=m}else{c[7584]=(c[7584]|0)+1;h=lc((o<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=c[n+8>>2]|0}if((l|0)>0){i=0;do{_=h+(i<<4)|0;Z=(c[n+16>>2]|0)+(i<<4)|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];c[_+8>>2]=c[Z+8>>2];c[_+12>>2]=c[Z+12>>2];i=i+1|0}while((i|0)!=(l|0))}i=c[n+16>>2]|0;if(i|0){if(a[n+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[n+16>>2]=0}a[n+20>>0]=1;c[n+16>>2]=h;c[n+12>>2]=o;i=n+16|0}else i=n+16|0;h=m;do{_=(c[i>>2]|0)+(h<<4)|0;c[_>>2]=c[ja>>2];c[_+4>>2]=c[ja+4>>2];c[_+8>>2]=c[ja+8>>2];c[_+12>>2]=c[ja+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[n+8>>2]=o;if((o|0)>0){h=0;do{Z=(c[ha>>2]|0)+(h<<4)|0;_=(c[(c[d+52>>2]|0)+16>>2]|0)+(h<<4)|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];c[_+8>>2]=c[Z+8>>2];c[_+12>>2]=c[Z+12>>2];h=h+1|0}while((h|0)!=(o|0))}if((H|0)>0){D=0;do{B=(c[ga>>2]|0)+((c[(c[fa>>2]|0)+(D<<2)>>2]|0)*12|0)|0;y=B;h=0;do{C=y+4|0;x=c[y+((c[C>>2]|0)*12|0)+8>>2]|0;f=c[ba>>2]|0;w=f+(D*36|0)+4|0;i=c[w>>2]|0;p=f+(D*36|0)+8|0;if((i|0)==(c[p>>2]|0)?(O=(i|0)==0?1:i<<1,(i|0)<(O|0)):0){if(!O)o=0;else{c[7584]=(c[7584]|0)+1;i=lc((O<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=i;i=c[w>>2]|0}n=f+(D*36|0)+12|0;m=c[n>>2]|0;if((i|0)<=0)if(!m)l=f+(D*36|0)+16|0;else da=161;else{l=0;do{c[o+(l<<2)>>2]=c[m+(l<<2)>>2];l=l+1|0}while((l|0)!=(i|0));da=161}if((da|0)==161){da=0;i=f+(D*36|0)+16|0;if(a[i>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0)}c[n>>2]=0;l=i;i=c[w>>2]|0}a[l>>0]=1;c[n>>2]=o;c[p>>2]=O}c[(c[f+(D*36|0)+12>>2]|0)+(i<<2)>>2]=x;c[w>>2]=(c[w>>2]|0)+1;Z=c[y+8>>2]|0;_=c[ha>>2]|0;s=+g[_+(Z<<4)>>2]-+g[_+(x<<4)>>2];t=+g[_+(Z<<4)+4>>2]-+g[_+(x<<4)+4>>2];q=+g[_+(Z<<4)+8>>2]-+g[_+(x<<4)+8>>2];r=1.0/+A(+(s*s+t*t+q*q));if((h|0)<2){g[ja+(h<<4)>>2]=s*r;g[ja+(h<<4)+4>>2]=t*r;g[ja+(h<<4)+8>>2]=q*r;g[ja+(h<<4)+12>>2]=0.0;h=h+1|0}_=y+((c[C>>2]|0)*12|0)|0;y=_+((c[_>>2]|0)*12|0)|0}while((y|0)!=(B|0));if((h|0)==2){J=+g[ja+4>>2];K=+g[ja+24>>2];L=+g[ja+8>>2];M=+g[ja+20>>2];G=+g[ja+16>>2];F=+g[ja>>2];Z=ca+(D<<4)+4|0;_=ca+(D<<4)+8|0;g[ca+(D<<4)+12>>2]=0.0;X=1.0/+A(+((M*F-J*G)*(M*F-J*G)+((J*K-L*M)*(J*K-L*M)+(L*G-K*F)*(L*G-K*F))));g[ca+(D<<4)>>2]=(J*K-L*M)*X;g[Z>>2]=(L*G-K*F)*X;g[_>>2]=(M*F-J*G)*X;n=c[ba>>2]|0;g[n+(D*36|0)+20>>2]=(J*K-L*M)*X;c[n+(D*36|0)+24>>2]=c[Z>>2];c[n+(D*36|0)+28>>2]=c[_>>2];g[n+(D*36|0)+32>>2]=1000000015047466219876688.0e6}else{n=ca+(D<<4)|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=c[ba>>2]|0}i=c[n+(D*36|0)+4>>2]|0;if((i|0)>0){l=c[(c[d+52>>2]|0)+16>>2]|0;r=+g[ca+(D<<4)>>2];s=+g[ca+(D<<4)+4>>2];t=+g[ca+(D<<4)+8>>2];m=c[n+(D*36|0)+12>>2]|0;_=c[m>>2]|0;q=+g[l+(_<<4)>>2]*r+ +g[l+(_<<4)+4>>2]*s+ +g[l+(_<<4)+8>>2]*t;q=q<1000000015047466219876688.0e6?q:1000000015047466219876688.0e6;if((i|0)!=1){h=1;do{_=c[m+(h<<2)>>2]|0;X=+g[l+(_<<4)>>2]*r+ +g[l+(_<<4)+4>>2]*s+ +g[l+(_<<4)+8>>2]*t;q=q>X?X:q;h=h+1|0}while((h|0)<(i|0))}}else q=1000000015047466219876688.0e6;g[n+(D*36|0)+32>>2]=-q;D=D+1|0}while((D|0)!=(H|0))}i:do if((c[$>>2]|0)>0){h=0;n=0;m=0;i=0;o=0;while(1){do if((o|0)==(h|0)){h=(o|0)==0;l=h?1:o<<1;if((o|0)<(l|0)){if((l|0)!=0?(c[7584]=(c[7584]|0)+1,P=lc((l<<2|3)+16|0)|0,(P|0)!=0):0){c[(P+4+15&-16)+-4>>2]=P;m=P+4+15&-16}else m=0;if(h){if(!n){h=1;n=m;R=m;i=m;break}}else{h=0;do{c[m+(h<<2)>>2]=c[n+(h<<2)>>2];h=h+1|0}while((h|0)!=(o|0))}if(!i){h=l;n=m;R=m;i=m}else{c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=l;n=m;R=m;i=m}}else{h=o;R=m}}else R=m;while(0);c[n+(o<<2)>>2]=o;o=o+1|0;if((o|0)>=(c[$>>2]|0))break;else m=R}O=ja+84+12|0;P=ja+84+4|0;Q=ja+48+12|0;h=o;while(1){p=h+-1|0;l=c[n+(p<<2)>>2]|0;c[7584]=(c[7584]|0)+1;i=lc(23)|0;if(!i)o=0;else{c[(i+4+15&-16)+-4>>2]=i;o=i+4+15&-16}c[o>>2]=l;m=c[ba>>2]|0;r=+g[m+(l*36|0)+20>>2];s=+g[m+(l*36|0)+24>>2];q=+g[m+(l*36|0)+28>>2];do if((h|0)>1){C=h+-2|0;f=1;i=o;B=1;h=p;p=o;w=o;while(1){y=c[n+(C<<2)>>2]|0;j:do if(r*+g[m+(y*36|0)+20>>2]+s*+g[m+(y*36|0)+24>>2]+q*+g[m+(y*36|0)+28>>2]>.9990000128746033){do if((B|0)==(f|0)){m=(f|0)==0?1:f<<1;if((f|0)>=(m|0)){m=f;x=p;break}do if(!m)o=0;else{c[7584]=(c[7584]|0)+1;l=lc((m<<2|3)+16|0)|0;if(!l){o=0;break}c[(l+4+15&-16)+-4>>2]=l;o=l+4+15&-16}while(0);if((f|0)>0){l=0;do{c[o+(l<<2)>>2]=c[i+(l<<2)>>2];l=l+1|0}while((l|0)!=(f|0));if(!w){i=o;x=o;w=o;break}}else if((i|0)==0|(w|0)==0){i=o;x=o;w=o;break}c[7585]=(c[7585]|0)+1;Bd(c[w+-4>>2]|0);i=o;x=o;w=o}else{m=f;x=p}while(0);c[i+(B<<2)>>2]=y;B=B+1|0;if((h|0)>0){l=0;while(1){o=n+(l<<2)|0;if((c[o>>2]|0)==(y|0))break;l=l+1|0;if((l|0)>=(h|0)){N=x;l=w;break j}}f=h+-1|0;p=n+(f<<2)|0;if((l|0)>=(h|0)){N=x;l=w;break}c[o>>2]=c[p>>2];c[p>>2]=y;h=f;N=x;l=w}else{N=x;l=w}}else{m=f;N=p;l=w}while(0);if((C|0)<=0)break;C=C+-1|0;f=m;p=N;m=c[ba>>2]|0;w=l}if((B|0)<=1)if((B|0)==1){l=N;B=1;da=344;break}else{l=N;break}a[ja+84+16>>0]=1;c[O>>2]=0;c[P>>2]=0;c[ja+84+8>>2]=0;D=0;l=0;q=0.0;r=0.0;s=0.0;do{y=c[i+(D<<2)>>2]|0;C=c[ba>>2]|0;q=+g[C+(y*36|0)+20>>2]+q;r=+g[C+(y*36|0)+24>>2]+r;s=+g[C+(y*36|0)+28>>2]+s;m=c[C+(y*36|0)+4>>2]|0;if((m|0)>0){x=0;do{w=c[(c[C+(y*36|0)+12>>2]|0)+(x<<2)>>2]|0;_=(c[(c[d+52>>2]|0)+16>>2]|0)+(w<<4)|0;c[ja>>2]=c[_>>2];c[ja+4>>2]=c[_+4>>2];c[ja+8>>2]=c[_+8>>2];c[ja+12>>2]=c[_+12>>2];k:do if((l|0)>0){p=c[O>>2]|0;o=0;while(1){if((c[p+(o*24|0)+20>>2]|0)==(w|0))break k;o=o+1|0;if((o|0)>=(l|0)){da=224;break}}}else da=224;while(0);if((da|0)==224){da=0;c[ja+48>>2]=c[ja>>2];c[ja+48+4>>2]=c[ja+4>>2];c[ja+48+8>>2]=c[ja+8>>2];c[ja+48+12>>2]=c[ja+12>>2];do if((l|0)==(c[ja+84+8>>2]|0)){f=(l|0)==0?1:l<<1;if((l|0)>=(f|0))break;if(!f)p=0;else{c[7584]=(c[7584]|0)+1;l=lc((f*24|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}p=l;l=c[P>>2]|0}o=c[O>>2]|0;if((l|0)<=0){if(o)da=234}else{m=0;do{da=p+(m*24|0)|0;_=o+(m*24|0)|0;c[da>>2]=c[_>>2];c[da+4>>2]=c[_+4>>2];c[da+8>>2]=c[_+8>>2];c[da+12>>2]=c[_+12>>2];c[da+16>>2]=c[_+16>>2];c[da+20>>2]=c[_+20>>2];m=m+1|0}while((m|0)!=(l|0));da=234}if((da|0)==234){da=0;if(a[ja+84+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[o+-4>>2]|0);l=c[P>>2]|0}c[O>>2]=0}a[ja+84+16>>0]=1;c[O>>2]=p;c[ja+84+8>>2]=f}while(0);m=c[O>>2]|0;_=m+(l*24|0)|0;c[_>>2]=c[ja+48>>2];c[_+4>>2]=c[ja+48+4>>2];c[_+8>>2]=c[ja+48+8>>2];c[_+12>>2]=c[ja+48+12>>2];c[_+16>>2]=c[ja+48+16>>2];c[m+(l*24|0)+20>>2]=w;l=(c[P>>2]|0)+1|0;c[P>>2]=l;m=c[C+(y*36|0)+4>>2]|0}x=x+1|0}while((x|0)<(m|0))}D=D+1|0}while((D|0)!=(B|0));a[ja+48+16>>0]=1;c[Q>>2]=0;c[ja+48+4>>2]=0;c[ja+48+8>>2]=0;_=c[i>>2]|0;Z=c[ba>>2]|0;c[ja+48+20>>2]=c[Z+(_*36|0)+20>>2];c[ja+48+24>>2]=c[Z+(_*36|0)+24>>2];c[ja+48+28>>2]=c[Z+(_*36|0)+28>>2];c[ja+48+32>>2]=c[Z+(_*36|0)+32>>2];E=1.0/+A(+(q*q+r*r+s*s));G=q*E;F=r*E;E=s*E;if(+z(+E)>.7071067690849304){v=1.0/+A(+(E*E+F*F));t=0.0;u=F*v;v=-(E*v)}else{v=1.0/+A(+(G*G+F*F));t=-(F*v);u=0.0;v=G*v}p=c[P>>2]|0;do if((p|0)<2)if((p|0)==1){m=0;p=0;x=0;f=1;while(1){y=c[O>>2]|0;do if((m|0)==(p|0)){w=(p|0)==0?1:p<<1;if((p|0)>=(w|0)){w=p;l=x;o=p;break}do if(!w)l=0;else{c[7584]=(c[7584]|0)+1;l=lc((w*24|3)+16|0)|0;if(!l){l=0;p=m;break}c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16;p=m}while(0);if((p|0)<=0){if(x|0)da=255}else{o=0;do{da=l+(o*24|0)|0;_=x+(o*24|0)|0;c[da>>2]=c[_>>2];c[da+4>>2]=c[_+4>>2];c[da+8>>2]=c[_+8>>2];c[da+12>>2]=c[_+12>>2];c[da+16>>2]=c[_+16>>2];c[da+20>>2]=c[_+20>>2];o=o+1|0}while((o|0)!=(p|0));da=255}if((da|0)==255){da=0;c[7585]=(c[7585]|0)+1;Bd(c[x+-4>>2]|0)}o=m;f=c[P>>2]|0}else{w=p;l=x;o=m}while(0);_=l+(o*24|0)|0;c[_>>2]=c[y>>2];c[_+4>>2]=c[y+4>>2];c[_+8>>2]=c[y+8>>2];c[_+12>>2]=c[y+12>>2];c[_+16>>2]=c[y+16>>2];c[_+20>>2]=c[y+20>>2];m=m+1|0;if((m|0)<(f|0)){p=w;x=l}else{da=289;break}}}else{l=0;da=331}else{o=c[O>>2]|0;l=0;do{m=o+(l*24|0)|0;if(t*+g[m>>2]+v*+g[o+(l*24|0)+4>>2]+u*+g[o+(l*24|0)+8>>2]<t*+g[o>>2]+v*+g[o+4>>2]+u*+g[o+8>>2]){c[ja>>2]=c[o>>2];c[ja+4>>2]=c[o+4>>2];c[ja+8>>2]=c[o+8>>2];c[ja+12>>2]=c[o+12>>2];c[ja+16>>2]=c[o+16>>2];c[ja+20>>2]=c[o+20>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];da=o+(l*24|0)|0;c[da>>2]=c[ja>>2];c[da+4>>2]=c[ja+4>>2];c[da+8>>2]=c[ja+8>>2];c[da+12>>2]=c[ja+12>>2];c[da+16>>2]=c[ja+16>>2];c[da+20>>2]=c[ja+20>>2]}l=l+1|0}while((l|0)<(p|0));g[o+16>>2]=-1000000015047466219876688.0e6;if((p|0)>1){q=+g[o>>2];r=+g[o+4>>2];s=+g[o+8>>2];l=1;do{L=+g[o+(l*24|0)>>2]-q;M=+g[o+(l*24|0)+4>>2]-r;X=+g[o+(l*24|0)+8>>2]-s;g[o+(l*24|0)+16>>2]=((t*M-v*L)*E+(G*(v*X-u*M)+F*(u*L-t*X)))/+A(+(L*L+M*M+X*X));l=l+1|0}while((l|0)!=(p|0))}c[ja>>2]=c[o>>2];c[ja+4>>2]=c[o+4>>2];c[ja+8>>2]=c[o+8>>2];c[ja+12>>2]=c[o+12>>2];Ef(ja+84|0,ja,1,p+-1|0);m=c[O>>2]|0;c[7584]=(c[7584]|0)+1;l=lc(43)|0;if(!l)o=0;else{c[(l+4+15&-16)+-4>>2]=l;o=l+4+15&-16}p=c[O>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[7584]=(c[7584]|0)+1;l=lc(67)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[l+12>>2]=c[o+12>>2];c[l+16>>2]=c[o+16>>2];c[l+20>>2]=c[o+20>>2];if(o|0){c[7585]=(c[7585]|0)+1;Bd(c[o+-4>>2]|0)}o=l+24|0;c[o>>2]=c[p+24>>2];c[o+4>>2]=c[p+24+4>>2];c[o+8>>2]=c[p+24+8>>2];c[o+12>>2]=c[p+24+12>>2];c[o+16>>2]=c[p+24+16>>2];c[o+20>>2]=c[p+24+20>>2];o=c[P>>2]|0;if((o|0)==2){m=2;da=289;break}y=2;m=2;x=2;p=2;while(1){l:do if((p|0)>1){da=c[O>>2]|0;w=da+(y*24|0)|0;q=+g[w>>2];r=+g[da+(y*24|0)+4>>2];s=+g[da+(y*24|0)+8>>2];while(1){da=p+-2|0;f=p+-1|0;L=+g[l+(da*24|0)>>2];M=L-+g[l+(f*24|0)>>2];J=+g[l+(da*24|0)+4>>2];v=J-+g[l+(f*24|0)+4>>2];X=+g[l+(da*24|0)+8>>2];K=X-+g[l+(f*24|0)+8>>2];if((M*(J-r)-v*(L-q))*E+(G*(v*(X-s)-K*(J-r))+F*(K*(L-q)-M*(X-s)))>0.0)break;if((p|0)>2){m=f;p=f}else{m=f;f=x;p=1;break l}}do if((p|0)==(x|0)){f=x<<1;if((x|0)>=(f|0)){f=x;p=x;break}c[7584]=(c[7584]|0)+1;o=lc((x*48|3)+16|0)|0;if(!o)p=0;else{c[(o+4+15&-16)+-4>>2]=o;p=o+4+15&-16}if((m|0)>0){o=0;do{da=p+(o*24|0)|0;_=l+(o*24|0)|0;c[da>>2]=c[_>>2];c[da+4>>2]=c[_+4>>2];c[da+8>>2]=c[_+8>>2];c[da+12>>2]=c[_+12>>2];c[da+16>>2]=c[_+16>>2];c[da+20>>2]=c[_+20>>2];o=o+1|0}while((o|0)!=(m|0))}c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0);o=c[P>>2]|0;l=p;p=m}else f=x;while(0);p=l+(p*24|0)|0;c[p>>2]=c[w>>2];c[p+4>>2]=c[w+4>>2];c[p+8>>2]=c[w+8>>2];c[p+12>>2]=c[w+12>>2];c[p+16>>2]=c[w+16>>2];c[p+20>>2]=c[w+20>>2];p=m+1|0;m=p}else f=x;while(0);y=y+1|0;if((y|0)==(o|0))break;else x=f}if((m|0)>0)da=289;else da=291}while(0);if((da|0)==289){da=0;I=0;p=c[ja+48+4>>2]|0;o=c[ja+48+8>>2]|0;x=a[ja+48+16>>0]|0;while(1){H=l+(I*24|0)+20|0;do if((p|0)==(o|0)){C=(o|0)==0?1:o<<1;if((o|0)>=(C|0)){D=x;p=o;C=o;break}do if(!C)w=0;else{c[7584]=(c[7584]|0)+1;p=lc((C<<2|3)+16|0)|0;if(!p){w=0;break}c[(p+4+15&-16)+-4>>2]=p;w=p+4+15&-16}while(0);f=c[Q>>2]|0;if((o|0)<=0){if(f)da=321}else{p=0;do{c[w+(p<<2)>>2]=c[f+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0));da=321}if((da|0)==321){da=0;if(x<<24>>24){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[Q>>2]=0;o=c[ja+48+4>>2]|0}c[Q>>2]=w;c[ja+48+8>>2]=C;D=1;p=o}else{D=x;C=o}while(0);c[(c[Q>>2]|0)+(p<<2)>>2]=c[H>>2];p=p+1|0;c[ja+48+4>>2]=p;o=c[P>>2]|0;m:do if((o|0)>0){y=c[O>>2]|0;w=c[H>>2]|0;f=0;while(1){x=y+(f*24|0)+20|0;f=f+1|0;if((c[x>>2]|0)==(w|0))break;if((f|0)>=(o|0))break m}c[x>>2]=-1}while(0);I=I+1|0;if((I|0)>=(m|0))break;else{o=C;x=D}}a[ja+48+16>>0]=D;da=291}n:do if((da|0)==291){da=0;if((o|0)>0){y=c[O>>2]|0;C=c[$>>2]|0;D=c[ba>>2]|0;H=(B|0)>0;if((C|0)<=0){da=331;break}x=0;while(1){I=c[y+(x*24|0)+20>>2]|0;o:do if((I|0)!=-1){if(!H){p=0;while(1){f=c[D+(p*36|0)+4>>2]|0;if((f|0)>0){w=c[D+(p*36|0)+12>>2]|0;m=0;do{if((c[w+(m<<2)>>2]|0)==(I|0)){m=1;break n}m=m+1|0}while((m|0)<(f|0))}p=p+1|0;if((p|0)>=(C|0))break o}}w=0;do{m=0;while(1){if((c[i+(m<<2)>>2]|0)==(w|0))break;m=m+1|0;if((m|0)>=(B|0)){da=306;break}}do if((da|0)==306){da=0;p=c[D+(w*36|0)+4>>2]|0;if((p|0)<=0)break;f=c[D+(w*36|0)+12>>2]|0;m=0;do{if((c[f+(m<<2)>>2]|0)==(I|0)){m=1;break n}m=m+1|0}while((m|0)<(p|0))}while(0);w=w+1|0}while((w|0)<(C|0))}while(0);x=x+1|0;if((x|0)>=(o|0)){da=331;break}}}else da=331}while(0);if((da|0)==331){da=0;Dh((c[d+52>>2]|0)+24|0,ja+48|0);m=0}if(l|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}l=c[Q>>2]|0;if(l|0){if(a[ja+48+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}c[Q>>2]=0}l=c[O>>2]|0;if(l|0){if(a[ja+84+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}c[O>>2]=0}if(m&(B|0)>0){l=N;da=344}else l=N}else{l=o;i=o;B=1;h=p;da=344}while(0);if((da|0)==344){da=0;w=0;do{x=c[i+(w<<2)>>2]|0;y=c[ba>>2]|0;a[ja+16>>0]=1;c[ja+12>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;f=c[y+(x*36|0)+4>>2]|0;if((f|0)>0){c[7584]=(c[7584]|0)+1;o=lc((f<<2|3)+16|0)|0;do if(!o){m=0;p=0}else{c[(o+4+15&-16)+-4>>2]=o;m=c[ja+12>>2]|0;if((m|0)==0|(a[ja+16>>0]|0)==0){m=o+4+15&-16;p=o+4+15&-16;break}c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0);m=o+4+15&-16;p=o+4+15&-16}while(0);a[ja+16>>0]=1;c[ja+12>>2]=m;c[ja+8>>2]=f;Bl(m|0,0,f<<2|0)|0;c[ja+4>>2]=f;o=c[y+(x*36|0)+12>>2]|0;m=0;do{c[p+(m<<2)>>2]=c[o+(m<<2)>>2];m=m+1|0}while((m|0)!=(f|0));m=c[ja+12>>2]|0}else{c[ja+4>>2]=f;m=0}c[ja+20>>2]=c[y+(x*36|0)+20>>2];c[ja+20+4>>2]=c[y+(x*36|0)+20+4>>2];c[ja+20+8>>2]=c[y+(x*36|0)+20+8>>2];c[ja+20+12>>2]=c[y+(x*36|0)+20+12>>2];Dh((c[d+52>>2]|0)+24|0,ja);if(m|0){if(a[ja+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0)}c[ja+12>>2]=0}w=w+1|0}while((w|0)<(B|0))}if(!((i|0)==0|(l|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}if(!h){_=R;Z=n;break i}}}else{_=0;Z=0}while(0);Y=c[d+52>>2]|0;c[Y+64>>2]=0;c[Y+64+4>>2]=0;c[Y+64+8>>2]=0;c[Y+64+12>>2]=0;h=c[Y+28>>2]|0;if((h|0)>0){W=0;w=0;i=0;l=0;I=0;D=0;p=0;m=0;H=0;f=0;n=0;B=0;y=0;x=0;o=0;while(1){C=c[Y+36>>2]|0;V=c[C+(W*36|0)+4>>2]|0;if((V|0)>0){U=W&65535;T=W|-65536;O=0;d=I;P=f;h=C;N=o;while(1){S=O+1|0;Q=c[h+(W*36|0)+12>>2]|0;f=c[Q+(O<<2)>>2]&65535;O=c[Q+(((S|0)==(V|0)?0:S)<<2)>>2]&65535;Q=O<<16>>16>f<<16>>16?f:O;R=O<<16>>16>f<<16>>16?O:f;o=O<<16>>16>f<<16>>16?f:O;f=O<<16>>16>f<<16>>16?O:f;O=P+-1|0;p:do if((((o&65535)<<16)+(f<<16>>16)&O)>>>0<d>>>0?(ea=c[l+((((o&65535)<<16)+(f<<16>>16)&O)<<2)>>2]|0,(ea|0)!=-1):0){h=ea;while(1){if(f<<16>>16==(b[i+(h<<2)>>1]|0)?o<<16>>16==(b[i+(h<<2)+2>>1]|0):0)break;h=c[m+(h<<2)>>2]|0;if((h|0)==-1){I=0;break p}}I=n+(h<<2)|0}else I=0;while(0);h=c[Y+16>>2]|0;v=+g[h+(o<<16>>16<<4)>>2]-+g[h+(f<<16>>16<<4)>>2];E=+g[h+(o<<16>>16<<4)+4>>2]-+g[h+(f<<16>>16<<4)+4>>2];t=+g[h+(o<<16>>16<<4)+8>>2]-+g[h+(f<<16>>16<<4)+8>>2];u=1.0/+A(+(v*v+E*E+t*t));h=c[Y+48>>2]|0;q:do if((h|0)>0){f=c[Y+56>>2]|0;o=0;while(1){q=+g[f+(o<<4)>>2];r=+g[f+(o<<4)+4>>2];s=+g[f+(o<<4)+8>>2];do if(!(+z(+(q-v*u))>1.0e-06)){if(+z(+(r-E*u))>1.0e-06)break;if(!(+z(+(s-t*u))>1.0e-06))break q}while(0);do if(!(+z(+(v*u+q))>1.0e-06)){if(+z(+(E*u+r))>1.0e-06)break;if(!(+z(+(t*u+s))>1.0e-06))break q}while(0);o=o+1|0;if((o|0)>=(h|0)){da=387;break}}}else da=387;while(0);if((da|0)==387){da=0;do if((h|0)==(c[Y+52>>2]|0)){C=(h|0)==0?1:h<<1;if((h|0)>=(C|0))break;if(!C)f=0;else{c[7584]=(c[7584]|0)+1;h=lc((C<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}f=h;h=c[Y+48>>2]|0}if((h|0)>0){o=0;do{ka=f+(o<<4)|0;la=(c[Y+56>>2]|0)+(o<<4)|0;c[ka>>2]=c[la>>2];c[ka+4>>2]=c[la+4>>2];c[ka+8>>2]=c[la+8>>2];c[ka+12>>2]=c[la+12>>2];o=o+1|0}while((o|0)!=(h|0))}h=c[Y+56>>2]|0;if(h|0){if(a[Y+60>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[Y+56>>2]=0}a[Y+60>>0]=1;c[Y+56>>2]=f;c[Y+52>>2]=C;h=c[Y+48>>2]|0}while(0);la=c[Y+56>>2]|0;g[la+(h<<4)>>2]=v*u;g[la+(h<<4)+4>>2]=E*u;g[la+(h<<4)+8>>2]=t*u;g[la+(h<<4)+12>>2]=0.0;c[Y+48>>2]=(c[Y+48>>2]|0)+1}r:do if(!I){I=((Q&65535)<<16)+(R<<16>>16)&O;s:do if(I>>>0<d>>>0){h=c[l+(I<<2)>>2]|0;if((h|0)==-1)break;while(1){if(R<<16>>16==(b[i+(h<<2)>>1]|0)?Q<<16>>16==(b[i+(h<<2)+2>>1]|0):0)break;h=c[m+(h<<2)>>2]|0;if((h|0)==-1)break s}C=n+(h<<2)|0;b[C>>1]=T;b[C+2>>1]=T>>>16;C=d;f=P;h=B;o=N;break r}while(0);do if((H|0)==(P|0)){f=(H|0)==0?1:H<<1;if((H|0)>=(f|0)){f=H;break}do if(!f)o=0;else{c[7584]=(c[7584]|0)+1;h=lc((f<<2|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((H|0)<=0){if(!n){n=o;break}}else{h=0;do{la=o+(h<<2)|0;ka=n+(h<<2)|0;ka=e[ka>>1]|e[ka+2>>1]<<16;b[la>>1]=ka;b[la+2>>1]=ka>>>16;h=h+1|0}while((h|0)!=(H|0))}c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0);n=o}else f=P;while(0);O=n+(H<<2)|0;b[O>>1]=T;b[O+2>>1]=T>>>16;O=H+1|0;do if((y|0)==(w|0)){w=(y|0)==0?1:y<<1;if((y|0)>=(w|0)){w=y;break}do if(!w)o=0;else{c[7584]=(c[7584]|0)+1;h=lc((w<<2|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((y|0)<=0){if(!i){i=o;break}}else{h=0;do{la=o+(h<<2)|0;ka=i+(h<<2)|0;ka=e[ka>>1]|e[ka+2>>1]<<16;b[la>>1]=ka;b[la+2>>1]=ka>>>16;h=h+1|0}while((h|0)!=(y|0))}c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);i=o}while(0);la=i+(y<<2)|0;b[la>>1]=(Q&65535)<<16|R&65535;b[la+2>>1]=((Q&65535)<<16|R&65535)>>>16;y=y+1|0;if((P|0)<(f|0)){do if((d|0)<(f|0)){do if((B|0)<(f|0)){do if(!f)o=0;else{c[7584]=(c[7584]|0)+1;h=lc((f<<2|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((d|0)<=0){if(!l){l=o;I=f;N=o;break}}else{h=0;do{c[o+(h<<2)>>2]=c[l+(h<<2)>>2];h=h+1|0}while((h|0)!=(d|0))}c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0);l=o;I=f;N=o}else I=B;while(0);B=f<<2;Bl(l+(d<<2)|0,0,B-(d<<2)|0)|0;if((D|0)<(f|0)){do if((p|0)<(f|0)){do if(!f)o=0;else{c[7584]=(c[7584]|0)+1;h=lc((B|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((D|0)<=0){if(!m){p=f;m=o;h=o;break}}else{h=0;do{c[o+(h<<2)>>2]=c[m+(h<<2)>>2];h=h+1|0}while((h|0)!=(D|0))}c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0);p=f;m=o;h=o}else h=x;while(0);Bl(m+(D<<2)|0,0,B-(D<<2)|0)|0;x=h}if((f|0)>0){Bl(N|0,-1,B|0)|0;Bl(x|0,-1,B|0)|0}if((d|0)<=0){C=f;D=f;h=I;o=N;break}o=f+-1|0;h=0;do{la=l+(((e[i+(h<<2)+2>>1]<<16)+(b[i+(h<<2)>>1]|0)&o)<<2)|0;c[m+(h<<2)>>2]=c[la>>2];c[la>>2]=h;h=h+1|0}while((h|0)!=(d|0));C=f;D=f;h=I;o=N}else{C=d;h=B;o=N}while(0);I=((Q&65535)<<16)+(R<<16>>16)&f+-1}else{C=d;h=B;o=N}la=l+(I<<2)|0;c[m+(H<<2)>>2]=c[la>>2];c[la>>2]=H;H=O}else{b[I+2>>1]=U;C=d;f=P;h=B;o=N}while(0);if((S|0)>=(V|0))break;O=S;d=C;P=f;B=h;h=c[Y+36>>2]|0;N=o}B=h;h=c[Y+28>>2]|0}else C=I;W=W+1|0;if((W|0)>=(h|0))break;else I=C}if((h|0)>0){y=c[Y+36>>2]|0;B=c[Y+16>>2]|0;x=0;q=0.0;do{p=c[y+(x*36|0)+4>>2]|0;f=c[y+(x*36|0)+12>>2]|0;w=c[f>>2]|0;if((p|0)>=3){o=1;r=+g[Y+64>>2];s=+g[Y+68>>2];t=+g[Y+72>>2];do{ka=c[f+(o<<2)>>2]|0;o=o+1|0;la=c[f+(((o|0)%(p|0)|0)<<2)>>2]|0;u=+g[B+(w<<4)>>2];v=+g[B+(ka<<4)>>2];F=+g[B+(w<<4)+4>>2];G=+g[B+(ka<<4)+4>>2];K=+g[B+(w<<4)+8>>2];L=+g[B+(ka<<4)+8>>2];E=+g[B+(la<<4)>>2];J=+g[B+(la<<4)+4>>2];M=+g[B+(la<<4)+8>>2];X=+A(+(((u-v)*(F-J)-(F-G)*(u-E))*((u-v)*(F-J)-(F-G)*(u-E))+(((F-G)*(K-M)-(K-L)*(F-J))*((F-G)*(K-M)-(K-L)*(F-J))+((K-L)*(u-E)-(u-v)*(K-M))*((K-L)*(u-E)-(u-v)*(K-M)))))*.5;r=r+(u+v+E)*.3333333432674408*X;g[Y+64>>2]=r;s=s+(F+G+J)*.3333333432674408*X;g[Y+68>>2]=s;t=t+(K+L+M)*.3333333432674408*X;g[Y+72>>2]=t;q=q+X}while((o|0)!=(p+-1|0))}x=x+1|0}while((x|0)!=(h|0));o=Y+64|0;f=i;p=l;i=1}else da=365}else{i=0;l=0;m=0;n=0;da=365}if((da|0)==365){q=0.0;o=Y+64|0;f=i;p=l;i=0}t=1.0/q;u=t*+g[o>>2];g[o>>2]=u;s=t*+g[Y+68>>2];g[Y+68>>2]=s;t=t*+g[Y+72>>2];g[Y+72>>2]=t;g[Y+96>>2]=3402823466385288598117041.0e14;if(i){l=c[Y+36>>2]|0;i=0;r=3402823466385288598117041.0e14;while(1){q=+z(+(+g[l+(i*36|0)+32>>2]+(u*+g[l+(i*36|0)+20>>2]+s*+g[l+(i*36|0)+24>>2]+t*+g[l+(i*36|0)+28>>2])));if(q<r)g[Y+96>>2]=q;else q=r;i=i+1|0;if((i|0)==(h|0)){E=q;break}else r=q}}else E=3402823466385288598117041.0e14;i=c[Y+8>>2]|0;if((i|0)>0){l=c[Y+16>>2]|0;h=0;u=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;do{X=+g[l+(h<<4)>>2];q=X<q?X:q;t=X>t?X:t;X=+g[l+(h<<4)+4>>2];r=X<r?X:r;v=X>v?X:v;X=+g[l+(h<<4)+8>>2];s=X<s?X:s;u=X>u?X:u;h=h+1|0}while((h|0)!=(i|0))}else{u=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14}g[Y+100>>2]=q+t;g[Y+104>>2]=r+v;g[Y+108>>2]=s+u;g[Y+112>>2]=0.0;X=t-q;r=v-r;q=u-s;g[Y+116>>2]=X;g[Y+120>>2]=r;g[Y+124>>2]=q;g[Y+128>>2]=0.0;s=E/1.7320507764816284;o=X<r?(r<q?2:1):X<q?2:0;q=(+g[Y+116+(o<<2)>>2]*.5-s)*.0009765625;g[Y+88>>2]=s;g[Y+84>>2]=s;g[Y+80>>2]=s;r=+g[Y+116+(o<<2)>>2]*.5;g[Y+80+(o<<2)>>2]=r;h=0;while(1){if(vh(Y)|0){da=478;break}r=r-q;g[Y+80+(o<<2)>>2]=r;h=h+1|0;if(h>>>0>=1024){da=477;break}}t:do if((da|0)==477){g[Y+88>>2]=s;g[Y+84>>2]=s;g[Y+80>>2]=s}else if((da|0)==478){q=(+g[Y+96>>2]-s)*.0009765625;h=0;l=c[Y+80+((1<<(1<<o&3)&3)<<2)>>2]|0;while(1){i=c[Y+80+((1<<o&3)<<2)>>2]|0;g[Y+80+((1<<o&3)<<2)>>2]=q+(c[j>>2]=i,+g[j>>2]);r=q+ +g[Y+80+((1<<(1<<o&3)&3)<<2)>>2];g[Y+80+((1<<(1<<o&3)&3)<<2)>>2]=r;h=h+1|0;if(!(vh(Y)|0))break;if(h>>>0>=1024)break t;else l=(g[j>>2]=r,c[j>>2]|0)}c[Y+80+((1<<o&3)<<2)>>2]=i;c[Y+80+((1<<(1<<o&3)&3)<<2)>>2]=l}while(0);if(f|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}if(n|0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0)}if(m|0){c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0)}if(p|0){c[7585]=(c[7585]|0)+1;Bd(c[p+-4>>2]|0)}if(!((Z|0)==0|(_|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[_+-4>>2]|0)}o=c[$>>2]|0;p=c[ba>>2]|0;if((o|0)<=0){if(p|0)da=500}else{h=0;do{l=p+(h*36|0)+4|0;m=p+(h*36|0)+12|0;n=c[m>>2]|0;i=p+(h*36|0)+16|0;if(n|0){if(a[i>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0)}c[m>>2]=0}a[i>>0]=1;c[m>>2]=0;c[l>>2]=0;c[p+(h*36|0)+8>>2]=0;h=h+1|0}while((h|0)!=(o|0));da=500}if((da|0)==500){if(a[ja+104+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[p+-4>>2]|0)}c[ba>>2]=0}if(!((ca|0)==0|(aa|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[aa+-4>>2]|0)}h=c[fa>>2]|0;if(h|0){if(a[ja+124+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[fa>>2]=0}a[ja+124+56>>0]=1;c[fa>>2]=0;c[ja+124+44>>2]=0;c[ja+124+48>>2]=0;h=c[ga>>2]|0;if(h|0){if(a[ja+124+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[ga>>2]=0}a[ja+124+36>>0]=1;c[ga>>2]=0;c[ja+124+24>>2]=0;c[ja+124+28>>2]=0;h=c[ha>>2]|0;if(h|0){if(a[ja+124+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[ha>>2]=0}if(!ia){k=ja;return 1}c[7585]=(c[7585]|0)+1;Bd(c[ia+-4>>2]|0);k=ja;return 1}function ac(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0.0,B=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0.0,K=0,L=0,M=0.0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0.0,sa=0,ta=0,ua=0,va=0;va=k;k=k+688|0;i=c[b+20>>2]|0;if(!i){i=c[b+4>>2]|0;i=xb[c[(c[i>>2]|0)+12>>2]&63](i,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+20>>2]=i;a[b+16>>0]=1}c[h+4>>2]=i;sa=c[d+4>>2]|0;ta=c[e+4>>2]|0;j=c[sa+4>>2]|0;l=c[ta+4>>2]|0;if((j|0)==10&(l|0)==10){R=+g[i+752>>2];qa=c[sa+52>>2]|0;t=+g[sa+28+(qa<<2)>>2];Q=+g[sa+28+(((qa+2|0)%3|0)<<2)>>2];ua=c[ta+52>>2]|0;p=+g[ta+28+(ua<<2)>>2];P=+g[ta+28+(((ua+2|0)%3|0)<<2)>>2];b=c[d+12>>2]|0;d=c[e+12>>2]|0;E=+g[b+(qa<<2)>>2];G=+g[b+16+(qa<<2)>>2];F=+g[b+32+(qa<<2)>>2];o=+g[d+(ua<<2)>>2];q=+g[d+16+(ua<<2)>>2];s=+g[d+32+(ua<<2)>>2];J=+g[d+48>>2];M=+g[d+52>>2];O=+g[d+56>>2];w=J-+g[b+48>>2];y=M-+g[b+52>>2];B=O-+g[b+56>>2];m=1.0-(E*o+G*q+F*s)*(E*o+G*q+F*s);if(!(m==0.0)){m=(E*w+G*y+F*B-(E*o+G*q+F*s)*(o*w+q*y+s*B))/m;if(!(m<-t)){if(m>t)m=t}else m=-t}else m=0.0;n=(E*o+G*q+F*s)*m-(o*w+q*y+s*B);if(n<-p){m=(E*o+G*q+F*s)*-p+(E*w+G*y+F*B);if(!(m<-t))if(m>t){n=-p;m=t}else n=-p;else{n=-p;m=-t}}else if(n>p){m=p*(E*o+G*q+F*s)+(E*w+G*y+F*B);if(!(m<-t))if(m>t){n=p;m=t}else n=p;else{n=p;m=-t}}v=o*n;t=q*n;s=s*n;n=v+(w-E*m);p=t+(y-G*m);m=s+(B-F*m);q=+A(+(m*m+(n*n+p*p)));if(!(q-Q-P>R)){do if(m*m+(n*n+p*p)<=1.4210854715202004e-14)if(+z(+F)>.7071067690849304){m=1.0/+A(+(G*G+F*F));g[va+280>>2]=0.0;g[va+280+4>>2]=-(F*m);g[va+280+8>>2]=G*m;o=0.0;n=-(F*m);m=G*m;break}else{n=1.0/+A(+(E*E+G*G));g[va+280>>2]=-(G*n);g[va+280+4>>2]=E*n;g[va+280+8>>2]=0.0;o=-(G*n);n=E*n;m=0.0;break}else{g[va+280>>2]=n*-(1.0/q);g[va+280+4>>2]=p*-(1.0/q);g[va+280+8>>2]=m*-(1.0/q);g[va+280+12>>2]=0.0;o=n*-(1.0/q);n=p*-(1.0/q);m=m*-(1.0/q)}while(0);g[va+264>>2]=J+v+P*o;g[va+264+4>>2]=M+t+P*n;g[va+264+8>>2]=O+s+P*m;g[va+264+12>>2]=0.0}if(q-Q-P<R)Ob[c[(c[h>>2]|0)+16>>2]&15](h,va+280|0,va+264|0,q-Q-P);i=c[h+4>>2]|0;if(!(c[i+748>>2]|0)){k=va;return}j=c[i+740>>2]|0;l=c[(c[h+8>>2]|0)+8>>2]|0;if((j|0)==(l|0)){qf(i,j+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);k=va;return}else{qf(i,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,l+4|0);k=va;return}}g[va+128+128>>2]=999999984306749440.0;i=c[b+8>>2]|0;u=c[b+12>>2]|0;c[va+48>>2]=13256;c[va+48+4>>2]=0;c[va+48+8>>2]=1065353216;c[va+48+12>>2]=0;g[va+48+16>>2]=0.0;c[va+48+20>>2]=u;c[va+48+24>>2]=i;c[va+48+28>>2]=sa;c[va+48+32>>2]=ta;c[va+48+36>>2]=j;c[va+48+40>>2]=l;g[va+48+44>>2]=+jb[c[(c[sa>>2]|0)+48>>2]&15](sa);g[va+48+48>>2]=+jb[c[(c[ta>>2]|0)+48>>2]&15](ta);a[va+48+52>>0]=0;c[va+48+60>>2]=-1;c[va+48+72>>2]=1;c[va+48+76>>2]=1;c[va+48+28>>2]=sa;c[va+48+32>>2]=ta;pa=+jb[c[(c[sa>>2]|0)+48>>2]&15](sa);ra=+jb[c[(c[ta>>2]|0)+48>>2]&15](ta);ra=pa+ra+ +g[(c[b+20>>2]|0)+752>>2];g[va+128+128>>2]=ra*ra;i=c[d+12>>2]|0;c[va+128>>2]=c[i>>2];c[va+128+4>>2]=c[i+4>>2];c[va+128+8>>2]=c[i+8>>2];c[va+128+12>>2]=c[i+12>>2];l=va+128+16|0;c[l>>2]=c[i+16>>2];c[l+4>>2]=c[i+16+4>>2];c[l+8>>2]=c[i+16+8>>2];c[l+12>>2]=c[i+16+12>>2];u=va+128+32|0;c[u>>2]=c[i+32>>2];c[u+4>>2]=c[i+32+4>>2];c[u+8>>2]=c[i+32+8>>2];c[u+12>>2]=c[i+32+12>>2];x=va+128+48|0;c[x>>2]=c[i+48>>2];c[x+4>>2]=c[i+48+4>>2];c[x+8>>2]=c[i+48+8>>2];c[x+12>>2]=c[i+48+12>>2];i=c[e+12>>2]|0;H=va+128+64|0;c[H>>2]=c[i>>2];c[H+4>>2]=c[i+4>>2];c[H+8>>2]=c[i+8>>2];c[H+12>>2]=c[i+12>>2];I=va+128+80|0;c[I>>2]=c[i+16>>2];c[I+4>>2]=c[i+16+4>>2];c[I+8>>2]=c[i+16+8>>2];c[I+12>>2]=c[i+16+12>>2];K=va+128+96|0;c[K>>2]=c[i+32>>2];c[K+4>>2]=c[i+32+4>>2];c[K+8>>2]=c[i+32+8>>2];c[K+12>>2]=c[i+32+12>>2];L=va+128+112|0;c[L>>2]=c[i+48>>2];c[L+4>>2]=c[i+48+4>>2];c[L+8>>2]=c[i+48+8>>2];c[L+12>>2]=c[i+48+12>>2];i=c[sa+4>>2]|0;if((i|0)<7?(r=c[ta+4>>2]|0,(r|0)<7):0){c[va+40>>2]=9316;if(!i){i=r;n=0.0}else{n=+jb[c[(c[sa>>2]|0)+48>>2]&15](sa);i=c[ta+4>>2]|0}if(!i)m=0.0;else m=+jb[c[(c[ta>>2]|0)+48>>2]&15](ta);c[va>>2]=9344;c[va+4>>2]=h;g[va+24>>2]=n;g[va+28>>2]=m;a[va+36>>0]=0;U=c[sa+52>>2]|0;a:do if(U|0){ma=c[ta+52>>2]|0;do if(!ma){if((c[ta+4>>2]|0)!=1)break a;x=va+624+16|0;a[x>>0]=1;H=va+624+12|0;c[H>>2]=0;u=va+624+4|0;c[u>>2]=0;r=va+624+8|0;c[r>>2]=0;i=c[e+12>>2]|0;pa=+g[ta+56>>2];ra=+g[ta+56+4>>2];n=+g[ta+56+8>>2];o=pa*+g[i>>2]+ra*+g[i+4>>2]+n*+g[i+8>>2]+ +g[i+48>>2];m=pa*+g[i+16>>2]+ra*+g[i+20>>2]+n*+g[i+24>>2]+ +g[i+52>>2];n=pa*+g[i+32>>2]+ra*+g[i+36>>2]+n*+g[i+40>>2]+ +g[i+56>>2];c[7584]=(c[7584]|0)+1;i=lc(35)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[H>>2]|0;if(!i)i=0;else{c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);i=c[u>>2]|0;c[H>>2]=0}a[x>>0]=1;c[H>>2]=j;c[r>>2]=1;g[j+(i<<4)>>2]=o;g[j+(i<<4)+4>>2]=m;g[j+(i<<4)+8>>2]=n;g[j+(i<<4)+12>>2]=0.0;i=(c[u>>2]|0)+1|0;c[u>>2]=i;ua=c[e+12>>2]|0;pa=+g[ta+56+16>>2];ra=+g[ta+56+20>>2];o=+g[ta+56+24>>2];m=pa*+g[ua>>2]+ra*+g[ua+4>>2]+o*+g[ua+8>>2]+ +g[ua+48>>2];n=pa*+g[ua+16>>2]+ra*+g[ua+20>>2]+o*+g[ua+24>>2]+ +g[ua+52>>2];o=pa*+g[ua+32>>2]+ra*+g[ua+36>>2]+o*+g[ua+40>>2]+ +g[ua+56>>2];if((i|0)==(c[r>>2]|0)?(N=(i|0)==0?1:i<<1,(i|0)<(N|0)):0){if(!N)l=0;else{c[7584]=(c[7584]|0)+1;i=lc((N<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}l=i;i=c[u>>2]|0}if((i|0)>0){j=0;do{ua=l+(j<<4)|0;qa=(c[H>>2]|0)+(j<<4)|0;c[ua>>2]=c[qa>>2];c[ua+4>>2]=c[qa+4>>2];c[ua+8>>2]=c[qa+8>>2];c[ua+12>>2]=c[qa+12>>2];j=j+1|0}while((j|0)!=(i|0))}i=c[H>>2]|0;if(i|0){if(a[x>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[H>>2]=0}a[x>>0]=1;c[H>>2]=l;c[r>>2]=N;i=c[u>>2]|0}ua=c[H>>2]|0;g[ua+(i<<4)>>2]=m;g[ua+(i<<4)+4>>2]=n;g[ua+(i<<4)+8>>2]=o;g[ua+(i<<4)+12>>2]=0.0;i=(c[u>>2]|0)+1|0;c[u>>2]=i;ua=c[e+12>>2]|0;pa=+g[ta+56+32>>2];ra=+g[ta+56+36>>2];o=+g[ta+56+40>>2];m=pa*+g[ua>>2]+ra*+g[ua+4>>2]+o*+g[ua+8>>2]+ +g[ua+48>>2];n=pa*+g[ua+16>>2]+ra*+g[ua+20>>2]+o*+g[ua+24>>2]+ +g[ua+52>>2];o=pa*+g[ua+32>>2]+ra*+g[ua+36>>2]+o*+g[ua+40>>2]+ +g[ua+56>>2];if((i|0)==(c[r>>2]|0)?(S=(i|0)==0?1:i<<1,(i|0)<(S|0)):0){if(!S)l=0;else{c[7584]=(c[7584]|0)+1;i=lc((S<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}l=i;i=c[u>>2]|0}if((i|0)>0){j=0;do{ua=l+(j<<4)|0;e=(c[H>>2]|0)+(j<<4)|0;c[ua>>2]=c[e>>2];c[ua+4>>2]=c[e+4>>2];c[ua+8>>2]=c[e+8>>2];c[ua+12>>2]=c[e+12>>2];j=j+1|0}while((j|0)!=(i|0))}i=c[H>>2]|0;if(i|0){if(a[x>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[H>>2]=0}a[x>>0]=1;c[H>>2]=l;c[r>>2]=S;i=c[u>>2]|0}ua=c[H>>2]|0;g[ua+(i<<4)>>2]=m;g[ua+(i<<4)+4>>2]=n;g[ua+(i<<4)+8>>2]=o;g[ua+(i<<4)+12>>2]=0.0;c[u>>2]=(c[u>>2]|0)+1;p=+g[(c[b+20>>2]|0)+752>>2];Kc(va+48|0,va+128|0,va+40|0,c[f+20>>2]|0,0);m=+g[va+48+4>>2];n=+g[va+48+8>>2];o=+g[va+48+12>>2];if(m*m+n*n+o*o>1.1920928955078125e-07){pa=1.0/(m*m+n*n+o*o);g[va+384>>2]=m*pa;g[va+384+4>>2]=n*pa;g[va+384+8>>2]=o*pa;g[va+384+12>>2]=0.0;pa=+g[va+48+56>>2];ra=+jb[c[(c[sa>>2]|0)+48>>2]&15](sa);ra=pa-ra-+jb[c[(c[ta>>2]|0)+48>>2]&15](ta);Jc(va+384|0,c[sa+52>>2]|0,c[d+12>>2]|0,va+624|0,ra-p,p,h)}do if(a[b+16>>0]|0?(T=c[h+4>>2]|0,c[T+748>>2]|0):0){i=c[T+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(j|0)){qf(T,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{qf(T,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,j+4|0);break}}while(0);i=c[H>>2]|0;if(i|0){if(a[x>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[H>>2]=0}}else{ra=+g[(c[b+20>>2]|0)+752>>2];b:do if(!(a[f+24>>0]|0)){Kc(va+48|0,va+128|0,va,c[f+20>>2]|0,0);m=+g[va+32>>2];if(m<0.0&(a[va+36>>0]|0)!=0){n=+g[va+8>>2];o=+g[va+12>>2];p=+g[va+16>>2];i=c[va+20>>2]|0;qa=112}}else{H=c[d+12>>2]|0;I=c[e+12>>2]|0;c[7567]=(c[7567]|0)+1;ha=+g[U+64>>2];ia=+g[U+68>>2];q=+g[H+4>>2];ja=+g[U+72>>2];s=+g[H+8>>2];v=+g[H+16>>2];y=+g[H+20>>2];E=+g[H+24>>2];F=+g[H+32>>2];B=+g[H+36>>2];w=+g[H+40>>2];ka=+g[ma+64>>2];la=+g[ma+68>>2];pa=+g[ma+72>>2];na=ha*+g[H>>2]+ia*q+ja*s+ +g[H+48>>2]-(ka*+g[I>>2]+la*+g[I+4>>2]+pa*+g[I+8>>2]+ +g[I+48>>2]);oa=ha*v+ia*y+ja*E+ +g[H+52>>2]-(ka*+g[I+16>>2]+la*+g[I+20>>2]+pa*+g[I+24>>2]+ +g[I+52>>2]);pa=ha*F+ia*B+ja*w+ +g[H+56>>2]-(ka*+g[I+32>>2]+la*+g[I+36>>2]+pa*+g[I+40>>2]+ +g[I+56>>2]);l=c[U+28>>2]|0;c:do if((l|0)>0){m=3402823466385288598117041.0e14;i=0;t=0.0;n=0.0;o=0.0;p=0.0;G=v;while(1){f=c[U+36>>2]|0;ja=+g[f+(i*36|0)+20>>2];ka=+g[f+(i*36|0)+24>>2];la=+g[f+(i*36|0)+28>>2];v=ja*+g[H>>2]+ka*q+la*s;s=ja*G+ka*y+la*E;q=ja*F+ka*B+la*w;g[va+296>>2]=v;g[va+296+4>>2]=s;g[va+296+8>>2]=q;g[va+296+12>>2]=0.0;if(v*na+s*oa+q*pa<0.0){g[va+296>>2]=-v;g[va+296+4>>2]=-s;g[va+296+8>>2]=-q;E=-v;s=-s;q=-q}else E=v;c[7565]=(c[7565]|0)+1;if(ej(H,I,na,oa,pa,E,s,q,U,ma,m)|0){c[7566]=(c[7566]|0)+1;wh(U,H,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);wh(ma,I,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);v=+g[va+384>>2];w=+g[va+380>>2];do if(v<w)j=0;else{y=+g[va+376>>2];B=+g[va+624>>2];if(y<B){j=0;break}j=1;t=v-w<y-B?v-w:y-B}while(0);if(!j)break;if(t<m){m=t;n=E;o=s;p=q}}i=i+1|0;if((i|0)>=(l|0))break c;q=+g[H+4>>2];s=+g[H+8>>2];G=+g[H+16>>2];y=+g[H+20>>2];E=+g[H+24>>2];F=+g[H+32>>2];B=+g[H+36>>2];w=+g[H+40>>2]}break b}else{m=3402823466385288598117041.0e14;n=0.0;o=0.0;p=0.0}while(0);l=c[ma+28>>2]|0;d:do if((l|0)>0){j=0;v=0.0;while(1){f=c[ma+36>>2]|0;ka=+g[f+(j*36|0)+20>>2];la=+g[f+(j*36|0)+24>>2];t=+g[f+(j*36|0)+28>>2];q=ka*+g[I>>2]+la*+g[I+4>>2]+t*+g[I+8>>2];s=ka*+g[I+16>>2]+la*+g[I+20>>2]+t*+g[I+24>>2];t=ka*+g[I+32>>2]+la*+g[I+36>>2]+t*+g[I+40>>2];g[va+296>>2]=q;g[va+296+4>>2]=s;g[va+296+8>>2]=t;g[va+296+12>>2]=0.0;if(q*na+s*oa+t*pa<0.0){g[va+296>>2]=-q;g[va+296+4>>2]=-s;g[va+296+8>>2]=-t;q=-q;s=-s;t=-t}c[7565]=(c[7565]|0)+1;if(ej(H,I,na,oa,pa,q,s,t,U,ma,m)|0){c[7566]=(c[7566]|0)+1;wh(U,H,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);wh(ma,I,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);w=+g[va+384>>2];y=+g[va+380>>2];do if(w<y)i=0;else{B=+g[va+376>>2];E=+g[va+624>>2];if(B<E){i=0;break}i=1;v=w-y<B-E?w-y:B-E}while(0);if(!i)break;if(v<m){m=v;n=q;o=s;p=t}}j=j+1|0;if((j|0)>=(l|0))break d}break b}while(0);l=c[U+48>>2]|0;e:do if((l|0)>0){x=0;j=-1;i=-1;t=0.0;B=0.0;V=0.0;W=0.0;E=0.0;F=0.0;R=0.0;Q=0.0;s=0.0;y=0.0;P=0.0;q=0.0;w=0.0;M=0.0;O=0.0;X=0.0;v=0.0;G=0.0;J=0.0;r=c[ma+48>>2]|0;f:while(1){f=c[U+56>>2]|0;ha=+g[f+(x<<4)>>2];ia=+g[f+(x<<4)+4>>2];la=+g[f+(x<<4)+8>>2];ja=ha*+g[H>>2]+ia*+g[H+4>>2]+la*+g[H+8>>2];ka=ha*+g[H+16>>2]+ia*+g[H+20>>2]+la*+g[H+24>>2];la=ha*+g[H+32>>2]+ia*+g[H+36>>2]+la*+g[H+40>>2];if((r|0)>0){u=0;ha=t;ia=n;Z=B;ba=E;ca=F;ga=o;fa=p;ea=X;while(1){f=c[ma+56>>2]|0;$=+g[f+(u<<4)>>2];da=+g[f+(u<<4)+4>>2];aa=+g[f+(u<<4)+8>>2];X=$*+g[I>>2]+da*+g[I+4>>2]+aa*+g[I+8>>2];Y=$*+g[I+16>>2]+da*+g[I+20>>2]+aa*+g[I+24>>2];aa=$*+g[I+32>>2]+da*+g[I+36>>2]+aa*+g[I+40>>2];g[va+296>>2]=ka*aa-la*Y;g[va+296+4>>2]=la*X-ja*aa;g[va+296+8>>2]=ja*Y-ka*X;g[va+296+12>>2]=0.0;do if(!(+z(+(ka*aa-la*Y))>1.0e-06)){if(+z(+(la*X-ja*aa))>1.0e-06){qa=76;break}if(!(+z(+(ja*Y-ka*X))>1.0e-06)){t=ha;n=ia;_=V;$=W;da=R;o=ga;p=fa;X=ea}else qa=76}else qa=76;while(0);do if((qa|0)==76){qa=0;p=1.0/+A(+((ja*Y-ka*X)*(ja*Y-ka*X)+((ka*aa-la*Y)*(ka*aa-la*Y)+(la*X-ja*aa)*(la*X-ja*aa))));n=(ka*aa-la*Y)*p;g[va+296>>2]=n;o=(la*X-ja*aa)*p;g[va+296+4>>2]=o;p=(ja*Y-ka*X)*p;g[va+296+8>>2]=p;if(n*na+o*oa+pa*p<0.0){g[va+296>>2]=-n;g[va+296+4>>2]=-o;g[va+296+8>>2]=-p;n=-n;o=-o;p=-p}c[7565]=(c[7565]|0)+1;if(!(ej(H,I,na,oa,pa,n,o,p,U,ma,m)|0)){t=ha;n=ia;_=V;$=W;da=R;o=ga;p=fa;X=ea;break}c[7566]=(c[7566]|0)+1;wh(U,H,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);wh(ma,I,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);t=+g[va+384>>2];B=+g[va+380>>2];do if(!(t<B)){E=+g[va+376>>2];F=+g[va+624>>2];if(E<F){l=0;t=ha;E=Z;B=ba;F=ca;break}if(t-B<E-F){l=1;t=t-B;E=+g[va+328>>2];V=+g[va+328+4>>2];W=+g[va+328+8>>2];B=+g[va+344>>2];F=+g[va+344+4>>2];R=+g[va+344+8>>2];break}else{l=1;t=E-F;E=+g[va+312>>2];V=+g[va+312+4>>2];W=+g[va+312+8>>2];B=+g[va+360>>2];F=+g[va+360+4>>2];R=+g[va+360+8>>2];break}}else{l=0;t=ha;E=Z;B=ba;F=ca}while(0);if(!l)break f;if(!(t<m)){n=ia;Z=E;_=V;$=W;ba=B;ca=F;da=R;o=ga;p=fa;X=ea;break}m=t;j=u;i=x;Z=E;_=V;$=W;ba=B;ca=F;da=R;Q=E;s=B;y=X;P=ja;q=F;w=Y;M=ka;O=V;X=R;v=aa;G=la;J=W}while(0);u=u+1|0;r=c[ma+48>>2]|0;if((u|0)>=(r|0))break;else{ha=t;ia=n;V=_;W=$;R=da;ga=o;fa=p;ea=X}}B=Z;V=_;W=$;E=ba;F=ca;R=da;l=c[U+48>>2]|0}x=x+1|0;if((x|0)>=(l|0)){m=X;break e}}break b}else{j=-1;i=-1;Q=0.0;s=0.0;y=0.0;P=0.0;q=0.0;w=0.0;M=0.0;O=0.0;m=0.0;v=0.0;G=0.0;J=0.0}while(0);if((j|i|0)>-1){B=Q-s;E=O-q;F=J-m;s=y*P+w*M+v*G;t=B*P+E*M+F*G;m=B*y+E*w+F*v;do if(1.0-s*s==0.0)q=0.0;else{if((t-m*s)/(1.0-s*s)<-1000000015047466219876688.0e6){q=-1000000015047466219876688.0e6;break}if(!((t-m*s)/(1.0-s*s)>1000000015047466219876688.0e6)){q=(t-m*s)/(1.0-s*s);break}q=1000000015047466219876688.0e6}while(0);m=s*q-m;do if(m<-1000000015047466219876688.0e6){if(t-s*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){m=-1000000015047466219876688.0e6;q=-1000000015047466219876688.0e6;break}if(!(t-s*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){m=-1000000015047466219876688.0e6;q=t-s*1000000015047466219876688.0e6;break}m=-1000000015047466219876688.0e6;q=1000000015047466219876688.0e6}else{if(!(m>1000000015047466219876688.0e6))break;if(t+s*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){m=1000000015047466219876688.0e6;q=-1000000015047466219876688.0e6;break}if(!(t+s*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){m=1000000015047466219876688.0e6;q=t+s*1000000015047466219876688.0e6;break}m=1000000015047466219876688.0e6;q=1000000015047466219876688.0e6}while(0);y=y*m;w=w*m;v=v*m;t=y+(B-P*q);s=w+(E-M*q);m=v+(F-G*q);g[va+624>>2]=t;g[va+624+4>>2]=s;g[va+624+8>>2]=m;g[va+624+12>>2]=0.0;if(m*m+(t*t+s*s)>1.1920928955078125e-07){q=+A(+(m*m+(t*t+s*s)));g[va+624>>2]=t*(1.0/q);g[va+624+4>>2]=s*(1.0/q);g[va+624+8>>2]=m*(1.0/q);if(t*(1.0/q)*na+s*(1.0/q)*oa+m*(1.0/q)*pa<0.0){g[va+624>>2]=-(t*(1.0/q));g[va+624+4>>2]=-(s*(1.0/q));g[va+624+8>>2]=-(m*(1.0/q))}g[va+384>>2]=Q+y;g[va+384+4>>2]=O+w;g[va+384+8>>2]=J+v;g[va+384+12>>2]=0.0;Ob[c[(c[h>>2]|0)+16>>2]&15](h,va+624|0,va+384|0,-q)}}if(na*n+oa*o+pa*p<0.0){m=-1000000015047466219876688.0e6;n=-n;o=-o;p=-p;i=0;qa=112}else{m=-1000000015047466219876688.0e6;i=0;qa=112}}while(0);if((qa|0)==112){U=c[sa+52>>2]|0;f=c[ta+52>>2]|0;T=c[d+12>>2]|0;S=c[e+12>>2]|0;O=m-ra;G=1.0/+A(+(n*n+o*o+p*p));M=n*G;J=o*G;G=p*G;g[va+624>>2]=M;g[va+624+4>>2]=J;g[va+624+8>>2]=G;c[va+624+12>>2]=i;l=c[f+28>>2]|0;u=c[f+36>>2]|0;if((l|0)>0){n=+g[S>>2];o=+g[S+4>>2];p=+g[S+8>>2];q=+g[S+16>>2];s=+g[S+20>>2];t=+g[S+24>>2];v=+g[S+32>>2];w=+g[S+36>>2];y=+g[S+40>>2];m=-3402823466385288598117041.0e14;j=0;i=-1;while(1){B=+g[u+(j*36|0)+20>>2];E=+g[u+(j*36|0)+24>>2];F=+g[u+(j*36|0)+28>>2];r=M*(B*n+E*o+F*p)+J*(B*q+E*s+F*t)+G*(B*v+E*w+F*y)>m;i=r?j:i;j=j+1|0;if((j|0)==(l|0)){I=i;break}else m=r?M*(B*n+E*o+F*p)+J*(B*q+E*s+F*t)+G*(B*v+E*w+F*y):m}}else I=-1;a[va+384+16>>0]=1;N=va+384+12|0;c[N>>2]=0;K=va+384+4|0;c[K>>2]=0;c[va+384+8>>2]=0;L=c[u+(I*36|0)+4>>2]|0;g:do if((L|0)>0){H=u+(I*36|0)+12|0;i=0;j=0;l=0;while(1){d=c[(c[H>>2]|0)+(i<<2)>>2]|0;e=c[f+16>>2]|0;oa=+g[e+(d<<4)>>2];pa=+g[e+(d<<4)+4>>2];o=+g[e+(d<<4)+8>>2];m=oa*+g[S>>2]+pa*+g[S+4>>2]+o*+g[S+8>>2]+ +g[S+48>>2];n=oa*+g[S+16>>2]+pa*+g[S+20>>2]+o*+g[S+24>>2]+ +g[S+52>>2];o=oa*+g[S+32>>2]+pa*+g[S+36>>2]+o*+g[S+40>>2]+ +g[S+56>>2];if((j|0)==(l|0)){x=(l|0)==0?1:l<<1;if((l|0)<(x|0)){if(!x){u=0;j=l}else{c[7584]=(c[7584]|0)+1;j=lc((x<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}u=j;j=c[K>>2]|0}r=c[N>>2]|0;if((j|0)<=0){if(r)qa=128}else{l=0;do{d=u+(l<<4)|0;e=r+(l<<4)|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];l=l+1|0}while((l|0)!=(j|0));qa=128}if((qa|0)==128){qa=0;if(a[va+384+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[r+-4>>2]|0);j=c[K>>2]|0}c[N>>2]=0}a[va+384+16>>0]=1;c[N>>2]=u;c[va+384+8>>2]=x}else j=l}d=c[N>>2]|0;g[d+(j<<4)>>2]=m;g[d+(j<<4)+4>>2]=n;g[d+(j<<4)+8>>2]=o;g[d+(j<<4)+12>>2]=0.0;j=(c[K>>2]|0)+1|0;c[K>>2]=j;i=i+1|0;if((i|0)>=(L|0))break g;l=c[va+384+8>>2]|0}}while(0);if((I|0)>-1)Jc(va+624|0,U,T,va+384|0,O,ra,h);i=c[N>>2]|0;if(i|0){if(a[va+384+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[N>>2]=0}}if(a[b+16>>0]|0?(ua=c[h+4>>2]|0,c[ua+748>>2]|0):0){i=c[ua+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(j|0)){qf(ua,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{qf(ua,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,j+4|0);break}}}while(0);k=va;return}while(0)}Kc(va+48|0,va+128|0,h,c[f+20>>2]|0,0);if((c[b+28>>2]|0?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+32>>2]|0):0)?(G=+g[va+48+4>>2],J=+g[va+48+8>>2],M=+g[va+48+12>>2],G*G+J*J+M*M>1.1920928955078125e-07):0){F=1.0/(G*G+J*J+M*M);if(+z(+(M*F))>.7071067690849304){o=1.0/+A(+(M*F*M*F+J*F*J*F));n=0.0;p=J*F*o;o=-(M*F*o)}else{o=1.0/+A(+(G*F*G*F+J*F*J*F));n=-(J*F*o);p=0.0;o=G*F*o}E=+jb[c[(c[sa>>2]|0)+16>>2]&15](sa);y=+jb[c[(c[ta>>2]|0)+16>>2]&15](ta);m=.019999999552965164/(E<y?E:y);if(E<y){c[va+624>>2]=c[va+128>>2];c[va+624+4>>2]=c[va+128+4>>2];c[va+624+8>>2]=c[va+128+8>>2];c[va+624+12>>2]=c[va+128+12>>2];c[va+624+16>>2]=c[l>>2];c[va+624+16+4>>2]=c[l+4>>2];c[va+624+16+8>>2]=c[l+8>>2];c[va+624+16+12>>2]=c[l+12>>2];c[va+624+32>>2]=c[u>>2];c[va+624+32+4>>2]=c[u+4>>2];c[va+624+32+8>>2]=c[u+8>>2];c[va+624+32+12>>2]=c[u+12>>2];c[va+624+48>>2]=c[x>>2];c[va+624+48+4>>2]=c[x+4>>2];c[va+624+48+8>>2]=c[x+8>>2];c[va+624+48+12>>2]=c[x+12>>2]}else{c[va+624>>2]=c[H>>2];c[va+624+4>>2]=c[H+4>>2];c[va+624+8>>2]=c[H+8>>2];c[va+624+12>>2]=c[H+12>>2];c[va+624+16>>2]=c[I>>2];c[va+624+16+4>>2]=c[I+4>>2];c[va+624+16+8>>2]=c[I+8>>2];c[va+624+16+12>>2]=c[I+12>>2];c[va+624+32>>2]=c[K>>2];c[va+624+32+4>>2]=c[K+4>>2];c[va+624+32+8>>2]=c[K+8>>2];c[va+624+32+12>>2]=c[K+12>>2];c[va+624+48>>2]=c[L>>2];c[va+624+48+4>>2]=c[L+4>>2];c[va+624+48+8>>2]=c[L+8>>2];c[va+624+48+12>>2]=c[L+12>>2]}i=c[b+28>>2]|0;if((i|0)>0){B=n*n+o*o+p*p;q=+A(+B);s=(m>.39269909262657166?.39269909262657166:m)*.5;q=+D(+s)/q;w=n*q;v=o*q;q=p*q;s=+C(+s);t=+A(+(M*F*M*F+(G*F*G*F+J*F*J*F)));j=0;do{if(B>1.1920928955078125e-07){p=6.2831854820251465/+(i|0)*+(j|0)*.5;o=+D(+p)/t;m=G*F*o;n=J*F*o;o=M*F*o;p=+C(+p);if(E<y){la=o*(w*-o+(v*p+s*-n)-q*-m)+(m*(s*p-w*-m-v*-n-q*-o)+p*(q*-n+(w*p+s*-m)-v*-o))-n*(v*-m+(q*p+s*-o)-w*-n);oa=m*(v*-m+(q*p+s*-o)-w*-n)+(p*(w*-o+(v*p+s*-n)-q*-m)+n*(s*p-w*-m-v*-n-q*-o))-o*(q*-n+(w*p+s*-m)-v*-o);aa=n*(q*-n+(w*p+s*-m)-v*-o)+(o*(s*p-w*-m-v*-n-q*-o)+p*(v*-m+(q*p+s*-o)-w*-n))-m*(w*-o+(v*p+s*-n)-q*-m);ja=p*(s*p-w*-m-v*-n-q*-o)-m*(q*-n+(w*p+s*-m)-v*-o)-n*(w*-o+(v*p+s*-n)-q*-m)-o*(v*-m+(q*p+s*-o)-w*-n);na=la*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));pa=oa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ia=aa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ua=c[d+12>>2]|0;ba=+g[ua>>2];ca=+g[ua+16>>2];da=+g[ua+32>>2];ea=+g[ua+4>>2];fa=+g[ua+20>>2];ga=+g[ua+36>>2];ha=+g[ua+8>>2];ka=+g[ua+24>>2];ra=+g[ua+40>>2];g[va+128>>2]=(1.0-(oa*pa+aa*ia))*ba+(la*pa-ja*ia)*ca+(la*ia+ja*pa)*da;g[va+128+4>>2]=(1.0-(oa*pa+aa*ia))*ea+(la*pa-ja*ia)*fa+(la*ia+ja*pa)*ga;g[va+128+8>>2]=(1.0-(oa*pa+aa*ia))*ha+(la*pa-ja*ia)*ka+(la*ia+ja*pa)*ra;g[va+128+12>>2]=0.0;g[va+128+16>>2]=(la*pa+ja*ia)*ba+(1.0-(la*na+aa*ia))*ca+(oa*ia-ja*na)*da;g[va+128+20>>2]=(la*pa+ja*ia)*ea+(1.0-(la*na+aa*ia))*fa+(oa*ia-ja*na)*ga;g[va+128+24>>2]=(la*pa+ja*ia)*ha+(1.0-(la*na+aa*ia))*ka+(oa*ia-ja*na)*ra;g[va+128+28>>2]=0.0;g[va+128+32>>2]=(la*ia-ja*pa)*ba+(oa*ia+ja*na)*ca+(1.0-(la*na+oa*pa))*da;g[va+128+36>>2]=(la*ia-ja*pa)*ea+(oa*ia+ja*na)*fa+(1.0-(la*na+oa*pa))*ga;g[va+128+40>>2]=(la*ia-ja*pa)*ha+(oa*ia+ja*na)*ka+(1.0-(la*na+oa*pa))*ra;g[va+128+44>>2]=0.0;ua=c[e+12>>2]|0;c[H>>2]=c[ua>>2];c[H+4>>2]=c[ua+4>>2];c[H+8>>2]=c[ua+8>>2];c[H+12>>2]=c[ua+12>>2];c[I>>2]=c[ua+16>>2];c[I+4>>2]=c[ua+16+4>>2];c[I+8>>2]=c[ua+16+8>>2];c[I+12>>2]=c[ua+16+12>>2];c[K>>2]=c[ua+32>>2];c[K+4>>2]=c[ua+32+4>>2];c[K+8>>2]=c[ua+32+8>>2];c[K+12>>2]=c[ua+32+12>>2];c[L>>2]=c[ua+48>>2];c[L+4>>2]=c[ua+48+4>>2];c[L+8>>2]=c[ua+48+8>>2];c[L+12>>2]=c[ua+48+12>>2]}else{ua=c[d+12>>2]|0;c[va+128>>2]=c[ua>>2];c[va+128+4>>2]=c[ua+4>>2];c[va+128+8>>2]=c[ua+8>>2];c[va+128+12>>2]=c[ua+12>>2];c[l>>2]=c[ua+16>>2];c[l+4>>2]=c[ua+16+4>>2];c[l+8>>2]=c[ua+16+8>>2];c[l+12>>2]=c[ua+16+12>>2];c[u>>2]=c[ua+32>>2];c[u+4>>2]=c[ua+32+4>>2];c[u+8>>2]=c[ua+32+8>>2];c[u+12>>2]=c[ua+32+12>>2];c[x>>2]=c[ua+48>>2];c[x+4>>2]=c[ua+48+4>>2];c[x+8>>2]=c[ua+48+8>>2];c[x+12>>2]=c[ua+48+12>>2];la=o*(w*-o+(v*p+s*-n)-q*-m)+(m*(s*p-w*-m-v*-n-q*-o)+p*(q*-n+(w*p+s*-m)-v*-o))-n*(v*-m+(q*p+s*-o)-w*-n);oa=m*(v*-m+(q*p+s*-o)-w*-n)+(p*(w*-o+(v*p+s*-n)-q*-m)+n*(s*p-w*-m-v*-n-q*-o))-o*(q*-n+(w*p+s*-m)-v*-o);aa=n*(q*-n+(w*p+s*-m)-v*-o)+(o*(s*p-w*-m-v*-n-q*-o)+p*(v*-m+(q*p+s*-o)-w*-n))-m*(w*-o+(v*p+s*-n)-q*-m);ja=p*(s*p-w*-m-v*-n-q*-o)-m*(q*-n+(w*p+s*-m)-v*-o)-n*(w*-o+(v*p+s*-n)-q*-m)-o*(v*-m+(q*p+s*-o)-w*-n);na=la*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));pa=oa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ia=aa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ua=c[e+12>>2]|0;ba=+g[ua>>2];ca=+g[ua+16>>2];da=+g[ua+32>>2];ea=+g[ua+4>>2];fa=+g[ua+20>>2];ga=+g[ua+36>>2];ha=+g[ua+8>>2];ka=+g[ua+24>>2];ra=+g[ua+40>>2];g[va+128+64>>2]=(1.0-(oa*pa+aa*ia))*ba+(la*pa-ja*ia)*ca+(la*ia+ja*pa)*da;g[va+128+68>>2]=(1.0-(oa*pa+aa*ia))*ea+(la*pa-ja*ia)*fa+(la*ia+ja*pa)*ga;g[va+128+72>>2]=(1.0-(oa*pa+aa*ia))*ha+(la*pa-ja*ia)*ka+(la*ia+ja*pa)*ra;g[va+128+76>>2]=0.0;g[va+128+80>>2]=(la*pa+ja*ia)*ba+(1.0-(la*na+aa*ia))*ca+(oa*ia-ja*na)*da;g[va+128+84>>2]=(la*pa+ja*ia)*ea+(1.0-(la*na+aa*ia))*fa+(oa*ia-ja*na)*ga;g[va+128+88>>2]=(la*pa+ja*ia)*ha+(1.0-(la*na+aa*ia))*ka+(oa*ia-ja*na)*ra;g[va+128+92>>2]=0.0;g[va+128+96>>2]=(la*ia-ja*pa)*ba+(oa*ia+ja*na)*ca+(1.0-(la*na+oa*pa))*da;g[va+128+100>>2]=(la*ia-ja*pa)*ea+(oa*ia+ja*na)*fa+(1.0-(la*na+oa*pa))*ga;g[va+128+104>>2]=(la*ia-ja*pa)*ha+(oa*ia+ja*na)*ka+(1.0-(la*na+oa*pa))*ra;g[va+128+108>>2]=0.0}i=c[f+20>>2]|0;c[va+384>>2]=9372;c[va+384+32>>2]=h;c[va+384+36>>2]=c[va+128>>2];c[va+384+36+4>>2]=c[va+128+4>>2];c[va+384+36+8>>2]=c[va+128+8>>2];c[va+384+36+12>>2]=c[va+128+12>>2];c[va+384+52>>2]=c[l>>2];c[va+384+52+4>>2]=c[l+4>>2];c[va+384+52+8>>2]=c[l+8>>2];c[va+384+52+12>>2]=c[l+12>>2];c[va+384+68>>2]=c[u>>2];c[va+384+68+4>>2]=c[u+4>>2];c[va+384+68+8>>2]=c[u+8>>2];c[va+384+68+12>>2]=c[u+12>>2];c[va+384+84>>2]=c[x>>2];c[va+384+84+4>>2]=c[x+4>>2];c[va+384+84+8>>2]=c[x+8>>2];c[va+384+84+12>>2]=c[x+12>>2];c[va+384+100>>2]=c[H>>2];c[va+384+100+4>>2]=c[H+4>>2];c[va+384+100+8>>2]=c[H+8>>2];c[va+384+100+12>>2]=c[H+12>>2];c[va+384+116>>2]=c[I>>2];c[va+384+116+4>>2]=c[I+4>>2];c[va+384+116+8>>2]=c[I+8>>2];c[va+384+116+12>>2]=c[I+12>>2];c[va+384+132>>2]=c[K>>2];c[va+384+132+4>>2]=c[K+4>>2];c[va+384+132+8>>2]=c[K+8>>2];c[va+384+132+12>>2]=c[K+12>>2];c[va+384+148>>2]=c[L>>2];c[va+384+148+4>>2]=c[L+4>>2];c[va+384+148+8>>2]=c[L+8>>2];c[va+384+148+12>>2]=c[L+12>>2];c[va+384+164>>2]=c[va+624>>2];c[va+384+164+4>>2]=c[va+624+4>>2];c[va+384+164+8>>2]=c[va+624+8>>2];c[va+384+164+12>>2]=c[va+624+12>>2];c[va+384+180>>2]=c[va+624+16>>2];c[va+384+180+4>>2]=c[va+624+16+4>>2];c[va+384+180+8>>2]=c[va+624+16+8>>2];c[va+384+180+12>>2]=c[va+624+16+12>>2];c[va+384+196>>2]=c[va+624+32>>2];c[va+384+196+4>>2]=c[va+624+32+4>>2];c[va+384+196+8>>2]=c[va+624+32+8>>2];c[va+384+196+12>>2]=c[va+624+32+12>>2];c[va+384+212>>2]=c[va+624+48>>2];c[va+384+212+4>>2]=c[va+624+48+4>>2];c[va+384+212+8>>2]=c[va+624+48+8>>2];c[va+384+212+12>>2]=c[va+624+48+12>>2];a[va+384+228>>0]=E<y&1;c[va+384+232>>2]=i;Kc(va+48|0,va+128|0,va+384|0,i,0);i=c[b+28>>2]|0}j=j+1|0}while((j|0)<(i|0))}}if(!(a[b+16>>0]|0)){k=va;return}i=c[h+4>>2]|0;if(!(c[i+748>>2]|0)){k=va;return}j=c[i+740>>2]|0;l=c[(c[h+8>>2]|0)+8>>2]|0;if((j|0)==(l|0)){qf(i,j+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);k=va;return}else{qf(i,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,l+4|0);k=va;return}}function bc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0;N=k;k=k+16|0;f=c[b+1112>>2]|0;a:do if((f|0)>0)while(1){n=c[c[b+1120>>2]>>2]|0;f=c[n+348>>2]|0;if(f|0){xh(b+1048|0,f)|0;h=c[b+1052>>2]|0;if(h|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}f=c[n+52>>2]|0;if(f|0){if(a[n+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[n+52>>2]=0}a[n+56>>0]=1;c[n+52>>2]=0;c[n+44>>2]=0;c[n+48>>2]=0;f=c[n+32>>2]|0;if(f|0){if(a[n+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[n+32>>2]=0}a[n+36>>0]=1;c[n+32>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=c[n+12>>2]|0;if(f|0){if(a[n+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[n+12>>2]=0}a[n+16>>0]=1;c[n+12>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0);f=c[b+1112>>2]|0;if((f|0)<=0){h=f;break a}j=c[b+1120>>2]|0;h=0;do{i=j+(h<<2)|0;if((c[i>>2]|0)==(n|0)){L=23;break}h=h+1|0}while((h|0)<(f|0));if((L|0)==23){L=0;if((h|0)<(f|0)){c[i>>2]=c[j+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=n;c[b+1112>>2]=f+-1;f=f+-1|0}}if((f|0)<=0){h=f;break}}else h=f;while(0);f=c[b+712>>2]|0;f=(f|0)>(d|0)?d:f;if((h|0)<(f|0)){if((c[b+1116>>2]|0)<(f|0)){if(f){c[7584]=(c[7584]|0)+1;i=lc((f<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n=c[b+1112>>2]|0;if((n|0)>0){j=0;do{c[i+(j<<2)>>2]=c[(c[b+1120>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0));j=i;i=b+1120|0}else{j=i;i=b+1120|0}}else{j=0;i=b+1120|0}n=c[i>>2]|0;if(n|0){if(a[b+1124>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0)}c[i>>2]=0}a[b+1124>>0]=1;c[i>>2]=j;c[b+1116>>2]=f}else i=b+1120|0;do{c[(c[i>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=(f|0))}c[b+1112>>2]=f;if((f|0)>0){h=0;do{c[7584]=(c[7584]|0)+1;f=lc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;j=f+348|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;j=c[b+1120>>2]|0;a[(c[j+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0;f=c[b+1112>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=c[b+712>>2]|0;if((i|0)>0){h=0;l=0.0;m=0.0;o=0.0;n=f;while(1){q=c[b+720>>2]|0;p=l+ +g[q+(h*104|0)+8>>2];m=m+ +g[q+(h*104|0)+12>>2];x=o+ +g[q+(h*104|0)+16>>2];d=c[j+(((h*29873|0)%(n|0)|0)<<2)>>2]|0;q=q+(h*104|0)|0;j=c[d+24>>2]|0;if((j|0)==(c[d+28>>2]|0)?(r=(j|0)==0?1:j<<1,(j|0)<(r|0)):0){if(!r)i=0;else{c[7584]=(c[7584]|0)+1;i=lc((r<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[d+24>>2]|0}if((j|0)>0){n=0;do{c[i+(n<<2)>>2]=c[(c[d+32>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(j|0))}n=c[d+32>>2]|0;if(n){if(a[d+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0);j=c[d+24>>2]|0}c[d+32>>2]=0}a[d+36>>0]=1;c[d+32>>2]=i;c[d+28>>2]=r;i=c[b+712>>2]|0}c[(c[d+32>>2]|0)+(j<<2)>>2]=q;c[d+24>>2]=j+1;h=h+1|0;if((h|0)>=(i|0))break;l=p;o=x;n=c[b+1112>>2]|0;j=c[b+1120>>2]|0}l=1.0/+(i|0);if((f|0)>=0)if(!f){i=0;o=p*l;m=m*l;l=x*l;L=72}else{o=p*l;m=m*l;l=x*l;L=70}else{D=b+720|0;H=0;G=0}}else{o=1.0/+(i|0)*0.0;m=1.0/+(i|0)*0.0;l=1.0/+(i|0)*0.0;L=70}if((L|0)==70){c[7584]=(c[7584]|0)+1;h=lc((f<<4|3)+16|0)|0;if(!h){i=0;L=72}else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16;L=72}}if((L|0)==72){h=0;do{g[i+(h<<4)>>2]=o;g[i+(h<<4)+4>>2]=m;g[i+(h<<4)+8>>2]=l;g[i+(h<<4)+12>>2]=0.0;h=h+1|0}while((h|0)!=(f|0));D=b+720|0;H=i;G=i}u=H+4|0;v=H+8|0;t=0;do{A=+(t|0)*.0625;A=2.0-(A>1.0?1.0:A);n=0;d=0;while(1){h=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;j=c[h+24>>2]|0;if((j|0)>0){i=c[h+32>>2]|0;L=c[i>>2]|0;o=+g[L+8>>2]+0.0;m=+g[L+12>>2]+0.0;l=+g[L+16>>2]+0.0;if((j|0)==1)L=82;else{h=1;do{L=c[i+(h<<2)>>2]|0;o=o+ +g[L+8>>2];m=m+ +g[L+12>>2];l=l+ +g[L+16>>2];h=h+1|0}while((h|0)<(j|0));L=80}}else{l=0.0;m=0.0;o=0.0;L=80}if((L|0)==80){L=0;if(!j)s=n;else L=82}if((L|0)==82){L=0;s=H+(d<<4)|0;p=+g[s>>2];w=H+(d<<4)+4|0;x=+g[w>>2];h=H+(d<<4)+8|0;y=+g[h>>2];o=p+A*(o*(1.0/+(j|0))-p);m=x+A*(m*(1.0/+(j|0))-x);l=y+A*(l*(1.0/+(j|0))-y);g[s>>2]=o;g[w>>2]=m;g[h>>2]=l;g[H+(d<<4)+12>>2]=0.0;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;h=c[j+24>>2]|0;if((h|0)<0){if((c[j+28>>2]|0)<0){i=c[j+32>>2]|0;if(i|0){if(a[j+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=0;c[j+28>>2]=0}do{c[(c[j+32>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[j+24>>2]=0;s=n|(o-p)*(o-p)+(m-x)*(m-x)+(l-y)*(l-y)>1.1920928955078125e-07}d=d+1|0;if((d|0)>=(f|0))break;else n=s}t=t+1|0;h=c[b+712>>2]|0;b:do if((h|0)>0){if((f|0)<=1){q=0;while(1){n=c[c[b+1120>>2]>>2]|0;d=(c[D>>2]|0)+(q*104|0)|0;i=c[n+24>>2]|0;if((i|0)==(c[n+28>>2]|0)?(F=(i|0)==0?1:i<<1,(i|0)<(F|0)):0){if(!F)h=0;else{c[7584]=(c[7584]|0)+1;h=lc((F<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[n+24>>2]|0}if((i|0)>0){j=0;do{c[h+(j<<2)>>2]=c[(c[n+32>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}j=c[n+32>>2]|0;if(j){if(a[n+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0);i=c[n+24>>2]|0}c[n+32>>2]=0}a[n+36>>0]=1;c[n+32>>2]=h;c[n+28>>2]=F;h=c[b+712>>2]|0}c[(c[n+32>>2]|0)+(i<<2)>>2]=d;c[n+24>>2]=i+1;q=q+1|0;if((q|0)>=(h|0))break b}}r=0;do{d=c[D>>2]|0;m=+g[d+(r*104|0)+8>>2];o=+g[d+(r*104|0)+12>>2];p=+g[d+(r*104|0)+16>>2];i=1;l=+z(+(+g[H>>2]-m))+ +z(+(+g[u>>2]-o))+ +z(+(+g[v>>2]-p));j=0;while(1){x=+z(+(+g[H+(i<<4)>>2]-m))+ +z(+(+g[H+(i<<4)+4>>2]-o))+ +z(+(+g[H+(i<<4)+8>>2]-p));n=x<l;j=n?i:j;i=i+1|0;if((i|0)==(f|0))break;else l=n?x:l}q=c[(c[b+1120>>2]|0)+(j<<2)>>2]|0;n=d+(r*104|0)|0;i=c[q+24>>2]|0;if((i|0)==(c[q+28>>2]|0)?(E=(i|0)==0?1:i<<1,(i|0)<(E|0)):0){if(!E)h=0;else{c[7584]=(c[7584]|0)+1;h=lc((E<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[q+24>>2]|0}if((i|0)>0){j=0;do{c[h+(j<<2)>>2]=c[(c[q+32>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}j=c[q+32>>2]|0;if(j){if(a[q+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0);i=c[q+24>>2]|0}c[q+32>>2]=0}a[q+36>>0]=1;c[q+32>>2]=h;c[q+28>>2]=E;h=c[b+712>>2]|0}c[(c[q+32>>2]|0)+(i<<2)>>2]=n;c[q+24>>2]=i+1;r=r+1|0}while((r|0)<(h|0))}while(0)}while((t|0)<(e|0)&s);if((h|0)>0){h=h<<2;c[7584]=(c[7584]|0)+1;f=lc((h|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}Bl(f|0,-1,h|0)|0;w=f;v=f}else{w=0;v=0}f=c[b+1112>>2]|0;if((f|0)>0){d=c[b+1120>>2]|0;n=0;do{j=c[d+(n<<2)>>2]|0;if((c[j+24>>2]|0)>0){h=c[D>>2]|0;i=c[j+32>>2]|0;c[w+((((c[i>>2]|0)-h|0)/104|0)<<2)>>2]=n;if((c[j+24>>2]|0)>1){f=1;do{c[w+((((c[i+(f<<2)>>2]|0)-h|0)/104|0)<<2)>>2]=n;f=f+1|0}while((f|0)<(c[j+24>>2]|0))}f=c[b+1112>>2]|0}n=n+1|0}while((n|0)<(f|0))}if((c[b+752>>2]|0)>0){s=0;do{F=c[b+760>>2]|0;d=c[D>>2]|0;f=((c[F+(s*44|0)+8>>2]|0)-d|0)/104|0;c[N>>2]=f;c[N+4>>2]=((c[F+(s*44|0)+12>>2]|0)-d|0)/104|0;c[N+8>>2]=((c[F+(s*44|0)+16>>2]|0)-d|0)/104|0;d=0;while(1){q=c[w+(f<<2)>>2]|0;r=d+1|0;f=c[N+(((r|0)==3?0:r)<<2)>>2]|0;c:do if((c[w+(f<<2)>>2]|0)!=(q|0)){n=c[(c[b+1120>>2]|0)+(q<<2)>>2]|0;j=(c[D>>2]|0)+(f*104|0)|0;h=c[n+24>>2]|0;d:do if((h|0)>0){i=c[n+32>>2]|0;f=0;while(1){if((c[i+(f<<2)>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(h|0))break d}if((f|0)!=(h|0))break c}while(0);if((h|0)==(c[n+28>>2]|0)?(J=(h|0)==0?1:h<<1,(h|0)<(J|0)):0){if(!J)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((J<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[n+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[n+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[n+32>>2]|0;if(i){if(a[n+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[n+24>>2]|0}c[n+32>>2]=0}a[n+36>>0]=1;c[n+32>>2]=f;c[n+28>>2]=J;f=h}else f=h;c[(c[n+32>>2]|0)+(f<<2)>>2]=j;c[n+24>>2]=f+1}while(0);f=c[N+((((d+2|0)>>>0)%3|0)<<2)>>2]|0;e:do if((c[w+(f<<2)>>2]|0)!=(q|0)){n=c[(c[b+1120>>2]|0)+(q<<2)>>2]|0;j=(c[D>>2]|0)+(f*104|0)|0;h=c[n+24>>2]|0;f:do if((h|0)>0){i=c[n+32>>2]|0;f=0;while(1){if((c[i+(f<<2)>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(h|0))break f}if((f|0)!=(h|0))break e}while(0);if((h|0)==(c[n+28>>2]|0)?(I=(h|0)==0?1:h<<1,(h|0)<(I|0)):0){if(!I)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((I<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[n+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[n+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[n+32>>2]|0;if(i){if(a[n+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[n+24>>2]|0}c[n+32>>2]=0}a[n+36>>0]=1;c[n+32>>2]=f;c[n+28>>2]=I;f=h}else f=h;c[(c[n+32>>2]|0)+(f<<2)>>2]=j;c[n+24>>2]=f+1}while(0);if(r>>>0>=3)break;d=r;f=c[N+(r<<2)>>2]|0}s=s+1|0}while((s|0)<(c[b+752>>2]|0));f=c[b+1112>>2]|0}if((f|0)>1){c[7584]=(c[7584]|0)+1;f=lc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;q=f+36|0;a[q>>0]=1;r=f+32|0;c[r>>2]=0;s=f+24|0;c[s>>2]=0;t=f+28|0;c[t>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;u=f+348|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;u=f;a[f+377>>0]=0;j=c[b+712>>2]|0;if((j|0)>0){c[7584]=(c[7584]|0)+1;f=lc((j<<2|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}h=c[s>>2]|0;if((h|0)>0){f=0;do{c[i+(f<<2)>>2]=c[(c[r>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[r>>2]|0;if(f|0){if(a[q>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[r>>2]=0}a[q>>0]=1;c[r>>2]=i;c[t>>2]=j;f=c[b+712>>2]|0;if((f|0)>0){d=0;i=c[s>>2]|0;h=j;while(1){n=(c[D>>2]|0)+(d*104|0)|0;do if((i|0)==(h|0)){j=(h|0)==0?1:h<<1;if((h|0)>=(j|0)){j=h;break}if(!j)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[s>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[r>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[r>>2]|0;if(i){if(a[q>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[s>>2]|0}c[r>>2]=0}a[q>>0]=1;c[r>>2]=f;c[t>>2]=j;f=c[b+712>>2]|0}else{j=h;h=i}while(0);c[(c[r>>2]|0)+(h<<2)>>2]=n;i=h+1|0;c[s>>2]=i;d=d+1|0;if((d|0)>=(f|0))break;else h=j}}}f=c[b+1112>>2]|0;if((f|0)==(c[b+1116>>2]|0)?(K=(f|0)==0?1:f<<1,(f|0)<(K|0)):0){if(!K)i=0;else{c[7584]=(c[7584]|0)+1;f=lc((K<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=f;f=c[b+1112>>2]|0}if((f|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[b+1120>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+1120>>2]|0;if(h){if(a[b+1124>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);f=c[b+1112>>2]|0}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=i;c[b+1116>>2]=K}c[(c[b+1120>>2]|0)+(f<<2)>>2]=u;K=f+1|0;c[b+1112>>2]=K;I=c[b+1120>>2]|0;f=I+(f<<2)|0;J=c[I>>2]|0;c[I>>2]=c[f>>2];c[f>>2]=J;f=K}if((f|0)>0){h=0;do{d=c[(c[b+1120>>2]|0)+(h<<2)>>2]|0;g:do if(!(c[d+24>>2]|0)){h=h+-1|0;f=c[d+348>>2]|0;if(f|0){xh(b+1048|0,f)|0;i=c[b+1052>>2]|0;if(i|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}f=c[d+52>>2]|0;if(f|0){if(a[d+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[d+52>>2]=0}a[d+56>>0]=1;c[d+52>>2]=0;c[d+44>>2]=0;c[d+48>>2]=0;f=c[d+32>>2]|0;if(f|0){if(a[d+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[d+32>>2]=0}a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;f=c[d+12>>2]|0;if(f|0){if(a[d+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);f=c[b+1112>>2]|0;if((f|0)>0){n=c[b+1120>>2]|0;i=0;while(1){j=n+(i<<2)|0;if((c[j>>2]|0)==(d|0))break;i=i+1|0;if((i|0)>=(f|0))break g}if((i|0)>=(f|0))break;c[j>>2]=c[n+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=d;c[b+1112>>2]=f+-1;f=f+-1|0}}while(0);h=h+1|0}while((h|0)<(f|0))}if(!((w|0)==0|(v|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[v+-4>>2]|0)}if(!((H|0)==0|(G|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[G+-4>>2]|0)}}else L=244}else L=244;h:do if((L|0)==244){n=c[b+772>>2]|0;if(!n){n=c[b+752>>2]|0;if((f|0)<(n|0)){if((c[b+1116>>2]|0)<(n|0)){if(n){c[7584]=(c[7584]|0)+1;h=lc((n<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+1112>>2]|0;if((j|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0));j=b+1120|0}else j=b+1120|0}else{h=0;j=b+1120|0}i=c[j>>2]|0;if(i|0){if(a[b+1124>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[j>>2]=0}a[b+1124>>0]=1;c[j>>2]=h;c[b+1116>>2]=n}do{c[(c[b+1120>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(n|0))}c[b+1112>>2]=n;if((n|0)>0){h=0;do{c[7584]=(c[7584]|0)+1;f=lc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;L=f+348|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+752>>2]|0)<=0)break;d=0;while(1){j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;n=(c[b+760>>2]|0)+(d*44|0)+8|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(q=(h|0)==0?1:h<<1,(h|0)<(q|0)):0){if(!q)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((q<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=q;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[n>>2];c[j+24>>2]=f+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;n=(c[b+760>>2]|0)+(d*44|0)+12|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(s=(h|0)==0?1:h<<1,(h|0)<(s|0)):0){if(!s)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((s<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=s;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[n>>2];c[j+24>>2]=f+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;n=(c[b+760>>2]|0)+(d*44|0)+16|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(t=(h|0)==0?1:h<<1,(h|0)<(t|0)):0){if(!t)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((t<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=t;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[n>>2];c[j+24>>2]=f+1;d=d+1|0;if((d|0)>=(c[b+752>>2]|0))break h}}if((f|0)<(n|0)){if((c[b+1116>>2]|0)<(n|0)){c[7584]=(c[7584]|0)+1;h=lc((n<<2|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+1112>>2]|0;if((i|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[b+1120>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+1120>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=j;c[b+1116>>2]=n;h=b+1120|0}else h=b+1120|0;do{c[(c[h>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(n|0))}c[b+1112>>2]=n;if((n|0)>0){h=0;do{c[7584]=(c[7584]|0)+1;f=lc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;L=f+348|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+772>>2]|0)>0){d=0;do{j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;n=(c[b+780>>2]|0)+(d*104|0)+8|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(D=(h|0)==0?1:h<<1,(h|0)<(D|0)):0){if(!D)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((D<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=D;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[n>>2];c[j+24>>2]=f+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;n=(c[b+780>>2]|0)+(d*104|0)+12|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(u=(h|0)==0?1:h<<1,(h|0)<(u|0)):0){if(!u)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((u<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=u;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[n>>2];c[j+24>>2]=f+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;n=(c[b+780>>2]|0)+(d*104|0)+16|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(v=(h|0)==0?1:h<<1,(h|0)<(v|0)):0){if(!v)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((v<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=v;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[n>>2];c[j+24>>2]=f+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;n=(c[b+780>>2]|0)+(d*104|0)+20|0;h=c[j+24>>2]|0;if((h|0)==(c[j+28>>2]|0)?(w=(h|0)==0?1:h<<1,(h|0)<(w|0)):0){if(!w)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((w<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[j+24>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=f;c[j+28>>2]=w;f=h}else f=h;c[(c[j+32>>2]|0)+(f<<2)>>2]=c[n>>2];c[j+24>>2]=f+1;d=d+1|0}while((d|0)<(c[b+772>>2]|0))}}while(0);f=c[b+1112>>2]|0;if(!f){b=0;k=N;return b|0}if((f|0)>0){r=0;do{s=c[(c[b+1120>>2]|0)+(r<<2)>>2]|0;g[s+128>>2]=0.0;d=c[s+24>>2]|0;n=c[s+4>>2]|0;if((d|0)>(n|0)){do if((c[s+8>>2]|0)<(d|0)){if(!d){f=0;i=n}else{c[7584]=(c[7584]|0)+1;f=lc((d<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[s+4>>2]|0}j=c[s+12>>2]|0;if((i|0)<=0){if(!j){a[s+16>>0]=1;c[s+12>>2]=f;c[s+8>>2]=d;break}}else{h=0;do{c[f+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}if(a[s+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}a[s+16>>0]=1;c[s+12>>2]=f;c[s+8>>2]=d}else f=c[s+12>>2]|0;while(0);Bl(f+(n<<2)|0,0,d-n<<2|0)|0;q=c[s+24>>2]|0}else q=d;c[s+4>>2]=d;n=(q|0)>0;if(n){h=c[s+32>>2]|0;i=c[s+12>>2]|0;f=0;do{l=+g[(c[h+(f<<2)>>2]|0)+88>>2];if(l==0.0){a[s+376>>0]=1;l=999999984306749440.0}else l=1.0/l;g[i+(f<<2)>>2]=l;m=l+ +g[s+128>>2];g[s+128>>2]=m;f=f+1|0}while((f|0)!=(q|0));g[s+128>>2]=1.0/m;f=0;l=0.0;o=0.0;p=0.0;do{L=c[h+(f<<2)>>2]|0;C=+g[i+(f<<2)>>2];l=l+ +g[L+8>>2]*C;o=o+C*+g[L+12>>2];p=p+C*+g[L+16>>2];f=f+1|0}while((f|0)!=(q|0));m=1.0/m}else{m=1.0/+g[s+128>>2];g[s+128>>2]=m;p=0.0;o=0.0;l=0.0}C=m*l;B=m*o;A=m*p;g[s+228>>2]=C;g[s+232>>2]=B;g[s+236>>2]=A;g[s+240>>2]=0.0;f=s+316|0;h=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=s+132|0;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));if(n){h=c[s+32>>2]|0;i=c[s+12>>2]|0;f=0;l=0.0;m=0.0;o=0.0;p=0.0;x=0.0;y=0.0;do{L=c[h+(f<<2)>>2]|0;R=+g[L+8>>2]-C;P=+g[L+12>>2]-B;Q=+g[L+16>>2]-A;O=+g[i+(f<<2)>>2];l=l+O*(P*P+Q*Q);g[s+132>>2]=l;m=O*(R*R+Q*Q)+m;g[s+152>>2]=m;o=(R*R+P*P)*O+o;g[s+172>>2]=o;p=p-P*R*O;g[s+136>>2]=p;x=x-Q*R*O;g[s+140>>2]=x;y=y-Q*P*O;g[s+156>>2]=y;f=f+1|0}while((f|0)!=(q|0));f=s+136|0;h=s+140|0;i=s+156|0;j=s+152|0}else{f=s+136|0;h=s+140|0;i=s+156|0;j=s+152|0;y=0.0;x=0.0;p=0.0;o=0.0;m=0.0;l=0.0}C=m*o-y*y;O=y*x-o*p;P=y*p-m*x;R=1.0/(C*l+p*O+P*x);Q=(p*x-y*l)*R;g[s+132>>2]=C*R;g[f>>2]=O*R;g[h>>2]=P*R;g[s+144>>2]=0.0;g[s+148>>2]=O*R;g[j>>2]=(o*l-x*x)*R;g[i>>2]=Q;g[s+160>>2]=0.0;g[s+164>>2]=P*R;g[s+168>>2]=Q;g[s+172>>2]=(m*l-p*p)*R;g[s+176>>2]=0.0;c[s+60>>2]=1065353216;c[s+64>>2]=0;c[s+64+4>>2]=0;c[s+64+8>>2]=0;c[s+64+12>>2]=0;c[s+80>>2]=1065353216;c[s+84>>2]=0;c[s+84+4>>2]=0;c[s+84+8>>2]=0;c[s+84+12>>2]=0;c[s+100>>2]=1065353216;c[s+104>>2]=0;c[s+108>>2]=c[s+228>>2];c[s+108+4>>2]=c[s+228+4>>2];c[s+108+8>>2]=c[s+228+8>>2];c[s+108+12>>2]=c[s+228+12>>2];j=c[s+44>>2]|0;if((j|0)<(q|0)){if((c[s+48>>2]|0)<(q|0)){if(!q){f=0;i=j}else{c[7584]=(c[7584]|0)+1;f=lc((q<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[s+44>>2]|0}if((i|0)>0){h=0;do{L=f+(h<<4)|0;K=(c[s+52>>2]|0)+(h<<4)|0;c[L>>2]=c[K>>2];c[L+4>>2]=c[K+4>>2];c[L+8>>2]=c[K+8>>2];c[L+12>>2]=c[K+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[s+52>>2]|0;if(h|0){if(a[s+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[s+52>>2]=0}a[s+56>>0]=1;c[s+52>>2]=f;c[s+48>>2]=q;h=s+52|0}else h=s+52|0;f=j;do{L=(c[h>>2]|0)+(f<<4)|0;c[L>>2]=c[N>>2];c[L+4>>2]=c[N+4>>2];c[L+8>>2]=c[N+8>>2];c[L+12>>2]=c[N+12>>2];f=f+1|0}while((f|0)!=(q|0))}c[s+44>>2]=q;if(n){f=0;do{K=c[(c[s+32>>2]|0)+(f<<2)>>2]|0;Q=+g[K+12>>2]-+g[s+232>>2];R=+g[K+16>>2]-+g[s+236>>2];L=c[s+52>>2]|0;g[L+(f<<4)>>2]=+g[K+8>>2]-+g[s+228>>2];g[L+(f<<4)+4>>2]=Q;g[L+(f<<4)+8>>2]=R;g[L+(f<<4)+12>>2]=0.0;f=f+1|0}while((f|0)<(c[s+44>>2]|0))}r=r+1|0}while((r|0)<(c[b+1112>>2]|0))}Pc(b);f=c[b+1112>>2]|0;d=M(f,f)|0;n=c[b+1132>>2]|0;if((d|0)>(n|0)){do if((c[b+1136>>2]|0)<(d|0)){if(!d){f=0;i=n}else{c[7584]=(c[7584]|0)+1;f=lc(d+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}i=c[b+1132>>2]|0}j=c[b+1140>>2]|0;if((i|0)<=0){if(!j){a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d;break}}else{h=0;do{a[f+h>>0]=a[j+h>>0]|0;h=h+1|0}while((h|0)!=(i|0))}if(a[b+1144>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d}else f=c[b+1140>>2]|0;while(0);Bl(f+n|0,0,d-n|0)|0;f=c[b+1112>>2]|0}c[b+1132>>2]=d;if((f|0)<=0){b=f;k=N;return b|0}w=c[b+1120>>2]|0;t=c[b+1140>>2]|0;s=0;do{u=c[w+(s<<2)>>2]|0;c[u+380>>2]=s;v=c[u+24>>2]|0;r=0;do{q=c[w+(r<<2)>>2]|0;d=0;while(1){if((d|0)>=(v|0)){h=0;break}i=c[q+24>>2]|0;i:do if((i|0)>0){j=c[(c[u+32>>2]|0)+(d<<2)>>2]|0;n=c[q+32>>2]|0;h=0;while(1){if((j|0)==(c[n+(h<<2)>>2]|0)){h=1;break i}h=h+1|0;if((h|0)>=(i|0)){h=0;break}}}else h=0;while(0);if(h){h=1;break}else d=d+1|0}a[t+((M(r,f)|0)+s)>>0]=h;r=r+1|0}while((r|0)!=(f|0));s=s+1|0}while((s|0)!=(f|0));k=N;return f|0}function cc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=k;k=k+96|0;f=c[d+4>>2]|0;i=f>>>0>8?f:8;if((i|0)>0){c[7584]=(c[7584]|0)+1;f=lc((i<<4|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=0;do{Z=h+(f<<4)|0;c[Z>>2]=c[_>>2];c[Z+4>>2]=c[_+4>>2];c[Z+8>>2]=c[_+8>>2];c[Z+12>>2]=c[_+12>>2];f=f+1|0}while((f|0)!=(i|0));Z=h;Y=h;f=c[d+4>>2]|0}else{Z=0;Y=0}j=c[d+8>>2]|0;y=c[d+12>>2]|0;E=+g[d+16>>2];do if(!f){h=1;f=0}else{i=c[b+24>>2]|0;if((i|0)<0){h=c[b+32>>2]|0;if((c[b+28>>2]|0)<0){if(h|0?a[b+36>>0]|0:0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0;h=0}Bl(h+(i<<2)|0,0,M(i,-4)|0)|0}c[b+24>>2]=0;h=j;i=0;p=3402823466385288598117041.0e14;m=-3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;n=-3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14;while(1){R=+g[h>>2];p=R<p?R:p;m=R>m?R:m;R=+g[h+4>>2];r=R<r?R:r;n=R>n?R:n;R=+g[h+8>>2];t=R<t?R:t;o=R>o?R:o;i=i+1|0;if((i|0)==(f|0))break;else h=h+y|0}Q=m-p;R=n-r;o=o-t;D=p+Q*.5;B=r+R*.5;x=t+o*.5;do if(f>>>0<3|(Q<9.999999974752427e-07|R<9.999999974752427e-07|o<9.999999974752427e-07)){p=Q>9.999999974752427e-07&Q<3402823466385288598117041.0e14?Q:3402823466385288598117041.0e14;p=R>9.999999974752427e-07&R<p?R:p;p=o>9.999999974752427e-07&o<p?o:p;if(!(p==3402823466385288598117041.0e14)){n=Q<9.999999974752427e-07?p*.05000000074505806:Q;m=R<9.999999974752427e-07?p*.05000000074505806:R;if(o<9.999999974752427e-07)o=p*.05000000074505806}else{o=.009999999776482582;n=.009999999776482582;m=.009999999776482582}R=D-n;Q=D+n;J=B-m;n=B+m;m=x-o;p=x+o;g[Z>>2]=R;g[Z+4>>2]=J;g[Z+8>>2]=m;g[Z+16>>2]=Q;g[Z+20>>2]=J;g[Z+24>>2]=m;g[Z+32>>2]=Q;g[Z+36>>2]=n;g[Z+40>>2]=m;g[Z+48>>2]=R;g[Z+52>>2]=n;g[Z+56>>2]=m;g[Z+64>>2]=R;g[Z+68>>2]=J;g[Z+72>>2]=p;g[Z+80>>2]=Q;g[Z+84>>2]=J;g[Z+88>>2]=p;g[Z+96>>2]=Q;g[Z+100>>2]=n;g[Z+104>>2]=p;g[Z+112>>2]=R;g[Z+116>>2]=n;g[Z+120>>2]=p;p=1.0;n=1.0;m=1.0;V=8;X=57}else{s=0;v=0;u=j;i=0;while(1){r=1.0/Q*+g[u>>2];t=1.0/R*+g[u+4>>2];w=1.0/o*+g[u+8>>2];u=u+y|0;if(s){h=0;do{j=Z+(h<<4)|0;m=+g[j>>2];l=Z+(h<<4)+4|0;n=+g[l>>2];q=Z+(h<<4)+8|0;p=+g[q>>2];if(+z(+(m-r))<E&+z(+(n-t))<E&+z(+(p-w))<E){X=28;break}h=h+1|0}while(h>>>0<s>>>0);if((X|0)==28){X=0;if((r-1.0/Q*D)*(r-1.0/Q*D)+(t-1.0/R*B)*(t-1.0/R*B)+(w-1.0/o*x)*(w-1.0/o*x)>(m-1.0/Q*D)*(m-1.0/Q*D)+(n-1.0/R*B)*(n-1.0/R*B)+(p-1.0/o*x)*(p-1.0/o*x)){g[j>>2]=r;g[l>>2]=t;g[q>>2]=w}}if((h|0)==(s|0))X=32;else{q=h;K=s}}else{h=0;X=32}if((X|0)==32){X=0;g[Z+(h<<4)>>2]=r;g[Z+(h<<4)+4>>2]=t;g[Z+(h<<4)+8>>2]=w;q=h;K=h+1|0}if((i|0)==(c[b+28>>2]|0)?(C=(i|0)==0?1:i<<1,(i|0)<(C|0)):0){if(!C)h=0;else{c[7584]=(c[7584]|0)+1;h=lc((C<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[b+24>>2]|0}l=c[b+32>>2]|0;if((i|0)<=0){if(l)X=43}else{j=0;do{c[h+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0));X=43}if((X|0)==43){X=0;if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}c[b+32>>2]=0;i=c[b+24>>2]|0}a[b+36>>0]=1;c[b+32>>2]=h;c[b+28>>2]=C;h=i}else h=i;c[(c[b+32>>2]|0)+(h<<2)>>2]=q;i=(c[b+24>>2]|0)+1|0;c[b+24>>2]=i;v=v+1|0;if((v|0)==(f|0))break;else s=K}u=(K|0)==0;if(u){f=1;w=3402823466385288598117041.0e14;p=-3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;n=-3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;m=-3402823466385288598117041.0e14}else{f=0;B=3402823466385288598117041.0e14;w=3402823466385288598117041.0e14;D=-3402823466385288598117041.0e14;p=-3402823466385288598117041.0e14;F=3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;G=-3402823466385288598117041.0e14;n=-3402823466385288598117041.0e14;I=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;J=-3402823466385288598117041.0e14;m=-3402823466385288598117041.0e14;while(1){x=+g[Z+(f<<4)>>2];h=x<B;w=h?x:w;i=x>D;p=i?x:p;E=+g[Z+(f<<4)+4>>2];j=E<F;t=j?E:t;l=E>G;n=l?E:n;H=+g[Z+(f<<4)+8>>2];q=H<I;r=q?H:r;s=H>J;m=s?H:m;f=f+1|0;if((f|0)==(K|0))break;else{B=h?x:B;D=i?x:D;F=j?E:F;G=l?E:G;I=q?H:I;J=s?H:J}}f=K>>>0<3}B=p-w;n=n-t;p=m-r;if(!(f|(B<9.999999974752427e-07|n<9.999999974752427e-07|p<9.999999974752427e-07))){if(!u){p=Q;n=R;m=o;V=K;X=57;break}break}x=w+B*.5;w=t+n*.5;t=r+p*.5;r=B>=9.999999974752427e-07&B<3402823466385288598117041.0e14?B:3402823466385288598117041.0e14;r=n>=9.999999974752427e-07&n<r?n:r;r=p>=9.999999974752427e-07&p<r?p:r;if(!(r==3402823466385288598117041.0e14)){m=B<9.999999974752427e-07?r*.05000000074505806:B;n=n<9.999999974752427e-07?r*.05000000074505806:n;if(p<9.999999974752427e-07)p=r*.05000000074505806}else{p=.009999999776482582;n=.009999999776482582;m=.009999999776482582}J=x-m;m=x+m;I=w-n;n=w+n;H=t-p;p=t+p;g[Z>>2]=J;g[Z+4>>2]=I;g[Z+8>>2]=H;g[Z+16>>2]=m;g[Z+20>>2]=I;g[Z+24>>2]=H;g[Z+32>>2]=m;g[Z+36>>2]=n;g[Z+40>>2]=H;g[Z+48>>2]=J;g[Z+52>>2]=n;g[Z+56>>2]=H;g[Z+64>>2]=J;g[Z+68>>2]=I;g[Z+72>>2]=p;g[Z+80>>2]=m;g[Z+84>>2]=I;g[Z+88>>2]=p;g[Z+96>>2]=m;g[Z+100>>2]=n;g[Z+104>>2]=p;g[Z+112>>2]=J;g[Z+116>>2]=n;g[Z+120>>2]=p;p=Q;n=R;m=o;V=8;X=57}while(0);if((X|0)==57){f=0;do{W=Z+(f<<4)|0;g[W>>2]=p*+g[W>>2];W=Z+(f<<4)+4|0;g[W>>2]=n*+g[W>>2];W=Z+(f<<4)+8|0;g[W>>2]=m*+g[W>>2];f=f+1|0}while(f>>>0<V>>>0);N=c[d+20>>2]|0;if((V|0)>=4){m=+g[Z>>2];p=+g[Z+4>>2];n=+g[Z+8>>2];W=V<<2;c[7584]=(c[7584]|0)+1;f=lc((W|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}a[_+52+16>>0]=1;S=_+52+12|0;c[S>>2]=0;c[_+52+4>>2]=0;C=_+52+8|0;c[C>>2]=0;c[7584]=(c[7584]|0)+1;h=lc((W|3)+16|0)|0;if(h){c[(h+4+15&-16)+-4>>2]=h;f=c[S>>2]|0;if(!f){f=h+4+15&-16;X=63}else{c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);a[_+52+16>>0]=1;c[S>>2]=h+4+15&-16;c[C>>2]=V;y=S}}else{f=0;X=63}if((X|0)==63){a[_+52+16>>0]=1;c[S>>2]=f;c[C>>2]=V;y=S}v=0;f=0;x=m;w=n;o=n;q=V;u=i;r=p;t=p;l=i;h=V;s=i;while(1){if((f|0)==(h|0)?(L=(f|0)==0?1:f<<1,(f|0)<(L|0)):0){if((L|0)!=0?(c[7584]=(c[7584]|0)+1,T=lc((L<<2|3)+16|0)|0,(T|0)!=0):0){c[(T+4+15&-16)+-4>>2]=T;j=T+4+15&-16}else j=0;i=c[S>>2]|0;if((f|0)<=0){if(i)X=75}else{h=0;do{c[j+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0));X=75}if((X|0)==75){X=0;c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);c[S>>2]=0;f=c[_+52+4>>2]|0}c[y>>2]=j;c[C>>2]=L}c[(c[S>>2]|0)+(f<<2)>>2]=1;c[_+52+4>>2]=f+1;do if((v|0)==(q|0)){f=(v|0)==0;h=f?1:v<<1;if((v|0)<(h|0)){if((h|0)!=0?(c[7584]=(c[7584]|0)+1,U=lc((h<<2|3)+16|0)|0,(U|0)!=0):0){c[(U+4+15&-16)+-4>>2]=U;i=U+4+15&-16}else i=0;if(f){if(!u){h=1;O=i;P=i;break}}else{f=0;do{c[i+(f<<2)>>2]=c[u+(f<<2)>>2];f=f+1|0}while((f|0)!=(v|0))}if(!s){O=i;P=i}else{c[7585]=(c[7585]|0)+1;Bd(c[s+-4>>2]|0);O=i;P=i}}else{h=v;O=u;P=l;i=s}}else{h=q;O=u;P=l;i=s}while(0);c[O+(v<<2)>>2]=0;f=v+1|0;Q=+g[Z+(v<<4)>>2];p=Q<m?Q:m;R=+g[Z+(v<<4)+4>>2];t=R<t?R:t;n=+g[Z+(v<<4)+8>>2];o=n<o?n:o;m=x<Q?Q:x;r=r<R?R:r;n=w<n?n:w;if((f|0)>=(V|0))break;v=f;f=c[_+52+4>>2]|0;x=m;m=p;w=n;q=h;u=O;l=P;h=c[C>>2]|0;s=i}a[_+52+16>>0]=1;F=+A(+((m-p)*(m-p)+(r-t)*(r-t)+(n-o)*(n-o)))*1.0000000474974513e-03;c[_>>2]=1008981770;c[_+4>>2]=1017370378;c[_+8>>2]=1065353216;g[_+12>>2]=0.0;K=Ye(Z,V,_,_+52|0)|0;g[_+72>>2]=-.009999999776482582;g[_+72+4>>2]=-.019999999552965164;g[_+72+8>>2]=-1.0;g[_+72+12>>2]=0.0;L=Ye(Z,V,_+72|0,_+52|0)|0;q=Z+(K<<4)|0;s=Z+(L<<4)|0;r=+g[q>>2]-+g[s>>2];u=Z+(K<<4)+4|0;v=Z+(L<<4)+4|0;t=+g[u>>2]-+g[v>>2];y=Z+(K<<4)+8|0;C=Z+(L<<4)+8|0;w=+g[y>>2]-+g[C>>2];g[_>>2]=r;g[_+4>>2]=t;g[_+8>>2]=w;g[_+12>>2]=0.0;a:do if((K|0)!=(L|0)?!(w==0.0&t==0.0&r==0.0):0){m=w*.019999999552965164-t*0.0;g[_+16>>2]=m;g[_+20>>2]=r*0.0-w;g[_+24>>2]=t-r*.019999999552965164;g[_+28>>2]=0.0;g[_+32>>2]=w-t*0.0;g[_+36>>2]=w*.019999999552965164+r*0.0;g[_+40>>2]=t*-.019999999552965164-r;g[_+44>>2]=0.0;n=+A(+(m*m+(r*0.0-w)*(r*0.0-w)+(t-r*.019999999552965164)*(t-r*.019999999552965164)));if(n>+A(+((w-t*0.0)*(w-t*0.0)+(w*.019999999552965164+r*0.0)*(w*.019999999552965164+r*0.0)+(t*-.019999999552965164-r)*(t*-.019999999552965164-r)))){g[_+16>>2]=m*(1.0/n);g[_+20>>2]=(r*0.0-w)*(1.0/n);p=(t-r*.019999999552965164)*(1.0/n);o=m*(1.0/n);m=(r*0.0-w)*(1.0/n)}else{c[_+16>>2]=c[_+32>>2];c[_+16+4>>2]=c[_+32+4>>2];c[_+16+8>>2]=c[_+32+8>>2];c[_+16+12>>2]=c[_+32+12>>2];o=+g[_+16>>2];R=+g[_+20>>2];p=+g[_+24>>2];m=1.0/+A(+(o*o+R*R+p*p));g[_+16>>2]=o*m;g[_+20>>2]=R*m;p=p*m;o=o*m;m=R*m}g[_+24>>2]=p;f=Ye(Z,V,_+16|0,_+52|0)|0;if((f|0)==(K|0)|(f|0)==(L|0)){g[_+72>>2]=-o;g[_+72+4>>2]=-m;g[_+72+8>>2]=-p;g[_+72+12>>2]=0.0;l=Ye(Z,V,_+72|0,_+52|0)|0}else l=f;if(!((l|0)==(K|0)|(l|0)==(L|0))){h=Z+(l<<4)|0;m=+g[h>>2]-+g[q>>2];i=Z+(l<<4)+4|0;n=+g[i>>2]-+g[u>>2];j=Z+(l<<4)+8|0;o=+g[j>>2]-+g[y>>2];g[_+16>>2]=m;g[_+20>>2]=n;g[_+24>>2]=o;g[_+28>>2]=0.0;p=1.0/+A(+((t*m-n*r)*(t*m-n*r)+((n*w-o*t)*(n*w-o*t)+(o*r-w*m)*(o*r-w*m))));g[_+32>>2]=(n*w-o*t)*p;g[_+36>>2]=(o*r-w*m)*p;g[_+40>>2]=(t*m-n*r)*p;c[_+44>>2]=0;f=Ye(Z,V,_+32|0,_+52|0)|0;if((f|0)==(l|0)|((f|0)==(K|0)|(f|0)==(L|0))){g[_+72>>2]=-((n*w-o*t)*p);g[_+72+4>>2]=-((o*r-w*m)*p);g[_+72+8>>2]=-((t*m-n*r)*p);g[_+72+12>>2]=0.0;f=Ye(Z,V,_+72|0,_+52|0)|0}if(!((f|0)==(l|0)|((f|0)==(K|0)|(f|0)==(L|0)))){D=+g[q>>2];H=+g[u>>2];B=+g[y>>2];Q=+g[s>>2]-D;E=+g[v>>2]-H;I=+g[C>>2]-B;J=+g[h>>2]-D;G=+g[i>>2]-H;R=+g[j>>2]-B;U=(+g[Z+(f<<4)+8>>2]-B)*(Q*G-E*J)+((+g[Z+(f<<4)>>2]-D)*(E*R-I*G)+(+g[Z+(f<<4)+4>>2]-H)*(I*J-Q*R))<0.0;h=U?l:f;f=U?f:l;if((K|0)!=-1){B=(+g[Z+(K<<4)>>2]+ +g[Z+(L<<4)>>2]+ +g[Z+(f<<4)>>2]+ +g[Z+(h<<4)>>2])*.25;D=(+g[Z+(K<<4)+4>>2]+ +g[Z+(L<<4)+4>>2]+ +g[Z+(f<<4)+4>>2]+ +g[Z+(h<<4)+4>>2])*.25;E=(+g[Z+(K<<4)+8>>2]+ +g[Z+(L<<4)+8>>2]+ +g[Z+(f<<4)+8>>2]+ +g[Z+(h<<4)+8>>2])*.25;U=ji(b,f,h,L)|0;c[U+12>>2]=2;c[U+16>>2]=3;c[U+20>>2]=1;U=ji(b,h,f,K)|0;c[U+12>>2]=3;c[U+16>>2]=2;c[U+20>>2]=0;U=ji(b,K,L,h)|0;c[U+12>>2]=0;c[U+16>>2]=1;c[U+20>>2]=3;U=ji(b,L,K,f)|0;c[U+12>>2]=1;c[U+16>>2]=0;c[U+20>>2]=2;c[O+(h<<2)>>2]=1;c[O+(f<<2)>>2]=1;c[O+(L<<2)>>2]=1;c[O+(K<<2)>>2]=1;f=c[b+4>>2]|0;if((f|0)>0){h=0;do{f=c[(c[b+12>>2]|0)+(h<<2)>>2]|0;T=c[f>>2]|0;L=c[f+4>>2]|0;U=c[f+8>>2]|0;r=+g[Z+(L<<4)>>2];o=r-+g[Z+(T<<4)>>2];t=+g[Z+(L<<4)+4>>2];p=t-+g[Z+(T<<4)+4>>2];n=+g[Z+(L<<4)+8>>2];m=n-+g[Z+(T<<4)+8>>2];r=+g[Z+(U<<4)>>2]-r;t=+g[Z+(U<<4)+4>>2]-t;n=+g[Z+(U<<4)+8>>2]-n;w=+A(+((o*t-p*r)*(o*t-p*r)+((p*n-m*t)*(p*n-m*t)+(m*r-o*n)*(m*r-o*n))));if(w==0.0){c[_>>2]=1065353216;c[_+4>>2]=0;c[_+8>>2]=0;x=1.0;n=0.0;m=0.0}else{g[_>>2]=(p*n-m*t)*(1.0/w);g[_+4>>2]=(m*r-o*n)*(1.0/w);g[_+8>>2]=(o*t-p*r)*(1.0/w);x=(p*n-m*t)*(1.0/w);n=(m*r-o*n)*(1.0/w);m=(o*t-p*r)*(1.0/w)}g[_+12>>2]=0.0;T=Ye(Z,V,_,_+52|0)|0;c[f+28>>2]=T;U=c[f>>2]|0;g[f+32>>2]=(+g[Z+(T<<4)>>2]-+g[Z+(U<<4)>>2])*x+(+g[Z+(T<<4)+4>>2]-+g[Z+(U<<4)+4>>2])*n+(+g[Z+(T<<4)+8>>2]-+g[Z+(U<<4)+8>>2])*m;h=h+1|0;f=c[b+4>>2]|0}while((h|0)<(f|0))}h=(N|0)==0?999999996:N+-4|0;if((h|0)>0)while(1){s=c[b+12>>2]|0;l=0;i=0;do{j=c[s+(l<<2)>>2]|0;do if(i){if(!j)break;if(+g[i+32>>2]<+g[j+32>>2])X=115}else X=115;while(0);if((X|0)==115){X=0;i=j}l=l+1|0}while((l|0)<(f|0));if((i|0)==0?1:!(+g[i+32>>2]>F)){f=1;break a}u=c[i+28>>2]|0;c[O+(u<<2)>>2]=1;f=c[b+4>>2]|0;b:do if(f|0){j=Z+(u<<4)|0;l=Z+(u<<4)+4|0;q=Z+(u<<4)+8|0;i=s;while(1){f=f+-1|0;i=c[i+(f<<2)>>2]|0;do if(i|0){T=c[i>>2]|0;N=c[i+4>>2]|0;U=c[i+8>>2]|0;I=+g[Z+(N<<4)>>2];J=+g[Z+(T<<4)>>2];r=+g[Z+(N<<4)+4>>2];w=+g[Z+(T<<4)+4>>2];x=+g[Z+(N<<4)+8>>2];G=+g[Z+(T<<4)+8>>2];H=+g[Z+(U<<4)>>2]-I;t=+g[Z+(U<<4)+4>>2]-r;Q=+g[Z+(U<<4)+8>>2]-x;R=+A(+(((I-J)*t-(r-w)*H)*((I-J)*t-(r-w)*H)+(((r-w)*Q-(x-G)*t)*((r-w)*Q-(x-G)*t)+((x-G)*H-(I-J)*Q)*((x-G)*H-(I-J)*Q))));if(!((+g[q>>2]-G)*(R==0.0?0.0:((I-J)*t-(r-w)*H)*(1.0/R))+((+g[j>>2]-J)*(R==0.0?1.0:((r-w)*Q-(x-G)*t)*(1.0/R))+(+g[l>>2]-w)*(R==0.0?0.0:((x-G)*H-(I-J)*Q)*(1.0/R)))>F*.009999999776482582))break;ne(b,i,u)}while(0);if(!f)break;i=c[b+12>>2]|0}f=c[b+4>>2]|0;if(!f)break;i=f;c:do{i=i+-1|0;l=c[b+12>>2]|0;q=c[l+(i<<2)>>2]|0;do if(q){s=c[q>>2]|0;do if((s|0)!=(u|0)){j=c[q+4>>2]|0;if((j|0)==(u|0)){j=u;break}if((c[q+8>>2]|0)!=(u|0))break c}else j=c[q+4>>2]|0;while(0);U=c[q+8>>2]|0;I=+g[Z+(j<<4)>>2];J=+g[Z+(s<<4)>>2];r=+g[Z+(j<<4)+4>>2];w=+g[Z+(s<<4)+4>>2];x=+g[Z+(j<<4)+8>>2];G=+g[Z+(s<<4)+8>>2];H=+g[Z+(U<<4)>>2]-I;t=+g[Z+(U<<4)+4>>2]-r;Q=+g[Z+(U<<4)+8>>2]-x;R=+A(+(((I-J)*t-(r-w)*H)*((I-J)*t-(r-w)*H)+(((r-w)*Q-(x-G)*t)*((r-w)*Q-(x-G)*t)+((x-G)*H-(I-J)*Q)*((x-G)*H-(I-J)*Q))));if(!(R<F*F*.10000000149011612?1:(E-G)*(R==0.0?0.0:((I-J)*t-(r-w)*H)*(1.0/R))+((B-J)*(R==0.0?1.0:((r-w)*Q-(x-G)*t)*(1.0/R))+(D-w)*(R==0.0?0.0:((x-G)*H-(I-J)*Q)*(1.0/R)))>F*.009999999776482582))break;ne(b,c[l+(c[q+12>>2]<<2)>>2]|0,u);f=c[b+4>>2]|0;i=f}while(0)}while((i|0)!=0);if(!f)break;do{f=f+-1|0;j=c[(c[b+12>>2]|0)+(f<<2)>>2]|0;if(j|0){if((c[j+28>>2]|0)>-1)break b;T=c[j>>2]|0;N=c[j+4>>2]|0;U=c[j+8>>2]|0;r=+g[Z+(N<<4)>>2];o=r-+g[Z+(T<<4)>>2];t=+g[Z+(N<<4)+4>>2];p=t-+g[Z+(T<<4)+4>>2];n=+g[Z+(N<<4)+8>>2];m=n-+g[Z+(T<<4)+8>>2];r=+g[Z+(U<<4)>>2]-r;t=+g[Z+(U<<4)+4>>2]-t;n=+g[Z+(U<<4)+8>>2]-n;w=+A(+((o*t-p*r)*(o*t-p*r)+((p*n-m*t)*(p*n-m*t)+(m*r-o*n)*(m*r-o*n))));if(w==0.0){c[_>>2]=1065353216;c[_+4>>2]=0;c[_+8>>2]=0;x=1.0;n=0.0;m=0.0}else{g[_>>2]=(p*n-m*t)*(1.0/w);g[_+4>>2]=(m*r-o*n)*(1.0/w);g[_+8>>2]=(o*t-p*r)*(1.0/w);x=(p*n-m*t)*(1.0/w);n=(m*r-o*n)*(1.0/w);m=(o*t-p*r)*(1.0/w)}g[_+12>>2]=0.0;i=Ye(Z,V,_,_+52|0)|0;c[j+28>>2]=i;if(!(c[O+(i<<2)>>2]|0)){U=c[j>>2]|0;g[j+32>>2]=(+g[Z+(i<<4)>>2]-+g[Z+(U<<4)>>2])*x+(+g[Z+(i<<4)+4>>2]-+g[Z+(U<<4)+4>>2])*n+(+g[Z+(i<<4)+8>>2]-+g[Z+(U<<4)+8>>2])*m}else c[j+28>>2]=-1}}while((f|0)!=0)}while(0);if((h|0)<=1){f=1;break a}h=h+-1|0;f=c[b+4>>2]|0}else f=1}else f=0}else X=101}else X=101}else X=101;while(0);if((X|0)==101)f=0;h=c[S>>2]|0;if(h|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);c[S>>2]=0}if(!((O|0)==0|(P|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[P+-4>>2]|0)}if(f){h=c[b+4>>2]|0;if((h|0)>0){C=0;s=0;j=0;q=0;v=0;i=0;while(1){l=c[(c[b+12>>2]|0)+(C<<2)>>2]|0;if(!l)f=v;else{do if((q|0)==(s|0)){h=(s|0)==0?1:s<<1;if((s|0)>=(h|0)){h=s;break}do if(!h)i=0;else{c[7584]=(c[7584]|0)+1;f=lc((h<<2|3)+16|0)|0;if(!f){i=0;break}c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}while(0);if((s|0)>0){f=0;do{c[i+(f<<2)>>2]=c[j+(f<<2)>>2];f=f+1|0}while((f|0)!=(s|0));if(!v){j=i;v=i;break}}else if((j|0)==0|(v|0)==0){j=i;v=i;break}c[7585]=(c[7585]|0)+1;Bd(c[v+-4>>2]|0);j=i;v=i}else h=s;while(0);c[j+(q<<2)>>2]=c[l>>2];s=q+1|0;u=(c[(c[b+12>>2]|0)+(C<<2)>>2]|0)+4|0;do if((s|0)==(h|0)){l=(h|0)==0?1:h<<1;if((h|0)>=(l|0)){y=v;break}do if(!l)i=0;else{c[7584]=(c[7584]|0)+1;f=lc((l<<2|3)+16|0)|0;if(!f){i=0;break}c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}while(0);if((h|0)>0){f=0;do{c[i+(f<<2)>>2]=c[j+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));if(!v){h=l;j=i;y=i;break}}else if((j|0)==0|(v|0)==0){h=l;j=i;y=i;break}c[7585]=(c[7585]|0)+1;Bd(c[v+-4>>2]|0);h=l;j=i;y=i}else y=v;while(0);c[j+(s<<2)>>2]=c[u>>2];u=q+2|0;v=(c[(c[b+12>>2]|0)+(C<<2)>>2]|0)+8|0;do if((u|0)==(h|0)){l=(h|0)==0?1:h<<1;if((h|0)>=(l|0)){l=y;break}do if(!l)s=0;else{c[7584]=(c[7584]|0)+1;f=lc((l<<2|3)+16|0)|0;if(!f){s=0;break}c[(f+4+15&-16)+-4>>2]=f;s=f+4+15&-16}while(0);if((h|0)>0){f=0;do{c[s+(f<<2)>>2]=c[j+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0));if(!y){h=l;j=s;i=s;l=s;break}}else if((j|0)==0|(y|0)==0){h=l;j=s;i=s;l=s;break}c[7585]=(c[7585]|0)+1;Bd(c[y+-4>>2]|0);h=l;j=s;i=s;l=s}else l=y;while(0);c[j+(u<<2)>>2]=c[v>>2];U=c[b+12>>2]|0;f=c[U+(C<<2)>>2]|0;c[U+(c[f+24>>2]<<2)>>2]=0;if(f|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}s=h;q=q+3|0;h=c[b+4>>2]|0;f=l}C=C+1|0;if((C|0)>=(h|0))break;else v=f}c[_+48>>2]=(q|0)/3|0;if((q|0)>0){c[7584]=(c[7584]|0)+1;f=lc((q<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}Bl(h|0,0,q<<2|0)|0;f=0;do{c[h+(f<<2)>>2]=c[j+(f<<2)>>2];f=f+1|0}while((f|0)!=(q|0));l=h;f=h}else{l=0;f=0}s=i;P=q;h=c[b+4>>2]|0;K=l}else{c[_+48>>2]=0;s=0;j=0;f=0;P=0;K=0}if((h|0)<0){if((c[b+8>>2]|0)<0){i=c[b+12>>2]|0;if(i|0){if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{c[(c[b+12>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[b+4>>2]=0;if(!((j|0)==0|(s|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[s+-4>>2]|0)}O=c[_+48>>2]|0;l=(V|0)>0;if(l){c[7584]=(c[7584]|0)+1;h=lc((V<<4|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=0;do{U=i+(h<<4)|0;c[U>>2]=c[_>>2];c[U+4>>2]=c[_+4>>2];c[U+8>>2]=c[_+8>>2];c[U+12>>2]=c[_+12>>2];h=h+1|0}while((h|0)!=(V|0));N=i;L=i}else{N=0;L=0}i=c[b+24>>2]|0;do if((i|0)>0){c[7584]=(c[7584]|0)+1;h=lc((i<<2|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}Bl(j|0,0,i<<2|0)|0;if((c[b+24>>2]|0)<=0){C=j;y=j;break}i=c[b+32>>2]|0;h=0;do{c[j+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)<(c[b+24>>2]|0));C=j;y=j}else{C=0;y=0}while(0);if(l){c[7584]=(c[7584]|0)+1;h=lc((W|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}Bl(h|0,0,W|0)|0;u=h;v=h}else{u=0;v=0}Bl(v|0,0,W|0)|0;if((O|0)<=0)if(!u)s=0;else{h=0;X=241}else{s=0;h=0;do{i=f+(s<<2)|0;l=c[i>>2]|0;q=u+(l<<2)|0;j=c[q>>2]|0;if(!j){c[i>>2]=h;c[N+(h<<4)>>2]=c[Y+(l<<4)>>2];c[N+(h<<4)+4>>2]=c[Y+(l<<4)+4>>2];c[N+(h<<4)+8>>2]=c[Y+(l<<4)+8>>2];i=c[b+24>>2]|0;if((i|0)>0){j=0;do{if((c[C+(j<<2)>>2]|0)==(l|0)){c[(c[b+32>>2]|0)+(j<<2)>>2]=h;i=c[b+24>>2]|0}j=j+1|0}while((j|0)<(i|0))}h=h+1|0;c[q>>2]=h}else c[i>>2]=j+-1;s=s+1|0}while((s|0)!=(O*3|0));X=241}do if((X|0)==241){if(!v){s=h;break}c[7585]=(c[7585]|0)+1;Bd(c[v+-4>>2]|0);s=h}while(0);if(!((C|0)==0|(y|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[y+-4>>2]|0)}do if(!(c[d>>2]&1)){a[e>>0]=1;c[e+4>>2]=s;l=c[e+12>>2]|0;if((l|0)<(s|0)){if((c[e+16>>2]|0)<(s|0)){if(!s){h=0;j=l}else{c[7584]=(c[7584]|0)+1;h=lc((s<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[e+12>>2]|0}if((j|0)>0){i=0;do{b=h+(i<<4)|0;X=(c[e+20>>2]|0)+(i<<4)|0;c[b>>2]=c[X>>2];c[b+4>>2]=c[X+4>>2];c[b+8>>2]=c[X+8>>2];c[b+12>>2]=c[X+12>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[e+20>>2]|0;if(i|0){if(a[e+24>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[e+20>>2]=0}a[e+24>>0]=1;c[e+20>>2]=h;c[e+16>>2]=s;i=e+20|0}else i=e+20|0;h=l;do{b=(c[i>>2]|0)+(h<<4)|0;c[b>>2]=c[_>>2];c[b+4>>2]=c[_+4>>2];c[b+8>>2]=c[_+8>>2];c[b+12>>2]=c[_+12>>2];h=h+1|0}while((h|0)!=(s|0))}c[e+12>>2]=s;c[e+28>>2]=O;c[e+32>>2]=O<<2;q=c[e+40>>2]|0;if((O<<2|0)>(q|0)){d:do if((c[e+44>>2]|0)<(O<<2|0)){if(!(O<<2)){h=0;j=q}else{c[7584]=(c[7584]|0)+1;h=lc((O<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[e+40>>2]|0}l=c[e+48>>2]|0;do if((j|0)>0){i=0;do{c[h+(i<<2)>>2]=c[l+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0))}else{if(l|0)break;a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=O<<2;break d}while(0);if(a[e+52>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=O<<2}else h=c[e+48>>2]|0;while(0);Bl(h+(q<<2)|0,0,(O<<2)-q<<2|0)|0}c[e+40>>2]=O<<2;Ki(c[e+20>>2]|0,L|0,s<<4|0)|0;if(!O)break;l=0;h=c[e+48>>2]|0;i=f;while(1){c[h>>2]=3;if(!(c[d>>2]&2)){c[h+4>>2]=c[i>>2];j=i+8|0}else{c[h+4>>2]=c[i+8>>2];j=i}c[h+8>>2]=c[i+4>>2];c[h+12>>2]=c[j>>2];l=l+1|0;if((l|0)==(O|0))break;else{h=h+16|0;i=i+12|0}}}else{a[e>>0]=0;c[e+4>>2]=s;l=c[e+12>>2]|0;if((l|0)<(s|0)){if((c[e+16>>2]|0)<(s|0)){if(!s){h=0;j=l}else{c[7584]=(c[7584]|0)+1;h=lc((s<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[e+12>>2]|0}if((j|0)>0){i=0;do{b=h+(i<<4)|0;X=(c[e+20>>2]|0)+(i<<4)|0;c[b>>2]=c[X>>2];c[b+4>>2]=c[X+4>>2];c[b+8>>2]=c[X+8>>2];c[b+12>>2]=c[X+12>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[e+20>>2]|0;if(i|0){if(a[e+24>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[e+20>>2]=0}a[e+24>>0]=1;c[e+20>>2]=h;c[e+16>>2]=s;i=e+20|0}else i=e+20|0;h=l;do{b=(c[i>>2]|0)+(h<<4)|0;c[b>>2]=c[_>>2];c[b+4>>2]=c[_+4>>2];c[b+8>>2]=c[_+8>>2];c[b+12>>2]=c[_+12>>2];h=h+1|0}while((h|0)!=(s|0))}c[e+12>>2]=s;c[e+28>>2]=O;c[e+32>>2]=O*3;q=c[e+40>>2]|0;if((q|0)<(O*3|0)){e:do if((c[e+44>>2]|0)<(O*3|0)){if(!O){h=0;j=q}else{c[7584]=(c[7584]|0)+1;h=lc((O*12|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[e+40>>2]|0}l=c[e+48>>2]|0;do if((j|0)>0){i=0;do{c[h+(i<<2)>>2]=c[l+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0))}else{if(l|0)break;a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=O*3;break e}while(0);if(a[e+52>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=O*3}else h=c[e+48>>2]|0;while(0);Bl(h+(q<<2)|0,0,(O*12|0)-(q<<2)|0)|0}c[e+40>>2]=O*3;Ki(c[e+20>>2]|0,L|0,s<<4|0)|0;if(!(c[d>>2]&2)){Ki(c[e+48>>2]|0,K|0,O*12|0)|0;break}if(!O)break;j=0;h=c[e+48>>2]|0;i=f;while(1){c[h>>2]=c[i+8>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i>>2];j=j+1|0;if((j|0)==(O|0))break;else{h=h+12|0;i=i+12|0}}}while(0);do if(P){if(!f){f=0;break}c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);f=0}while(0);if((N|0)==0|(L|0)==0){h=0;break}c[7585]=(c[7585]|0)+1;Bd(c[L+-4>>2]|0);h=0;break}}}h=1;f=0}while(0);if(!((Z|0)==0|(Y|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[Y+-4>>2]|0)}if(!f){k=_;return h|0}c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);k=_;return h|0}function dc(b){b=b|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0;V=k;k=k+176|0;fc(b);if(!(tb[c[(c[b>>2]|0)+20>>2]&255](b)|0)){k=V;return}if((c[b+328>>2]|0)<=0){k=V;return}T=V+96+32|0;U=V+96+52|0;M=0;do{P=c[(c[b+336>>2]|0)+(M<<2)>>2]|0;if(tb[c[(c[b>>2]|0)+20>>2]&255](b)|0?(L=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0,(tb[c[(c[L>>2]|0)+48>>2]&255](L)|0)&1|0):0){e=c[b+72>>2]|0;if(!(a[P+473>>0]|0))L=e;else{c[V+80>>2]=c[P+520>>2];c[V+80+4>>2]=c[P+520+4>>2];c[V+80+8>>2]=c[P+520+8>>2];c[V+80+12>>2]=c[P+520+12>>2];i=+g[P+584>>2];j=+g[P+536>>2];l=+g[P+600>>2];r=+g[P+540>>2];s=+g[P+616>>2];t=+g[P+544>>2];u=+g[P+588>>2];v=+g[P+604>>2];w=+g[P+620>>2];x=+g[P+592>>2];y=+g[P+608>>2];z=+g[P+624>>2];B=+g[P+552>>2];C=+g[P+556>>2];D=+g[P+560>>2];E=+g[P+568>>2];F=+g[P+572>>2];G=+g[P+576>>2];fa=i*j+l*r+s*t+(j*u+r*v+t*w)*0.0+(j*x+r*y+t*z)*0.0;da=(x*B+y*C+z*D)*0.0+(i*B+l*C+s*D+(u*B+v*C+w*D)*0.0);ca=(x*E+y*F+z*G)*0.0+(i*E+l*F+s*G+(u*E+v*F+w*G)*0.0);ea=1.0/+A(+(fa*fa+da*da+ca*ca));ba=(i*j+l*r+s*t)*0.0+(j*u+r*v+t*w)+(j*x+r*y+t*z)*0.0;$=(x*B+y*C+z*D)*0.0+(u*B+v*C+w*D+(i*B+l*C+s*D)*0.0);_=(x*E+y*F+z*G)*0.0+(u*E+v*F+w*G+(i*E+l*F+s*G)*0.0);aa=1.0/+A(+(ba*ba+$*$+_*_));Z=(i*j+l*r+s*t)*0.0+(j*u+r*v+t*w)*0.0+(j*x+r*y+t*z);X=x*B+y*C+z*D+((i*B+l*C+s*D)*0.0+(u*B+v*C+w*D)*0.0);W=x*E+y*F+z*G+((i*E+l*F+s*G)*0.0+(u*E+v*F+w*G)*0.0);Y=1.0/+A(+(Z*Z+X*X+W*W));L=c[(c[e>>2]|0)+8>>2]|0;da=+g[V+80+4>>2]+da*ea*10.0;ca=+g[V+80+8>>2]+ca*ea*10.0;g[V+160>>2]=+g[V+80>>2]+fa*ea*10.0;g[V+160+4>>2]=da;g[V+160+8>>2]=ca;g[V+160+12>>2]=0.0;c[V+96>>2]=1065353216;c[V+96+4>>2]=0;c[V+96+8>>2]=0;g[V+96+12>>2]=0.0;Qb[L&127](e,V+80|0,V+160|0,V+96|0);L=c[(c[e>>2]|0)+8>>2]|0;$=$*aa*10.0+ +g[V+80+4>>2];_=_*aa*10.0+ +g[V+80+8>>2];g[V+160>>2]=ba*aa*10.0+ +g[V+80>>2];g[V+160+4>>2]=$;g[V+160+8>>2]=_;g[V+160+12>>2]=0.0;c[V+96>>2]=0;c[V+96+4>>2]=1065353216;c[V+96+8>>2]=0;g[V+96+12>>2]=0.0;Qb[L&127](e,V+80|0,V+160|0,V+96|0);L=c[(c[e>>2]|0)+8>>2]|0;X=X*Y*10.0+ +g[V+80+4>>2];W=W*Y*10.0+ +g[V+80+8>>2];g[V+160>>2]=Z*Y*10.0+ +g[V+80>>2];g[V+160+4>>2]=X;g[V+160+8>>2]=W;g[V+160+12>>2]=0.0;c[V+96>>2]=0;c[V+96+4>>2]=0;c[V+96+8>>2]=1065353216;g[V+96+12>>2]=0.0;Qb[L&127](e,V+80|0,V+160|0,V+96|0);if((c[P+484>>2]|0)>0){d=0;do{L=c[P+492>>2]|0;ba=+g[L+(d<<4)>>2];ca=+g[L+(d<<4)+4>>2];fa=+g[L+(d<<4)+8>>2];da=+g[V+80>>2]+((i*j+l*r+s*t)*ba+(j*u+r*v+t*w)*ca+(j*x+r*y+t*z)*fa);ea=+g[V+80+4>>2]+((i*B+l*C+s*D)*ba+(u*B+v*C+w*D)*ca+(x*B+y*C+z*D)*fa);fa=(i*E+l*F+s*G)*ba+(u*E+v*F+w*G)*ca+(x*E+y*F+z*G)*fa+ +g[V+80+8>>2];c[V+64>>2]=1065353216;c[V+64+4>>2]=0;c[V+64+8>>2]=1065353216;g[V+64+12>>2]=0.0;L=c[(c[e>>2]|0)+8>>2]|0;g[V+160>>2]=da+-.10000000149011612;g[V+160+4>>2]=ea;g[V+160+8>>2]=fa;g[V+160+12>>2]=0.0;g[V+96>>2]=da+.10000000149011612;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=fa+0.0;g[V+96+12>>2]=0.0;Qb[L&127](e,V+160|0,V+96|0,V+64|0);L=c[(c[e>>2]|0)+8>>2]|0;g[V+160>>2]=da;g[V+160+4>>2]=ea+-.10000000149011612;g[V+160+8>>2]=fa;g[V+160+12>>2]=0.0;g[V+96>>2]=da+0.0;g[V+96+4>>2]=ea+.10000000149011612;g[V+96+8>>2]=fa+0.0;g[V+96+12>>2]=0.0;Qb[L&127](e,V+160|0,V+96|0,V+64|0);L=c[(c[e>>2]|0)+8>>2]|0;g[V+160>>2]=da;g[V+160+4>>2]=ea;g[V+160+8>>2]=fa+-.10000000149011612;g[V+160+12>>2]=0.0;g[V+96>>2]=da+0.0;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=fa+.10000000149011612;g[V+96+12>>2]=0.0;Qb[L&127](e,V+160|0,V+96|0,V+64|0);d=d+1|0}while((d|0)<(c[P+484>>2]|0))}L=c[b+72>>2]|0}K=c[b+344>>2]|0;c[V+80>>2]=0;c[V+80+4>>2]=0;c[V+80+8>>2]=0;c[V+80+12>>2]=0;c[V+64>>2]=1065353216;c[V+64+4>>2]=1065353216;c[V+64+8>>2]=1065353216;g[V+64+12>>2]=0.0;c[V+48>>2]=1065353216;c[V+48+4>>2]=0;c[V+48+8>>2]=0;g[V+48+12>>2]=0.0;if(!(K&256)){if(K&1|0?(Q=c[P+712>>2]|0,(Q|0)>0):0){f=0;d=Q;do{e=c[P+720>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){d=c[(c[L>>2]|0)+8>>2]|0;J=e+(f*104|0)+8|0;H=e+(f*104|0)+12|0;p=c[H>>2]|0;I=e+(f*104|0)+16|0;q=c[I>>2]|0;g[V+160>>2]=+g[J>>2]+-.10000000149011612;c[V+160+4>>2]=p;c[V+160+8>>2]=q;g[V+160+12>>2]=0.0;ea=+g[H>>2]+0.0;fa=+g[I>>2]+0.0;g[V+96>>2]=+g[J>>2]+.10000000149011612;g[V+96+4>>2]=ea;g[V+96+8>>2]=fa;g[V+96+12>>2]=0.0;c[V+32>>2]=1065353216;c[V+32+4>>2]=0;c[V+32+8>>2]=0;g[V+32+12>>2]=0.0;Qb[d&127](L,V+160|0,V+96|0,V+32|0);d=c[(c[L>>2]|0)+8>>2]|0;fa=+g[H>>2]+-.10000000149011612;q=c[I>>2]|0;c[V+160>>2]=c[J>>2];g[V+160+4>>2]=fa;c[V+160+8>>2]=q;g[V+160+12>>2]=0.0;fa=+g[H>>2]+.10000000149011612;ea=+g[I>>2]+0.0;g[V+96>>2]=+g[J>>2]+0.0;g[V+96+4>>2]=fa;g[V+96+8>>2]=ea;g[V+96+12>>2]=0.0;c[V+32>>2]=0;c[V+32+4>>2]=1065353216;c[V+32+8>>2]=0;g[V+32+12>>2]=0.0;Qb[d&127](L,V+160|0,V+96|0,V+32|0);d=c[(c[L>>2]|0)+8>>2]|0;q=c[H>>2]|0;ea=+g[I>>2]+-.10000000149011612;c[V+160>>2]=c[J>>2];c[V+160+4>>2]=q;g[V+160+8>>2]=ea;g[V+160+12>>2]=0.0;ea=+g[H>>2]+0.0;fa=+g[I>>2]+.10000000149011612;g[V+96>>2]=+g[J>>2]+0.0;g[V+96+4>>2]=ea;g[V+96+8>>2]=fa;g[V+96+12>>2]=0.0;c[V+32>>2]=0;c[V+32+4>>2]=0;c[V+32+8>>2]=1065353216;g[V+32+12>>2]=0.0;Qb[d&127](L,V+160|0,V+96|0,V+32|0);d=c[P+712>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(K&2|0?(R=c[P+732>>2]|0,(R|0)>0):0){f=0;d=R;do{e=c[P+740>>2]|0;if(c[(c[e+(f*52|0)+4>>2]|0)+16>>2]&1){Qb[c[(c[L>>2]|0)+8>>2]&127](L,(c[e+(f*52|0)+8>>2]|0)+8|0,(c[e+(f*52|0)+12>>2]|0)+8|0,V+80|0);d=c[P+732>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(K&16|0?(S=c[P+712>>2]|0,(S|0)>0):0){f=0;d=S;do{e=c[P+720>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){da=+g[e+(f*104|0)+72>>2]*.5;fa=+g[e+(f*104|0)+76>>2]*.5;ea=+g[e+(f*104|0)+80>>2]*.5;J=c[(c[L>>2]|0)+8>>2]|0;d=e+(f*104|0)+8|0;H=e+(f*104|0)+12|0;ba=fa+ +g[H>>2];I=e+(f*104|0)+16|0;ca=ea+ +g[I>>2];g[V+160>>2]=da+ +g[d>>2];g[V+160+4>>2]=ba;g[V+160+8>>2]=ca;g[V+160+12>>2]=0.0;Qb[J&127](L,d,V+160|0,V+64|0);J=c[(c[L>>2]|0)+8>>2]|0;fa=+g[H>>2]-fa;ea=+g[I>>2]-ea;g[V+160>>2]=+g[d>>2]-da;g[V+160+4>>2]=fa;g[V+160+8>>2]=ea;g[V+160+12>>2]=0.0;ea=+g[V+64+4>>2]*.5;fa=+g[V+64+8>>2]*.5;g[V+96>>2]=+g[V+64>>2]*.5;g[V+96+4>>2]=ea;g[V+96+8>>2]=fa;g[V+96+12>>2]=0.0;Qb[J&127](L,d,V+160|0,V+96|0);d=c[P+712>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(K&32|0){if((a[28352]|0)==0?_A(28352)|0:0){c[6508]=1065353216;c[6509]=0;c[6510]=0;c[6511]=0;c[6512]=0;c[6513]=1065353216;c[6514]=0;c[6515]=0;c[6516]=0;c[6517]=0;c[6518]=1065353216;g[6519]=0.0}if((c[P+812>>2]|0)>0){d=0;do{J=c[P+820>>2]|0;H=c[J+(d*104|0)+24>>2]|0;B=+g[H+8>>2];I=J+(d*104|0)+4|0;C=+g[I>>2];D=+g[H+12>>2];q=J+(d*104|0)+8|0;E=+g[q>>2];W=+g[H+16>>2];H=J+(d*104|0)+12|0;X=+g[H>>2];Y=+g[J+(d*104|0)+20>>2]+(B*C+D*E+W*X);g[V+160>>2]=B-C*Y;g[V+160+4>>2]=D-E*Y;g[V+160+8>>2]=W-X*Y;g[V+160+12>>2]=0.0;Z=+g[I>>2];ea=+g[q>>2];F=+g[H>>2];J=Z<ea?(Z<F?0:2):ea<F?1:2;G=+g[26032+(J<<4)+8>>2];_=+g[26032+(J<<4)+4>>2];ca=+g[26032+(J<<4)>>2];aa=1.0/+A(+((Z*_-ea*ca)*(Z*_-ea*ca)+((ea*G-F*_)*(ea*G-F*_)+(F*ca-Z*G)*(F*ca-Z*G))));$=F*(F*ca-Z*G)*aa-ea*(Z*_-ea*ca)*aa;ba=Z*(Z*_-ea*ca)*aa-F*(ea*G-F*_)*aa;da=ea*(ea*G-F*_)*aa-Z*(F*ca-Z*G)*aa;fa=1.0/+A(+(da*da+($*$+ba*ba)));J=c[(c[L>>2]|0)+8>>2]|0;g[V+96>>2]=B-C*Y-(ea*G-F*_)*aa*.5;g[V+96+4>>2]=D-E*Y-(F*ca-Z*G)*aa*.5;g[V+96+8>>2]=W-X*Y-(Z*_-ea*ca)*aa*.5;g[V+96+12>>2]=0.0;g[V+32>>2]=B-C*Y+(ea*G-F*_)*aa*.5;g[V+32+4>>2]=D-E*Y+(F*ca-Z*G)*aa*.5;g[V+32+8>>2]=W-X*Y+(Z*_-ea*ca)*aa*.5;g[V+32+12>>2]=0.0;Qb[J&127](L,V+96|0,V+32|0,V+48|0);J=c[(c[L>>2]|0)+8>>2]|0;aa=+g[V+160>>2];ca=+g[V+160+4>>2];ea=+g[V+160+8>>2];g[V+96>>2]=aa-$*fa*.5;g[V+96+4>>2]=ca-ba*fa*.5;g[V+96+8>>2]=ea-da*fa*.5;g[V+96+12>>2]=0.0;g[V+32>>2]=$*fa*.5+aa;g[V+32+4>>2]=ba*fa*.5+ca;g[V+32+8>>2]=da*fa*.5+ea;g[V+32+12>>2]=0.0;Qb[J&127](L,V+96|0,V+32|0,V+48|0);J=c[(c[L>>2]|0)+8>>2]|0;ea=+g[q>>2]*.5*3.0+ +g[V+160+4>>2];fa=+g[H>>2]*.5*3.0+ +g[V+160+8>>2];g[V+96>>2]=+g[I>>2]*.5*3.0+ +g[V+160>>2];g[V+96+4>>2]=ea;g[V+96+8>>2]=fa;g[V+96+12>>2]=0.0;c[V+32>>2]=1065353216;c[V+32+4>>2]=1065353216;c[V+32+8>>2]=0;g[V+32+12>>2]=0.0;Qb[J&127](L,V+160|0,V+96|0,V+32|0);d=d+1|0}while((d|0)<(c[P+812>>2]|0))}}if(K&4|0?(c[V+160>>2]=0,c[V+160+4>>2]=1060320051,c[V+160+8>>2]=0,g[V+160+12>>2]=0.0,N=c[P+752>>2]|0,(N|0)>0):0){f=0;d=N;do{e=c[P+760>>2]|0;if(c[(c[e+(f*44|0)+4>>2]|0)+16>>2]&1){d=c[e+(f*44|0)+8>>2]|0;Z=+g[d+8>>2];aa=+g[d+12>>2];da=+g[d+16>>2];d=c[e+(f*44|0)+12>>2]|0;_=+g[d+8>>2];ba=+g[d+12>>2];ea=+g[d+16>>2];d=c[e+(f*44|0)+16>>2]|0;$=+g[d+8>>2];ca=+g[d+12>>2];fa=+g[d+16>>2];d=c[(c[L>>2]|0)+28>>2]|0;g[V+96>>2]=(Z+_+$)*.3333333432674408+(Z-(Z+_+$)*.3333333432674408)*.800000011920929;g[V+96+4>>2]=(aa+ba+ca)*.3333333432674408+(aa-(aa+ba+ca)*.3333333432674408)*.800000011920929;g[V+96+8>>2]=(da+ea+fa)*.3333333432674408+(da-(da+ea+fa)*.3333333432674408)*.800000011920929;g[V+96+12>>2]=0.0;g[V+32>>2]=(Z+_+$)*.3333333432674408+(_-(Z+_+$)*.3333333432674408)*.800000011920929;g[V+32+4>>2]=(aa+ba+ca)*.3333333432674408+(ba-(aa+ba+ca)*.3333333432674408)*.800000011920929;g[V+32+8>>2]=(da+ea+fa)*.3333333432674408+(ea-(da+ea+fa)*.3333333432674408)*.800000011920929;g[V+32+12>>2]=0.0;g[V+16>>2]=(Z+_+$)*.3333333432674408+($-(Z+_+$)*.3333333432674408)*.800000011920929;g[V+16+4>>2]=(aa+ba+ca)*.3333333432674408+(ca-(aa+ba+ca)*.3333333432674408)*.800000011920929;g[V+16+8>>2]=(da+ea+fa)*.3333333432674408+(fa-(da+ea+fa)*.3333333432674408)*.800000011920929;g[V+16+12>>2]=0.0;Vb[d&1](L,V+96|0,V+32|0,V+16|0,V+160|0,1.0);d=c[P+752>>2]|0}f=f+1|0}while((f|0)<(d|0))}if(K&8|0?(c[V+160>>2]=1050253722,c[V+160+4>>2]=1050253722,c[V+160+8>>2]=1060320051,g[V+160+12>>2]=0.0,O=c[P+772>>2]|0,(O|0)>0):0){f=0;d=O;do{e=c[P+780>>2]|0;if(c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1){d=c[e+(f*104|0)+8>>2]|0;x=+g[d+8>>2];B=+g[d+12>>2];E=+g[d+16>>2];d=c[e+(f*104|0)+12>>2]|0;y=+g[d+8>>2];C=+g[d+12>>2];F=+g[d+16>>2];d=c[e+(f*104|0)+16>>2]|0;z=+g[d+8>>2];D=+g[d+12>>2];G=+g[d+16>>2];d=c[e+(f*104|0)+20>>2]|0;da=+g[d+8>>2];ea=+g[d+12>>2];fa=+g[d+16>>2];d=c[(c[L>>2]|0)+28>>2]|0;aa=(x+y+z+da)*.25+(x-(x+y+z+da)*.25)*.800000011920929;ba=(B+C+D+ea)*.25+(B-(B+C+D+ea)*.25)*.800000011920929;ca=(E+F+G+fa)*.25+(E-(E+F+G+fa)*.25)*.800000011920929;g[V+96>>2]=aa;g[V+96+4>>2]=ba;g[V+96+8>>2]=ca;g[V+96+12>>2]=0.0;W=(x+y+z+da)*.25+(y-(x+y+z+da)*.25)*.800000011920929;X=(B+C+D+ea)*.25+(C-(B+C+D+ea)*.25)*.800000011920929;Y=(E+F+G+fa)*.25+(F-(E+F+G+fa)*.25)*.800000011920929;g[V+32>>2]=W;g[V+32+4>>2]=X;g[V+32+8>>2]=Y;g[V+32+12>>2]=0.0;Z=(x+y+z+da)*.25+(z-(x+y+z+da)*.25)*.800000011920929;_=(B+C+D+ea)*.25+(D-(B+C+D+ea)*.25)*.800000011920929;$=(E+F+G+fa)*.25+(G-(E+F+G+fa)*.25)*.800000011920929;g[V+16>>2]=Z;g[V+16+4>>2]=_;g[V+16+8>>2]=$;g[V+16+12>>2]=0.0;Vb[d&1](L,V+96|0,V+32|0,V+16|0,V+160|0,1.0);d=c[(c[L>>2]|0)+28>>2]|0;g[V+96>>2]=aa;g[V+96+4>>2]=ba;g[V+96+8>>2]=ca;g[V+96+12>>2]=0.0;g[V+32>>2]=W;g[V+32+4>>2]=X;g[V+32+8>>2]=Y;g[V+32+12>>2]=0.0;da=(x+y+z+da)*.25+(da-(x+y+z+da)*.25)*.800000011920929;ea=(B+C+D+ea)*.25+(ea-(B+C+D+ea)*.25)*.800000011920929;fa=(E+F+G+fa)*.25+(fa-(E+F+G+fa)*.25)*.800000011920929;g[V+16>>2]=da;g[V+16+4>>2]=ea;g[V+16+8>>2]=fa;g[V+16+12>>2]=0.0;Vb[d&1](L,V+96|0,V+32|0,V+16|0,V+160|0,1.0);d=c[(c[L>>2]|0)+28>>2]|0;g[V+96>>2]=W;g[V+96+4>>2]=X;g[V+96+8>>2]=Y;g[V+96+12>>2]=0.0;g[V+32>>2]=Z;g[V+32+4>>2]=_;g[V+32+8>>2]=$;g[V+32+12>>2]=0.0;g[V+16>>2]=da;g[V+16+4>>2]=ea;g[V+16+8>>2]=fa;g[V+16+12>>2]=0.0;Vb[d&1](L,V+96|0,V+32|0,V+16|0,V+160|0,1.0);d=c[(c[L>>2]|0)+28>>2]|0;g[V+96>>2]=Z;g[V+96+4>>2]=_;g[V+96+8>>2]=$;g[V+96+12>>2]=0.0;g[V+32>>2]=aa;g[V+32+4>>2]=ba;g[V+32+8>>2]=ca;g[V+32+12>>2]=0.0;g[V+16>>2]=da;g[V+16+4>>2]=ea;g[V+16+8>>2]=fa;g[V+16+12>>2]=0.0;Vb[d&1](L,V+96|0,V+32|0,V+16|0,V+160|0,1.0);d=c[P+772>>2]|0}f=f+1|0}while((f|0)<(d|0))}}else{eK();d=c[P+1112>>2]|0;if((d|0)>0){J=0;do{if(a[(c[(c[P+1120>>2]|0)+(J<<2)>>2]|0)+377>>0]|0){ca=+(qt()|0)*4.656612873077393e-10;da=+(qt()|0)*4.656612873077393e-10;ea=+(qt()|0)*4.656612873077393e-10;fa=1.0/+A(+(ea*ea+(ca*ca+da*da)));g[V+160>>2]=ca*fa*.75;g[V+160+4>>2]=da*fa*.75;g[V+160+8>>2]=ea*fa*.75;g[V+160+12>>2]=0.0;f=c[(c[(c[P+1120>>2]|0)+(J<<2)>>2]|0)+24>>2]|0;if((f|0)>0){c[7584]=(c[7584]|0)+1;d=lc((f<<4|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=0;do{I=e+(d<<4)|0;c[I>>2]=c[V+96>>2];c[I+4>>2]=c[V+96+4>>2];c[I+8>>2]=c[V+96+8>>2];c[I+12>>2]=c[V+96+12>>2];d=d+1|0}while((d|0)!=(f|0));d=0;do{H=(c[(c[(c[(c[P+1120>>2]|0)+(J<<2)>>2]|0)+32>>2]|0)+(d<<2)>>2]|0)+8|0;I=e+(d<<4)|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];d=d+1|0}while((d|0)!=(f|0));I=e;H=e}else{I=0;H=0}a[V+96+16>>0]=1;c[V+96+12>>2]=0;c[V+96+4>>2]=0;c[V+96+8>>2]=0;a[V+96+36>>0]=1;c[T>>2]=0;c[V+96+24>>2]=0;c[V+96+28>>2]=0;a[V+96+56>>0]=1;c[U>>2]=0;c[V+96+44>>2]=0;c[V+96+48>>2]=0;nc(V+96|0,H,f);p=c[V+96+44>>2]|0;if((p|0)>0){n=c[T>>2]|0;m=0;do{q=c[(c[U>>2]|0)+(m<<2)>>2]|0;e=c[n+(q*12|0)+4>>2]|0;d=n+(q*12|0)+(e*12|0)+((c[n+(q*12|0)+(e*12|0)>>2]|0)*12|0)|0;if((d|0)!=(n+(q*12|0)|0)){o=c[V+96+12>>2]|0;e=c[n+(q*12|0)+(e*12|0)+8>>2]|0;f=c[n+(q*12|0)+8>>2]|0;while(1){h=c[d+8>>2]|0;Vb[c[(c[L>>2]|0)+28>>2]&1](L,o+(e<<4)|0,o+(f<<4)|0,o+(h<<4)|0,V+160|0,1.0);e=d+((c[d+4>>2]|0)*12|0)|0;d=e+((c[e>>2]|0)*12|0)|0;if((d|0)==(n+(q*12|0)|0))break;else{e=f;f=h}}}m=m+1|0}while((m|0)<(p|0))}d=c[U>>2]|0;if(d|0){if(a[V+96+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[U>>2]=0}a[V+96+56>>0]=1;c[U>>2]=0;c[V+96+44>>2]=0;c[V+96+48>>2]=0;d=c[T>>2]|0;if(d|0){if(a[V+96+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[T>>2]=0}a[V+96+36>>0]=1;c[T>>2]=0;c[V+96+24>>2]=0;c[V+96+28>>2]=0;d=c[V+96+12>>2]|0;if(d|0){if(a[V+96+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[V+96+12>>2]=0}if(!((I|0)==0|(H|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[H+-4>>2]|0)}d=c[P+1112>>2]|0}J=J+1|0}while((J|0)<(d|0))}}if(K&64|0){if((c[P+792>>2]|0)>0){d=0;do{J=c[P+800>>2]|0;H=c[J+(d*96|0)+20>>2]|0;ba=+g[J+(d*96|0)+4>>2];ca=+g[J+(d*96|0)+8>>2];da=+g[J+(d*96|0)+12>>2];ea=ba*+g[H+20>>2]+ca*+g[H+24>>2]+da*+g[H+28>>2]+ +g[H+56>>2];fa=ba*+g[H+36>>2]+ca*+g[H+40>>2]+da*+g[H+44>>2]+ +g[H+60>>2];g[V+32>>2]=ba*+g[H+4>>2]+ca*+g[H+8>>2]+da*+g[H+12>>2]+ +g[H+52>>2];g[V+32+4>>2]=ea;g[V+32+8>>2]=fa;g[V+32+12>>2]=0.0;J=J+(d*96|0)|0;H=c[J>>2]|0;c[V+16>>2]=1065353216;c[V+16+4>>2]=0;c[V+16+8>>2]=0;g[V+16+12>>2]=0.0;I=c[(c[L>>2]|0)+8>>2]|0;fa=+g[H+8>>2];ea=+g[H+12>>2];da=+g[H+16>>2];g[V+160>>2]=fa+-.25;g[V+160+4>>2]=ea;g[V+160+8>>2]=da;g[V+160+12>>2]=0.0;g[V+96>>2]=fa+.25;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=da+0.0;g[V+96+12>>2]=0.0;Qb[I&127](L,V+160|0,V+96|0,V+16|0);I=c[(c[L>>2]|0)+8>>2]|0;da=+g[H+8>>2];ea=+g[H+12>>2];fa=+g[H+16>>2];g[V+160>>2]=da;g[V+160+4>>2]=ea+-.25;g[V+160+8>>2]=fa;g[V+160+12>>2]=0.0;g[V+96>>2]=da+0.0;g[V+96+4>>2]=ea+.25;g[V+96+8>>2]=fa+0.0;g[V+96+12>>2]=0.0;Qb[I&127](L,V+160|0,V+96|0,V+16|0);I=c[(c[L>>2]|0)+8>>2]|0;fa=+g[H+8>>2];ea=+g[H+12>>2];da=+g[H+16>>2];g[V+160>>2]=fa;g[V+160+4>>2]=ea;g[V+160+8>>2]=da+-.25;g[V+160+12>>2]=0.0;g[V+96>>2]=fa+0.0;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=da+.25;g[V+96+12>>2]=0.0;Qb[I&127](L,V+160|0,V+96|0,V+16|0);c[V+16>>2]=0;c[V+16+4>>2]=1065353216;c[V+16+8>>2]=0;g[V+16+12>>2]=0.0;I=c[(c[L>>2]|0)+8>>2]|0;da=+g[V+32>>2];ea=+g[V+32+4>>2];fa=+g[V+32+8>>2];g[V+160>>2]=da+-.25;g[V+160+4>>2]=ea;g[V+160+8>>2]=fa;g[V+160+12>>2]=0.0;g[V+96>>2]=da+.25;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=fa+0.0;g[V+96+12>>2]=0.0;Qb[I&127](L,V+160|0,V+96|0,V+16|0);I=c[(c[L>>2]|0)+8>>2]|0;fa=+g[V+32>>2];ea=+g[V+32+4>>2];da=+g[V+32+8>>2];g[V+160>>2]=fa;g[V+160+4>>2]=ea+-.25;g[V+160+8>>2]=da;g[V+160+12>>2]=0.0;g[V+96>>2]=fa+0.0;g[V+96+4>>2]=ea+.25;g[V+96+8>>2]=da+0.0;g[V+96+12>>2]=0.0;Qb[I&127](L,V+160|0,V+96|0,V+16|0);I=c[(c[L>>2]|0)+8>>2]|0;da=+g[V+32>>2];ea=+g[V+32+4>>2];fa=+g[V+32+8>>2];g[V+160>>2]=da;g[V+160+4>>2]=ea;g[V+160+8>>2]=fa+-.25;g[V+160+12>>2]=0.0;g[V+96>>2]=da+0.0;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=fa+.25;g[V+96+12>>2]=0.0;Qb[I&127](L,V+160|0,V+96|0,V+16|0);I=c[(c[L>>2]|0)+8>>2]|0;J=(c[J>>2]|0)+8|0;c[V+160>>2]=1065353216;c[V+160+4>>2]=1065353216;c[V+160+8>>2]=1065353216;g[V+160+12>>2]=0.0;Qb[I&127](L,J,V+32|0,V+160|0);d=d+1|0}while((d|0)<(c[P+792>>2]|0))}d=c[P+712>>2]|0;if((d|0)>0){f=0;do{e=c[P+720>>2]|0;if((c[(c[e+(f*104|0)+4>>2]|0)+16>>2]&1|0)!=0?+g[e+(f*104|0)+88>>2]<=0.0:0){c[V+32>>2]=1065353216;c[V+32+4>>2]=0;c[V+32+8>>2]=0;g[V+32+12>>2]=0.0;d=c[(c[L>>2]|0)+8>>2]|0;H=e+(f*104|0)+8|0;da=+g[H>>2];I=e+(f*104|0)+12|0;ea=+g[I>>2];J=e+(f*104|0)+16|0;fa=+g[J>>2];g[V+160>>2]=da+-.25;g[V+160+4>>2]=ea;g[V+160+8>>2]=fa;g[V+160+12>>2]=0.0;g[V+96>>2]=da+.25;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=fa+0.0;g[V+96+12>>2]=0.0;Qb[d&127](L,V+160|0,V+96|0,V+32|0);d=c[(c[L>>2]|0)+8>>2]|0;fa=+g[H>>2];ea=+g[I>>2];da=+g[J>>2];g[V+160>>2]=fa;g[V+160+4>>2]=ea+-.25;g[V+160+8>>2]=da;g[V+160+12>>2]=0.0;g[V+96>>2]=fa+0.0;g[V+96+4>>2]=ea+.25;g[V+96+8>>2]=da+0.0;g[V+96+12>>2]=0.0;Qb[d&127](L,V+160|0,V+96|0,V+32|0);d=c[(c[L>>2]|0)+8>>2]|0;da=+g[H>>2];ea=+g[I>>2];fa=+g[J>>2];g[V+160>>2]=da;g[V+160+4>>2]=ea;g[V+160+8>>2]=fa+-.25;g[V+160+12>>2]=0.0;g[V+96>>2]=da+0.0;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=fa+.25;g[V+96+12>>2]=0.0;Qb[d&127](L,V+160|0,V+96|0,V+32|0);d=c[P+712>>2]|0}f=f+1|0}while((f|0)<(d|0))}}if(K&128|0?(c[P+692>>2]|0)>0:0){e=0;do{f=c[P+700>>2]|0;h=f+(e*60|0)+8|0;c[V+160>>2]=c[h>>2];c[V+160+4>>2]=c[h+4>>2];c[V+160+8>>2]=c[h+8>>2];c[V+160+12>>2]=c[h+12>>2];h=c[f+(e*60|0)+24>>2]|0;if((h|0)>0){d=0;i=+g[V+160>>2];j=+g[V+160+4>>2];l=+g[V+160+8>>2];do{J=c[f+(e*60|0)+28+(d<<2)>>2]|0;fa=+g[f+(e*60|0)+44+(d<<2)>>2];i=+g[J+8>>2]*fa+i;j=fa*+g[J+12>>2]+j;l=fa*+g[J+16>>2]+l;g[V+160+8>>2]=l;d=d+1|0}while((d|0)!=(h|0));g[V+160>>2]=i;g[V+160+4>>2]=j}Nb[c[(c[L>>2]|0)+40>>2]&127](L,V+160|0,c[f+(e*60|0)+4>>2]|0);e=e+1|0}while((e|0)<(c[P+692>>2]|0))}if(K&512|0){J=c[P+928>>2]|0;c[V+160>>2]=1065353216;c[V+160+4>>2]=0;c[V+160+8>>2]=1065353216;g[V+160+12>>2]=0.0;c[V+96>>2]=1065353216;c[V+96+4>>2]=1065353216;c[V+96+8>>2]=1065353216;g[V+96+12>>2]=0.0;Zf(L,J,0,V+160|0,V+96|0)}if(K&1024|0){J=c[P+988>>2]|0;c[V+160>>2]=0;c[V+160+4>>2]=1065353216;c[V+160+8>>2]=0;g[V+160+12>>2]=0.0;c[V+96>>2]=1065353216;c[V+96+4>>2]=0;c[V+96+8>>2]=0;g[V+96+12>>2]=0.0;Zf(L,J,0,V+160|0,V+96|0)}if(K&2048|0){J=c[P+1048>>2]|0;c[V+160>>2]=0;c[V+160+4>>2]=1065353216;c[V+160+8>>2]=1065353216;g[V+160+12>>2]=0.0;c[V+96>>2]=1065353216;c[V+96+4>>2]=0;c[V+96+8>>2]=0;g[V+96+12>>2]=0.0;Zf(L,J,0,V+160|0,V+96|0)}a:do if(K&4096|0?(c[P+852>>2]|0)>0:0){d=0;while(1){e=c[(c[P+860>>2]|0)+(d<<2)>>2]|0;switch(tb[c[(c[e>>2]|0)+20>>2]&255](e)|0){case 0:{K=Ui(e+4|0)|0;fa=+g[e+28>>2];ea=+g[e+32>>2];da=+g[e+36>>2];ca=fa*+g[K+16>>2]+ea*+g[K+20>>2]+da*+g[K+24>>2]+ +g[K+52>>2];ba=fa*+g[K+32>>2]+ea*+g[K+36>>2]+da*+g[K+40>>2]+ +g[K+56>>2];g[V+32>>2]=fa*+g[K>>2]+ea*+g[K+4>>2]+da*+g[K+8>>2]+ +g[K+48>>2];g[V+32+4>>2]=ca;g[V+32+8>>2]=ba;g[V+32+12>>2]=0.0;K=Ui(e+16|0)|0;ba=+g[e+44>>2];ca=+g[e+48>>2];da=+g[e+52>>2];ea=ba*+g[K+16>>2]+ca*+g[K+20>>2]+da*+g[K+24>>2]+ +g[K+52>>2];fa=ba*+g[K+32>>2]+ca*+g[K+36>>2]+da*+g[K+40>>2]+ +g[K+56>>2];g[V+16>>2]=ba*+g[K>>2]+ca*+g[K+4>>2]+da*+g[K+8>>2]+ +g[K+48>>2];g[V+16+4>>2]=ea;g[V+16+8>>2]=fa;g[V+16+12>>2]=0.0;K=c[(c[L>>2]|0)+8>>2]|0;J=(Ui(e+4|0)|0)+48|0;c[V+160>>2]=1065353216;c[V+160+4>>2]=1065353216;c[V+160+8>>2]=0;g[V+160+12>>2]=0.0;Qb[K&127](L,J,V+32|0,V+160|0);J=c[(c[L>>2]|0)+8>>2]|0;K=(Ui(e+16|0)|0)+48|0;c[V+160>>2]=0;c[V+160+4>>2]=1065353216;c[V+160+8>>2]=1065353216;g[V+160+12>>2]=0.0;Qb[J&127](L,K,V+16|0,V+160|0);c[V>>2]=1065353216;c[V+4>>2]=1065353216;c[V+8>>2]=0;g[V+12>>2]=0.0;K=c[(c[L>>2]|0)+8>>2]|0;fa=+g[V+32>>2];ea=+g[V+32+4>>2];da=+g[V+32+8>>2];g[V+160>>2]=fa+-.25;g[V+160+4>>2]=ea;g[V+160+8>>2]=da;g[V+160+12>>2]=0.0;g[V+96>>2]=fa+.25;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=da+0.0;g[V+96+12>>2]=0.0;Qb[K&127](L,V+160|0,V+96|0,V);K=c[(c[L>>2]|0)+8>>2]|0;da=+g[V+32>>2];ea=+g[V+32+4>>2];fa=+g[V+32+8>>2];g[V+160>>2]=da;g[V+160+4>>2]=ea+-.25;g[V+160+8>>2]=fa;g[V+160+12>>2]=0.0;g[V+96>>2]=da+0.0;g[V+96+4>>2]=ea+.25;g[V+96+8>>2]=fa+0.0;g[V+96+12>>2]=0.0;Qb[K&127](L,V+160|0,V+96|0,V);K=c[(c[L>>2]|0)+8>>2]|0;fa=+g[V+32>>2];ea=+g[V+32+4>>2];da=+g[V+32+8>>2];g[V+160>>2]=fa;g[V+160+4>>2]=ea;g[V+160+8>>2]=da+-.25;g[V+160+12>>2]=0.0;g[V+96>>2]=fa+0.0;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=da+.25;g[V+96+12>>2]=0.0;Qb[K&127](L,V+160|0,V+96|0,V);c[V>>2]=0;c[V+4>>2]=1065353216;c[V+8>>2]=1065353216;g[V+12>>2]=0.0;K=c[(c[L>>2]|0)+8>>2]|0;da=+g[V+16>>2];ea=+g[V+16+4>>2];fa=+g[V+16+8>>2];g[V+160>>2]=da+-.25;g[V+160+4>>2]=ea;g[V+160+8>>2]=fa;g[V+160+12>>2]=0.0;g[V+96>>2]=da+.25;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=fa+0.0;g[V+96+12>>2]=0.0;Qb[K&127](L,V+160|0,V+96|0,V);K=c[(c[L>>2]|0)+8>>2]|0;fa=+g[V+16>>2];ea=+g[V+16+4>>2];da=+g[V+16+8>>2];g[V+160>>2]=fa;g[V+160+4>>2]=ea+-.25;g[V+160+8>>2]=da;g[V+160+12>>2]=0.0;g[V+96>>2]=fa+0.0;g[V+96+4>>2]=ea+.25;g[V+96+8>>2]=da+0.0;g[V+96+12>>2]=0.0;Qb[K&127](L,V+160|0,V+96|0,V);K=c[(c[L>>2]|0)+8>>2]|0;da=+g[V+16>>2];ea=+g[V+16+4>>2];fa=+g[V+16+8>>2];g[V+160>>2]=da;g[V+160+4>>2]=ea;g[V+160+8>>2]=fa+-.25;g[V+160+12>>2]=0.0;g[V+96>>2]=da+0.0;g[V+96+4>>2]=ea+0.0;g[V+96+8>>2]=fa+.25;g[V+96+12>>2]=0.0;Qb[K&127](L,V+160|0,V+96|0,V);break}case 1:{K=(Ui(e+4|0)|0)+48|0;c[V+160>>2]=c[K>>2];c[V+160+4>>2]=c[K+4>>2];c[V+160+8>>2]=c[K+8>>2];c[V+160+12>>2]=c[K+12>>2];K=(Ui(e+16|0)|0)+48|0;c[V+96>>2]=c[K>>2];c[V+96+4>>2]=c[K+4>>2];c[V+96+8>>2]=c[K+8>>2];c[V+96+12>>2]=c[K+12>>2];K=Ui(e+4|0)|0;$=+g[e+28>>2];_=+g[e+32>>2];ca=+g[e+36>>2];aa=+g[K>>2]*$+ +g[K+4>>2]*_+ +g[K+8>>2]*ca;ba=$*+g[K+16>>2]+_*+g[K+20>>2]+ca*+g[K+24>>2];ca=$*+g[K+32>>2]+_*+g[K+36>>2]+ca*+g[K+40>>2];K=Ui(e+16|0)|0;_=+g[e+44>>2];$=+g[e+48>>2];fa=+g[e+52>>2];da=+g[K>>2]*_+ +g[K+4>>2]*$+ +g[K+8>>2]*fa;ea=_*+g[K+16>>2]+$*+g[K+20>>2]+fa*+g[K+24>>2];fa=_*+g[K+32>>2]+$*+g[K+36>>2]+fa*+g[K+40>>2];K=c[(c[L>>2]|0)+8>>2]|0;$=ba*10.0+ +g[V+160+4>>2];_=ca*10.0+ +g[V+160+8>>2];g[V+32>>2]=aa*10.0+ +g[V+160>>2];g[V+32+4>>2]=$;g[V+32+8>>2]=_;g[V+32+12>>2]=0.0;c[V+16>>2]=1065353216;c[V+16+4>>2]=1065353216;c[V+16+8>>2]=0;g[V+16+12>>2]=0.0;Qb[K&127](L,V+160|0,V+32|0,V+16|0);K=c[(c[L>>2]|0)+8>>2]|0;_=ea*10.0+ +g[V+160+4>>2];$=fa*10.0+ +g[V+160+8>>2];g[V+32>>2]=da*10.0+ +g[V+160>>2];g[V+32+4>>2]=_;g[V+32+8>>2]=$;g[V+32+12>>2]=0.0;c[V+16>>2]=1065353216;c[V+16+4>>2]=1065353216;c[V+16+8>>2]=0;g[V+16+12>>2]=0.0;Qb[K&127](L,V+160|0,V+32|0,V+16|0);K=c[(c[L>>2]|0)+8>>2]|0;ba=ba*10.0+ +g[V+96+4>>2];ca=ca*10.0+ +g[V+96+8>>2];g[V+32>>2]=aa*10.0+ +g[V+96>>2];g[V+32+4>>2]=ba;g[V+32+8>>2]=ca;g[V+32+12>>2]=0.0;c[V+16>>2]=0;c[V+16+4>>2]=1065353216;c[V+16+8>>2]=1065353216;g[V+16+12>>2]=0.0;Qb[K&127](L,V+96|0,V+32|0,V+16|0);K=c[(c[L>>2]|0)+8>>2]|0;ea=ea*10.0+ +g[V+96+4>>2];fa=fa*10.0+ +g[V+96+8>>2];g[V+32>>2]=da*10.0+ +g[V+96>>2];g[V+32+4>>2]=ea;g[V+32+8>>2]=fa;g[V+32+12>>2]=0.0;c[V+16>>2]=0;c[V+16+4>>2]=1065353216;c[V+16+8>>2]=1065353216;g[V+16+12>>2]=0.0;Qb[K&127](L,V+96|0,V+32|0,V+16|0);break}default:{}}d=d+1|0;if((d|0)>=(c[P+852>>2]|0))break a}}while(0)}d=c[b+72>>2]|0;if(d|0?(tb[c[(c[d>>2]|0)+48>>2]&255](d)|0)&2|0:0){if(a[b+348>>0]|0){K=c[b+72>>2]|0;L=c[P+928>>2]|0;c[V+160>>2]=1065353216;c[V+160+4>>2]=0;c[V+160+8>>2]=1065353216;g[V+160+12>>2]=0.0;c[V+96>>2]=1065353216;c[V+96+4>>2]=1065353216;c[V+96+8>>2]=1065353216;g[V+96+12>>2]=0.0;Zf(K,L,0,V+160|0,V+96|0)}if(a[b+349>>0]|0){K=c[b+72>>2]|0;L=c[P+988>>2]|0;c[V+160>>2]=0;c[V+160+4>>2]=1065353216;c[V+160+8>>2]=0;g[V+160+12>>2]=0.0;c[V+96>>2]=1065353216;c[V+96+4>>2]=0;c[V+96+8>>2]=0;g[V+96+12>>2]=0.0;Zf(K,L,0,V+160|0,V+96|0)}if(a[b+350>>0]|0){L=c[b+72>>2]|0;P=c[P+1048>>2]|0;c[V+160>>2]=0;c[V+160+4>>2]=1065353216;c[V+160+8>>2]=1065353216;g[V+160+12>>2]=0.0;c[V+96>>2]=1065353216;c[V+96+4>>2]=0;c[V+96+8>>2]=0;g[V+96+12>>2]=0.0;Zf(L,P,0,V+160|0,V+96|0)}}M=M+1|0}while((M|0)<(c[b+328>>2]|0));k=V;return}function ec(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.0;da=k;k=k+80|0;if((e|0)<=0){k=da;return}U=0;do{X=c[d+(U<<2)>>2]|0;Y=c[X+740>>2]|0;Z=c[X+744>>2]|0;_=Rd(b,Y,+g[f+12>>2])|0;$=Rd(b,Z,+g[f+12>>2])|0;aa=c[b+16>>2]|0;if(!(((((+g[aa+(_*244|0)+128>>2]==0.0?+g[aa+(_*244|0)+132>>2]==0.0:0)?+g[aa+(_*244|0)+136>>2]==0.0:0)?+g[aa+($*244|0)+128>>2]==0.0:0)?+g[aa+($*244|0)+132>>2]==0.0:0)?+g[aa+($*244|0)+136>>2]==0.0:0))ca=9;if((ca|0)==9?(ca=0,ba=c[X+748>>2]|0,(ba|0)>0):0){V=0;h=1;i=ba;do{S=X+4+(V*184|0)|0;o=X+4+(V*184|0)+80|0;if(+g[o>>2]<=+g[X+756>>2]){T=c[b+28>>2]|0;if((T|0)==(c[b+32>>2]|0)?(W=(T|0)==0?1:T<<1,(T|0)<(W|0)):0){if(!W){i=0;l=T}else{c[7584]=(c[7584]|0)+1;i=lc((W*152|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}l=c[b+28>>2]|0}if((l|0)>0){j=0;do{Ki(i+(j*152|0)|0,(c[b+36>>2]|0)+(j*152|0)|0,152)|0;j=j+1|0}while((j|0)!=(l|0))}j=c[b+36>>2]|0;if(j|0){if(a[b+40>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=i;c[b+32>>2]=W;i=c[b+28>>2]|0}else i=T;c[b+28>>2]=i+1;R=c[b+36>>2]|0;p=(c[Y+236>>2]&2|0)==0?0:Y;q=(c[Z+236>>2]&2|0)==0?0:Z;c[R+(T*152|0)+144>>2]=_;c[R+(T*152|0)+148>>2]=$;c[R+(T*152|0)+132>>2]=S;B=+g[X+4+(V*184|0)+48>>2]-+g[Y+52>>2];C=+g[X+4+(V*184|0)+52>>2]-+g[Y+56>>2];y=+g[X+4+(V*184|0)+56>>2]-+g[Y+60>>2];g[da+64>>2]=B;g[da+64+4>>2]=C;g[da+64+8>>2]=y;g[da+64+12>>2]=0.0;F=+g[X+4+(V*184|0)+32>>2]-+g[Z+52>>2];G=+g[X+4+(V*184|0)+36>>2]-+g[Z+56>>2];E=+g[X+4+(V*184|0)+40>>2]-+g[Z+60>>2];g[da+48>>2]=F;g[da+48+4>>2]=G;g[da+48+8>>2]=E;g[da+48+12>>2]=0.0;if(!(c[aa+(_*244|0)+240>>2]|0)){n=0.0;s=0.0;u=0.0}else{N=+g[aa+(_*244|0)+192>>2]+ +g[aa+(_*244|0)+224>>2];u=+g[aa+(_*244|0)+196>>2]+ +g[aa+(_*244|0)+228>>2];s=+g[aa+(_*244|0)+200>>2]+ +g[aa+(_*244|0)+232>>2];n=+g[aa+(_*244|0)+176>>2]+ +g[aa+(_*244|0)+208>>2]+(y*u-C*s);s=+g[aa+(_*244|0)+180>>2]+ +g[aa+(_*244|0)+212>>2]+(B*s-y*N);u=+g[aa+(_*244|0)+184>>2]+ +g[aa+(_*244|0)+216>>2]+(C*N-B*u)}if(!(c[aa+($*244|0)+240>>2]|0)){m=0.0;r=0.0;t=0.0}else{N=+g[aa+($*244|0)+192>>2]+ +g[aa+($*244|0)+224>>2];t=+g[aa+($*244|0)+196>>2]+ +g[aa+($*244|0)+228>>2];r=+g[aa+($*244|0)+200>>2]+ +g[aa+($*244|0)+232>>2];m=+g[aa+($*244|0)+176>>2]+ +g[aa+($*244|0)+208>>2]+(E*t-G*r);r=+g[aa+($*244|0)+180>>2]+ +g[aa+($*244|0)+212>>2]+(F*r-E*N);t=+g[aa+($*244|0)+184>>2]+ +g[aa+($*244|0)+216>>2]+(G*N-F*t)}N=n-m;M=s-r;I=u-t;O=X+4+(V*184|0)+64|0;J=+g[O>>2];P=X+4+(V*184|0)+68|0;K=+g[P>>2];Q=X+4+(V*184|0)+72|0;L=+g[Q>>2];l=c[b+16>>2]|0;i=c[l+(_*244|0)+240>>2]|0;j=c[l+($*244|0)+240>>2]|0;if(i|0){m=((C*L-y*K)*+g[i+264>>2]+(y*J-L*B)*+g[i+268>>2]+(K*B-C*J)*+g[i+272>>2])*+g[i+544>>2];n=((C*L-y*K)*+g[i+280>>2]+(y*J-L*B)*+g[i+284>>2]+(K*B-C*J)*+g[i+288>>2])*+g[i+548>>2];r=((C*L-y*K)*+g[i+296>>2]+(y*J-L*B)*+g[i+300>>2]+(K*B-C*J)*+g[i+304>>2])*+g[i+552>>2]}else{m=0.0;n=0.0;r=0.0}g[R+(T*152|0)+64>>2]=m;g[R+(T*152|0)+68>>2]=n;g[R+(T*152|0)+72>>2]=r;g[R+(T*152|0)+76>>2]=0.0;v=+g[Q>>2];w=+g[P>>2];x=+g[O>>2];if(j|0){s=(+g[j+264>>2]*-(G*v-E*w)+ +g[j+268>>2]*-(E*x-v*F)+ +g[j+272>>2]*-(w*F-G*x))*+g[j+544>>2];t=(+g[j+280>>2]*-(G*v-E*w)+ +g[j+284>>2]*-(E*x-v*F)+ +g[j+288>>2]*-(w*F-G*x))*+g[j+548>>2];u=(+g[j+296>>2]*-(G*v-E*w)+ +g[j+300>>2]*-(E*x-v*F)+ +g[j+304>>2]*-(w*F-G*x))*+g[j+552>>2]}else{s=0.0;t=0.0;u=0.0}g[R+(T*152|0)+80>>2]=s;g[R+(T*152|0)+84>>2]=t;g[R+(T*152|0)+88>>2]=u;g[R+(T*152|0)+92>>2]=0.0;if(i|0)n=+g[i+344>>2]+((n*y-r*C)*+g[O>>2]+(r*B-y*m)*+g[P>>2]+(C*m-n*B)*+g[Q>>2]);else n=0.0;if(j|0){H=-s;m=-t;u=-u;m=+g[j+344>>2]+((E*m-G*u)*+g[O>>2]+(F*u-E*H)*+g[P>>2]+(G*H-F*m)*+g[Q>>2])}else m=0.0;g[R+(T*152|0)+108>>2]=1.0/(n+m);if(i|0){c[R+(T*152|0)+16>>2]=c[O>>2];c[R+(T*152|0)+16+4>>2]=c[O+4>>2];c[R+(T*152|0)+16+8>>2]=c[O+8>>2];c[R+(T*152|0)+16+12>>2]=c[O+12>>2];g[R+(T*152|0)>>2]=C*L-y*K;g[R+(T*152|0)+4>>2]=y*J-L*B;g[R+(T*152|0)+8>>2]=K*B-C*J;g[R+(T*152|0)+12>>2]=0.0}else{c[R+(T*152|0)>>2]=0;c[R+(T*152|0)+4>>2]=0;c[R+(T*152|0)+8>>2]=0;c[R+(T*152|0)+12>>2]=0;c[R+(T*152|0)+16>>2]=0;c[R+(T*152|0)+20>>2]=0;c[R+(T*152|0)+24>>2]=0;c[R+(T*152|0)+28>>2]=0}if(j|0){u=-+g[P>>2];H=-+g[Q>>2];g[R+(T*152|0)+48>>2]=-+g[O>>2];g[R+(T*152|0)+52>>2]=u;g[R+(T*152|0)+56>>2]=H;g[R+(T*152|0)+60>>2]=0.0;g[R+(T*152|0)+32>>2]=-(G*v-E*w);g[R+(T*152|0)+36>>2]=-(E*x-v*F);g[R+(T*152|0)+40>>2]=-(w*F-G*x);g[R+(T*152|0)+44>>2]=0.0}else{c[R+(T*152|0)+32>>2]=0;c[R+(T*152|0)+32+4>>2]=0;c[R+(T*152|0)+32+8>>2]=0;c[R+(T*152|0)+32+12>>2]=0;c[R+(T*152|0)+32+16>>2]=0;c[R+(T*152|0)+32+20>>2]=0;c[R+(T*152|0)+32+24>>2]=0;c[R+(T*152|0)+32+28>>2]=0}H=+g[o>>2]+ +g[f+56>>2];if(i|0){s=+g[i+332>>2];t=+g[i+336>>2];x=+g[i+328>>2];u=s*y-t*C+ +g[i+312>>2];t=+g[i+316>>2]+(t*B-y*x);s=C*x-s*B+ +g[i+320>>2]}else{u=0.0;t=0.0;s=0.0}if(j|0){m=+g[j+332>>2];n=+g[j+336>>2];C=+g[j+328>>2];r=m*E-n*G+ +g[j+312>>2];n=+g[j+316>>2]+(n*F-E*C);m=G*C-m*F+ +g[j+320>>2]}else{r=0.0;n=0.0;m=0.0}E=(u-r)*+g[O>>2]+(t-n)*+g[P>>2]+(s-m)*+g[Q>>2];c[R+(T*152|0)+104>>2]=c[X+4+(V*184|0)+84>>2];E=E*+g[X+4+(V*184|0)+92>>2];E=E>=-0.0?0.0:-E;do if(!(c[f+64>>2]&4))g[R+(T*152|0)+100>>2]=0.0;else{m=+g[X+4+(V*184|0)+120>>2]*+g[f+60>>2];g[R+(T*152|0)+100>>2]=m;do if(i|0){if(!(c[l+(_*244|0)+240>>2]|0))break;G=m*+g[R+(T*152|0)+20>>2]*+g[l+(_*244|0)+132>>2]*+g[i+352>>2]*+g[l+(_*244|0)+116>>2];F=m*+g[R+(T*152|0)+24>>2]*+g[l+(_*244|0)+136>>2]*+g[i+356>>2]*+g[l+(_*244|0)+120>>2];g[l+(_*244|0)+64>>2]=+g[l+(_*244|0)+112>>2]*m*+g[R+(T*152|0)+16>>2]*+g[l+(_*244|0)+128>>2]*+g[i+348>>2]+ +g[l+(_*244|0)+64>>2];g[l+(_*244|0)+68>>2]=G+ +g[l+(_*244|0)+68>>2];g[l+(_*244|0)+72>>2]=F+ +g[l+(_*244|0)+72>>2];F=m*+g[l+(_*244|0)+100>>2]*+g[R+(T*152|0)+68>>2];G=m*+g[l+(_*244|0)+104>>2]*+g[R+(T*152|0)+72>>2];g[l+(_*244|0)+80>>2]=m*+g[l+(_*244|0)+96>>2]*+g[R+(T*152|0)+64>>2]+ +g[l+(_*244|0)+80>>2];g[l+(_*244|0)+84>>2]=F+ +g[l+(_*244|0)+84>>2];g[l+(_*244|0)+88>>2]=G+ +g[l+(_*244|0)+88>>2]}while(0);if(!j)break;m=+g[R+(T*152|0)+100>>2];if(!(c[l+($*244|0)+240>>2]|0))break;G=+g[R+(T*152|0)+88>>2];F=+g[R+(T*152|0)+84>>2];C=+g[R+(T*152|0)+80>>2];y=m*+g[R+(T*152|0)+52>>2]*+g[l+($*244|0)+132>>2]*+g[j+352>>2]*+g[l+($*244|0)+116>>2];B=m*+g[R+(T*152|0)+56>>2]*+g[l+($*244|0)+136>>2]*+g[j+356>>2]*+g[l+($*244|0)+120>>2];g[l+($*244|0)+64>>2]=+g[l+($*244|0)+112>>2]*m*+g[R+(T*152|0)+48>>2]*+g[l+($*244|0)+128>>2]*+g[j+348>>2]+ +g[l+($*244|0)+64>>2];g[l+($*244|0)+68>>2]=y+ +g[l+($*244|0)+68>>2];g[l+($*244|0)+72>>2]=B+ +g[l+($*244|0)+72>>2];F=F*+g[l+($*244|0)+100>>2]*-m;G=G*+g[l+($*244|0)+104>>2]*-m;g[l+($*244|0)+80>>2]=+g[l+($*244|0)+80>>2]-C*+g[l+($*244|0)+96>>2]*-m;g[l+($*244|0)+84>>2]=+g[l+($*244|0)+84>>2]-F;g[l+($*244|0)+88>>2]=+g[l+($*244|0)+88>>2]-G}while(0);g[R+(T*152|0)+96>>2]=0.0;if(!(c[l+(_*244|0)+240>>2]|0)){m=0.0;n=0.0;r=0.0;s=0.0;t=0.0;u=0.0}else{m=+g[l+(_*244|0)+208>>2];n=+g[l+(_*244|0)+212>>2];r=+g[l+(_*244|0)+216>>2];s=+g[l+(_*244|0)+224>>2];t=+g[l+(_*244|0)+228>>2];u=+g[l+(_*244|0)+232>>2]}if(!(c[l+($*244|0)+240>>2]|0)){v=0.0;w=0.0;x=0.0;y=0.0;B=0.0;C=0.0}else{v=+g[l+($*244|0)+208>>2];w=+g[l+($*244|0)+212>>2];x=+g[l+($*244|0)+216>>2];y=+g[l+($*244|0)+224>>2];B=+g[l+($*244|0)+228>>2];C=+g[l+($*244|0)+232>>2]}m=E-((m+ +g[l+(_*244|0)+176>>2])*+g[R+(T*152|0)+16>>2]+(n+ +g[l+(_*244|0)+180>>2])*+g[R+(T*152|0)+20>>2]+(r+ +g[l+(_*244|0)+184>>2])*+g[R+(T*152|0)+24>>2]+((s+ +g[l+(_*244|0)+192>>2])*+g[R+(T*152|0)>>2]+(t+ +g[l+(_*244|0)+196>>2])*+g[R+(T*152|0)+4>>2]+(u+ +g[l+(_*244|0)+200>>2])*+g[R+(T*152|0)+8>>2])+((v+ +g[l+($*244|0)+176>>2])*+g[R+(T*152|0)+48>>2]+(w+ +g[l+($*244|0)+180>>2])*+g[R+(T*152|0)+52>>2]+(x+ +g[l+($*244|0)+184>>2])*+g[R+(T*152|0)+56>>2]+((y+ +g[l+($*244|0)+192>>2])*+g[R+(T*152|0)+32>>2]+(B+ +g[l+($*244|0)+196>>2])*+g[R+(T*152|0)+36>>2]+(C+ +g[l+($*244|0)+200>>2])*+g[R+(T*152|0)+40>>2])));i=(c[f+44>>2]|0)==0;if(H>0.0){m=m-H/+g[f+12>>2];n=0.0}else n=-(H*(i|H>+g[f+48>>2]?+g[f+32>>2]:+g[f+36>>2]))/+g[f+12>>2];F=+g[R+(T*152|0)+108>>2];G=n*F;F=m*F;D=i|H>+g[f+48>>2];g[R+(T*152|0)+112>>2]=D?G+F:F;g[R+(T*152|0)+128>>2]=D?0.0:G;g[R+(T*152|0)+116>>2]=0.0;g[R+(T*152|0)+120>>2]=0.0;g[R+(T*152|0)+124>>2]=1.0e10;c[R+(T*152|0)+140>>2]=c[b+68>>2];if(!p){n=0.0;u=0.0;v=0.0}else{n=+g[p+328>>2];u=+g[p+332>>2];v=+g[p+336>>2]}if(!q){m=0.0;r=0.0;s=0.0}else{m=+g[q+328>>2];r=+g[q+332>>2];s=+g[q+336>>2]}t=m-n;n=r-u;s=s-v;g[da+32>>2]=t;g[da+32+4>>2]=n;g[da+32+8>>2]=s;g[da+32+12>>2]=0.0;do if((h|0)>0?+g[X+4+(V*184|0)+88>>2]>0.0:0){h=h+-1|0;m=+A(+(t*t+n*n+s*s));if(m>+g[f+80>>2]){g[da+32>>2]=t*(1.0/m);g[da+32+4>>2]=n*(1.0/m);g[da+32+8>>2]=s*(1.0/m);if(!(c[Y+180>>2]&2)){r=t*(1.0/m);n=n*(1.0/m);m=s*(1.0/m)}else{v=+g[Y+4>>2];x=+g[Y+20>>2];C=+g[Y+36>>2];w=+g[Y+8>>2];y=+g[Y+24>>2];F=+g[Y+40>>2];r=+g[Y+12>>2];B=+g[Y+28>>2];H=+g[Y+44>>2];E=(t*(1.0/m)*v+n*(1.0/m)*x+s*(1.0/m)*C)*+g[Y+164>>2];G=(t*(1.0/m)*w+n*(1.0/m)*y+s*(1.0/m)*F)*+g[Y+168>>2];m=(t*(1.0/m)*r+n*(1.0/m)*B+s*(1.0/m)*H)*+g[Y+172>>2];g[da+32>>2]=v*E+w*G+r*m;g[da+32+4>>2]=x*E+y*G+B*m;g[da+32+8>>2]=C*E+F*G+H*m;g[da+32+12>>2]=0.0;r=v*E+w*G+r*m;n=x*E+y*G+B*m;m=C*E+F*G+H*m}if(c[Z+180>>2]&2){u=+g[Z+4>>2];x=+g[Z+20>>2];C=+g[Z+36>>2];v=+g[Z+8>>2];y=+g[Z+24>>2];F=+g[Z+40>>2];w=+g[Z+12>>2];B=+g[Z+28>>2];H=+g[Z+44>>2];E=(u*r+x*n+C*m)*+g[Z+164>>2];G=(r*v+n*y+m*F)*+g[Z+168>>2];m=(r*w+n*B+m*H)*+g[Z+172>>2];g[da+32>>2]=u*E+v*G+w*m;g[da+32+4>>2]=x*E+y*G+B*m;g[da+32+8>>2]=C*E+F*G+H*m;g[da+32+12>>2]=0.0;r=u*E+v*G+w*m;n=x*E+y*G+B*m;m=C*E+F*G+H*m}if(!(+A(+(r*r+n*n+m*m))>.001))break;Id(b,da+32|0,_,$,T,S);break}Id(b,O,_,$,T,S);m=+g[Q>>2];if(+z(+m)>.7071067690849304){H=+g[P>>2];n=1.0/+A(+(m*m+H*H));g[da+16>>2]=0.0;g[da+16+4>>2]=-(m*n);g[da+16+8>>2]=H*n;g[da>>2]=(m*m+H*H)*n;G=+g[O>>2];g[da+4>>2]=-(G*H*n);v=G*-(m*n);s=-(m*n);t=H*n;r=(m*m+H*H)*n;n=-(G*H*n);m=0.0}else{r=+g[O>>2];G=+g[P>>2];H=1.0/+A(+(r*r+G*G));g[da+16>>2]=-(G*H);g[da+16+4>>2]=r*H;g[da+16+8>>2]=0.0;g[da>>2]=-(m*r*H);g[da+4>>2]=m*-(G*H);v=(r*r+G*G)*H;s=r*H;t=0.0;r=-(m*r*H);n=m*-(G*H);m=-(G*H)}g[da+8>>2]=v;j=(c[Y+180>>2]&2|0)==0;if(!j){ea=+g[Y+4>>2];x=+g[Y+20>>2];C=+g[Y+36>>2];u=+g[Y+8>>2];y=+g[Y+24>>2];F=+g[Y+40>>2];w=+g[Y+12>>2];B=+g[Y+28>>2];H=+g[Y+44>>2];E=(ea*m+x*s+C*t)*+g[Y+164>>2];G=(m*u+s*y+t*F)*+g[Y+168>>2];t=(m*w+s*B+t*H)*+g[Y+172>>2];g[da+16>>2]=ea*E+u*G+w*t;g[da+16+4>>2]=x*E+y*G+B*t;g[da+16+8>>2]=C*E+F*G+H*t;g[da+16+12>>2]=0.0;m=ea*E+u*G+w*t;s=x*E+y*G+B*t;t=C*E+F*G+H*t}i=(c[Z+180>>2]&2|0)==0;if(i)u=m;else{w=+g[Z+4>>2];y=+g[Z+20>>2];E=+g[Z+36>>2];x=+g[Z+8>>2];B=+g[Z+24>>2];G=+g[Z+40>>2];u=+g[Z+12>>2];C=+g[Z+28>>2];ea=+g[Z+44>>2];F=(w*m+y*s+E*t)*+g[Z+164>>2];H=(m*x+s*B+t*G)*+g[Z+168>>2];t=(m*u+s*C+t*ea)*+g[Z+172>>2];g[da+16>>2]=w*F+x*H+u*t;g[da+16+4>>2]=y*F+B*H+C*t;g[da+16+8>>2]=E*F+G*H+ea*t;g[da+16+12>>2]=0.0;u=w*F+x*H+u*t;s=y*F+B*H+C*t;t=E*F+G*H+ea*t}if(j)m=v;else{fa=+g[Y+4>>2];y=+g[Y+20>>2];E=+g[Y+36>>2];w=+g[Y+8>>2];B=+g[Y+24>>2];G=+g[Y+40>>2];x=+g[Y+12>>2];C=+g[Y+28>>2];ea=+g[Y+44>>2];F=(fa*r+y*n+v*E)*+g[Y+164>>2];H=(r*w+n*B+v*G)*+g[Y+168>>2];m=(r*x+n*C+v*ea)*+g[Y+172>>2];g[da>>2]=fa*F+w*H+x*m;g[da+4>>2]=y*F+B*H+C*m;g[da+8>>2]=E*F+G*H+ea*m;g[da+12>>2]=0.0;r=fa*F+w*H+x*m;n=y*F+B*H+C*m;m=E*F+G*H+ea*m}if(!i){w=+g[Z+4>>2];B=+g[Z+20>>2];F=+g[Z+36>>2];x=+g[Z+8>>2];C=+g[Z+24>>2];H=+g[Z+40>>2];y=+g[Z+12>>2];E=+g[Z+28>>2];fa=+g[Z+44>>2];G=(w*r+B*n+F*m)*+g[Z+164>>2];ea=(r*x+n*C+m*H)*+g[Z+168>>2];m=(r*y+n*E+m*fa)*+g[Z+172>>2];g[da>>2]=w*G+x*ea+y*m;g[da+4>>2]=B*G+C*ea+E*m;g[da+8>>2]=F*G+H*ea+fa*m;g[da+12>>2]=0.0;r=w*G+x*ea+y*m;n=B*G+C*ea+E*m;m=F*G+H*ea+fa*m}if(+A(+(u*u+s*s+t*t))>.001)Id(b,da+16|0,_,$,T,S);if(+A(+(r*r+n*n+m*m))>.001)Id(b,da,_,$,T,S)}while(0);do if(!(c[f+64>>2]&32))ca=93;else{if(!(a[X+4+(V*184|0)+116>>0]|0)){ca=93;break}hd(b,X+4+(V*184|0)+152|0,_,$,T,S,da+64|0,da+48|0,1.0,+g[X+4+(V*184|0)+132>>2],+g[X+4+(V*184|0)+140>>2]);if(!(c[f+64>>2]&16))break;hd(b,X+4+(V*184|0)+168|0,_,$,T,S,da+64|0,da+48|0,1.0,+g[X+4+(V*184|0)+136>>2],+g[X+4+(V*184|0)+144>>2])}while(0);do if((ca|0)==93){ca=0;m=+g[O>>2];w=+g[P>>2];v=+g[Q>>2];n=N-(N*J+M*K+I*L)*m;t=M-(N*J+M*K+I*L)*w;s=I-(N*J+M*K+I*L)*v;D=X+4+(V*184|0)+152|0;g[X+4+(V*184|0)+152>>2]=n;i=X+4+(V*184|0)+156|0;g[i>>2]=t;p=X+4+(V*184|0)+160|0;g[p>>2]=s;q=X+4+(V*184|0)+164|0;g[q>>2]=0.0;if((c[f+64>>2]&64|0)==0?n*n+t*t+s*s>1.1920928955078125e-07:0){m=1.0/+A(+(n*n+t*t+s*s));g[D>>2]=n*m;g[i>>2]=t*m;g[p>>2]=s*m;if(!(c[Y+180>>2]&1)){r=n*m;n=t*m;m=s*m}else{G=+g[Y+4>>2];I=+g[Y+20>>2];L=+g[Y+36>>2];H=+g[Y+8>>2];J=+g[Y+24>>2];N=+g[Y+40>>2];r=+g[Y+12>>2];K=+g[Y+28>>2];fa=+g[Y+44>>2];M=(n*m*G+t*m*I+s*m*L)*+g[Y+164>>2];ea=(n*m*H+t*m*J+s*m*N)*+g[Y+168>>2];m=(n*m*r+t*m*K+s*m*fa)*+g[Y+172>>2];g[D>>2]=G*M+H*ea+r*m;g[i>>2]=I*M+J*ea+K*m;g[p>>2]=L*M+N*ea+fa*m;g[q>>2]=0.0;r=G*M+H*ea+r*m;n=I*M+J*ea+K*m;m=L*M+N*ea+fa*m}if(c[Z+180>>2]&1|0){E=+g[Z+4>>2];H=+g[Z+20>>2];K=+g[Z+36>>2];F=+g[Z+8>>2];I=+g[Z+24>>2];M=+g[Z+40>>2];G=+g[Z+12>>2];J=+g[Z+28>>2];ea=+g[Z+44>>2];L=(E*r+H*n+K*m)*+g[Z+164>>2];N=(r*F+n*I+m*M)*+g[Z+168>>2];fa=(r*G+n*J+m*ea)*+g[Z+172>>2];g[D>>2]=E*L+F*N+G*fa;g[i>>2]=H*L+I*N+J*fa;g[p>>2]=K*L+M*N+ea*fa;g[q>>2]=0.0}hd(b,D,_,$,T,S,da+64|0,da+48|0,1.0,0.0,0.0);if(!(c[f+64>>2]&16))break;ea=+g[i>>2];r=+g[Q>>2];L=+g[p>>2];M=+g[P>>2];fa=+g[O>>2];N=+g[D>>2];o=X+4+(V*184|0)+168|0;g[X+4+(V*184|0)+168>>2]=ea*r-L*M;i=X+4+(V*184|0)+172|0;j=X+4+(V*184|0)+176|0;l=X+4+(V*184|0)+180|0;g[l>>2]=0.0;n=1.0/+A(+((ea*r-L*M)*(ea*r-L*M)+(L*fa-r*N)*(L*fa-r*N)+(M*N-ea*fa)*(M*N-ea*fa)));m=(ea*r-L*M)*n;g[o>>2]=m;r=(L*fa-r*N)*n;g[i>>2]=r;n=(M*N-ea*fa)*n;g[j>>2]=n;if(c[Y+180>>2]&1){F=+g[Y+4>>2];I=+g[Y+20>>2];L=+g[Y+36>>2];G=+g[Y+8>>2];J=+g[Y+24>>2];N=+g[Y+40>>2];H=+g[Y+12>>2];K=+g[Y+28>>2];fa=+g[Y+44>>2];M=(m*F+r*I+n*L)*+g[Y+164>>2];ea=(m*G+r*J+n*N)*+g[Y+168>>2];n=(m*H+r*K+n*fa)*+g[Y+172>>2];g[o>>2]=F*M+G*ea+H*n;g[i>>2]=I*M+J*ea+K*n;g[j>>2]=L*M+N*ea+fa*n;g[l>>2]=0.0;m=F*M+G*ea+H*n;r=I*M+J*ea+K*n;n=L*M+N*ea+fa*n}if(c[Z+180>>2]&1|0){E=+g[Z+4>>2];H=+g[Z+20>>2];K=+g[Z+36>>2];F=+g[Z+8>>2];I=+g[Z+24>>2];M=+g[Z+40>>2];G=+g[Z+12>>2];J=+g[Z+28>>2];ea=+g[Z+44>>2];L=(E*m+H*r+K*n)*+g[Z+164>>2];N=(m*F+r*I+n*M)*+g[Z+168>>2];fa=(m*G+r*J+n*ea)*+g[Z+172>>2];g[o>>2]=E*L+F*N+G*fa;g[i>>2]=H*L+I*N+J*fa;g[j>>2]=K*L+M*N+ea*fa;g[l>>2]=0.0}hd(b,o,_,$,T,S,da+64|0,da+48|0,1.0,0.0,0.0);break}o=X+4+(V*184|0)+168|0;if(+z(+v)>.7071067690849304){fa=1.0/+A(+(w*w+v*v));g[D>>2]=0.0;g[i>>2]=-(v*fa);g[p>>2]=w*fa;t=-(m*w*fa);u=m*-(v*fa);s=(w*w+v*v)*fa;r=0.0;n=-(v*fa);m=w*fa}else{n=1.0/+A(+(m*m+w*w));g[D>>2]=-(w*n);g[i>>2]=m*n;g[p>>2]=0.0;t=v*-(w*n);u=(m*m+w*w)*n;s=-(v*m*n);r=-(w*n);n=m*n;m=0.0}g[o>>2]=s;l=X+4+(V*184|0)+172|0;g[l>>2]=t;j=X+4+(V*184|0)+176|0;g[j>>2]=u;if(c[Y+180>>2]&1){F=+g[Y+4>>2];I=+g[Y+20>>2];L=+g[Y+36>>2];G=+g[Y+8>>2];J=+g[Y+24>>2];N=+g[Y+40>>2];H=+g[Y+12>>2];K=+g[Y+28>>2];fa=+g[Y+44>>2];M=(F*r+I*n+L*m)*+g[Y+164>>2];ea=(r*G+n*J+m*N)*+g[Y+168>>2];m=(r*H+n*K+m*fa)*+g[Y+172>>2];g[D>>2]=F*M+G*ea+H*m;g[i>>2]=I*M+J*ea+K*m;g[p>>2]=L*M+N*ea+fa*m;g[q>>2]=0.0;r=F*M+G*ea+H*m;n=I*M+J*ea+K*m;m=L*M+N*ea+fa*m}if(c[Z+180>>2]&1|0){E=+g[Z+4>>2];H=+g[Z+20>>2];K=+g[Z+36>>2];F=+g[Z+8>>2];I=+g[Z+24>>2];M=+g[Z+40>>2];G=+g[Z+12>>2];J=+g[Z+28>>2];ea=+g[Z+44>>2];L=(E*r+H*n+K*m)*+g[Z+164>>2];N=(r*F+n*I+m*M)*+g[Z+168>>2];fa=(r*G+n*J+m*ea)*+g[Z+172>>2];g[D>>2]=E*L+F*N+G*fa;g[i>>2]=H*L+I*N+J*fa;g[p>>2]=K*L+M*N+ea*fa;g[q>>2]=0.0}hd(b,D,_,$,T,S,da+64|0,da+48|0,1.0,0.0,0.0);i=c[f+64>>2]|0;if(i&16){if(c[Y+180>>2]&1|0){E=+g[Y+4>>2];B=+g[o>>2];H=+g[Y+20>>2];C=+g[l>>2];K=+g[Y+36>>2];fa=+g[j>>2];F=+g[Y+8>>2];I=+g[Y+24>>2];M=+g[Y+40>>2];G=+g[Y+12>>2];J=+g[Y+28>>2];ea=+g[Y+44>>2];L=(E*B+H*C+K*fa)*+g[Y+164>>2];N=(B*F+C*I+fa*M)*+g[Y+168>>2];fa=(B*G+C*J+fa*ea)*+g[Y+172>>2];g[o>>2]=E*L+F*N+G*fa;g[l>>2]=H*L+I*N+J*fa;g[j>>2]=K*L+M*N+ea*fa;g[X+4+(V*184|0)+180>>2]=0.0}if(c[Z+180>>2]&1|0){E=+g[Z+4>>2];B=+g[o>>2];H=+g[Z+20>>2];C=+g[l>>2];K=+g[Z+36>>2];fa=+g[j>>2];F=+g[Z+8>>2];I=+g[Z+24>>2];M=+g[Z+40>>2];G=+g[Z+12>>2];J=+g[Z+28>>2];ea=+g[Z+44>>2];L=(E*B+H*C+K*fa)*+g[Z+164>>2];N=(B*F+C*I+fa*M)*+g[Z+168>>2];fa=(B*G+C*J+fa*ea)*+g[Z+172>>2];g[o>>2]=E*L+F*N+G*fa;g[l>>2]=H*L+I*N+J*fa;g[j>>2]=K*L+M*N+ea*fa;g[X+4+(V*184|0)+180>>2]=0.0}hd(b,o,_,$,T,S,da+64|0,da+48|0,1.0,0.0,0.0);i=c[f+64>>2]|0}if((i&80|0)!=80)break;a[X+4+(V*184|0)+116>>0]=1}while(0);o=c[b+16>>2]|0;p=c[o+(_*244|0)+240>>2]|0;q=c[o+($*244|0)+240>>2]|0;j=c[R+(T*152|0)+140>>2]|0;l=c[b+76>>2]|0;i=c[f+64>>2]|0;do if(!(i&4))g[l+(j*152|0)+100>>2]=0.0;else{m=+g[X+4+(V*184|0)+124>>2]*+g[f+60>>2];g[l+(j*152|0)+100>>2]=m;if(p|0){N=+g[p+344>>2];fa=m*N*+g[l+(j*152|0)+20>>2]*+g[p+352>>2]*+g[o+(_*244|0)+116>>2];ea=m*N*+g[l+(j*152|0)+24>>2]*+g[p+356>>2]*+g[o+(_*244|0)+120>>2];g[o+(_*244|0)+64>>2]=m*N*+g[l+(j*152|0)+16>>2]*+g[p+348>>2]*+g[o+(_*244|0)+112>>2]+ +g[o+(_*244|0)+64>>2];g[o+(_*244|0)+68>>2]=fa+ +g[o+(_*244|0)+68>>2];g[o+(_*244|0)+72>>2]=ea+ +g[o+(_*244|0)+72>>2];ea=m*+g[o+(_*244|0)+100>>2]*+g[l+(j*152|0)+68>>2];fa=m*+g[o+(_*244|0)+104>>2]*+g[l+(j*152|0)+72>>2];g[o+(_*244|0)+80>>2]=m*+g[o+(_*244|0)+96>>2]*+g[l+(j*152|0)+64>>2]+ +g[o+(_*244|0)+80>>2];g[o+(_*244|0)+84>>2]=ea+ +g[o+(_*244|0)+84>>2];g[o+(_*244|0)+88>>2]=fa+ +g[o+(_*244|0)+88>>2]}if(!q)break;J=+g[q+344>>2];M=+g[l+(j*152|0)+80>>2];ea=+g[l+(j*152|0)+84>>2];fa=+g[l+(j*152|0)+88>>2];N=+g[l+(j*152|0)+100>>2];K=+g[l+(j*152|0)+52>>2]*J*+g[q+352>>2]*N*+g[o+($*244|0)+116>>2];L=+g[l+(j*152|0)+56>>2]*J*+g[q+356>>2]*N*+g[o+($*244|0)+120>>2];g[o+($*244|0)+64>>2]=+g[l+(j*152|0)+48>>2]*J*+g[q+348>>2]*N*+g[o+($*244|0)+112>>2]+ +g[o+($*244|0)+64>>2];g[o+($*244|0)+68>>2]=K+ +g[o+($*244|0)+68>>2];g[o+($*244|0)+72>>2]=L+ +g[o+($*244|0)+72>>2];ea=ea*+g[o+($*244|0)+100>>2]*-N;fa=fa*+g[o+($*244|0)+104>>2]*-N;g[o+($*244|0)+80>>2]=+g[o+($*244|0)+80>>2]-M*+g[o+($*244|0)+96>>2]*-N;g[o+($*244|0)+84>>2]=+g[o+($*244|0)+84>>2]-ea;g[o+($*244|0)+88>>2]=+g[o+($*244|0)+88>>2]-fa}while(0);do if(i&16|0){if(!(i&4)){g[l+((j+1|0)*152|0)+100>>2]=0.0;break}m=+g[X+4+(V*184|0)+128>>2]*+g[f+60>>2];g[l+((j+1|0)*152|0)+100>>2]=m;if(p|0){N=+g[p+344>>2];fa=m*N*+g[l+((j+1|0)*152|0)+20>>2]*+g[o+(_*244|0)+116>>2];ea=m*N*+g[l+((j+1|0)*152|0)+24>>2]*+g[o+(_*244|0)+120>>2];g[o+(_*244|0)+64>>2]=m*N*+g[l+((j+1|0)*152|0)+16>>2]*+g[o+(_*244|0)+112>>2]+ +g[o+(_*244|0)+64>>2];g[o+(_*244|0)+68>>2]=fa+ +g[o+(_*244|0)+68>>2];g[o+(_*244|0)+72>>2]=ea+ +g[o+(_*244|0)+72>>2];ea=m*+g[o+(_*244|0)+100>>2]*+g[l+((j+1|0)*152|0)+68>>2];fa=m*+g[o+(_*244|0)+104>>2]*+g[l+((j+1|0)*152|0)+72>>2];g[o+(_*244|0)+80>>2]=m*+g[o+(_*244|0)+96>>2]*+g[l+((j+1|0)*152|0)+64>>2]+ +g[o+(_*244|0)+80>>2];g[o+(_*244|0)+84>>2]=ea+ +g[o+(_*244|0)+84>>2];g[o+(_*244|0)+88>>2]=fa+ +g[o+(_*244|0)+88>>2]}if(!q)break;J=+g[q+344>>2];M=+g[l+((j+1|0)*152|0)+80>>2];ea=+g[l+((j+1|0)*152|0)+84>>2];fa=+g[l+((j+1|0)*152|0)+88>>2];N=+g[l+((j+1|0)*152|0)+100>>2];K=+g[l+((j+1|0)*152|0)+52>>2]*J*N*+g[o+($*244|0)+116>>2];L=+g[l+((j+1|0)*152|0)+56>>2]*J*N*+g[o+($*244|0)+120>>2];g[o+($*244|0)+64>>2]=+g[l+((j+1|0)*152|0)+48>>2]*J*N*+g[o+($*244|0)+112>>2]+ +g[o+($*244|0)+64>>2];g[o+($*244|0)+68>>2]=K+ +g[o+($*244|0)+68>>2];g[o+($*244|0)+72>>2]=L+ +g[o+($*244|0)+72>>2];ea=ea*+g[o+($*244|0)+100>>2]*-N;fa=fa*+g[o+($*244|0)+104>>2]*-N;g[o+($*244|0)+80>>2]=+g[o+($*244|0)+80>>2]-M*+g[o+($*244|0)+96>>2]*-N;g[o+($*244|0)+84>>2]=+g[o+($*244|0)+84>>2]-ea;g[o+($*244|0)+88>>2]=+g[o+($*244|0)+88>>2]-fa}while(0);i=c[X+748>>2]|0}V=V+1|0}while((V|0)<(i|0))}U=U+1|0}while((U|0)!=(e|0));k=da;return}function fc(b){b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0,la=0,ma=0;_=k;k=k+176|0;Wj(17848);me(b);if((tb[c[(c[b>>2]|0)+20>>2]&255](b)|0?(Y=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0,(tb[c[(c[Y>>2]|0)+48>>2]&255](Y)|0)&6144|0):0)?(d=tb[c[(c[b>>2]|0)+104>>2]&255](b)|0,(d|0)>0):0){R=_+112+44|0;M=_+112+4|0;O=_+112+8|0;P=_+112+16|0;Q=_+112+20|0;H=_+112+24|0;I=_+112+32|0;J=_+112+36|0;K=_+112+40|0;G=_+112+48|0;L=_+112+52|0;N=_+112+56|0;S=_+112+16|0;T=_+112+32|0;U=_+112+48|0;V=_+112+16|0;W=_+112+32|0;X=_+112+48|0;Y=_+112+48|0;do{E=d;d=d+-1|0;p=vb[c[(c[b>>2]|0)+108>>2]&31](b,d)|0;e=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;e=((tb[c[(c[e>>2]|0)+48>>2]&255](e)|0)&2048|0)!=0;o=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;o=((tb[c[(c[o>>2]|0)+48>>2]&255](o)|0)&4096|0)!=0;F=+g[p+40>>2];a:do if(!(F<=0.0))switch(c[p+4>>2]|0){case 3:{c[_+112>>2]=1065353216;c[_+112+4>>2]=0;c[_+112+4+4>>2]=0;c[_+112+4+8>>2]=0;c[_+112+4+12>>2]=0;c[_+112+20>>2]=1065353216;c[_+112+24>>2]=0;c[_+112+24+4>>2]=0;c[_+112+24+8>>2]=0;c[_+112+24+12>>2]=0;c[_+112+40>>2]=1065353216;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;c[R+12>>2]=0;c[R+16>>2]=0;B=+g[p+300>>2];A=+g[p+304>>2];z=+g[p+308>>2];o=c[p+28>>2]|0;y=B*+g[o+20>>2]+A*+g[o+24>>2]+z*+g[o+28>>2]+ +g[o+56>>2];x=B*+g[o+36>>2]+A*+g[o+40>>2]+z*+g[o+44>>2]+ +g[o+60>>2];g[_+112+48>>2]=B*+g[o+4>>2]+A*+g[o+8>>2]+z*+g[o+12>>2]+ +g[o+52>>2];g[_+112+52>>2]=y;g[_+112+56>>2]=x;g[_+112+60>>2]=0.0;o=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Kb[c[(c[o>>2]|0)+56>>2]&7](o,_+112|0,F);x=+g[p+316>>2];y=+g[p+320>>2];z=+g[p+324>>2];p=c[p+32>>2]|0;A=x*+g[p+20>>2]+y*+g[p+24>>2]+z*+g[p+28>>2]+ +g[p+56>>2];B=x*+g[p+36>>2]+y*+g[p+40>>2]+z*+g[p+44>>2]+ +g[p+60>>2];g[_+112+48>>2]=x*+g[p+4>>2]+y*+g[p+8>>2]+z*+g[p+12>>2]+ +g[p+52>>2];g[_+112+52>>2]=A;g[_+112+56>>2]=B;g[_+112+60>>2]=0.0;if(e){p=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Kb[c[(c[p>>2]|0)+56>>2]&7](p,_+112|0,F)}break a}case 4:{n=c[p+28>>2]|0;f=+g[p+552>>2];ea=+g[n+4>>2];h=+g[p+552+16>>2];da=+g[n+8>>2];i=+g[p+552+32>>2];ca=+g[n+12>>2];q=+g[p+552+4>>2];r=+g[p+552+20>>2];s=+g[p+552+36>>2];t=+g[p+552+8>>2];v=+g[p+552+24>>2];x=+g[p+552+40>>2];ba=+g[n+20>>2];aa=+g[n+24>>2];$=+g[n+28>>2];u=+g[n+36>>2];w=+g[n+40>>2];y=+g[n+44>>2];ga=+g[p+552+48>>2];fa=+g[p+552+52>>2];B=+g[p+552+56>>2];z=+g[n+52>>2]+(ea*ga+da*fa+ca*B);A=ba*ga+aa*fa+$*B+ +g[n+56>>2];B=u*ga+w*fa+y*B+ +g[n+60>>2];g[_+112>>2]=f*ea+h*da+i*ca;g[_+112+4>>2]=ea*q+da*r+ca*s;g[_+112+8>>2]=ea*t+da*v+ca*x;g[_+112+12>>2]=0.0;g[_+112+16>>2]=f*ba+h*aa+i*$;g[_+112+20>>2]=q*ba+r*aa+s*$;g[_+112+24>>2]=t*ba+v*aa+x*$;g[_+112+28>>2]=0.0;g[_+112+32>>2]=f*u+h*w+i*y;g[_+112+36>>2]=q*u+r*w+s*y;g[_+112+40>>2]=t*u+v*w+x*y;g[_+112+44>>2]=0.0;g[_+112+48>>2]=z;g[_+112+52>>2]=A;g[_+112+56>>2]=B;g[_+112+60>>2]=0.0;if(e){n=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Kb[c[(c[n>>2]|0)+56>>2]&7](n,_+112|0,F);n=c[p+32>>2]|0;v=+g[p+616>>2];i=+g[n+4>>2];w=+g[p+616+16>>2];q=+g[n+8>>2];x=+g[p+616+32>>2];r=+g[n+12>>2];y=+g[p+616+4>>2];z=+g[p+616+20>>2];A=+g[p+616+36>>2];B=+g[p+616+8>>2];aa=+g[p+616+24>>2];ca=+g[p+616+40>>2];s=+g[n+20>>2];t=+g[n+24>>2];u=+g[n+28>>2];$=+g[n+36>>2];ba=+g[n+40>>2];da=+g[n+44>>2];f=+g[p+616+48>>2];h=+g[p+616+52>>2];ga=+g[p+616+56>>2];ea=+g[n+52>>2]+(i*f+q*h+r*ga);fa=s*f+t*h+u*ga+ +g[n+56>>2];ga=$*f+ba*h+da*ga+ +g[n+60>>2];g[_+112>>2]=v*i+w*q+x*r;g[_+112+4>>2]=i*y+q*z+r*A;g[_+112+8>>2]=i*B+q*aa+r*ca;g[_+112+12>>2]=0.0;g[_+112+16>>2]=v*s+w*t+x*u;g[_+112+20>>2]=y*s+z*t+A*u;g[_+112+24>>2]=B*s+aa*t+ca*u;g[_+112+28>>2]=0.0;g[_+112+32>>2]=v*$+w*ba+x*da;g[_+112+36>>2]=y*$+z*ba+A*da;g[_+112+40>>2]=B*$+aa*ba+ca*da;g[_+112+44>>2]=0.0;g[_+112+48>>2]=ea;g[_+112+52>>2]=fa;g[_+112+56>>2]=ga;g[_+112+60>>2]=0.0;n=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Kb[c[(c[n>>2]|0)+56>>2]&7](n,_+112|0,F)}else{n=c[p+32>>2]|0;v=+g[p+616>>2];i=+g[n+4>>2];w=+g[p+616+16>>2];q=+g[n+8>>2];x=+g[p+616+32>>2];r=+g[n+12>>2];y=+g[p+616+4>>2];z=+g[p+616+20>>2];A=+g[p+616+36>>2];B=+g[p+616+8>>2];aa=+g[p+616+24>>2];ca=+g[p+616+40>>2];s=+g[n+20>>2];t=+g[n+24>>2];u=+g[n+28>>2];$=+g[n+36>>2];ba=+g[n+40>>2];da=+g[n+44>>2];f=+g[p+616+48>>2];h=+g[p+616+52>>2];ga=+g[p+616+56>>2];ea=+g[n+52>>2]+(i*f+q*h+r*ga);fa=s*f+t*h+u*ga+ +g[n+56>>2];ga=$*f+ba*h+da*ga+ +g[n+60>>2];g[_+112>>2]=v*i+w*q+x*r;g[_+112+4>>2]=i*y+q*z+r*A;g[_+112+8>>2]=i*B+q*aa+r*ca;g[_+112+12>>2]=0.0;g[_+112+16>>2]=v*s+w*t+x*u;g[_+112+20>>2]=y*s+z*t+A*u;g[_+112+24>>2]=B*s+aa*t+ca*u;g[_+112+28>>2]=0.0;g[_+112+32>>2]=v*$+w*ba+x*da;g[_+112+36>>2]=y*$+z*ba+A*da;g[_+112+40>>2]=B*$+aa*ba+ca*da;g[_+112+44>>2]=0.0;g[_+112+48>>2]=ea;g[_+112+52>>2]=fa;g[_+112+56>>2]=ga;g[_+112+60>>2]=0.0}i=+g[p+688>>2];f=+g[p+688+4>>2];if(!((i-f)%6.2831854820251465<-3.1415927410125732))if((i-f)%6.2831854820251465>3.1415927410125732)h=(i-f)%6.2831854820251465+-6.2831854820251465;else h=(i-f)%6.2831854820251465;else h=(i-f)%6.2831854820251465+6.2831854820251465;if(!((i+f)%6.2831854820251465<-3.1415927410125732))if((i+f)%6.2831854820251465>3.1415927410125732)f=(i+f)%6.2831854820251465+-6.2831854820251465;else f=(i+f)%6.2831854820251465;else f=(i+f)%6.2831854820251465+6.2831854820251465;if(!(h==f)?(Z=h>f,o):0){c[_+96>>2]=c[_+112+8>>2];c[_+96+4>>2]=c[_+112+24>>2];c[_+96+8>>2]=c[_+112+40>>2];g[_+96+12>>2]=0.0;c[_+80>>2]=c[_+112>>2];c[_+80+4>>2]=c[_+112+16>>2];c[_+80+8>>2]=c[_+112+32>>2];g[_+80+12>>2]=0.0;p=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;o=c[(c[p>>2]|0)+60>>2]|0;c[_+64>>2]=0;c[_+64+4>>2]=0;c[_+64+8>>2]=0;c[_+64+12>>2]=0;Tb[o&1](p,_+112+48|0,_+96|0,_+80|0,F,F,Z?0.0:h,Z?6.2831854820251465:f,_+64|0,Z^1,10.0)}break a}case 5:{n=c[p+28>>2]|0;v=+g[p+300>>2];i=+g[n+4>>2];w=+g[p+300+16>>2];q=+g[n+8>>2];x=+g[p+300+32>>2];r=+g[n+12>>2];y=+g[p+300+4>>2];z=+g[p+300+20>>2];A=+g[p+300+36>>2];B=+g[p+300+8>>2];aa=+g[p+300+24>>2];ca=+g[p+300+40>>2];s=+g[n+20>>2];t=+g[n+24>>2];u=+g[n+28>>2];$=+g[n+36>>2];ba=+g[n+40>>2];da=+g[n+44>>2];f=+g[p+300+48>>2];h=+g[p+300+52>>2];ga=+g[p+300+56>>2];ea=+g[n+52>>2]+(i*f+q*h+r*ga);fa=s*f+t*h+u*ga+ +g[n+56>>2];ga=$*f+ba*h+da*ga+ +g[n+60>>2];g[_+112>>2]=v*i+w*q+x*r;g[M>>2]=i*y+q*z+r*A;g[O>>2]=i*B+q*aa+r*ca;g[_+112+12>>2]=0.0;g[P>>2]=v*s+w*t+x*u;g[Q>>2]=y*s+z*t+A*u;g[H>>2]=B*s+aa*t+ca*u;g[_+112+28>>2]=0.0;g[I>>2]=v*$+w*ba+x*da;g[J>>2]=y*$+z*ba+A*da;g[K>>2]=B*$+aa*ba+ca*da;g[_+112+44>>2]=0.0;g[G>>2]=ea;g[L>>2]=fa;g[N>>2]=ga;g[_+112+60>>2]=0.0;if(e){n=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Kb[c[(c[n>>2]|0)+56>>2]&7](n,_+112|0,F);n=c[p+32>>2]|0;v=+g[p+364>>2];i=+g[n+4>>2];w=+g[p+364+16>>2];q=+g[n+8>>2];x=+g[p+364+32>>2];r=+g[n+12>>2];y=+g[p+364+4>>2];z=+g[p+364+20>>2];A=+g[p+364+36>>2];B=+g[p+364+8>>2];aa=+g[p+364+24>>2];ca=+g[p+364+40>>2];s=+g[n+20>>2];t=+g[n+24>>2];u=+g[n+28>>2];$=+g[n+36>>2];ba=+g[n+40>>2];da=+g[n+44>>2];f=+g[p+364+48>>2];h=+g[p+364+52>>2];ga=+g[p+364+56>>2];ea=+g[n+52>>2]+(i*f+q*h+r*ga);fa=s*f+t*h+u*ga+ +g[n+56>>2];ga=$*f+ba*h+da*ga+ +g[n+60>>2];g[_+112>>2]=v*i+w*q+x*r;g[M>>2]=i*y+q*z+r*A;g[O>>2]=i*B+q*aa+r*ca;g[_+112+12>>2]=0.0;g[P>>2]=v*s+w*t+x*u;g[Q>>2]=y*s+z*t+A*u;g[H>>2]=B*s+aa*t+ca*u;g[_+112+28>>2]=0.0;g[I>>2]=v*$+w*ba+x*da;g[J>>2]=y*$+z*ba+A*da;g[K>>2]=B*$+aa*ba+ca*da;g[_+112+44>>2]=0.0;g[G>>2]=ea;g[L>>2]=fa;g[N>>2]=ga;g[_+112+60>>2]=0.0;n=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Kb[c[(c[n>>2]|0)+56>>2]&7](n,_+112|0,F)}else{n=c[p+32>>2]|0;v=+g[p+364>>2];i=+g[n+4>>2];w=+g[p+364+16>>2];q=+g[n+8>>2];x=+g[p+364+32>>2];r=+g[n+12>>2];y=+g[p+364+4>>2];z=+g[p+364+20>>2];A=+g[p+364+36>>2];B=+g[p+364+8>>2];aa=+g[p+364+24>>2];ca=+g[p+364+40>>2];s=+g[n+20>>2];t=+g[n+24>>2];u=+g[n+28>>2];$=+g[n+36>>2];ba=+g[n+40>>2];da=+g[n+44>>2];f=+g[p+364+48>>2];h=+g[p+364+52>>2];ga=+g[p+364+56>>2];ea=+g[n+52>>2]+(i*f+q*h+r*ga);fa=s*f+t*h+u*ga+ +g[n+56>>2];ga=$*f+ba*h+da*ga+ +g[n+60>>2];g[_+112>>2]=v*i+w*q+x*r;g[M>>2]=i*y+q*z+r*A;g[O>>2]=i*B+q*aa+r*ca;g[_+112+12>>2]=0.0;g[P>>2]=v*s+w*t+x*u;g[Q>>2]=y*s+z*t+A*u;g[H>>2]=B*s+aa*t+ca*u;g[_+112+28>>2]=0.0;g[I>>2]=v*$+w*ba+x*da;g[J>>2]=y*$+z*ba+A*da;g[K>>2]=B*$+aa*ba+ca*da;g[_+112+44>>2]=0.0;g[G>>2]=ea;g[L>>2]=fa;g[N>>2]=ga;g[_+112+60>>2]=0.0}if(o){jl(_+96|0,p,6.0868353843688965,F);ca=+g[_+96>>2];da=+g[_+96+4>>2];ea=+g[_+96+8>>2];fa=ca*+g[P>>2]+da*+g[Q>>2]+ea*+g[H>>2]+ +g[L>>2];ga=ca*+g[I>>2]+da*+g[J>>2]+ea*+g[K>>2]+ +g[N>>2];g[_+96>>2]=ca*+g[_+112>>2]+da*+g[M>>2]+ea*+g[O>>2]+ +g[G>>2];g[_+96+4>>2]=fa;g[_+96+8>>2]=ga;g[_+96+12>>2]=0.0;e=0;do{jl(_+80|0,p,+(e|0)*6.283185005187988*.03125,F);ca=+g[_+80>>2];da=+g[_+80+4>>2];ea=+g[_+80+8>>2];fa=ca*+g[P>>2]+da*+g[Q>>2]+ea*+g[H>>2]+ +g[L>>2];ga=ca*+g[I>>2]+da*+g[J>>2]+ea*+g[K>>2]+ +g[N>>2];g[_+80>>2]=ca*+g[_+112>>2]+da*+g[M>>2]+ea*+g[O>>2]+ +g[G>>2];g[_+80+4>>2]=fa;g[_+80+8>>2]=ga;g[_+80+12>>2]=0.0;o=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;n=c[(c[o>>2]|0)+8>>2]|0;c[_+64>>2]=0;c[_+64+4>>2]=0;c[_+64+8>>2]=0;c[_+64+12>>2]=0;Qb[n&127](o,_+96|0,_+80|0,_+64|0);if(!(e&3)){o=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;n=c[(c[o>>2]|0)+8>>2]|0;c[_+64>>2]=0;c[_+64+4>>2]=0;c[_+64+8>>2]=0;c[_+64+12>>2]=0;Qb[n&127](o,Y,_+80|0,_+64|0)}c[_+96>>2]=c[_+80>>2];c[_+96+4>>2]=c[_+80+4>>2];c[_+96+8>>2]=c[_+80+8>>2];c[_+96+12>>2]=c[_+80+12>>2];e=e+1|0}while((e|0)!=32);A=+g[p+452>>2];B=+g[p+512>>2];e=c[p+32>>2]|0;if(+g[e+344>>2]>0.0){ca=+g[p+364>>2];da=+g[e+4>>2];ea=+g[p+364+16>>2];fa=+g[e+8>>2];ga=+g[p+364+32>>2];x=+g[e+12>>2];aa=+g[p+364+4>>2];ba=+g[p+364+20>>2];w=+g[p+364+36>>2];ha=+g[p+364+8>>2];$=+g[p+364+24>>2];v=+g[p+364+40>>2];ja=+g[e+20>>2];ia=+g[e+24>>2];u=+g[e+28>>2];t=+g[e+36>>2];s=+g[e+40>>2];r=+g[e+44>>2];i=+g[p+364+48>>2];f=+g[p+364+52>>2];h=+g[p+364+56>>2];y=ja*i+ia*f+u*h;z=da*i+fa*f+x*h;f=t*i+s*f;h=r*h;i=ha*t+$*s+v*r;q=aa*t+ba*s+w*r;r=ca*t+ea*s+ga*r;s=ha*ja+$*ia+v*u;t=aa*ja+ba*ia+w*u;u=ca*ja+ea*ia+ga*u;v=da*ha+fa*$+x*v;w=da*aa+fa*ba+x*w;x=ca*da+ea*fa+ga*x}else{e=c[p+28>>2]|0;fa=+g[p+300>>2];ga=+g[e+4>>2];ha=+g[p+300+16>>2];ia=+g[e+8>>2];ja=+g[p+300+32>>2];x=+g[e+12>>2];da=+g[p+300+4>>2];ea=+g[p+300+20>>2];w=+g[p+300+36>>2];ba=+g[p+300+8>>2];ca=+g[p+300+24>>2];v=+g[p+300+40>>2];$=+g[e+20>>2];aa=+g[e+24>>2];u=+g[e+28>>2];t=+g[e+36>>2];s=+g[e+40>>2];r=+g[e+44>>2];i=+g[p+300+48>>2];f=+g[p+300+52>>2];h=+g[p+300+56>>2];y=$*i+aa*f+u*h;z=ga*i+ia*f+x*h;f=t*i+s*f;h=r*h;i=ba*t+ca*s+v*r;q=da*t+ea*s+w*r;r=fa*t+ha*s+ja*r;s=ba*$+ca*aa+v*u;t=da*$+ea*aa+w*u;u=fa*$+ha*aa+ja*u;v=ga*ba+ia*ca+x*v;w=ga*da+ia*ea+x*w;x=fa*ga+ha*ia+ja*x}ha=+g[e+52>>2]+z;ia=y+ +g[e+56>>2];ja=f+h+ +g[e+60>>2];g[_+112>>2]=x;g[M>>2]=w;g[O>>2]=v;g[_+112+12>>2]=0.0;g[P>>2]=u;g[Q>>2]=t;g[H>>2]=s;g[_+112+28>>2]=0.0;g[I>>2]=r;g[J>>2]=q;g[K>>2]=i;g[_+112+44>>2]=0.0;g[G>>2]=ha;g[L>>2]=ia;g[N>>2]=ja;g[_+112+60>>2]=0.0;c[_+80>>2]=c[Y>>2];c[_+80+4>>2]=c[Y+4>>2];c[_+80+8>>2]=c[Y+8>>2];c[_+80+12>>2]=c[Y+12>>2];g[_+64>>2]=x;g[_+64+4>>2]=u;g[_+64+8>>2]=r;g[_+64+12>>2]=0.0;g[_+48>>2]=w;g[_+48+4>>2]=t;g[_+48+8>>2]=q;g[_+48+12>>2]=0.0;p=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;o=c[(c[p>>2]|0)+60>>2]|0;c[_+32>>2]=0;c[_+32+4>>2]=0;c[_+32+8>>2]=0;c[_+32+12>>2]=0;Tb[o&1](p,_+80|0,_+64|0,_+48|0,F,F,-B-A,A-B,_+32|0,1,10.0)}break a}case 6:case 9:{c[_+112>>2]=c[p+1064>>2];c[_+112+4>>2]=c[p+1064+4>>2];c[_+112+8>>2]=c[p+1064+8>>2];c[_+112+12>>2]=c[p+1064+12>>2];l=p+1064+16|0;c[S>>2]=c[l>>2];c[S+4>>2]=c[l+4>>2];c[S+8>>2]=c[l+8>>2];c[S+12>>2]=c[l+12>>2];m=p+1064+32|0;c[T>>2]=c[m>>2];c[T+4>>2]=c[m+4>>2];c[T+8>>2]=c[m+8>>2];c[T+12>>2]=c[m+12>>2];n=p+1064+48|0;c[U>>2]=c[n>>2];c[U+4>>2]=c[n+4>>2];c[U+8>>2]=c[n+8>>2];c[U+12>>2]=c[n+12>>2];if(e){e=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Kb[c[(c[e>>2]|0)+56>>2]&7](e,_+112|0,F);c[_+112>>2]=c[p+1128>>2];c[_+112+4>>2]=c[p+1128+4>>2];c[_+112+8>>2]=c[p+1128+8>>2];c[_+112+12>>2]=c[p+1128+12>>2];c[S>>2]=c[p+1128+16>>2];c[S+4>>2]=c[p+1128+16+4>>2];c[S+8>>2]=c[p+1128+16+8>>2];c[S+12>>2]=c[p+1128+16+12>>2];c[T>>2]=c[p+1128+32>>2];c[T+4>>2]=c[p+1128+32+4>>2];c[T+8>>2]=c[p+1128+32+8>>2];c[T+12>>2]=c[p+1128+32+12>>2];c[U>>2]=c[p+1128+48>>2];c[U+4>>2]=c[p+1128+48+4>>2];c[U+8>>2]=c[p+1128+48+8>>2];c[U+12>>2]=c[p+1128+48+12>>2];e=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Kb[c[(c[e>>2]|0)+56>>2]&7](e,_+112|0,F)}else{c[_+112>>2]=c[p+1128>>2];c[_+112+4>>2]=c[p+1128+4>>2];c[_+112+8>>2]=c[p+1128+8>>2];c[_+112+12>>2]=c[p+1128+12>>2];c[S>>2]=c[p+1128+16>>2];c[S+4>>2]=c[p+1128+16+4>>2];c[S+8>>2]=c[p+1128+16+8>>2];c[S+12>>2]=c[p+1128+16+12>>2];c[T>>2]=c[p+1128+32>>2];c[T+4>>2]=c[p+1128+32+4>>2];c[T+8>>2]=c[p+1128+32+8>>2];c[T+12>>2]=c[p+1128+32+12>>2];c[U>>2]=c[p+1128+48>>2];c[U+4>>2]=c[p+1128+48+4>>2];c[U+8>>2]=c[p+1128+48+8>>2];c[U+12>>2]=c[p+1128+48+12>>2]}if(o){c[_+112>>2]=c[p+1064>>2];c[_+112+4>>2]=c[p+1064+4>>2];c[_+112+8>>2]=c[p+1064+8>>2];c[_+112+12>>2]=c[p+1064+12>>2];c[S>>2]=c[l>>2];c[S+4>>2]=c[l+4>>2];c[S+8>>2]=c[l+8>>2];c[S+12>>2]=c[l+12>>2];c[T>>2]=c[m>>2];c[T+4>>2]=c[m+4>>2];c[T+8>>2]=c[m+8>>2];c[T+12>>2]=c[m+12>>2];c[U>>2]=c[n>>2];c[U+4>>2]=c[n+4>>2];c[U+8>>2]=c[n+8>>2];c[U+12>>2]=c[n+12>>2];e=p+1128+48|0;c[_+96>>2]=c[_+112+8>>2];c[_+96+4>>2]=c[_+112+24>>2];c[_+96+8>>2]=c[_+112+40>>2];g[_+96+12>>2]=0.0;c[_+80>>2]=c[_+112>>2];c[_+80+4>>2]=c[_+112+16>>2];c[_+80+8>>2]=c[_+112+32>>2];g[_+80+12>>2]=0.0;fa=+g[p+932>>2];f=+g[p+932+4>>2];ia=+g[p+996>>2];ha=+g[p+996+4>>2];ka=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;o=c[(c[ka>>2]|0)+64>>2]|0;c[_+64>>2]=0;c[_+64+4>>2]=0;c[_+64+8>>2]=0;c[_+64+12>>2]=0;Sb[o&1](ka,e,_+96|0,_+80|0,F*.8999999761581421,fa,f,ia,ha,_+64|0,10.0,1);ka=c[_+112+20>>2]|0;o=c[_+112+36>>2]|0;c[_+80>>2]=c[_+112+4>>2];c[_+80+4>>2]=ka;c[_+80+8>>2]=o;g[_+80+12>>2]=0.0;ha=+g[p+1196>>2];ia=+g[p+1200>>2];f=+C(+ha);ha=+D(+ha);fa=+C(+ia);ia=+D(+ia);ga=+g[_+80>>2];ja=+g[_+80+4>>2];h=+g[_+80+8>>2];g[_+64>>2]=f*fa*ga+f*ia*ja-ha*h;g[_+64+4>>2]=fa*ja-ia*ga;g[_+64+8>>2]=ha*fa*ga+ha*ia*ja+f*h;c[_+112>>2]=c[p+1128>>2];c[_+112+4>>2]=c[p+1128+4>>2];c[_+112+8>>2]=c[p+1128+8>>2];c[_+112+12>>2]=c[p+1128+12>>2];c[S>>2]=c[p+1128+16>>2];c[S+4>>2]=c[p+1128+16+4>>2];c[S+8>>2]=c[p+1128+16+8>>2];c[S+12>>2]=c[p+1128+16+12>>2];c[T>>2]=c[p+1128+32>>2];c[T+4>>2]=c[p+1128+32+4>>2];c[T+8>>2]=c[p+1128+32+8>>2];c[T+12>>2]=c[p+1128+32+12>>2];c[U>>2]=c[e>>2];c[U+4>>2]=c[e+4>>2];c[U+8>>2]=c[e+8>>2];c[U+12>>2]=c[e+12>>2];h=-+g[_+112+16>>2];f=-+g[_+112+32>>2];g[_+48>>2]=-+g[_+112>>2];g[_+48+4>>2]=h;g[_+48+8>>2]=f;g[_+48+12>>2]=0.0;f=+g[p+868>>2];h=+g[p+868+4>>2];if(!(f>h)){if(f<h){ka=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;o=c[(c[ka>>2]|0)+60>>2]|0;c[_+32>>2]=0;c[_+32+4>>2]=0;c[_+32+8>>2]=0;c[_+32+12>>2]=0;Tb[o&1](ka,e,_+48|0,_+64|0,F,F,f,h,_+32|0,1,10.0)}}else{ka=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;o=c[(c[ka>>2]|0)+60>>2]|0;c[_+32>>2]=0;c[_+32+4>>2]=0;c[_+32+8>>2]=0;c[_+32+12>>2]=0;Tb[o&1](ka,e,_+48|0,_+64|0,F,F,-3.1415927410125732,3.1415927410125732,_+32|0,0,10.0)}c[_+112>>2]=c[p+1064>>2];c[_+112+4>>2]=c[p+1064+4>>2];c[_+112+8>>2]=c[p+1064+8>>2];c[_+112+12>>2]=c[p+1064+12>>2];c[S>>2]=c[l>>2];c[S+4>>2]=c[l+4>>2];c[S+8>>2]=c[l+8>>2];c[S+12>>2]=c[l+12>>2];c[T>>2]=c[m>>2];c[T+4>>2]=c[m+4>>2];c[T+8>>2]=c[m+8>>2];c[T+12>>2]=c[m+12>>2];c[U>>2]=c[n>>2];c[U+4>>2]=c[n+4>>2];c[U+8>>2]=c[n+8>>2];c[U+12>>2]=c[n+12>>2];c[_+32>>2]=c[p+680>>2];c[_+32+4>>2]=c[p+680+4>>2];c[_+32+8>>2]=c[p+680+8>>2];c[_+32+12>>2]=c[p+680+12>>2];c[_+16>>2]=c[p+680+16>>2];c[_+16+4>>2]=c[p+680+16+4>>2];c[_+16+8>>2]=c[p+680+16+8>>2];c[_+16+12>>2]=c[p+680+16+12>>2];ka=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;p=c[(c[ka>>2]|0)+72>>2]|0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[_+12>>2]=0;Ub[p&31](ka,_+32|0,_+16|0,_+112|0,_)}break a}case 7:{c[_+112>>2]=c[p+824>>2];c[_+112+4>>2]=c[p+824+4>>2];c[_+112+8>>2]=c[p+824+8>>2];c[_+112+12>>2]=c[p+824+12>>2];c[V>>2]=c[p+824+16>>2];c[V+4>>2]=c[p+824+16+4>>2];c[V+8>>2]=c[p+824+16+8>>2];c[V+12>>2]=c[p+824+16+12>>2];c[W>>2]=c[p+824+32>>2];c[W+4>>2]=c[p+824+32+4>>2];c[W+8>>2]=c[p+824+32+8>>2];c[W+12>>2]=c[p+824+32+12>>2];c[X>>2]=c[p+824+48>>2];c[X+4>>2]=c[p+824+48+4>>2];c[X+8>>2]=c[p+824+48+8>>2];c[X+12>>2]=c[p+824+48+12>>2];if(e){ka=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Kb[c[(c[ka>>2]|0)+56>>2]&7](ka,_+112|0,F);c[_+112>>2]=c[p+888>>2];c[_+112+4>>2]=c[p+888+4>>2];c[_+112+8>>2]=c[p+888+8>>2];c[_+112+12>>2]=c[p+888+12>>2];c[V>>2]=c[p+888+16>>2];c[V+4>>2]=c[p+888+16+4>>2];c[V+8>>2]=c[p+888+16+8>>2];c[V+12>>2]=c[p+888+16+12>>2];c[W>>2]=c[p+888+32>>2];c[W+4>>2]=c[p+888+32+4>>2];c[W+8>>2]=c[p+888+32+8>>2];c[W+12>>2]=c[p+888+32+12>>2];c[X>>2]=c[p+888+48>>2];c[X+4>>2]=c[p+888+48+4>>2];c[X+8>>2]=c[p+888+48+8>>2];c[X+12>>2]=c[p+888+48+12>>2];ka=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Kb[c[(c[ka>>2]|0)+56>>2]&7](ka,_+112|0,F)}else{c[_+112>>2]=c[p+888>>2];c[_+112+4>>2]=c[p+888+4>>2];c[_+112+8>>2]=c[p+888+8>>2];c[_+112+12>>2]=c[p+888+12>>2];c[V>>2]=c[p+888+16>>2];c[V+4>>2]=c[p+888+16+4>>2];c[V+8>>2]=c[p+888+16+8>>2];c[V+12>>2]=c[p+888+16+12>>2];c[W>>2]=c[p+888+32>>2];c[W+4>>2]=c[p+888+32+4>>2];c[W+8>>2]=c[p+888+32+8>>2];c[W+12>>2]=c[p+888+32+12>>2];c[X>>2]=c[p+888+48>>2];c[X+4>>2]=c[p+888+48+4>>2];c[X+8>>2]=c[p+888+48+8>>2];c[X+12>>2]=c[p+888+48+12>>2]}if(o){la=(a[p+180>>0]|0)==0?p+888|0:p+824|0;e=c[la>>2]|0;n=c[la+4>>2]|0;l=c[la+16>>2]|0;o=c[la+20>>2]|0;m=c[la+32>>2]|0;ka=c[la+36>>2]|0;A=+g[la+48>>2];ba=+g[la+52>>2];fa=+g[la+56>>2];ja=+g[p+184>>2];aa=(c[j>>2]=e,+g[j>>2]);$=(c[j>>2]=n,+g[j>>2])*0.0;B=+g[la+8>>2]*0.0;ea=(c[j>>2]=l,+g[j>>2]);da=(c[j>>2]=o,+g[j>>2])*0.0;ca=+g[la+24>>2]*0.0;ia=(c[j>>2]=m,+g[j>>2]);ha=(c[j>>2]=ka,+g[j>>2])*0.0;ga=+g[la+40>>2]*0.0;g[_+96>>2]=A+(B+($+ja*aa));g[_+96+4>>2]=ba+(ca+(da+ja*ea));g[_+96+8>>2]=fa+(ga+(ha+ja*ia));g[_+96+12>>2]=0.0;ja=+g[p+188>>2];g[_+80>>2]=A+(B+($+ja*aa));g[_+80+4>>2]=ba+(ca+(da+ja*ea));g[_+80+8>>2]=fa+(ga+(ha+ja*ia));g[_+80+12>>2]=0.0;la=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;ma=c[(c[la>>2]|0)+8>>2]|0;c[_+64>>2]=0;c[_+64+4>>2]=0;c[_+64+8>>2]=0;c[_+64+12>>2]=0;Qb[ma&127](la,_+96|0,_+80|0,_+64|0);c[_+64>>2]=e;c[_+64+4>>2]=l;c[_+64+8>>2]=m;g[_+64+12>>2]=0.0;c[_+48>>2]=n;c[_+48+4>>2]=o;c[_+48+8>>2]=ka;g[_+48+12>>2]=0.0;ia=+g[p+192>>2];ja=+g[p+196>>2];ka=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;o=c[(c[ka>>2]|0)+60>>2]|0;c[_+32>>2]=0;c[_+32+4>>2]=0;c[_+32+8>>2]=0;c[_+32+12>>2]=0;Tb[o&1](ka,p+888+48|0,_+64|0,_+48|0,F,F,ia,ja,_+32|0,1,10.0)}break a}default:break a}while(0)}while((E|0)>1)}if((((tb[c[(c[b>>2]|0)+20>>2]&255](b)|0?(ma=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0,(tb[c[(c[ma>>2]|0)+48>>2]&255](ma)|0)&16387|0):0)?tb[c[(c[b>>2]|0)+20>>2]&255](b)|0:0)?(ma=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0,tb[c[(c[ma>>2]|0)+48>>2]&255](ma)|0):0)?(c[b+280>>2]|0)>0:0){d=0;do{ma=c[(c[b+288>>2]|0)+(d<<2)>>2]|0;Jb[c[(c[ma>>2]|0)+12>>2]&127](ma,c[b+72>>2]|0);d=d+1|0}while((d|0)<(c[b+280>>2]|0))}d=c[3369]|0;ma=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=ma;if(ma|0){k=_;return}do if(c[d+4>>2]|0){bb(_+112|0,0)|0;ma=c[7583]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[_+112+4>>2]|0)-(c[ma+4>>2]|0)+(((c[_+112>>2]|0)-(c[ma>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[3369]|0;break}else{k=_;return}}while(0);c[3369]=c[d+20>>2];k=_;return}function gc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;uf(b,e,f)|0;F=c[b+872>>2]|0;c[e+292>>2]=F;if(F){F=vb[c[(c[f>>2]|0)+28>>2]&31](f,b+868|0)|0;c[e+260>>2]=F;if(F|0){j=c[e+292>>2]|0;m=xb[c[(c[f>>2]|0)+16>>2]&63](f,4,j)|0;if((j|0)>0){g=c[m+8>>2]|0;h=0;while(1){k=c[(c[b+880>>2]|0)+(h<<2)>>2]|0;if(!k){i=0;l=0}else{i=k;l=vb[c[(c[f>>2]|0)+28>>2]&31](f,k)|0}c[g>>2]=l;if(!(vb[c[(c[f>>2]|0)+24>>2]&31](f,i)|0)){F=xb[c[(c[f>>2]|0)+16>>2]&63](f,16,1)|0;E=c[F+8>>2]|0;c[E+12>>2]=c[k+16>>2];c[E+4>>2]=c[k+8>>2];c[E>>2]=c[k+4>>2];c[E+8>>2]=c[k+12>>2];Ub[c[(c[f>>2]|0)+20>>2]&31](f,F,16244,1414349395,i)}h=h+1|0;if((h|0)>=(j|0)){g=f;break}else g=g+4|0}}else g=f;Ub[c[(c[g>>2]|0)+20>>2]&31](f,m,16244,1497453121,b+868|0)}}else c[e+260>>2]=0;F=c[b+712>>2]|0;c[e+296>>2]=F;if(F){F=vb[c[(c[f>>2]|0)+28>>2]&31](f,b+708|0)|0;c[e+264>>2]=F;if(!F){x=0;h=0;i=0;j=0;k=0}else{E=c[e+296>>2]|0;F=xb[c[(c[f>>2]|0)+16>>2]&63](f,100,E)|0;if((E|0)>0){C=0;D=c[F+8>>2]|0;p=0;t=0;u=0;g=0;h=0;q=0;y=0;w=0;i=0;r=0;j=0;k=0;B=0;x=0;while(1){m=c[b+720>>2]|0;c[D+52>>2]=c[m+(C*104|0)+56>>2];c[D+56>>2]=c[m+(C*104|0)+60>>2];c[D+60>>2]=c[m+(C*104|0)+64>>2];c[D+64>>2]=c[m+(C*104|0)+68>>2];c[D+88>>2]=c[m+(C*104|0)+92>>2];l=a[m+(C*104|0)+100>>0]<<7&255;c[D+92>>2]=(7?l<<24>>24>>7:l<<24>>24)<<24>>24;c[D+84>>2]=c[m+(C*104|0)+88>>2];l=c[m+(C*104|0)+4>>2]|0;if(!l)l=0;else{l=vb[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;m=c[b+720>>2]|0}c[D>>2]=l;o=m+(C*104|0)|0;c[D+68>>2]=c[m+(C*104|0)+72>>2];c[D+72>>2]=c[m+(C*104|0)+76>>2];c[D+76>>2]=c[m+(C*104|0)+80>>2];c[D+80>>2]=c[m+(C*104|0)+84>>2];c[D+4>>2]=c[m+(C*104|0)+8>>2];c[D+8>>2]=c[m+(C*104|0)+12>>2];c[D+12>>2]=c[m+(C*104|0)+16>>2];c[D+16>>2]=c[m+(C*104|0)+20>>2];c[D+20>>2]=c[m+(C*104|0)+24>>2];c[D+24>>2]=c[m+(C*104|0)+28>>2];c[D+28>>2]=c[m+(C*104|0)+32>>2];c[D+32>>2]=c[m+(C*104|0)+36>>2];c[D+36>>2]=c[m+(C*104|0)+40>>2];c[D+40>>2]=c[m+(C*104|0)+44>>2];c[D+44>>2]=c[m+(C*104|0)+48>>2];c[D+48>>2]=c[m+(C*104|0)+52>>2];v=((10?o+~(o<<15)>>10:o+~(o<<15)|0)^o+~(o<<15))*9|0;v=(6?v>>6:v)^v;v=(16?v+~(v<<11)>>16:v+~(v<<11)|0)^v+~(v<<11);s=v&j+-1;a:do if(s>>>0<q>>>0?(G=c[h+(s<<2)>>2]|0,(G|0)!=-1):0){l=G;while(1){if((c[g+(l<<3)>>2]|0)==(o|0))break;l=c[i+(l<<2)>>2]|0;if((l|0)==-1){J=27;break a}}c[k+(l<<2)>>2]=C;s=u;o=y;m=w;n=B;l=x}else J=27;while(0);if((J|0)==27){J=0;do if((r|0)==(j|0)){m=(j|0)==0?1:j<<1;if((j|0)<(m|0)){if((m|0)!=0?(c[7584]=(c[7584]|0)+1,H=lc((m<<2|3)+16|0)|0,(H|0)!=0):0){c[(H+4+15&-16)+-4>>2]=H;n=H+4+15&-16}else n=0;if((j|0)<=0){if(!k){A=m;k=n;l=j;break}}else{l=0;do{c[n+(l<<2)>>2]=c[k+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}c[7585]=(c[7585]|0)+1;Bd(c[k+-4>>2]|0);A=m;k=n;l=j}else{A=j;l=j}}else{A=j;l=r}while(0);c[k+(l<<2)>>2]=C;z=r+1|0;do if((t|0)==(u|0)){m=(t|0)==0?1:t<<1;if((t|0)<(m|0)){if((m|0)!=0?(c[7584]=(c[7584]|0)+1,I=lc((m<<3|3)+16|0)|0,(I|0)!=0):0){c[(I+4+15&-16)+-4>>2]=I;n=I+4+15&-16}else n=0;if((t|0)<=0){if(!g){u=m;g=n;break}}else{l=0;do{L=g+(l<<3)|0;K=c[L+4>>2]|0;u=n+(l<<3)|0;c[u>>2]=c[L>>2];c[u+4>>2]=K;l=l+1|0}while((l|0)!=(t|0))}c[7585]=(c[7585]|0)+1;Bd(c[g+-4>>2]|0);u=m;g=n}else u=t}while(0);c[g+(t<<3)>>2]=o;t=t+1|0;if((j|0)<(A|0)){if((q|0)<(A|0)){do if((p|0)<(A|0)){do if(!A)l=0;else{c[7584]=(c[7584]|0)+1;j=lc((A<<2|3)+16|0)|0;if(!j){l=0;break}c[(j+4+15&-16)+-4>>2]=j;l=j+4+15&-16}while(0);if((q|0)<=0){if(!h){p=A;h=l;s=l;break}}else{j=0;do{c[l+(j<<2)>>2]=c[h+(j<<2)>>2];j=j+1|0}while((j|0)!=(q|0))}c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);p=A;h=l;s=l}else s=x;while(0);o=A<<2;Bl(h+(q<<2)|0,0,o-(q<<2)|0)|0;if((y|0)<(A|0)){do if((w|0)<(A|0)){do if(!A)l=0;else{c[7584]=(c[7584]|0)+1;j=lc((o|3)+16|0)|0;if(!j){l=0;break}c[(j+4+15&-16)+-4>>2]=j;l=j+4+15&-16}while(0);if((y|0)<=0){if(!i){m=A;i=l;j=l;break}}else{j=0;do{c[l+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(y|0))}c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);m=A;i=l;j=l}else{m=w;j=B}while(0);Bl(i+(y<<2)|0,0,o-(y<<2)|0)|0;n=j}else{m=w;n=B}if((A|0)>0){Bl(s|0,-1,o|0)|0;Bl(n|0,-1,o|0)|0}if((q|0)>0){l=A+-1|0;j=0;do{L=c[g+(j<<3)>>2]|0;L=((10?L+~(L<<15)>>10:L+~(L<<15)|0)^L+~(L<<15))*9|0;L=(6?L>>6:L)^L;L=h+((((16?L+~(L<<11)>>16:L+~(L<<11)|0)^L+~(L<<11))&l)<<2)|0;c[i+(j<<2)>>2]=c[L>>2];c[L>>2]=j;j=j+1|0}while((j|0)!=(q|0));l=A;o=A;j=s}else{l=A;o=A;j=s}}else{l=q;o=y;m=w;n=B;j=x}s=v&A+-1;q=l;l=j}else{o=y;m=w;n=B;l=x}s=h+(s<<2)|0;c[i+(r<<2)>>2]=c[s>>2];c[s>>2]=r;s=u;r=z;j=A}C=C+1|0;if((C|0)>=(E|0))break;else{D=D+100|0;u=s;y=o;w=m;B=n;x=l}}}else{g=0;h=0;i=0;j=0;k=0}Ub[c[(c[f>>2]|0)+20>>2]&31](f,F,16265,1145979475,b+708|0);x=g}}else{c[e+264>>2]=0;x=0;h=0;i=0;j=0;k=0}L=c[b+732>>2]|0;c[e+300>>2]=L;if(L){L=vb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+740>>2]|0)|0;c[e+268>>2]=L;if(L|0){p=c[e+300>>2]|0;q=xb[c[(c[f>>2]|0)+16>>2]&63](f,20,p)|0;if((p|0)>0){m=c[b+740>>2]|0;n=c[q+8>>2]|0;o=0;g=m;while(1){l=a[m+(o*52|0)+20>>0]<<7&255;c[n+16>>2]=(7?l<<24>>24>>7:l<<24>>24)<<24>>24;l=c[m+(o*52|0)+4>>2]|0;if(!l)l=0;else{l=vb[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;m=c[b+740>>2]|0;g=m}c[n>>2]=l;l=c[m+(o*52|0)+8>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+4>>2]=l;l=c[m+(o*52|0)+12>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+8>>2]=l;c[n+12>>2]=c[m+(o*52|0)+16>>2];o=o+1|0;if((o|0)>=(p|0))break;else n=n+20|0}}else g=c[b+740>>2]|0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,q,16282,1497453121,g)}}else c[e+268>>2]=0;L=c[b+752>>2]|0;c[e+304>>2]=L;if(L){L=vb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+760>>2]|0)|0;c[e+272>>2]=L;if(L|0){p=c[e+304>>2]|0;q=xb[c[(c[f>>2]|0)+16>>2]&63](f,36,p)|0;if((p|0)>0){m=c[b+760>>2]|0;n=c[q+8>>2]|0;o=0;g=m;while(1){l=c[m+(o*44|0)+4>>2]|0;if(!l)l=0;else{l=vb[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;m=c[b+760>>2]|0;g=m}c[n+16>>2]=l;c[n>>2]=c[m+(o*44|0)+20>>2];c[n+4>>2]=c[m+(o*44|0)+24>>2];c[n+8>>2]=c[m+(o*44|0)+28>>2];c[n+12>>2]=c[m+(o*44|0)+32>>2];l=c[m+(o*44|0)+8>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+20>>2]=l;l=c[m+(o*44|0)+12>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+24>>2]=l;l=c[m+(o*44|0)+16>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+28>>2]=l;c[n+32>>2]=c[m+(o*44|0)+36>>2];o=o+1|0;if((o|0)>=(p|0))break;else n=n+36|0}}else g=c[b+760>>2]|0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,q,16299,1497453121,g)}}else c[e+272>>2]=0;L=c[b+772>>2]|0;c[e+308>>2]=L;if(L){L=vb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+780>>2]|0)|0;c[e+276>>2]=L;if(L|0){p=c[e+308>>2]|0;q=xb[c[(c[f>>2]|0)+16>>2]&63](f,100,p)|0;if((p|0)>0){m=c[b+780>>2]|0;n=c[q+8>>2]|0;o=0;g=m;while(1){c[n>>2]=c[m+(o*104|0)+32>>2];c[n+4>>2]=c[m+(o*104|0)+36>>2];c[n+8>>2]=c[m+(o*104|0)+40>>2];c[n+12>>2]=c[m+(o*104|0)+44>>2];l=c[m+8>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+68>>2]=l;c[n+16>>2]=c[m+(o*104|0)+48>>2];c[n+20>>2]=c[m+(o*104|0)+52>>2];c[n+24>>2]=c[m+(o*104|0)+56>>2];c[n+28>>2]=c[m+(o*104|0)+60>>2];l=c[m+116>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+72>>2]=l;c[n+32>>2]=c[m+(o*104|0)+64>>2];c[n+36>>2]=c[m+(o*104|0)+68>>2];c[n+40>>2]=c[m+(o*104|0)+72>>2];c[n+44>>2]=c[m+(o*104|0)+76>>2];l=c[m+224>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+76>>2]=l;c[n+48>>2]=c[m+(o*104|0)+80>>2];c[n+52>>2]=c[m+(o*104|0)+84>>2];c[n+56>>2]=c[m+(o*104|0)+88>>2];c[n+60>>2]=c[m+(o*104|0)+92>>2];l=c[m+332>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[n+80>>2]=l;c[n+88>>2]=c[m+(o*104|0)+96>>2];c[n+92>>2]=c[m+(o*104|0)+100>>2];l=c[m+(o*104|0)+4>>2]|0;if(!l)l=0;else{l=vb[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;m=c[b+780>>2]|0;g=m}c[n+64>>2]=l;c[n+84>>2]=c[m+(o*104|0)+24>>2];o=o+1|0;if((o|0)>=(p|0))break;else n=n+100|0}}else g=c[b+780>>2]|0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,q,16316,1497453121,g)}}else c[e+276>>2]=0;L=c[b+792>>2]|0;c[e+312>>2]=L;if(L){L=vb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+800>>2]|0)|0;c[e+280>>2]=L;if(!L)w=f;else{o=c[e+312>>2]|0;p=xb[c[(c[f>>2]|0)+16>>2]&63](f,92,o)|0;if((o|0)>0){m=c[p+8>>2]|0;n=0;while(1){l=c[b+800>>2]|0;c[m>>2]=c[l+(n*96|0)+28>>2];c[m+4>>2]=c[l+(n*96|0)+32>>2];c[m+8>>2]=c[l+(n*96|0)+36>>2];c[m+12>>2]=c[l+(n*96|0)+40>>2];c[m+16>>2]=c[l+(n*96|0)+44>>2];c[m+20>>2]=c[l+(n*96|0)+48>>2];c[m+24>>2]=c[l+(n*96|0)+52>>2];c[m+28>>2]=c[l+(n*96|0)+56>>2];c[m+32>>2]=c[l+(n*96|0)+60>>2];c[m+36>>2]=c[l+(n*96|0)+64>>2];c[m+40>>2]=c[l+(n*96|0)+68>>2];c[m+44>>2]=c[l+(n*96|0)+72>>2];c[m+48>>2]=c[l+(n*96|0)+76>>2];c[m+52>>2]=c[l+(n*96|0)+80>>2];c[m+56>>2]=c[l+(n*96|0)+84>>2];c[m+60>>2]=c[l+(n*96|0)+88>>2];c[m+88>>2]=c[l+(n*96|0)+92>>2];c[m+64>>2]=c[l+(n*96|0)+4>>2];c[m+68>>2]=c[l+(n*96|0)+8>>2];c[m+72>>2]=c[l+(n*96|0)+12>>2];c[m+76>>2]=c[l+(n*96|0)+16>>2];g=c[l+(n*96|0)>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[m+84>>2]=g;g=c[l+(n*96|0)+20>>2]|0;if(!g)g=0;else g=vb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;c[m+80>>2]=g;n=n+1|0;if((n|0)>=(o|0))break;else m=m+92|0}}Ub[c[(c[f>>2]|0)+20>>2]&31](f,p,16334,1497453121,c[b+800>>2]|0);w=f}}else{c[e+280>>2]=0;w=f}c[e+352>>2]=c[b+316>>2];c[e+328>>2]=c[b+292>>2];c[e+344>>2]=c[b+308>>2];c[e+324>>2]=c[b+288>>2];c[e+340>>2]=c[b+304>>2];c[e+336>>2]=c[b+300>>2];c[e+412>>2]=c[b+376>>2];c[e+416>>2]=c[b+380>>2];c[e+420>>2]=c[b+384>>2];c[e+408>>2]=c[b+372>>2];q=c[b+364>>2]|0;c[e+332>>2]=c[b+296>>2];c[e+356>>2]=c[b+320>>2];c[e+424>>2]=c[b+388>>2];c[e+348>>2]=c[b+312>>2];c[e+360>>2]=c[b+324>>2];c[e+364>>2]=c[b+328>>2];c[e+368>>2]=c[b+332>>2];c[e+372>>2]=c[b+336>>2];c[e+404>>2]=c[b+368>>2];c[e+400>>2]=q;c[e+376>>2]=c[b+340>>2];c[e+380>>2]=c[b+344>>2];c[e+384>>2]=c[b+348>>2];c[e+388>>2]=c[b+352>>2];c[e+392>>2]=c[b+356>>2];c[e+396>>2]=c[b+360>>2];c[e+256>>2]=vb[c[(c[w>>2]|0)+28>>2]&31](f,b+472|0)|0;q=xb[c[(c[f>>2]|0)+16>>2]&63](f,192,1)|0;p=c[q+8>>2]|0;c[p+96>>2]=c[b+632>>2];c[p+100>>2]=c[b+636>>2];c[p+104>>2]=c[b+640>>2];c[p+108>>2]=c[b+644>>2];c[p+112>>2]=c[b+648>>2];c[p+116>>2]=c[b+652>>2];c[p+120>>2]=c[b+656>>2];c[p+124>>2]=c[b+660>>2];c[p+128>>2]=c[b+664>>2];c[p+132>>2]=c[b+668>>2];c[p+136>>2]=c[b+672>>2];c[p+140>>2]=c[b+676>>2];c[p+180>>2]=d[b+473>>0];c[p+176>>2]=d[b+472>>0];c[p+144>>2]=c[b+520>>2];c[p+148>>2]=c[b+524>>2];c[p+152>>2]=c[b+528>>2];c[p+156>>2]=c[b+532>>2];L=c[b+484>>2]|0;c[p+168>>2]=L;if(L){L=vb[c[(c[w>>2]|0)+28>>2]&31](f,c[b+492>>2]|0)|0;n=c[p+168>>2]|0;c[p+160>>2]=L;if(n|0){o=xb[c[(c[f>>2]|0)+16>>2]&63](f,16,n)|0;if((n|0)>0){g=c[b+492>>2]|0;l=c[o+8>>2]|0;m=0;while(1){c[l>>2]=c[g+(m<<4)>>2];c[l+4>>2]=c[g+(m<<4)+4>>2];c[l+8>>2]=c[g+(m<<4)+8>>2];c[l+12>>2]=c[g+(m<<4)+12>>2];m=m+1|0;if((m|0)==(n|0))break;else l=l+16|0}}else g=c[b+492>>2]|0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,o,25286,1497453121,g)}}else c[p+160>>2]=0;c[p+184>>2]=c[b+476>>2];c[p>>2]=c[b+536>>2];c[p+4>>2]=c[b+540>>2];c[p+8>>2]=c[b+544>>2];c[p+12>>2]=c[b+548>>2];c[p+16>>2]=c[b+552>>2];c[p+20>>2]=c[b+556>>2];c[p+24>>2]=c[b+560>>2];c[p+28>>2]=c[b+564>>2];c[p+32>>2]=c[b+568>>2];c[p+36>>2]=c[b+572>>2];c[p+40>>2]=c[b+576>>2];c[p+44>>2]=c[b+580>>2];c[p+48>>2]=c[b+584>>2];c[p+52>>2]=c[b+588>>2];c[p+56>>2]=c[b+592>>2];c[p+60>>2]=c[b+596>>2];c[p+64>>2]=c[b+600>>2];c[p+68>>2]=c[b+604>>2];c[p+72>>2]=c[b+608>>2];c[p+76>>2]=c[b+612>>2];c[p+80>>2]=c[b+616>>2];c[p+84>>2]=c[b+620>>2];c[p+88>>2]=c[b+624>>2];c[p+92>>2]=c[b+628>>2];L=c[b+504>>2]|0;c[p+172>>2]=L;if(L){L=vb[c[(c[w>>2]|0)+28>>2]&31](f,c[b+512>>2]|0)|0;n=c[p+172>>2]|0;c[p+164>>2]=L;if(n|0){o=xb[c[(c[f>>2]|0)+16>>2]&63](f,4,n)|0;if((n|0)>0){g=c[b+512>>2]|0;l=0;m=c[o+8>>2]|0;while(1){c[m>>2]=c[g+(l<<2)>>2];l=l+1|0;if((l|0)==(n|0))break;else m=m+4|0}}else g=c[b+512>>2]|0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,o,16354,1497453121,g)}}else c[p+164>>2]=0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,q,16360,1497453121,b+472|0);L=c[b+1112>>2]|0;c[e+316>>2]=L;if(L){L=vb[c[(c[w>>2]|0)+28>>2]&31](f,c[c[b+1120>>2]>>2]|0)|0;u=c[e+316>>2]|0;c[e+284>>2]=L;if(u|0){v=xb[c[(c[f>>2]|0)+16>>2]&63](f,348,u)|0;if((u|0)>0){t=j+-1|0;r=0;s=c[v+8>>2]|0;while(1){j=c[(c[b+1120>>2]|0)+(r<<2)>>2]|0;L=s+320|0;c[L>>2]=c[j+360>>2];c[s+256>>2]=c[j+332>>2];c[s+260>>2]=c[j+336>>2];c[s+264>>2]=c[j+340>>2];c[s+268>>2]=c[j+344>>2];c[s+344>>2]=c[j+380>>2];c[s+340>>2]=d[j+377>>0];c[s+160>>2]=c[j+228>>2];c[s+164>>2]=c[j+232>>2];c[s+168>>2]=c[j+236>>2];c[s+172>>2]=c[j+240>>2];c[s+336>>2]=d[j+376>>0];c[s+208>>2]=c[j+276>>2];c[s+212>>2]=c[j+280>>2];c[s+216>>2]=c[j+284>>2];c[s+220>>2]=c[j+288>>2];c[s+224>>2]=c[j+292>>2];c[s+228>>2]=c[j+296>>2];c[s+232>>2]=c[j+300>>2];c[s+236>>2]=c[j+304>>2];c[s>>2]=c[j+60>>2];c[s+4>>2]=c[j+64>>2];c[s+8>>2]=c[j+68>>2];c[s+12>>2]=c[j+72>>2];c[s+16>>2]=c[j+76>>2];c[s+20>>2]=c[j+80>>2];c[s+24>>2]=c[j+84>>2];c[s+28>>2]=c[j+88>>2];c[s+32>>2]=c[j+92>>2];c[s+36>>2]=c[j+96>>2];c[s+40>>2]=c[j+100>>2];c[s+44>>2]=c[j+104>>2];c[s+48>>2]=c[j+108>>2];c[s+52>>2]=c[j+112>>2];c[s+56>>2]=c[j+116>>2];c[s+60>>2]=c[j+120>>2];c[s+296>>2]=c[j+124>>2];c[s+300>>2]=c[j+128>>2];c[s+112>>2]=c[j+180>>2];c[s+116>>2]=c[j+184>>2];c[s+120>>2]=c[j+188>>2];c[s+124>>2]=c[j+192>>2];c[s+128>>2]=c[j+196>>2];c[s+132>>2]=c[j+200>>2];c[s+136>>2]=c[j+204>>2];c[s+140>>2]=c[j+208>>2];c[s+144>>2]=c[j+212>>2];c[s+148>>2]=c[j+216>>2];c[s+152>>2]=c[j+220>>2];c[s+156>>2]=c[j+224>>2];g=s+316|0;c[g>>2]=c[j+356>>2];c[s+64>>2]=c[j+132>>2];c[s+68>>2]=c[j+136>>2];c[s+72>>2]=c[j+140>>2];c[s+76>>2]=c[j+144>>2];c[s+80>>2]=c[j+148>>2];c[s+84>>2]=c[j+152>>2];c[s+88>>2]=c[j+156>>2];c[s+92>>2]=c[j+160>>2];c[s+96>>2]=c[j+164>>2];c[s+100>>2]=c[j+168>>2];c[s+104>>2]=c[j+172>>2];c[s+108>>2]=c[j+176>>2];c[s+240>>2]=c[j+316>>2];c[s+244>>2]=c[j+320>>2];c[s+248>>2]=c[j+324>>2];c[s+252>>2]=c[j+328>>2];c[s+324>>2]=c[j+364>>2];c[s+328>>2]=c[j+368>>2];c[s+312>>2]=c[j+352>>2];c[g>>2]=c[j+356>>2];c[L>>2]=c[j+360>>2];c[s+332>>2]=c[j+372>>2];L=c[j+44>>2]|0;g=s+284|0;c[g>>2]=L;p=s+292|0;c[p>>2]=c[j+4>>2];q=s+288|0;c[q>>2]=c[j+24>>2];c[s+304>>2]=c[j+308>>2];c[s+176>>2]=c[j+244>>2];c[s+180>>2]=c[j+248>>2];c[s+184>>2]=c[j+252>>2];c[s+188>>2]=c[j+256>>2];c[s+192>>2]=c[j+260>>2];c[s+196>>2]=c[j+264>>2];c[s+200>>2]=c[j+268>>2];c[s+204>>2]=c[j+272>>2];c[s+308>>2]=c[j+312>>2];if(L){L=vb[c[(c[w>>2]|0)+28>>2]&31](f,c[j+52>>2]|0)|0;c[s+272>>2]=L;if(L|0){m=c[g>>2]|0;o=xb[c[(c[f>>2]|0)+16>>2]&63](f,16,m)|0;if((m|0)>0){g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+52|0;n=c[g>>2]|0;j=0;l=c[o+8>>2]|0;while(1){c[l>>2]=c[n+(j<<4)>>2];c[l+4>>2]=c[n+(j<<4)+4>>2];c[l+8>>2]=c[n+(j<<4)+8>>2];c[l+12>>2]=c[n+(j<<4)+12>>2];j=j+1|0;if((j|0)==(m|0))break;else l=l+16|0}}else g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+52|0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,o,25286,1497453121,c[g>>2]|0)}}else c[s+272>>2]=0;if(c[p>>2]|0){L=vb[c[(c[w>>2]|0)+28>>2]&31](f,c[(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+12>>2]|0)|0;c[s+280>>2]=L;if(L|0){m=c[p>>2]|0;o=xb[c[(c[f>>2]|0)+16>>2]&63](f,4,m)|0;if((m|0)>0){g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+12|0;n=c[g>>2]|0;j=0;l=c[o+8>>2]|0;while(1){c[l>>2]=c[n+(j<<2)>>2];j=j+1|0;if((j|0)==(m|0))break;else l=l+4|0}}else g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+12|0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,o,16354,1497453121,c[g>>2]|0)}}else c[s+280>>2]=0;if(c[q>>2]|0){L=vb[c[(c[w>>2]|0)+28>>2]&31](f,(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+20|0)|0;c[s+276>>2]=L;if(L|0){p=c[p>>2]|0;q=xb[c[(c[f>>2]|0)+16>>2]&63](f,4,p)|0;if((p|0)>0){g=c[(c[b+1120>>2]|0)+(r<<2)>>2]|0;o=c[g+32>>2]|0;m=0;n=c[q+8>>2]|0;while(1){l=c[o+(m<<2)>>2]|0;j=((10?~(l<<15)+l>>10:~(l<<15)+l|0)^~(l<<15)+l)*9|0;j=(6?j>>6:j)^j;j=c[h+((((16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11))&t)<<2)>>2]|0;if((c[x+(j<<3)>>2]|0)!=(l|0))do j=c[i+(j<<2)>>2]|0;while((c[x+(j<<3)>>2]|0)!=(l|0));c[n>>2]=c[k+(j<<2)>>2];m=m+1|0;if((m|0)==(p|0))break;else n=n+4|0}}else g=c[(c[b+1120>>2]|0)+(r<<2)>>2]|0;Ub[c[(c[f>>2]|0)+20>>2]&31](f,q,16397,1497453121,g+20|0)}}else c[s+276>>2]=0;r=r+1|0;if((r|0)>=(u|0))break;else s=s+348|0}}Ub[c[(c[f>>2]|0)+20>>2]&31](f,v,16377,1497453121,c[c[b+1120>>2]>>2]|0)}}else c[e+284>>2]=0;L=c[b+852>>2]|0;c[e+320>>2]=L;if(L){L=vb[c[(c[w>>2]|0)+28>>2]&31](f,c[b+860>>2]|0)|0;c[e+288>>2]=L;if(L|0){n=c[b+852>>2]|0;o=xb[c[(c[f>>2]|0)+16>>2]&63](f,104,n)|0;if((n|0)>0){l=0;m=c[o+8>>2]|0;while(1){g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0;c[m+96>>2]=tb[c[(c[g>>2]|0)+20>>2]&255](g)|0;g=(c[b+860>>2]|0)+(l<<2)|0;L=c[g>>2]|0;c[m+8>>2]=c[L+28>>2];c[m+12>>2]=c[L+32>>2];c[m+16>>2]=c[L+36>>2];c[m+20>>2]=c[L+40>>2];c[m+24>>2]=c[L+44>>2];c[m+28>>2]=c[L+48>>2];c[m+32>>2]=c[L+52>>2];c[m+36>>2]=c[L+56>>2];c[m+40>>2]=c[L+60>>2];c[m+44>>2]=c[L+64>>2];c[m+48>>2]=c[L+68>>2];c[m+52>>2]=d[L+152>>0];L=m+56|0;c[m>>2]=0;p=m+4|0;c[p>>2]=0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;g=c[(c[g>>2]|0)+4>>2]|0;if(g|0){c[m+88>>2]=1;c[m>>2]=vb[c[(c[w>>2]|0)+28>>2]&31](f,g)|0}g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0;j=c[g+12>>2]|0;if(j){c[m+88>>2]=3;c[m>>2]=vb[c[(c[w>>2]|0)+28>>2]&31](f,j)|0;g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0}j=c[g+8>>2]|0;if(j){c[m+88>>2]=2;c[m>>2]=vb[c[(c[w>>2]|0)+28>>2]&31](f,j)|0;g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0}j=c[g+16>>2]|0;if(j){c[m+92>>2]=1;c[p>>2]=vb[c[(c[w>>2]|0)+28>>2]&31](f,j)|0;g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0}j=c[g+24>>2]|0;if(j){c[m+92>>2]=3;c[p>>2]=vb[c[(c[w>>2]|0)+28>>2]&31](f,j)|0;g=c[(c[b+860>>2]|0)+(l<<2)>>2]|0}g=c[g+20>>2]|0;if(g|0){c[m+92>>2]=2;c[p>>2]=vb[c[(c[w>>2]|0)+28>>2]&31](f,g)|0}l=l+1|0;if((l|0)>=(n|0))break;else m=m+104|0}}Ub[c[(c[f>>2]|0)+20>>2]&31](f,o,16401,1497453121,c[b+860>>2]|0)}}else c[e+288>>2]=0;if(x|0){c[7585]=(c[7585]|0)+1;Bd(c[x+-4>>2]|0)}if(k|0){c[7585]=(c[7585]|0)+1;Bd(c[k+-4>>2]|0)}if(i|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}if(!h)return 16421;c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);return 16421}function hc(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0;Y=k;k=k+240|0;e=c[b+24>>2]|0;if((e|0)<=0){k=Y;return}I=Y+128+76|0;J=Y+80+16|0;K=Y+80+32|0;H=0;do{G=c[(c[b+32>>2]|0)+(H<<2)>>2]|0;switch(c[G+216>>2]|0){case 2:case 5:break;default:{if(a[G+924>>0]|0){a[G+924>>0]=0;f=c[G+732>>2]|0;if((f|0)>0){h=c[G+740>>2]|0;e=0;do{y=c[h+(e*52|0)+8>>2]|0;B=c[h+(e*52|0)+12>>2]|0;D=+g[y+8>>2]-+g[B+8>>2];E=+g[y+12>>2]-+g[B+12>>2];F=+g[y+16>>2]-+g[B+16>>2];F=+A(+(D*D+E*E+F*F));g[h+(e*52|0)+16>>2]=F;g[h+(e*52|0)+28>>2]=F*F;e=e+1|0}while((e|0)!=(f|0));e=0;do{g[h+(e*52|0)+24>>2]=(+g[(c[h+(e*52|0)+8>>2]|0)+88>>2]+ +g[(c[h+(e*52|0)+12>>2]|0)+88>>2])/+g[(c[h+(e*52|0)+4>>2]|0)+4>>2];e=e+1|0}while((e|0)!=(f|0))}eg(G);e=c[G+988>>2]|0;if(e|0)go(G+988|0,e);e=c[G+992>>2]|0;if(e|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[G+992>>2]=0;c[G+996>>2]=-1;e=c[G+1020>>2]|0;if(e|0){if(a[G+1024>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[G+1020>>2]=0}a[G+1024>>0]=1;c[G+1020>>2]=0;c[G+1012>>2]=0;c[G+1016>>2]=0;c[G+1004>>2]=0;if(c[G+388>>2]&16|0){e=c[G+988>>2]|0;if(e|0)go(G+988|0,e);e=c[G+992>>2]|0;if(e|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[G+992>>2]=0;c[G+996>>2]=-1;e=c[G+1020>>2]|0;if(e|0){if(a[G+1024>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[e+-4>>2]|0)}c[G+1020>>2]=0}a[G+1024>>0]=1;c[G+1020>>2]=0;c[G+1012>>2]=0;c[G+1016>>2]=0;c[G+1004>>2]=0;if((c[G+752>>2]|0)>0){f=0;do{h=c[G+760>>2]|0;u=h+(f*44|0)|0;y=c[h+(f*44|0)+8>>2]|0;B=c[h+(f*44|0)+12>>2]|0;e=c[h+(f*44|0)+16>>2]|0;p=+g[y+8>>2];q=+g[y+12>>2];r=+g[y+16>>2];n=+g[y+20>>2];C=+g[B+8>>2];i=C<p?C:p;F=+g[B+12>>2];o=F<q?F:q;E=+g[B+16>>2];l=E<r?E:r;D=+g[B+20>>2];m=D<n?D:n;p=p<C?C:p;q=q<F?F:q;r=r<E?E:r;n=n<D?D:n;D=+g[e+8>>2];i=D<i?D:i;E=+g[e+12>>2];o=E<o?E:o;F=+g[e+16>>2];l=F<l?F:l;C=+g[e+20>>2];m=C<m?C:m;n=n<C?C:n;p=(p<D?D:p)+0.0;q=(q<E?E:q)+0.0;r=(r<F?F:r)+0.0;e=c[G+992>>2]|0;if(!e){c[7584]=(c[7584]|0)+1;e=lc(63)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}x=e;y=x+44|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0))}else c[G+992>>2]=0;c[e+32>>2]=0;c[e+36>>2]=u;c[e+40>>2]=0;g[e>>2]=i;g[e+4>>2]=o;g[e+8>>2]=l;g[e+12>>2]=m;g[e+16>>2]=p;g[e+20>>2]=q;g[e+24>>2]=r;g[e+28>>2]=n;tf(G+988|0,c[G+988>>2]|0,e);c[G+1e3>>2]=(c[G+1e3>>2]|0)+1;c[h+(f*44|0)+40>>2]=e;f=f+1|0}while((f|0)<(c[G+752>>2]|0))}}}m=+g[G+368>>2]*d;g[G+452>>2]=m;g[G+456>>2]=1.0/m;g[G+460>>2]=m*3.0;f=c[G+192>>2]|0;m=+jb[c[(c[f>>2]|0)+48>>2]&15](f);g[G+464>>2]=m;g[G+468>>2]=m*.25;f=c[G+684>>2]|0;m=+g[G+452>>2];i=+g[f+40>>2]*m;l=m*+g[f+44>>2];m=m*+g[f+48>>2];f=c[G+712>>2]|0;if((f|0)>0){h=c[G+720>>2]|0;e=0;do{if(+g[h+(e*104|0)+88>>2]>0.0){B=h+(e*104|0)+40|0;g[B>>2]=i+ +g[B>>2];B=h+(e*104|0)+44|0;g[B>>2]=l+ +g[B>>2];B=h+(e*104|0)+48|0;g[B>>2]=m+ +g[B>>2]}e=e+1|0}while((e|0)!=(f|0))}Wj(16599);o=+g[G+308>>2];p=+g[G+312>>2];u=+g[G+304>>2]>0.0?1:+g[G+300>>2]>0.0;x=c[G+712>>2]|0;if(o!=0.0|p>0.0){if((x|0)>0){f=c[G+720>>2]|0;l=+g[f+8>>2];m=+g[f+12>>2];n=+g[f+16>>2];f=c[G+752>>2]|0;if((f|0)>0){h=c[G+760>>2]|0;e=0;i=0.0;do{B=c[h+(e*44|0)+8>>2]|0;y=c[h+(e*44|0)+12>>2]|0;E=+g[y+8>>2]-l;v=+g[y+12>>2]-m;C=+g[y+16>>2]-n;y=c[h+(e*44|0)+16>>2]|0;D=+g[y+8>>2]-l;w=+g[y+12>>2]-m;F=+g[y+16>>2]-n;i=i+((+g[B+16>>2]-n)*(E*w-v*D)+((+g[B+8>>2]-l)*(v*F-C*w)+(+g[B+12>>2]-m)*(C*D-E*F)));e=e+1|0}while((e|0)!=(f|0))}else i=0.0;i=i/6.0}else i=0.0;l=o*(1.0/+z(+i));i=p*(+g[G+476>>2]-i)}else{i=0.0;l=0.0}if((x|0)>0)if(u){e=0;do{f=c[G+720>>2]|0;if(+g[f+(e*104|0)+88>>2]>0.0){Xe(G,G+1212|0,e);if(o!=0.0){D=l*+g[f+(e*104|0)+92>>2];E=D*+g[f+(e*104|0)+76>>2];F=D*+g[f+(e*104|0)+80>>2];B=f+(e*104|0)+56|0;g[B>>2]=+g[f+(e*104|0)+72>>2]*D+ +g[B>>2];B=f+(e*104|0)+60|0;g[B>>2]=E+ +g[B>>2];B=f+(e*104|0)+64|0;g[B>>2]=F+ +g[B>>2]}if(p>0.0){D=i*+g[f+(e*104|0)+92>>2];E=D*+g[f+(e*104|0)+76>>2];F=D*+g[f+(e*104|0)+80>>2];B=f+(e*104|0)+56|0;g[B>>2]=+g[f+(e*104|0)+72>>2]*D+ +g[B>>2];B=f+(e*104|0)+60|0;g[B>>2]=E+ +g[B>>2];B=f+(e*104|0)+64|0;g[B>>2]=F+ +g[B>>2]}}e=e+1|0}while((e|0)!=(x|0))}else{f=c[G+720>>2]|0;e=0;do{if(+g[f+(e*104|0)+88>>2]>0.0){if(o!=0.0){D=l*+g[f+(e*104|0)+92>>2];E=D*+g[f+(e*104|0)+76>>2];F=D*+g[f+(e*104|0)+80>>2];B=f+(e*104|0)+56|0;g[B>>2]=+g[f+(e*104|0)+72>>2]*D+ +g[B>>2];B=f+(e*104|0)+60|0;g[B>>2]=E+ +g[B>>2];B=f+(e*104|0)+64|0;g[B>>2]=F+ +g[B>>2]}if(p>0.0){D=i*+g[f+(e*104|0)+92>>2];E=D*+g[f+(e*104|0)+76>>2];F=D*+g[f+(e*104|0)+80>>2];B=f+(e*104|0)+56|0;g[B>>2]=+g[f+(e*104|0)+72>>2]*D+ +g[B>>2];B=f+(e*104|0)+60|0;g[B>>2]=E+ +g[B>>2];B=f+(e*104|0)+64|0;g[B>>2]=F+ +g[B>>2]}}e=e+1|0}while((e|0)!=(x|0))}f=c[G+752>>2]|0;if((f|0)>0){e=0;do{C=+g[G+452>>2];q=+g[G+304>>2];n=+g[G+300>>2];a:do if((q>0.0|n>0.0?(L=c[G+288>>2]|0,(L|0)>3):0)?(M=c[G+760>>2]|0,N=c[M+(e*44|0)+8>>2]|0,O=c[M+(e*44|0)+12>>2]|0,P=+g[N+40>>2],Q=+g[N+44>>2],R=+g[N+48>>2],S=c[M+(e*44|0)+16>>2]|0,T=c[c[G+684>>2]>>2]|0,U=(P+ +g[O+40>>2]+ +g[S+40>>2])*.3333333432674408-+g[G+1212>>2],V=(Q+ +g[O+44>>2]+ +g[S+44>>2])*.3333333432674408-+g[G+1216>>2],W=(R+ +g[O+48>>2]+ +g[S+48>>2])*.3333333432674408-+g[G+1220>>2],X=+A(+(U*U+V*V+W*W)),U*U+V*V+W*W>1.1920928955078125e-07):0){t=U*(1.0/X);v=V*(1.0/X);w=W*(1.0/X);p=+g[M+(e*44|0)+20>>2];r=+g[M+(e*44|0)+24>>2];s=+g[M+(e*44|0)+28>>2];switch(L|0){case 5:break;case 4:case 6:{i=U*p+V*r+W*s<0.0?-1.0:1.0;if(!(W*s*i+(U*p*i+V*r*i)>0.0))break a;o=-((U*U+V*V+W*W)*(W*s*i+(U*p*i+V*r*i))*+g[M+(e*44|0)+36>>2]*(c[j>>2]=T,+g[j>>2]));t=(t*n*o+(p*i*q*o+0.0))*.3333333432674408;r=(v*n*o+(r*i*q*o+0.0))*.3333333432674408;o=(w*n*o+(s*i*q*o+0.0))*.3333333432674408;p=1.0/+A(+(o*o+(t*t+r*r)));i=C*+g[N+88>>2];if(o*i*o*i+(t*i*t*i+r*i*r*i)>P*P+Q*Q+R*R){g[N+56>>2]=+g[N+56>>2]-1.0/i*t*p*(t*p*P+r*p*Q+o*p*R);g[N+60>>2]=+g[N+60>>2]-1.0/i*r*p*(t*p*P+r*p*Q+o*p*R);g[N+64>>2]=+g[N+64>>2]-1.0/i*o*p*(t*p*P+r*p*Q+o*p*R)}else{g[N+56>>2]=t+ +g[N+56>>2];g[N+60>>2]=r+ +g[N+60>>2];g[N+64>>2]=o+ +g[N+64>>2]}i=C*+g[O+88>>2];l=+g[O+40>>2];m=+g[O+44>>2];n=+g[O+48>>2];if(o*i*o*i+(t*i*t*i+r*i*r*i)>l*l+m*m+n*n){g[O+56>>2]=+g[O+56>>2]-1.0/i*t*p*(t*p*l+r*p*m+o*p*n);g[O+60>>2]=+g[O+60>>2]-1.0/i*r*p*(t*p*l+r*p*m+o*p*n);g[O+64>>2]=+g[O+64>>2]-1.0/i*o*p*(t*p*l+r*p*m+o*p*n)}else{g[O+56>>2]=t+ +g[O+56>>2];g[O+60>>2]=r+ +g[O+60>>2];g[O+64>>2]=o+ +g[O+64>>2]}i=C*+g[S+88>>2];l=+g[S+40>>2];m=+g[S+44>>2];n=+g[S+48>>2];if(o*i*o*i+(t*i*t*i+r*i*r*i)>l*l+m*m+n*n){g[S+56>>2]=+g[S+56>>2]-1.0/i*t*p*(t*p*l+r*p*m+o*p*n);g[S+60>>2]=+g[S+60>>2]-1.0/i*r*p*(t*p*l+r*p*m+o*p*n);g[S+64>>2]=+g[S+64>>2]-1.0/i*o*p*(t*p*l+r*p*m+o*p*n);break a}else{g[S+56>>2]=t+ +g[S+56>>2];g[S+60>>2]=r+ +g[S+60>>2];g[S+64>>2]=o+ +g[S+64>>2];break a}}default:break a}o=U*p+V*r+W*s<0.0?-1.0:1.0;i=w*s*o+(t*p*o+v*r*o);l=+g[M+(e*44|0)+36>>2]*.5;m=(c[j>>2]=T,+g[j>>2]);n=i*(U*U+V*V+W*W)*n*.5*m*l;if(i>0.0&i<.9847999811172485){D=+A(+(1.0-i*i))*q*.5*m*X*l;E=(w*(t*s*o-w*p*o)-v*(v*p*o-t*r*o))*D*.3333333432674408;F=(t*(v*p*o-t*r*o)-w*(w*r*o-v*s*o))*D*.3333333432674408;D=(v*(w*r*o-v*s*o)-t*(t*s*o-w*p*o))*D*.3333333432674408}else{E=0.0;F=0.0;D=0.0}i=+g[N+88>>2];if(i>0.0){i=w*n*-.3333333432674408*i*C*w*n*-.3333333432674408*i*C+(t*n*-.3333333432674408*i*C*t*n*-.3333333432674408*i*C+v*n*-.3333333432674408*i*C*v*n*-.3333333432674408*i*C);if(i>0.0?i>=P*P+Q*Q+R*R:0){i=+A(+(P*P+Q*Q+R*R))/+A(+i)*.800000011920929;m=t*n*-.3333333432674408*i;l=v*n*-.3333333432674408*i;i=w*n*-.3333333432674408*i}else{m=t*n*-.3333333432674408;l=v*n*-.3333333432674408;i=w*n*-.3333333432674408}w=l+ +g[N+60>>2];C=i+ +g[N+64>>2];g[N+56>>2]=E+(m+ +g[N+56>>2]);g[N+60>>2]=F+w;g[N+64>>2]=D+C}else{m=t*n*-.3333333432674408;l=v*n*-.3333333432674408;i=w*n*-.3333333432674408}n=+g[O+88>>2];if(n>0.0){o=+g[G+452>>2];r=m*n*o;s=l*n*o;n=i*n*o;o=+g[O+40>>2];p=+g[O+44>>2];q=+g[O+48>>2];if(n*n+(r*r+s*s)>0.0?n*n+(r*r+s*s)>=o*o+p*p+q*q:0){C=+A(+(o*o+p*p+q*q))/+A(+(n*n+(r*r+s*s)))*.800000011920929;m=m*C;l=l*C;i=i*C}w=l+ +g[O+60>>2];C=i+ +g[O+64>>2];g[O+56>>2]=E+(m+ +g[O+56>>2]);g[O+60>>2]=F+w;g[O+64>>2]=D+C}n=+g[S+88>>2];if(n>0.0){o=+g[G+452>>2];r=m*n*o;s=l*n*o;n=i*n*o;o=+g[S+40>>2];p=+g[S+44>>2];q=+g[S+48>>2];if(n*n+(r*r+s*s)>0.0?n*n+(r*r+s*s)>=o*o+p*p+q*q:0){C=+A(+(o*o+p*p+q*q))/+A(+(n*n+(r*r+s*s)))*.800000011920929;m=m*C;l=l*C;i=i*C}w=l+ +g[S+60>>2];C=i+ +g[S+64>>2];g[S+56>>2]=E+(m+ +g[S+56>>2]);g[S+60>>2]=F+w;g[S+64>>2]=D+C}}while(0);e=e+1|0}while((e|0)!=(f|0))}e=c[3369]|0;B=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=B;do if(!B){if(c[e+4>>2]|0){bb(Y+128|0,0)|0;B=c[7583]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[Y+128+4>>2]|0)-(c[B+4>>2]|0)+(((c[Y+128>>2]|0)-(c[B>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[3369]|0}c[3369]=c[e+20>>2]}while(0);f=c[G+712>>2]|0;if((f|0)>0){e=0;do{y=c[G+720>>2]|0;x=y+(e*104|0)+8|0;B=y+(e*104|0)+24|0;c[B>>2]=c[x>>2];c[B+4>>2]=c[x+4>>2];c[B+8>>2]=c[x+8>>2];c[B+12>>2]=c[x+12>>2];B=y+(e*104|0)+56|0;E=+g[y+(e*104|0)+88>>2];F=+g[G+452>>2];C=+g[B>>2]*E*F;D=E*+g[y+(e*104|0)+60>>2]*F;E=F*E*+g[y+(e*104|0)+64>>2];F=+g[(c[G+684>>2]|0)+12>>2]/F;C=C>F?F:C;D=D>F?F:D;E=E>F?F:E;u=y+(e*104|0)+40|0;C=(C<-F?-F:C)+ +g[u>>2];g[u>>2]=C;u=y+(e*104|0)+44|0;D=(D<-F?-F:D)+ +g[u>>2];g[u>>2]=D;u=y+(e*104|0)+48|0;E=(E<-F?-F:E)+ +g[u>>2];g[u>>2]=E;F=+g[G+452>>2];g[x>>2]=C*F+ +g[x>>2];x=y+(e*104|0)+12|0;g[x>>2]=D*F+ +g[x>>2];y=y+(e*104|0)+16|0;g[y>>2]=E*F+ +g[y>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;e=e+1|0}while((e|0)!=(f|0))}Pc(G);e=c[G+928>>2]|0;if(e){B=c[G+192>>2]|0;D=+jb[c[(c[B>>2]|0)+48>>2]&15](B);F=+g[e+4>>2]-D;E=+g[e+8>>2]-D;g[G+892>>2]=+g[e>>2]-D;g[G+896>>2]=F;g[G+900>>2]=E;g[G+904>>2]=0.0;E=D+ +g[e+20>>2];F=D+ +g[e+24>>2];g[G+908>>2]=D+ +g[e+16>>2];g[G+912>>2]=E;g[G+916>>2]=F;g[G+920>>2]=0.0;e=c[G+188>>2]|0;if(e|0){B=c[G+684>>2]|0;y=c[B+32>>2]|0;Ub[c[(c[y>>2]|0)+16>>2]&31](y,e,G+892|0,G+908|0,c[B+36>>2]|0)}}else{c[G+892>>2]=0;c[G+892+4>>2]=0;c[G+892+8>>2]=0;c[G+892+12>>2]=0;c[G+892+16>>2]=0;c[G+892+20>>2]=0;c[G+892+24>>2]=0;c[G+892+28>>2]=0}f=c[G+712>>2]|0;if((f|0)>0){e=0;do{y=c[G+720>>2]|0;E=+g[G+464>>2];C=+g[y+(e*104|0)+8>>2];F=+g[y+(e*104|0)+12>>2];D=+g[y+(e*104|0)+16>>2];g[Y>>2]=C-E;g[Y+4>>2]=F-E;g[Y+8>>2]=D-E;g[Y+12>>2]=0.0;g[Y+16>>2]=E+C;g[Y+20>>2]=E+F;g[Y+24>>2]=E+D;g[Y+28>>2]=0.0;B=c[y+(e*104|0)+96>>2]|0;D=+g[G+460>>2];E=D*+g[y+(e*104|0)+44>>2];F=D*+g[y+(e*104|0)+48>>2];g[Y+128>>2]=+g[y+(e*104|0)+40>>2]*D;g[Y+128+4>>2]=E;g[Y+128+8>>2]=F;g[Y+128+12>>2]=0.0;Gh(G+928|0,B,Y,Y+128|0,+g[G+468>>2])|0;e=e+1|0}while((e|0)!=(f|0))}if(c[G+988>>2]|0?(c[G+752>>2]|0)>0:0){e=0;do{B=c[G+760>>2]|0;u=c[B+(e*44|0)+8>>2]|0;x=c[B+(e*44|0)+12>>2]|0;y=c[B+(e*44|0)+16>>2]|0;C=(+g[u+40>>2]+ +g[x+40>>2]+ +g[y+40>>2])*.3333333432674408;D=(+g[u+44>>2]+ +g[x+44>>2]+ +g[y+44>>2])*.3333333432674408;E=(+g[u+48>>2]+ +g[x+48>>2]+ +g[y+48>>2])*.3333333432674408;s=+g[G+464>>2];p=+g[u+8>>2];r=+g[u+12>>2];v=+g[u+16>>2];F=+g[u+20>>2];w=+g[x+8>>2];i=w<p?w:p;t=+g[x+12>>2];l=t<r?t:r;q=+g[x+16>>2];m=q<v?q:v;o=+g[x+20>>2];n=o<F?o:F;p=p<w?w:p;r=r<t?t:r;v=v<q?q:v;F=F<o?o:F;o=+g[y+8>>2];q=+g[y+12>>2];t=+g[y+16>>2];w=+g[y+20>>2];g[Y>>2]=(o<i?o:i)-s;g[Y+4>>2]=(q<l?q:l)-s;g[Y+8>>2]=(t<m?t:m)-s;g[Y+12>>2]=w<n?w:n;g[Y+16>>2]=s+(p<o?o:p);g[Y+20>>2]=s+(r<q?q:r);g[Y+24>>2]=s+(v<t?t:v);g[Y+28>>2]=F<w?w:F;B=c[B+(e*44|0)+40>>2]|0;F=+g[G+460>>2];g[Y+128>>2]=C*F;g[Y+128+4>>2]=D*F;g[Y+128+8>>2]=E*F;g[Y+128+12>>2]=0.0;Gh(G+988|0,B,Y,Y+128|0,+g[G+468>>2])|0;e=e+1|0}while((e|0)<(c[G+752>>2]|0))}do if(a[G+473>>0]|0){B=c[G+712>>2]|0;if((B|0)>0){f=c[G+720>>2]|0;h=c[G+512>>2]|0;e=0;i=0.0;l=0.0;m=0.0;do{F=+g[h+(e<<2)>>2];i=i+ +g[f+(e*104|0)+8>>2]*F;l=l+F*+g[f+(e*104|0)+12>>2];m=m+F*+g[f+(e*104|0)+16>>2];e=e+1|0}while((e|0)!=(B|0))}else{i=0.0;l=0.0;m=0.0}g[G+520>>2]=i;g[G+524>>2]=l;g[G+528>>2]=m;g[G+532>>2]=0.0;x=Y+128+4|0;y=x+44|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));g[Y+128>>2]=1.1920928955078125e-07;g[Y+128+20>>2]=2.384185791015625e-07;g[Y+128+40>>2]=3.5762786865234375e-07;if((B|0)>0){f=c[G+512>>2]|0;h=c[G+720>>2]|0;u=c[G+492>>2]|0;e=0;n=1.1920928955078125e-07;o=0.0;p=0.0;q=0.0;r=2.384185791015625e-07;s=0.0;t=0.0;v=0.0;w=3.5762786865234375e-07;do{E=+g[f+(e<<2)>>2];_=(+g[h+(e*104|0)+8>>2]-i)*E;Z=(+g[h+(e*104|0)+12>>2]-l)*E;E=E*(+g[h+(e*104|0)+16>>2]-m);C=+g[u+(e<<4)>>2];D=+g[u+(e<<4)+4>>2];F=+g[u+(e<<4)+8>>2];n=_*C+n;o=_*D+o;p=_*F+p;q=Z*C+q;r=Z*D+r;s=Z*F+s;t=E*C+t;v=E*D+v;w=E*F+w;e=e+1|0}while((e|0)!=(B|0));g[Y+128>>2]=n;g[Y+128+4>>2]=o;g[Y+128+8>>2]=p;g[Y+128+16>>2]=q;g[Y+128+20>>2]=r;g[Y+128+24>>2]=s;g[Y+128+32>>2]=t;g[Y+128+36>>2]=v;g[Y+128+40>>2]=w}if((a[28336]|0)==0?_A(28336)|0:0){g[7230]=9.999999747378752e-05;c[7231]=16}fd(Y+128|0,Y+80|0,Y+32|0);c[G+536>>2]=c[Y+80>>2];c[G+536+4>>2]=c[Y+80+4>>2];c[G+536+8>>2]=c[Y+80+8>>2];c[G+536+12>>2]=c[Y+80+12>>2];c[G+552>>2]=c[J>>2];c[G+552+4>>2]=c[J+4>>2];c[G+552+8>>2]=c[J+8>>2];c[G+552+12>>2]=c[J+12>>2];c[G+568>>2]=c[K>>2];c[G+568+4>>2]=c[K+4>>2];c[G+568+8>>2]=c[K+8>>2];c[G+568+12>>2]=c[K+12>>2];da=+g[Y+80>>2];$=+g[J>>2];D=+g[K>>2];ca=+g[Y+80+4>>2];v=+g[Y+80+20>>2];F=+g[Y+80+36>>2];ba=+g[Y+80+8>>2];w=+g[Y+80+24>>2];_=+g[Y+80+40>>2];o=+g[G+632>>2];n=+g[G+636>>2];m=+g[G+640>>2];ja=+g[G+648>>2];ia=+g[G+652>>2];p=+g[G+656>>2];E=+g[G+664>>2];Z=+g[G+668>>2];t=+g[G+672>>2];ha=+g[Y+128>>2];ga=+g[Y+128+16>>2];q=+g[Y+128+32>>2];i=(da*o+ca*n+ba*m)*ha+($*o+v*n+w*m)*ga+(D*o+F*n+_*m)*q;fa=+g[Y+128+4>>2];ea=+g[Y+128+20>>2];r=+g[Y+128+36>>2];l=(da*o+ca*n+ba*m)*fa+($*o+v*n+w*m)*ea+(D*o+F*n+_*m)*r;aa=+g[Y+128+8>>2];C=+g[Y+128+24>>2];s=+g[Y+128+40>>2];m=(da*o+ca*n+ba*m)*aa+($*o+v*n+w*m)*C+(D*o+F*n+_*m)*s;n=(da*ja+ca*ia+ba*p)*ha+($*ja+v*ia+w*p)*ga+(D*ja+F*ia+_*p)*q;o=(da*ja+ca*ia+ba*p)*fa+($*ja+v*ia+w*p)*ea+(D*ja+F*ia+_*p)*r;p=(da*ja+ca*ia+ba*p)*aa+($*ja+v*ia+w*p)*C+(D*ja+F*ia+_*p)*s;q=ha*(da*E+ca*Z+ba*t)+ga*($*E+v*Z+w*t)+(D*E+F*Z+_*t)*q;r=(da*E+ca*Z+ba*t)*fa+($*E+v*Z+w*t)*ea+(D*E+F*Z+_*t)*r;s=(da*E+ca*Z+ba*t)*aa+($*E+v*Z+w*t)*C+(D*E+F*Z+_*t)*s;g[G+584>>2]=i;g[G+588>>2]=l;g[G+592>>2]=m;g[G+596>>2]=0.0;g[G+600>>2]=n;g[G+604>>2]=o;g[G+608>>2]=p;g[G+612>>2]=0.0;g[G+616>>2]=q;g[G+620>>2]=r;g[G+624>>2]=s;g[G+628>>2]=0.0;t=+g[G+364>>2];if(t>1.0){ja=1.0/(m*(r*n-o*q)+(i*(o*s-p*r)+l*(p*q-s*n)))<1.0?1.0:t<1.0/(m*(r*n-o*q)+(i*(o*s-p*r)+l*(p*q-s*n)))?t:1.0/(m*(r*n-o*q)+(i*(o*s-p*r)+l*(p*q-s*n)));g[G+584>>2]=i*ja;g[G+588>>2]=l*ja;g[G+592>>2]=m*ja;g[G+596>>2]=0.0;g[G+600>>2]=n*ja;g[G+604>>2]=o*ja;g[G+608>>2]=p*ja;g[G+612>>2]=0.0;g[G+616>>2]=q*ja;g[G+620>>2]=r*ja;g[G+624>>2]=s*ja;g[G+628>>2]=0.0}if(a[G+473>>0]|0){if(!(+g[G+320>>2]>0.0))break;i=+g[G+536>>2];o=+g[G+540>>2];p=+g[G+544>>2];q=+g[G+552>>2];r=+g[G+556>>2];s=+g[G+560>>2];l=+g[G+568>>2];m=+g[G+572>>2];n=+g[G+576>>2];f=c[G+712>>2]|0;if((f|0)<=0)break;e=0;do{h=c[G+720>>2]|0;if(+g[h+(e*104|0)+88>>2]>0.0){x=c[G+492>>2]|0;ea=+g[x+(e<<4)>>2];fa=+g[x+(e<<4)+4>>2];ga=+g[x+(e<<4)+8>>2];da=+g[G+320>>2];x=h+(e*104|0)+8|0;ha=+g[x>>2];y=h+(e*104|0)+12|0;ia=+g[y>>2];B=h+(e*104|0)+16|0;ja=+g[B>>2];ia=ia+da*(q*ea+r*fa+s*ga+ +g[G+524>>2]-ia);ja=ja+da*(l*ea+m*fa+n*ga+ +g[G+528>>2]-ja);g[x>>2]=ha+da*(+g[G+520>>2]+(i*ea+o*fa+p*ga)-ha);g[y>>2]=ia;g[B>>2]=ja;g[h+(e*104|0)+20>>2]=0.0}e=e+1|0}while((e|0)!=(f|0))}}while(0);x=Y+128|0;y=x+104|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));e=c[G+812>>2]|0;if((e|0)<0){if((c[G+816>>2]|0)<0){f=c[G+820>>2]|0;if(f|0){if(a[G+824>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[G+820>>2]=0}a[G+824>>0]=1;c[G+820>>2]=0;c[G+816>>2]=0}do{B=c[G+820>>2]|0;y=B+(e*104|0)|0;c[y>>2]=c[Y+128>>2];c[y+4>>2]=c[Y+128+4>>2];c[y+8>>2]=c[Y+128+8>>2];c[y+12>>2]=c[Y+128+12>>2];c[y+16>>2]=c[Y+128+16>>2];c[y+20>>2]=c[Y+128+20>>2];c[y+24>>2]=c[Y+128+24>>2];y=B+(e*104|0)+28|0;c[y>>2]=c[Y+128+28>>2];c[y+4>>2]=c[Y+128+28+4>>2];c[y+8>>2]=c[Y+128+28+8>>2];c[y+12>>2]=c[Y+128+28+12>>2];y=B+(e*104|0)+44|0;c[y>>2]=c[Y+128+44>>2];c[y+4>>2]=c[Y+128+44+4>>2];c[y+8>>2]=c[Y+128+44+8>>2];c[y+12>>2]=c[Y+128+44+12>>2];y=B+(e*104|0)+60|0;c[y>>2]=c[Y+128+60>>2];c[y+4>>2]=c[Y+128+60+4>>2];c[y+8>>2]=c[Y+128+60+8>>2];c[y+12>>2]=c[Y+128+60+12>>2];B=B+(e*104|0)+76|0;c[B>>2]=c[I>>2];c[B+4>>2]=c[I+4>>2];c[B+8>>2]=c[I+8>>2];c[B+12>>2]=c[I+12>>2];c[B+16>>2]=c[I+16>>2];c[B+20>>2]=c[I+20>>2];c[B+24>>2]=c[I+24>>2];e=e+1|0}while((e|0)!=0)}c[G+812>>2]=0;x=Y+128|0;y=x+56|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));e=c[G+832>>2]|0;if((e|0)<0){if((c[G+836>>2]|0)<0){f=c[G+840>>2]|0;if(f|0){if(a[G+844>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[G+840>>2]=0}a[G+844>>0]=1;c[G+840>>2]=0;c[G+836>>2]=0}do{x=(c[G+840>>2]|0)+(e*56|0)|0;f=Y+128|0;y=x+56|0;do{c[x>>2]=c[f>>2];x=x+4|0;f=f+4|0}while((x|0)<(y|0));e=e+1|0}while((e|0)!=0)}c[G+832>>2]=0;vg(G+928|0,1);vg(G+988|0,1);vg(G+1048|0,1);e=c[b+24>>2]|0}}H=H+1|0}while((H|0)<(e|0));k=Y;return}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0;L=k;k=k+144|0;a:do switch(d-b|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;k=L;return}case 2:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;i=c[f+88>>2]|0;j=c[f+200>>2]|0;h=c[f+92>>2]|0;g=c[f+204>>2]|0;if((i|0)==(j|0)&(h|0)==(g|0))if((c[f+96>>2]|0)==(c[f+208>>2]|0))break a;else g=h;g=h-g|0;do if(g|i-j){c[f>>2]=f+112;c[f+4>>2]=f+112;c[f+112>>2]=f;c[f+116>>2]=f;K=(i-j|0)<0|(i-j|0)==0&(g|0)<0;c[e>>2]=K?f:f+112|0;c[e+4>>2]=K?f+112|0:f;if((g|0)<0|(i-j|0)<0&(g|0)==0){c[e+8>>2]=f;g=f;h=f+112|0;f=f+112|0;break}else{c[e+8>>2]=f+112;g=f;h=f+112|0;break}}else{h=(c[f+96>>2]|0)>(c[f+208>>2]|0);K=h?f+112|0:f;c[K>>2]=K;c[K+4>>2]=K;c[e>>2]=K;c[e+4>>2]=K;c[e+8>>2]=K;g=K;h=h?f:f+112|0;f=K}while(0);c[e+12>>2]=f;a=fg(a,g,h)|0;c[a>>2]=a;c[a+4>>2]=a;c[g+8>>2]=a;a=c[a+8>>2]|0;c[a>>2]=a;c[a+4>>2]=a;c[h+8>>2]=a;k=L;return}case 1:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;break}default:{n=((d-b|0)/2|0)+b|0;m=c[a+92>>2]|0;l=c[m+(n+-1<<2)>>2]|0;i=c[l+88>>2]|0;j=c[l+92>>2]|0;l=c[l+96>>2]|0;b:do if((n|0)<(d|0)){f=n;do{h=c[m+(f<<2)>>2]|0;if((c[h+88>>2]|0)!=(i|0))break b;if((c[h+92>>2]|0)!=(j|0))break b;if((c[h+96>>2]|0)!=(l|0))break b;f=f+1|0}while((f|0)<(d|0))}else f=n;while(0);ic(a,b,n,e);c[L+96>>2]=0;c[L+96+4>>2]=0;c[L+96+8>>2]=0;c[L+96+12>>2]=0;ic(a,f,d,L+96|0);j=c[L+96+4>>2]|0;c:do if(j|0){B=c[e+4>>2]|0;if(!B){c[e>>2]=c[L+96>>2];c[e+4>>2]=c[L+96+4>>2];c[e+8>>2]=c[L+96+8>>2];c[e+12>>2]=c[L+96+12>>2];break}c[a+100>>2]=(c[a+100>>2]|0)+-1;m=c[e+12>>2]|0;h=c[L+96+8>>2]|0;i=c[m+88>>2]|0;d:do if((i|0)==(c[h+88>>2]|0)?(g=c[m+92>>2]|0,(g|0)==(c[h+92>>2]|0)):0){l=c[h+4>>2]|0;if((l|0)==(h|0)){f=c[h+8>>2]|0;if(!f)f=i;else{h=c[f+12>>2]|0;f=c[h+88>>2]|0;g=c[h+92>>2]|0}l=h;j=f+1|0;d=m;n=c[h+96>>2]|0;f=m;b=h;break}i=c[h>>2]|0;c[l>>2]=i;c[i+4>>2]=l;if((h|0)==(c[L+96>>2]|0)){f=c[i+88>>2]|0;g=c[l+88>>2]|0;do if((f|0)<(g|0))f=i;else{if((f|0)==(g|0)?(c[i+92>>2]|0)<(c[l+92>>2]|0):0){f=i;break}f=l}while(0);c[L+96>>2]=f}if((h|0)==(j|0)){f=c[i+88>>2]|0;g=c[l+88>>2]|0;do if((f|0)<=(g|0)){if((f|0)==(g|0)?(c[i+92>>2]|0)>(c[l+92>>2]|0):0)break;c[L+96+4>>2]=l;i=l;I=39;break d}while(0);c[L+96+4>>2]=i;I=39}else{i=j;I=39}}else{i=j;I=39}while(0);if((I|0)==39){z=c[e>>2]|0;A=c[L+96>>2]|0;d=B;j=0;b=0;w=1;y=0;o=i;while(1){h=c[o+88>>2]|0;n=c[d+88>>2]|0;g=M(h-n|0,w)|0;e:do if((g|0)<=0){if((g|0)<0){v=(y|0)!=0;l=d;f=o;m=c[d+92>>2]|0;u=c[o+92>>2]|0;while(1){r=c[(v?f+4|0:f)>>2]|0;s=(r|0)==(f|0);t=f+88|0;while(1){d=l+88|0;q=u-m|0;if(!s?(C=c[r+88>>2]|0,D=M(C-h|0,w)|0,E=c[r+92>>2]|0,F=E-u|0,(F|0)>-1):0){if(!D)break;if((D|0)<0?(M(F,g)|0)<=(M(D,q)|0):0)break}p=c[(v?l+4|0:l)>>2]|0;if((p|0)==(l|0))break e;H=c[p+88>>2]|0;n=M(H-(c[d>>2]|0)|0,w)|0;o=c[p+92>>2]|0;m=o-m|0;h=c[t>>2]|0;d=M(h-H|0,w)|0;if(!((m|0)>0&(d|0)<0))break e;if(n|0){if((n|0)>=0)break e;if((M(m,g)|0)>=(M(n,q)|0))break e}l=p;g=d;m=o}f=r;g=M(C-(c[d>>2]|0)|0,w)|0;u=E;h=C}}f=c[d+92>>2]|0;m=(y|0)!=0;g=c[(m?d:d+4|0)>>2]|0;f:do if((g|0)!=(d|0))if(m){h=d;l=f;while(1){if((c[g+88>>2]|0)!=(n|0)){l=h;break f}H=l;l=c[g+92>>2]|0;if((l|0)>(H|0)){l=h;break f}f=c[g>>2]|0;if((f|0)==(d|0)){l=g;break}else{h=g;g=f}}}else{h=d;l=f;while(1){if((c[g+88>>2]|0)!=(n|0)){l=h;break f}H=l;l=c[g+92>>2]|0;if((l|0)>(H|0)){l=h;break f}f=c[g+4>>2]|0;if((f|0)==(d|0)){l=g;break}else{h=g;g=f}}}else l=d;while(0);f=c[o+92>>2]|0;h=c[(m?o+4|0:o)>>2]|0;if((h|0)!=(o|0))if(m){g=f;f=o;while(1){if((c[h+88>>2]|0)!=(n|0))break e;H=g;g=c[h+92>>2]|0;if((g|0)<(H|0))break e;f=c[h+4>>2]|0;if((f|0)==(o|0)){f=h;break}else{H=h;h=f;f=H}}}else{g=f;f=o;while(1){if((c[h+88>>2]|0)!=(n|0))break e;H=g;g=c[h+92>>2]|0;if((g|0)<(H|0))break e;f=c[h>>2]|0;if((f|0)==(o|0)){f=h;break}else{H=h;h=f;f=H}}}else f=o}else{s=(y|0)!=0;h=d;f=o;r=c[o+92>>2]|0;while(1){p=f+88|0;l=h;h=c[h+92>>2]|0;while(1){q=r-h|0;m=c[(s?l:l+4|0)>>2]|0;if((m|0)==(l|0))break;d=c[m+88>>2]|0;n=M(d-(c[l+88>>2]|0)|0,w)|0;o=c[m+92>>2]|0;h=o-h|0;if((h|0)>=1)break;if(n|0){if((n|0)>=0)break;if((M(h,g)|0)>(M(n,q)|0))break}g=M((c[p>>2]|0)-d|0,w)|0;l=m;h=o}o=c[(s?f:f+4|0)>>2]|0;if((o|0)==(f|0))break e;m=c[o+88>>2]|0;d=M(m-(c[p>>2]|0)|0,w)|0;n=c[o+92>>2]|0;h=n-r|0;m=M(m-(c[l+88>>2]|0)|0,w)|0;if(!((h|0)<0&(m|0)>0))break e;if(d|0){if((d|0)>=0)break e;if((M(h,g)|0)>=(M(d,q)|0))break e}g=m;h=l;f=o;r=n}}while(0);g=(y|0)==0;b=g?f:b;j=g?l:j;o=g?A:f;d=g?z:l;y=y+1|0;if((y|0)==2)break;else w=g?-1:w}c[d+4>>2]=o;c[o>>2]=d;c[j>>2]=b;c[b+4>>2]=j;if((c[A+88>>2]|0)<(c[z+88>>2]|0))c[e>>2]=A;if((c[i+88>>2]|0)>=(c[B+88>>2]|0))c[e+4>>2]=i;c[e+12>>2]=c[L+96+12>>2];g=j;l=b;m=b+88|0;w=c[m>>2]|0;r=c[j+88>>2]|0;i=b+92|0;y=c[i>>2]|0;z=c[j+92>>2]|0;h=b+96|0;A=c[h>>2]|0;s=c[j+96>>2]|0;B=((y-z|0)<0)<<31>>31;C=0-(w-r)|0;D=yx(0,0,C|0,((C|0)<0)<<31>>31|0)|0;D=$t(D|0,x|0,A-s|0,((A-s|0)<0)<<31>>31|0)|0;E=x;F=$t(A-s|0,((A-s|0)<0)<<31>>31|0,y-z|0,B|0)|0;e=x;t=$t(C|0,((C|0)<0)<<31>>31|0,w-r|0,((w-r|0)<0)<<31>>31|0)|0;H=x;G=$t(y-z|0,B|0,y-z|0,B|0)|0;G=yx(t|0,H|0,G|0,x|0)|0;H=x;t=c[j+8>>2]|0;c[L+120>>2]=0;if(!t)t=0;else{u=yx(0,0,y-z|0,B|0)|0;v=x;q=t;f=0;do{o=c[q+12>>2]|0;d=c[o+88>>2]|0;n=c[o+92>>2]|0;o=c[o+96>>2]|0;O=$t(n-z|0,((n-z|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;p=x;N=$t(u|0,v|0,d-r|0,((d-r|0)<0)<<31>>31|0)|0;g:do if((O|0)==(N|0)&(p|0)==(x|0)?(N=$t(D|0,E|0,d-r|0,((d-r|0)<0)<<31>>31|0)|0,p=x,O=$t(F|0,e|0,n-z|0,((n-z|0)<0)<<31>>31|0)|0,p=Rx(O|0,x|0,N|0,p|0)|0,N=x,O=$t(G|0,H|0,o-s|0,((o-s|0)<0)<<31>>31|0)|0,O=Rx(p|0,N|0,O|0,x|0)|0,N=x,(N|0)>0|(N|0)==0&O>>>0>0):0){do if(f|0){p=(c[f+4>>2]|0)==(q|0);if((c[f>>2]|0)!=(q|0))if(p)break;else break g;if(!p)break g;N=c[f+12>>2]|0;P=c[(c[q+8>>2]|0)+12>>2]|0;O=c[P+88>>2]|0;p=c[P+92>>2]|0;P=c[P+96>>2]|0;Q=(c[N+96>>2]|0)-P|0;p=(M(o-P|0,(c[N+92>>2]|0)-p|0)|0)-(M(Q,n-p|0)|0)|0;O=(M(Q,d-O|0)|0)-(M(o-P|0,(c[N+88>>2]|0)-O|0)|0)|0;p=$t(p|0,((p|0)<0)<<31>>31|0,y-z|0,B|0)|0;N=x;O=$t(O|0,((O|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;O=Rx(p|0,N|0,O|0,x|0)|0;N=x;if((N|0)>0|(N|0)==0&O>>>0>0)break g}while(0);f=q}while(0);q=c[q>>2]|0}while((q|0)!=(t|0));c[L+120>>2]=f;t=f}q=c[b+8>>2]|0;c[L+72>>2]=0;if(!q)f=0;else{r=yx(0,0,y-z|0,B|0)|0;s=x;p=q;f=0;do{o=c[p+12>>2]|0;d=c[o+88>>2]|0;n=c[o+92>>2]|0;o=c[o+96>>2]|0;O=$t(n-y|0,((n-y|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;Q=x;P=$t(r|0,s|0,d-w|0,((d-w|0)<0)<<31>>31|0)|0;do if((O|0)==(P|0)&(Q|0)==(x|0)?(P=$t(D|0,E|0,d-w|0,((d-w|0)<0)<<31>>31|0)|0,O=x,Q=$t(F|0,e|0,n-y|0,((n-y|0)<0)<<31>>31|0)|0,O=Rx(Q|0,x|0,P|0,O|0)|0,P=x,Q=$t(G|0,H|0,o-A|0,((o-A|0)<0)<<31>>31|0)|0,Q=Rx(O|0,P|0,Q|0,x|0)|0,P=x,(P|0)>0|(P|0)==0&Q>>>0>0):0){if(f|0){if((c[f>>2]|0)!=(p|0))break;if((c[f+4>>2]|0)==(p|0)?(P=c[f+12>>2]|0,N=c[(c[p+8>>2]|0)+12>>2]|0,Q=c[N+88>>2]|0,O=c[N+92>>2]|0,N=c[N+96>>2]|0,v=(c[P+96>>2]|0)-N|0,O=(M(o-N|0,(c[P+92>>2]|0)-O|0)|0)-(M(v,n-O|0)|0)|0,Q=(M(v,d-Q|0)|0)-(M(o-N|0,(c[P+88>>2]|0)-Q|0)|0)|0,O=$t(O|0,((O|0)<0)<<31>>31|0,y-z|0,B|0)|0,P=x,Q=$t(Q|0,((Q|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0,Q=Rx(O|0,P|0,Q|0,x|0)|0,P=x,!((P|0)>0|(P|0)==0&Q>>>0>0)):0)break}f=p}while(0);p=c[p>>2]|0}while((p|0)!=(q|0));c[L+72>>2]=f}if((t|0)!=0|(f|0)!=0){mc(a,j,b,L+120|0,L+72|0);f=c[L+120>>2]|0;if(f){j=c[f+12>>2]|0;g=j}f=c[L+72>>2]|0;if(!f)f=j;else{b=c[f+12>>2]|0;l=b;m=b+88|0;h=b+96|0;i=b+92|0;f=j}}else f=j;j=c[m>>2]|0;d=g;n=(c[h>>2]|0)+1|0;g=c[i>>2]|0}F=0;e=0;h=0;w=0;G=1;C=0;D=0;i=0;A=0;B=j;z=d;v=b;u=f;while(1){y=c[u+88>>2]|0;H=(c[v+88>>2]|0)-y|0;Q=c[u+92>>2]|0;E=(c[v+92>>2]|0)-Q|0;N=c[u+96>>2]|0;s=(c[v+96>>2]|0)-N|0;c[L+120>>2]=H;c[L+120+4>>2]=E;c[L+120+8>>2]=s;c[L+120+12>>2]=-1;y=B-y|0;Q=g-Q|0;N=n-N|0;t=(M(Q,s)|0)-(M(N,E)|0)|0;N=(M(N,H)|0)-(M(y,s)|0)|0;Q=(M(y,E)|0)-(M(Q,H)|0)|0;c[L+72>>2]=t;c[L+72+4>>2]=((t|0)<0)<<31>>31;c[L+72+8>>2]=N;c[L+72+8+4>>2]=((N|0)<0)<<31>>31;c[L+72+16>>2]=Q;c[L+72+16+4>>2]=((Q|0)<0)<<31>>31;y=$t(Q|0,((Q|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;P=x;O=$t(N|0,((N|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;O=yx(y|0,P|0,O|0,x|0)|0;P=x;s=$t(t|0,((t|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;y=x;Q=$t(Q|0,((Q|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;Q=yx(s|0,y|0,Q|0,x|0)|0;y=x;H=$t(N|0,((N|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;N=x;E=$t(t|0,((t|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;E=yx(H|0,N|0,E|0,x|0)|0;c[L+48>>2]=O;c[L+48+4>>2]=P;c[L+48+8>>2]=Q;c[L+48+8+4>>2]=y;c[L+48+16>>2]=E;c[L+48+16+4>>2]=x;c[L+24>>2]=0;c[L+24+4>>2]=0;c[L+24+8>>2]=0;c[L+24+12>>2]=0;c[L+24+16>>2]=0;E=Gd(a,0,u,L+120|0,L+72|0,L+48|0,L+24|0)|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;y=Gd(a,1,v,L+120|0,L+72|0,L+48|0,L)|0;do if((E|0)!=0|(y|0)!=0){j=E|0?-1:1;do if((E|0)!=0&(y|0)!=0){t=c[L+24+16>>2]|0;j=c[L+16>>2]|0;if((t|0)!=(j|0)){p=t-j|0;break}if(!t)p=0;else{Q=c[L+24>>2]|0;r=c[L+24+4>>2]|0;d=c[L+8>>2]|0;O=c[L+8+4>>2]|0;m=$t(d|0,0,Q|0,0)|0;j=x;Q=$t(O|0,0,Q|0,0)|0;P=x;d=$t(d|0,0,r|0,0)|0;o=x;r=$t(O|0,0,r|0,0)|0;O=x;d=Rx(Q|0,0,d|0,0)|0;Q=x;O=Rx(P|0,0,r|0,O|0)|0;o=Rx(O|0,x|0,o|0,0)|0;Q=Rx(o|0,x|0,Q|0,0)|0;o=x;j=Rx(0,d|0,m|0,j|0)|0;m=x;d=Rx(Q|0,o|0,(m>>>0<d>>>0|(m|0)==(d|0)&j>>>0<0)&1|0,0)|0;o=x;Q=c[L+24+8>>2]|0;O=c[L+24+8+4>>2]|0;r=c[L>>2]|0;P=c[L+4>>2]|0;q=$t(r|0,0,Q|0,0)|0;p=x;Q=$t(P|0,0,Q|0,0)|0;N=x;r=$t(r|0,0,O|0,0)|0;s=x;O=$t(P|0,0,O|0,0)|0;P=x;r=Rx(Q|0,0,r|0,0)|0;Q=x;P=Rx(N|0,0,O|0,P|0)|0;s=Rx(P|0,x|0,s|0,0)|0;Q=Rx(s|0,x|0,Q|0,0)|0;s=x;p=Rx(0,r|0,q|0,p|0)|0;q=x;r=Rx(Q|0,s|0,(q>>>0<r>>>0|(q|0)==(r|0)&p>>>0<0)&1|0,0)|0;s=x;if(o>>>0<s>>>0|(o|0)==(s|0)&d>>>0<r>>>0)j=-1;else j=o>>>0>s>>>0|(o|0)==(s|0)&d>>>0>r>>>0?1:m>>>0<q>>>0|(m|0)==(q|0)&j>>>0<p>>>0?-1:(m>>>0>q>>>0|(m|0)==(q|0)&j>>>0>p>>>0)&1;p=M(j,t)|0}}else p=j;while(0);do if(!G)if((p|0)>-1)if((c[L+16>>2]|0)<0&((c[L+8>>2]|0)==0?(c[L+8+4>>2]|0)==0:0)){o=A;break}else{I=139;break}else if((c[L+24+16>>2]|0)<0&((c[L+24+8>>2]|0)==0?(c[L+24+8+4>>2]|0)==0:0)){o=A;break}else{I=139;break}else I=139;while(0);if((I|0)==139){I=0;m=fg(a,u,v)|0;if(!w)h=m;else c[w+4>>2]=m;c[m>>2]=w;j=c[m+8>>2]|0;if(!A)i=j;else c[A>>2]=j;c[j+4>>2]=A;w=m;o=j}c[L+116>>2]=E;c[L+112>>2]=y;if(!p){mc(a,z,l,L+116|0,L+112|0);j=c[L+112>>2]|0}else j=y;if((p|0)>-1&(j|0)!=0){d=(C|0)!=0;if(d?(J=c[C>>2]|0,(J|0)!=(y|0)):0){j=J;do{m=j;j=c[j>>2]|0;n=c[m+8>>2]|0;if((j|0)==(m|0))g=0;else{c[j+4>>2]=c[m+4>>2];c[c[m+4>>2]>>2]=j;g=j}c[(c[n+12>>2]|0)+8>>2]=g;g=c[n>>2]|0;if((g|0)==(n|0)){c[(c[m+12>>2]|0)+8>>2]=0;g=n+4|0}else{c[g+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=g;c[(c[m+12>>2]|0)+8>>2]=g;g=n+4|0}c[m+4>>2]=0;c[m+4+4>>2]=0;c[m+4+8>>2]=0;c[m+4+12>>2]=0;c[m>>2]=c[a+56>>2];c[a+56>>2]=m;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(y|0))}do if(o)if(d){c[C>>2]=i;c[i+4>>2]=C;c[o>>2]=y;c[y+4>>2]=o;g=D;i=0;break}else{g=c[y+4>>2]|0;c[g>>2]=i;c[i+4>>2]=g;c[o>>2]=y;c[y+4>>2]=o;g=i;i=0;break}else g=d?D:y;while(0);Q=l;l=c[L+112>>2]|0;t=c[l+8>>2]|0;r=g;C=0;l=c[l+12>>2]|0;j=c[Q+88>>2]|0;n=c[Q+96>>2]|0;g=c[Q+92>>2]|0}else{t=C;r=D;C=o;j=B}if((p|0)<1&(c[L+116>>2]|0)!=0){d=(F|0)!=0;if(d?(K=c[F+4>>2]|0,(K|0)!=(E|0)):0){j=K;do{n=j+4|0;m=j;j=c[n>>2]|0;g=c[m>>2]|0;o=c[m+8>>2]|0;if((g|0)==(m|0))g=0;else{c[g+4>>2]=j;c[c[n>>2]>>2]=g}c[(c[o+12>>2]|0)+8>>2]=g;g=c[o>>2]|0;if((g|0)==(o|0)){c[(c[m+12>>2]|0)+8>>2]=0;g=o+4|0}else{c[g+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=g;c[(c[m+12>>2]|0)+8>>2]=g;g=o+4|0}c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[m>>2]=c[a+56>>2];c[a+56>>2]=m;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(E|0))}do if(w)if(d){c[h>>2]=F;c[F+4>>2]=h;c[E>>2]=w;c[w+4>>2]=E;g=e;h=0;break}else{g=c[E>>2]|0;c[h>>2]=g;c[g+4>>2]=h;c[E>>2]=w;c[w+4>>2]=E;g=h;h=0;break}else g=d?e:E;while(0);Q=z;z=c[L+116>>2]|0;s=c[z+8>>2]|0;q=g;w=0;y=c[Q+88>>2]|0;z=c[z+12>>2]|0;A=c[Q+96>>2]|0;g=c[Q+92>>2]|0}else{s=F;q=e;y=j;A=n}if((f|0)==(z|0)&(b|0)==(l|0)){if(s){p=s+4|0;j=c[p>>2]|0;if((j|0)!=(q|0))do{n=j+4|0;d=j;j=c[n>>2]|0;m=c[d>>2]|0;o=c[d+8>>2]|0;if((m|0)==(d|0))m=0;else{c[m+4>>2]=j;c[c[n>>2]>>2]=m}c[(c[o+12>>2]|0)+8>>2]=m;m=c[o>>2]|0;if((m|0)==(o|0)){c[(c[d+12>>2]|0)+8>>2]=0;m=o+4|0}else{c[m+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=m;c[(c[d+12>>2]|0)+8>>2]=m;m=o+4|0}c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[d>>2]=c[a+56>>2];c[a+56>>2]=d;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(q|0));if(w|0){c[h>>2]=s;c[p>>2]=h;c[q>>2]=w;c[w+4>>2]=q}}else{c[h>>2]=w;c[w+4>>2]=h;c[z+8>>2]=w}if(!t){c[C>>2]=i;c[i+4>>2]=C;c[b+8>>2]=C;v=0;u=G;t=0;o=w;p=C;d=l;j=y;m=z;n=A;break}j=c[t>>2]|0;if((j|0)!=(r|0))do{d=j;j=c[j>>2]|0;n=c[d+8>>2]|0;if((j|0)==(d|0))m=0;else{c[j+4>>2]=c[d+4>>2];c[c[d+4>>2]>>2]=j;m=j}c[(c[n+12>>2]|0)+8>>2]=m;m=c[n>>2]|0;if((m|0)==(n|0)){c[(c[d+12>>2]|0)+8>>2]=0;m=n+4|0}else{c[m+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=m;c[(c[d+12>>2]|0)+8>>2]=m;m=n+4|0}c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+4+8>>2]=0;c[d+4+12>>2]=0;c[d>>2]=c[a+56>>2];c[a+56>>2]=d;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(r|0));if(!C){v=0;u=G;o=w;p=0;d=l;j=y;m=z;n=A}else{c[t>>2]=i;c[i+4>>2]=t;c[C>>2]=r;c[r+4>>2]=C;v=0;u=G;o=w;p=C;d=l;j=y;m=z;n=A}}else{v=1;u=0;o=w;p=C;d=l;j=y;m=z;n=A}}else{s=fg(a,u,v)|0;c[s>>2]=s;c[s+4>>2]=s;c[u+8>>2]=s;u=c[s+8>>2]|0;c[u>>2]=u;c[u+4>>2]=u;c[v+8>>2]=u;v=0;u=G;s=F;t=C;q=e;o=w;r=D;p=A;d=l;j=B;m=z}while(0);if(!v)break c;F=s;e=q;w=o;G=u;C=t;D=r;A=p;l=d;B=j;z=m;v=d;u=m}}while(0);k=L;return}}while(0);c[f+8>>2]=0;c[f>>2]=f;c[f+4>>2]=f;c[e>>2]=f;c[e+4>>2]=f;c[e+8>>2]=f;c[e+12>>2]=f;k=L;return}function jc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,J=0,K=0.0,L=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0,Da=0,Ea=0;Ea=k;k=k+480|0;c[Ea+48>>2]=c[b>>2];c[Ea>>2]=c[b+64>>2];f=Ea+48+4|0;c[f>>2]=c[b+4>>2];c[Ea+4>>2]=c[b+68>>2];e=Ea+48+8|0;c[e>>2]=c[b+8>>2];c[Ea+8>>2]=c[b+72>>2];F=Ea+48+16|0;c[F>>2]=c[b+16>>2];c[Ea+16>>2]=c[b+80>>2];l=Ea+48+20|0;c[l>>2]=c[b+20>>2];c[Ea+20>>2]=c[b+84>>2];o=Ea+48+24|0;c[o>>2]=c[b+24>>2];c[Ea+24>>2]=c[b+88>>2];E=Ea+48+32|0;c[E>>2]=c[b+32>>2];c[Ea+32>>2]=c[b+96>>2];R=Ea+48+36|0;c[R>>2]=c[b+36>>2];c[Ea+36>>2]=c[b+100>>2];m=Ea+48+40|0;c[m>>2]=c[b+40>>2];c[Ea+40>>2]=c[b+104>>2];Da=c[a+4>>2]|0;ta=+g[Da+28>>2];ua=+g[Da+32>>2];xa=+g[Da+36>>2];va=+jb[c[(c[Da>>2]|0)+48>>2]&15](Da);wa=+jb[c[(c[Da>>2]|0)+48>>2]&15](Da);xa=(xa+ +jb[c[(c[Da>>2]|0)+48>>2]&15](Da))*2.0;Da=c[a+8>>2]|0;ya=+g[Da+28>>2];za=+g[Da+32>>2];W=+g[Da+36>>2];Aa=+jb[c[(c[Da>>2]|0)+48>>2]&15](Da);Ba=+jb[c[(c[Da>>2]|0)+48>>2]&15](Da);W=(W+ +jb[c[(c[Da>>2]|0)+48>>2]&15](Da))*2.0;ca=+g[b+112>>2]-+g[b+48>>2];da=+g[b+116>>2]-+g[b+52>>2];ea=+g[b+120>>2]-+g[b+56>>2];sa=+g[Ea+48>>2];pa=+g[F>>2];qa=+g[E>>2];ma=+g[f>>2];ka=+g[l>>2];la=+g[R>>2];L=+g[e>>2];D=+g[o>>2];K=+g[m>>2];g[Ea+468>>2]=(ta+va)*2.0*.5;g[Ea+468+4>>2]=(ua+wa)*2.0*.5;g[Ea+468+8>>2]=xa*.5;g[Ea+456>>2]=(ya+Aa)*2.0*.5;g[Ea+456+4>>2]=(za+Ba)*2.0*.5;g[Ea+456+8>>2]=W*.5;V=+g[Ea>>2];T=+g[Ea+16>>2];U=+g[Ea+32>>2];aa=+g[Ea+4>>2];_=+g[Ea+20>>2];$=+g[Ea+36>>2];ra=+g[Ea+8>>2];na=+g[Ea+24>>2];oa=+g[Ea+40>>2];N=+z(+(sa*V+pa*T+qa*U));X=+z(+(sa*aa+pa*_+qa*$));ga=+z(+(sa*ra+pa*na+qa*oa));O=+z(+(ma*V+ka*T+la*U));Y=+z(+(ma*aa+ka*_+la*$));ha=+z(+(ma*ra+ka*na+la*oa));ia=+z(+(L*V+D*T+K*U));ja=+z(+(L*aa+D*_+K*$));Z=+z(+(L*ra+D*na+K*oa));p=+z(+(ca*sa+da*pa+ea*qa))-((ta+va)*2.0*.5+(ya+Aa)*2.0*.5*N+(za+Ba)*2.0*.5*X+W*.5*ga);if(p>0.0){k=Ea;return}if(p>-3402823466385288598117041.0e14){G=Ea+48|0;a=1;H=ca*sa+da*pa+ea*qa<0.0&1}else{G=0;a=0;H=0;p=-3402823466385288598117041.0e14}h=+z(+(ca*ma+da*ka+ea*la))-((ua+wa)*2.0*.5+(ya+Aa)*2.0*.5*O+(za+Ba)*2.0*.5*Y+W*.5*ha);if(h>0.0){k=Ea;return}if(h>p){G=f;a=2;H=ca*ma+da*ka+ea*la<0.0&1;p=h}h=+z(+(ca*L+da*D+ea*K))-(xa*.5+(ya+Aa)*2.0*.5*ia+(za+Ba)*2.0*.5*ja+W*.5*Z);if(h>0.0){k=Ea;return}if(h>p){G=e;a=3;H=ca*L+da*D+ea*K<0.0&1;p=h}h=+z(+(ca*V+da*T+ea*U))-((ya+Aa)*2.0*.5+(xa*.5*ia+((ta+va)*2.0*.5*N+(ua+wa)*2.0*.5*O)));if(h>0.0){k=Ea;return}if(h>p){G=Ea;a=4;H=ca*V+da*T+ea*U<0.0&1;p=h}h=+z(+(ca*aa+da*_+ea*$))-((za+Ba)*2.0*.5+(xa*.5*ja+((ta+va)*2.0*.5*X+(ua+wa)*2.0*.5*Y)));if(h>0.0){k=Ea;return}if(h>p){G=Ea+4|0;a=5;H=ca*aa+da*_+ea*$<0.0&1;p=h}h=+z(+(ca*ra+da*na+ea*oa))-(W*.5+(xa*.5*Z+((ta+va)*2.0*.5*ga+(ua+wa)*2.0*.5*ha)));if(h>0.0){k=Ea;return}if(h>p){G=Ea+8|0;a=6;H=ca*ra+da*na+ea*oa<0.0&1;p=h}h=(ca*L+da*D+ea*K)*(ma*V+ka*T+la*U)-(ca*ma+da*ka+ea*la)*(L*V+D*T+K*U);i=+z(+h)-(W*.5*(X+9.999999747378752e-06)+((ua+wa)*2.0*.5*(ia+9.999999747378752e-06)+xa*.5*(O+9.999999747378752e-06)+(za+Ba)*2.0*.5*(ga+9.999999747378752e-06)));if(i>1.1920928955078125e-07){k=Ea;return}t=(L*V+D*T+K*U)*(L*V+D*T+K*U)+0.0;y=(ma*V+ka*T+la*U)*(ma*V+ka*T+la*U);q=+A(+(y+t));if(q>1.1920928955078125e-07?i/q*1.0499999523162842>p:0){G=0;a=7;H=h<0.0&1;p=i/q;n=0.0/q;i=-(L*V+D*T+K*U)/q;h=(ma*V+ka*T+la*U)/q}else{n=0.0;i=0.0;h=0.0}q=(ca*L+da*D+ea*K)*(ma*aa+ka*_+la*$)-(ca*ma+da*ka+ea*la)*(L*aa+D*_+K*$);r=+z(+q)-(W*.5*(N+9.999999747378752e-06)+((ua+wa)*2.0*.5*(ja+9.999999747378752e-06)+xa*.5*(Y+9.999999747378752e-06)+(ya+Aa)*2.0*.5*(ga+9.999999747378752e-06)));if(r>1.1920928955078125e-07){k=Ea;return}u=(L*aa+D*_+K*$)*(L*aa+D*_+K*$)+0.0;B=(ma*aa+ka*_+la*$)*(ma*aa+ka*_+la*$);s=+A(+(B+u));if(s>1.1920928955078125e-07?r/s*1.0499999523162842>p:0){G=0;a=8;H=q<0.0&1;p=r/s;n=0.0/s;i=-(L*aa+D*_+K*$)/s;h=(ma*aa+ka*_+la*$)/s}q=(ca*L+da*D+ea*K)*(ma*ra+ka*na+la*oa)-(ca*ma+da*ka+ea*la)*(L*ra+D*na+K*oa);r=+z(+q)-((za+Ba)*2.0*.5*(N+9.999999747378752e-06)+((ya+Aa)*2.0*.5*(X+9.999999747378752e-06)+((ua+wa)*2.0*.5*(Z+9.999999747378752e-06)+xa*.5*(ha+9.999999747378752e-06))));if(r>1.1920928955078125e-07){k=Ea;return}w=(L*ra+D*na+K*oa)*(L*ra+D*na+K*oa)+0.0;C=(ma*ra+ka*na+la*oa)*(ma*ra+ka*na+la*oa);s=+A(+(C+w));if(s>1.1920928955078125e-07?r/s*1.0499999523162842>p:0){G=0;a=9;H=q<0.0&1;p=r/s;n=0.0/s;i=-(L*ra+D*na+K*oa)/s;h=(ma*ra+ka*na+la*oa)/s}q=(ca*sa+da*pa+ea*qa)*(L*V+D*T+K*U)-(ca*L+da*D+ea*K)*(sa*V+pa*T+qa*U);r=+z(+q)-(W*.5*(Y+9.999999747378752e-06)+((ta+va)*2.0*.5*(ia+9.999999747378752e-06)+xa*.5*(N+9.999999747378752e-06)+(za+Ba)*2.0*.5*(ha+9.999999747378752e-06)));if(r>1.1920928955078125e-07){k=Ea;return}x=(sa*V+pa*T+qa*U)*(sa*V+pa*T+qa*U);s=+A(+(x+t));do if(s>1.1920928955078125e-07){if(!(r/s*1.0499999523162842>p))break;G=0;a=10;H=q<0.0&1;p=r/s;n=(L*V+D*T+K*U)/s;i=0.0/s;h=-(sa*V+pa*T+qa*U)/s}while(0);q=(ca*sa+da*pa+ea*qa)*(L*aa+D*_+K*$)-(ca*L+da*D+ea*K)*(sa*aa+pa*_+qa*$);r=+z(+q)-(W*.5*(O+9.999999747378752e-06)+((ta+va)*2.0*.5*(ja+9.999999747378752e-06)+xa*.5*(X+9.999999747378752e-06)+(ya+Aa)*2.0*.5*(ha+9.999999747378752e-06)));if(r>1.1920928955078125e-07){k=Ea;return}v=(sa*aa+pa*_+qa*$)*(sa*aa+pa*_+qa*$);s=+A(+(v+u));do if(s>1.1920928955078125e-07){if(!(r/s*1.0499999523162842>p))break;G=0;a=11;H=q<0.0&1;p=r/s;n=(L*aa+D*_+K*$)/s;i=0.0/s;h=-(sa*aa+pa*_+qa*$)/s}while(0);q=(ca*sa+da*pa+ea*qa)*(L*ra+D*na+K*oa)-(ca*L+da*D+ea*K)*(sa*ra+pa*na+qa*oa);r=+z(+q)-((za+Ba)*2.0*.5*(O+9.999999747378752e-06)+((ya+Aa)*2.0*.5*(Y+9.999999747378752e-06)+((ta+va)*2.0*.5*(Z+9.999999747378752e-06)+xa*.5*(ga+9.999999747378752e-06))));if(r>1.1920928955078125e-07){k=Ea;return}t=(sa*ra+pa*na+qa*oa)*(sa*ra+pa*na+qa*oa);s=+A(+(t+w));do if(s>1.1920928955078125e-07){if(!(r/s*1.0499999523162842>p))break;G=0;a=12;H=q<0.0&1;p=r/s;n=(L*ra+D*na+K*oa)/s;i=0.0/s;h=-(sa*ra+pa*na+qa*oa)/s}while(0);r=(ca*ma+da*ka+ea*la)*(sa*V+pa*T+qa*U)-(ca*sa+da*pa+ea*qa)*(ma*V+ka*T+la*U);q=+z(+r)-(W*.5*(ja+9.999999747378752e-06)+((ta+va)*2.0*.5*(O+9.999999747378752e-06)+(ua+wa)*2.0*.5*(N+9.999999747378752e-06)+(za+Ba)*2.0*.5*(Z+9.999999747378752e-06)));if(q>1.1920928955078125e-07){k=Ea;return}s=+A(+(y+x+0.0));do if(s>1.1920928955078125e-07){if(!(q/s*1.0499999523162842>p))break;G=0;a=13;H=r<0.0&1;p=q/s;n=-(ma*V+ka*T+la*U)/s;i=(sa*V+pa*T+qa*U)/s;h=0.0/s}while(0);s=(ca*ma+da*ka+ea*la)*(sa*aa+pa*_+qa*$)-(ca*sa+da*pa+ea*qa)*(ma*aa+ka*_+la*$);q=+z(+s)-(W*.5*(ia+9.999999747378752e-06)+((ta+va)*2.0*.5*(Y+9.999999747378752e-06)+(ua+wa)*2.0*.5*(X+9.999999747378752e-06)+(ya+Aa)*2.0*.5*(Z+9.999999747378752e-06)));if(q>1.1920928955078125e-07){k=Ea;return}r=+A(+(B+v+0.0));do if(r>1.1920928955078125e-07){if(!(q/r*1.0499999523162842>p))break;G=0;a=14;H=s<0.0&1;p=q/r;n=-(ma*aa+ka*_+la*$)/r;i=(sa*aa+pa*_+qa*$)/r;h=0.0/r}while(0);s=(ca*ma+da*ka+ea*la)*(sa*ra+pa*na+qa*oa)-(ca*sa+da*pa+ea*qa)*(ma*ra+ka*na+la*oa);q=+z(+s)-((za+Ba)*2.0*.5*(ia+9.999999747378752e-06)+((ya+Aa)*2.0*.5*(ja+9.999999747378752e-06)+((ta+va)*2.0*.5*(ha+9.999999747378752e-06)+(ua+wa)*2.0*.5*(ga+9.999999747378752e-06))));if(q>1.1920928955078125e-07){k=Ea;return}r=+A(+(C+t+0.0));do if(r>1.1920928955078125e-07){if(!(q/r*1.0499999523162842>p)){P=55;break}a=15;H=s<0.0&1;p=q/r;n=-(ma*ra+ka*na+la*oa)/r;i=(sa*ra+pa*na+qa*oa)/r;h=0.0/r;P=58}else P=55;while(0);do if((P|0)==55){if(!a){k=Ea;return}if(!G){P=58;break}Ca=c[G>>2]|0;J=c[G+16>>2]|0;Da=c[G+32>>2]|0;h=(c[j>>2]=Ca,+g[j>>2]);i=(c[j>>2]=J,+g[j>>2]);Q=a;O=p;a=Ca;G=J;J=Da;n=(c[j>>2]=Da,+g[j>>2])}while(0);if((P|0)==58){ra=sa*n+i*+g[f>>2]+h*+g[e>>2];J=(g[j>>2]=ra,c[j>>2]|0);sa=n*+g[F>>2]+i*+g[l>>2]+h*+g[o>>2];G=(g[j>>2]=sa,c[j>>2]|0);n=n*+g[E>>2]+i*+g[R>>2]+h*+g[m>>2];Q=a;O=p;a=J;J=(g[j>>2]=n,c[j>>2]|0);h=ra;i=sa}if(H){a=(g[j>>2]=-h,c[j>>2]|0);G=(g[j>>2]=-i,c[j>>2]|0);J=(g[j>>2]=-n,c[j>>2]|0)}if((Q|0)>6){N=(c[j>>2]=a,+g[j>>2]);L=(c[j>>2]=G,+g[j>>2]);K=(c[j>>2]=J,+g[j>>2]);u=+g[Ea+48>>2];w=+g[F>>2];q=+g[E>>2];h=(u*N+w*L+q*K>0.0?1.0:-1.0)*(ta+va)*2.0*.5;i=+g[f>>2];v=+g[l>>2];t=+g[R>>2];y=(i*N+v*L+t*K>0.0?1.0:-1.0)*(ua+wa)*2.0*.5;B=+g[e>>2];C=+g[o>>2];D=+g[m>>2];n=(B*N+C*L+D*K>0.0?1.0:-1.0)*xa*.5;B=+g[b+48>>2]+h*u+y*i+n*B;C=+g[b+52>>2]+h*w+y*v+n*C;D=+g[b+56>>2]+h*q+y*t+n*D;c[Ea+352>>2]=c[b+112>>2];c[Ea+352+4>>2]=c[b+112+4>>2];c[Ea+352+8>>2]=c[b+112+8>>2];n=+g[Ea>>2];t=+g[Ea+16>>2];y=+g[Ea+32>>2];q=(n*N+t*L+y*K>0.0?-1.0:1.0)*(ya+Aa)*2.0*.5;h=+g[Ea+4>>2];v=+g[Ea+20>>2];w=+g[Ea+36>>2];i=(h*N+v*L+w*K>0.0?-1.0:1.0)*(za+Ba)*2.0*.5;v=+g[Ea+352+4>>2]+q*t+i*v;w=+g[Ea+352+8>>2]+q*y+i*w;y=+g[Ea+8>>2];t=+g[Ea+24>>2];u=+g[Ea+40>>2];x=(y*N+t*L+u*K>0.0?-1.0:1.0)*+g[Ea+456+8>>2];y=+g[Ea+352>>2]+q*n+i*h+x*y;g[Ea+352>>2]=y;g[Ea+352+4>>2]=v+x*t;g[Ea+352+8>>2]=w+x*u;Da=Q+-7|0;h=+g[Ea+48+(((Da|0)/3|0)<<2)>>2];i=+g[Ea+48+(((Da|0)/3|0)+4<<2)>>2];n=+g[Ea+48+(((Da|0)/3|0)+8<<2)>>2];Da=Da+(M((Da|0)/3|0,-3)|0)|0;q=+g[Ea+(Da<<2)>>2];r=+g[Ea+(Da+4<<2)>>2];s=+g[Ea+(Da+8<<2)>>2];p=1.0-(h*q+i*r+n*s)*(h*q+i*r+n*s);if(!(p<=9.999999747378752e-05))h=(((y-B)*h+(v+x*t-C)*i+(w+x*u-D)*n)*(h*q+i*r+n*s)-((y-B)*q+(v+x*t-C)*r+(w+x*u-D)*s))*(1.0/p);else h=0.0;g[Ea+352>>2]=y+h*q;g[Ea+352+4>>2]=v+x*t+h*r;g[Ea+352+8>>2]=w+x*u+h*s;Da=c[(c[d>>2]|0)+16>>2]|0;g[Ea+320>>2]=-N;g[Ea+320+4>>2]=-L;g[Ea+320+8>>2]=-K;g[Ea+320+12>>2]=0.0;Ob[Da&15](d,Ea+320|0,Ea+352|0,O);k=Ea;return}Ca=(Q|0)<4;ga=(c[j>>2]=a,+g[j>>2]);if(Ca){da=(c[j>>2]=G,+g[j>>2]);P=Ea+456|0;ba=Ea+468|0;H=b+112|0;Da=b+48|0;F=Ea+16|0;E=Ea+32|0;fa=Ea;b=Ea+48|0;o=Ea+24|0;m=Ea+40|0;l=Ea+20|0;a=Ea+36|0;f=Ea+4|0;e=Ea+8|0;ca=ga;ea=(c[j>>2]=J,+g[j>>2])}else{da=-(c[j>>2]=G,+g[j>>2]);P=Ea+468|0;ba=Ea+456|0;H=b+48|0;Da=b+112|0;fa=Ea+48|0;b=Ea;a=R;ca=-ga;ea=-(c[j>>2]=J,+g[j>>2])}w=ca*+g[fa>>2]+da*+g[F>>2]+ea*+g[E>>2];g[Ea+440>>2]=w;x=ca*+g[f>>2]+da*+g[l>>2]+ea*+g[a>>2];g[Ea+440+4>>2]=x;y=ca*+g[e>>2]+da*+g[o>>2]+ea*+g[m>>2];g[Ea+440+8>>2]=y;w=+z(+w);x=+z(+x);y=+z(+y);e=x>w?(x>y?1:2):w>y?0:2;S=(x>w?x>y:w>y)?2:1;n=+g[P+(e<<2)>>2];h=+g[H>>2]-+g[Da>>2];i=n*+g[fa+(e<<2)>>2];if(+g[Ea+440+(e<<2)>>2]<0.0){aa=+g[H+8>>2]-+g[Da+8>>2]+n*+g[fa+((e|8)<<2)>>2];$=h+i;_=+g[H+4>>2]-+g[Da+4>>2]+n*+g[fa+((e|4)<<2)>>2]}else{aa=+g[H+8>>2]-+g[Da+8>>2]-n*+g[fa+((e|8)<<2)>>2];$=h-i;_=+g[H+4>>2]-+g[Da+4>>2]-n*+g[fa+((e|4)<<2)>>2]}Q=(Ca?-1:-4)+Q|0;switch(Q|0){case 0:{f=2;e=1;break}case 1:{f=2;e=0;break}default:{f=1;e=0}}R=b+(e<<2)|0;Y=+g[R>>2];W=+g[R+16>>2];X=+g[R+32>>2];Z=$*Y+_*W+aa*X;b=b+(f<<2)|0;O=+g[b>>2];B=+g[b+16>>2];C=+g[b+32>>2];V=$*O+_*B+aa*C;b=fa+((w>y&(x>w^1)&1)<<2)|0;U=+g[b>>2];L=+g[b+16>>2];N=+g[b+32>>2];R=fa+(S<<2)|0;T=+g[R>>2];D=+g[R+16>>2];K=+g[R+32>>2];v=+g[P+((w>y&(x>w^1)&1)<<2)>>2];u=+g[P+(S<<2)>>2];t=(Y*T+W*D+X*K)*u;u=(O*T+B*D+C*K)*u;r=Z-(Y*U+W*L+X*N)*v-t;s=V-(O*U+B*L+C*N)*v-u;h=Z-(Y*U+W*L+X*N)*v+t;g[Ea+416>>2]=h;n=V-(O*U+B*L+C*N)*v+u;p=Z+(Y*U+W*L+X*N)*v+t;q=V+(O*U+B*L+C*N)*v+u;t=Z+(Y*U+W*L+X*N)*v-t;u=V+(O*U+B*L+C*N)*v-u;F=c[ba+(e<<2)>>2]|0;H=c[ba+(f<<2)>>2]|0;v=(c[j>>2]=F,+g[j>>2]);do if(!(v>-r))if(v>-h){f=Ea+256|0;e=1;a=1;i=-h;P=78}else{f=Ea+256|0;e=0;i=-h;P=153}else{g[Ea+256>>2]=r;g[Ea+256+4>>2]=s;if(!(v>-h)){f=Ea+256+8|0;e=2;a=v>-h;i=-h;P=78;break}g[Ea+256+8>>2]=h;g[Ea+256+8+4>>2]=n;f=Ea+256+8|0;e=2;P=152}while(0);do if((P|0)==78){g[f+4>>2]=s+(-v-r)*((n-s)/(h-r));g[f>>2]=-v;f=f+8|0;if(!a){P=153;break}g[f>>2]=h;g[f+4>>2]=n;if(!(e+1&8)){e=e+1|0;P=152}else{e=e+1|0;P=102}}while(0);if((P|0)==152){h=+g[Ea+416>>2];f=f+8|0;i=-h;P=153}a:do if((P|0)==153){if(i<v^v>-p){g[f+4>>2]=n+(-v-h)*((q-n)/(p-h));g[f>>2]=-v;e=e+1|0;if(!(e&8))f=f+8|0;else{P=102;break}}if(v>-p){g[f>>2]=p;g[f+4>>2]=q;e=e+1|0;if(e&8|0){P=102;break}f=f+8|0;if(v>-p^v>-t){a=v>-t;P=159}else{a=v>-t;P=161}}else if(v>-p^v>-t){a=v>-t;P=159}else{a=v>-t;P=161}if((P|0)==159){g[f+4>>2]=q+(-v-p)*((u-q)/(t-p));g[f>>2]=-v;e=e+1|0;if(e&8|0){P=102;break}f=f+8|0;if(a)P=162;else P=163}else if((P|0)==161)if(a)P=162;else P=163;do if((P|0)==162){g[f>>2]=t;g[f+4>>2]=u;e=e+1|0;if(e&8|0){P=102;break a}if(a^v>-r){f=f+8|0;P=165}else P=167}else if((P|0)==163){if(v>-r){P=165;break}if((e|0)>0)P=167;else{e=0;P=79}}while(0);if((P|0)==165){g[f+4>>2]=u+(-v-t)*((s-u)/(r-t));g[f>>2]=-v;e=e+1|0;if(!(e&8))P=167;else{P=102;break}}b:do if((P|0)==167){a=Ea+352|0;E=Ea+256|0;f=0;while(1){h=+g[E>>2];if(h<v){g[a>>2]=h;c[a+4>>2]=c[E+4>>2];f=f+1|0;if(f&8|0){e=f;P=79;break b}a=a+8|0;h=+g[E>>2]}o=(e|0)>1;l=E;E=E+8|0;m=o?E:Ea+256|0;i=+g[m>>2];if(h<v^i<v){Ba=+g[l+4>>2];g[a+4>>2]=Ba+(v-h)*((+g[m+4>>2]-Ba)/(i-h));c[a>>2]=F;f=f+1|0;if(!(f&8))a=a+8|0;else{e=f;P=79;break b}}if(!o)break;else e=e+-1|0}if((f|0)<=0){e=0;P=79;break}p=(c[j>>2]=H,+g[j>>2]);a=Ea+256|0;E=Ea+352|0;e=0;while(1){l=E+4|0;h=+g[l>>2];if(p>-h){c[a>>2]=c[E>>2];c[a+4>>2]=c[l>>2];e=e+1|0;if(e&8|0)break b;h=+g[l>>2];a=a+8|0;n=-h}else n=-h;o=(f|0)>1;l=E;E=E+8|0;m=o?E:Ea+352|0;i=+g[m+4>>2];if(n<p^p>-i){Ba=+g[l>>2];g[a>>2]=Ba+(-p-h)*((+g[m>>2]-Ba)/(i-h));g[a+4>>2]=-p;e=e+1|0;if(!(e&8))a=a+8|0;else break b}if(!o)break;else f=f+-1|0}if((e|0)<=0){e=0;P=79;break}o=e;f=Ea+352|0;E=Ea+256|0;e=0;while(1){a=E+4|0;h=+g[a>>2];if(h<p){c[f>>2]=c[E>>2];c[f+4>>2]=c[a>>2];e=e+1|0;if(e&8|0){P=79;break b}f=f+8|0;h=+g[a>>2]}m=(o|0)>1;a=E;E=E+8|0;l=m?E:Ea+256|0;i=+g[l+4>>2];if(h<p^i<p){Ba=+g[a>>2];g[f>>2]=Ba+(p-h)*((+g[l>>2]-Ba)/(i-h));c[f+4>>2]=H;e=e+1|0;if(!(e&8))f=f+8|0;else{P=79;break b}}if(!m){P=79;break}else o=o+-1|0}}while(0);if((P|0)==79)Ki(Ea+256|0,Ea+352|0,e<<3|0)|0;if((e|0)>=1)P=104}while(0);if((P|0)==102)P=104;if((P|0)==104){v=1.0/((Y*U+W*L+X*N)*(O*T+B*D+C*K)-(O*U+B*L+C*N)*(Y*T+W*D+X*K));u=+g[ba+(Q<<2)>>2];t=+g[b>>2];q=+g[R>>2];r=+g[fa+((w>y&(x>w^1)&1|4)<<2)>>2];s=+g[fa+((S|4)<<2)>>2];p=+g[fa+((w>y&(x>w^1)&1|8)<<2)>>2];n=+g[fa+((S|8)<<2)>>2];o=0;a=0;do{f=a<<1;h=+g[Ea+256+(f<<2)>>2];i=+g[Ea+256+((f|1)<<2)>>2];ya=(O*T+B*D+C*K)*v*(h-Z)-(Y*T+W*D+X*K)*v*(i-V);Ba=(Y*U+W*L+X*N)*v*(i-V)-(O*U+B*L+C*N)*v*(h-Z);f=o*3|0;za=$+ya*t+Ba*q;g[Ea+160+(f<<2)>>2]=za;Aa=_+ya*r+Ba*s;g[Ea+160+(f+1<<2)>>2]=Aa;Ba=aa+ya*p+Ba*n;g[Ea+160+(f+2<<2)>>2]=Ba;Ba=u-(ca*za+da*Aa+ea*Ba);g[Ea+128+(o<<2)>>2]=Ba;f=o<<1;if(Ba>=0.0){g[Ea+256+(f<<2)>>2]=h;g[Ea+256+((f|1)<<2)>>2]=i;o=o+1|0}a=a+1|0}while((a|0)!=(e|0));c:do if((o|0)>=1){E=(o|0)<4?o:4;F=(E|0)>1?E:1;if((o|0)<=(F|0))if(Ca){f=Da+4|0;a=Da+8|0;i=-(c[j>>2]=G,+g[j>>2]);h=-(c[j>>2]=J,+g[j>>2]);e=0;while(1){Ca=e*3|0;g[Ea+352>>2]=+g[Ea+160+(Ca<<2)>>2]+ +g[Da>>2];g[Ea+352+4>>2]=+g[Ea+160+(Ca+1<<2)>>2]+ +g[f>>2];g[Ea+352+8>>2]=+g[Ea+160+(Ca+2<<2)>>2]+ +g[a>>2];Ca=c[(c[d>>2]|0)+16>>2]|0;g[Ea+320>>2]=-ga;g[Ea+320+4>>2]=i;g[Ea+320+8>>2]=h;g[Ea+320+12>>2]=0.0;Ob[Ca&15](d,Ea+320|0,Ea+352|0,-+g[Ea+128+(e<<2)>>2]);e=e+1|0;if((e|0)==(o|0))break c}}else{f=Da+4|0;a=Da+8|0;i=(c[j>>2]=G,+g[j>>2]);h=(c[j>>2]=J,+g[j>>2]);e=0;while(1){Ca=e*3|0;Ba=+g[Ea+128+(e<<2)>>2];g[Ea+352>>2]=+g[Ea+160+(Ca<<2)>>2]+ +g[Da>>2]-Ba*ga;g[Ea+352+4>>2]=+g[Ea+160+(Ca+1<<2)>>2]+ +g[f>>2]-Ba*i;g[Ea+352+8>>2]=+g[Ea+160+(Ca+2<<2)>>2]+ +g[a>>2]-Ba*h;Ca=c[(c[d>>2]|0)+16>>2]|0;g[Ea+320>>2]=-ga;g[Ea+320+4>>2]=-i;g[Ea+320+8>>2]=-h;g[Ea+320+12>>2]=0.0;Ob[Ca&15](d,Ea+320|0,Ea+352|0,-Ba);e=e+1|0;if((e|0)==(o|0))break c}}d:do if((o|0)>1){h=+g[Ea+128>>2];e=0;f=1;while(1){i=+g[Ea+128+(f<<2)>>2];a=i>h;e=a?f:e;f=f+1|0;if((f|0)==(o|0))break;else h=a?i:h}switch(o|0){case 1:{f=1;a=Ea+96|0;l=Ea+96|0;P=120;break d}case 2:{h=(+g[Ea+256+4>>2]+ +g[Ea+256+12>>2])*.5;i=(+g[Ea+256>>2]+ +g[Ea+256+8>>2])*.5;f=2;a=Ea+96|0;l=Ea+96|0;P=124;break d}default:{}}a=o+-1|0;s=0.0;t=0.0;h=0.0;f=0;do{fa=f<<1;ya=+g[Ea+256+(fa<<2)>>2];za=+g[Ea+256+(fa+3<<2)>>2];Aa=+g[Ea+256+(fa+2<<2)>>2];Ba=+g[Ea+256+((fa|1)<<2)>>2];h=h+(ya*za-Aa*Ba);t=t+(ya+Aa)*(ya*za-Aa*Ba);s=s+(za+Ba)*(ya*za-Aa*Ba);f=f+1|0}while((f|0)!=(a|0));fa=o<<1;n=+g[Ea+256+(fa+-2<<2)>>2];p=+g[Ea+256+4>>2];q=+g[Ea+256>>2];r=+g[Ea+256+(fa+-1<<2)>>2];i=h+(n*p-q*r);fa=+z(+i)>1.1920928955078125e-07;i=fa?1.0/(i*3.0):999999984306749440.0;if((o|0)>0){h=(s+(p+r)*(n*p-q*r))*i;i=(t+(n+q)*(n*p-q*r))*i;a=Ea+96|0;l=Ea+96|0;m=Ea+352|0;P=127;break}m=e;e=Ea+96|0;f=0}else{e=0;f=o;a=Ea+96|0;l=Ea+96|0;P=120}while(0);if((P|0)==120){h=+g[Ea+256+4>>2];i=+g[Ea+256>>2];P=124}if((P|0)==124){o=f;m=Ea+352|0;P=127}if((P|0)==127){f=0;do{fa=f<<1;g[Ea+352+(f<<2)>>2]=+I(+(+g[Ea+256+((fa|1)<<2)>>2]-h),+(+g[Ea+256+(fa<<2)>>2]-i));f=f+1|0}while((f|0)!=(o|0));f=0;do{c[Ea+320+(f<<2)>>2]=1;f=f+1|0}while((f|0)!=(o|0));m=e;e=a;f=1}a=Ea+320+(m<<2)|0;c[a>>2]=0;c[e>>2]=m;e:do if((E|0)>1){p=+g[Ea+352+(m<<2)>>2];if(!f){e=1;f=Ea+96+4|0;while(1){c[f>>2]=m;c[a>>2]=0;e=e+1|0;if((e|0)==(F|0))break e;else f=f+4|0}}f=1;a=Ea+96+4|0;while(1){n=6.2831854820251465/+(F|0)*+(f|0)+p;n=n>3.1415927410125732?n+-6.2831854820251465:n;c[a>>2]=m;i=1.0e9;l=0;e=m;while(1){do if(!(c[Ea+320+(l<<2)>>2]|0))h=i;else{h=+z(+(+g[Ea+352+(l<<2)>>2]-n));h=h>3.1415927410125732?6.2831854820251465-h:h;if(!(h<i)){h=i;break}c[a>>2]=l;e=l}while(0);l=l+1|0;if((l|0)==(o|0))break;else i=h}c[Ea+320+(e<<2)>>2]=0;f=f+1|0;if((f|0)==(F|0))break;else a=a+4|0}}while(0);if((F|0)>0){f=Da+4|0;a=Da+8|0;i=(c[j>>2]=G,+g[j>>2]);h=(c[j>>2]=J,+g[j>>2]);if(Ca){e=0;do{Ca=c[Ea+96+(e<<2)>>2]|0;g[Ea+352>>2]=+g[Ea+160+(Ca*3<<2)>>2]+ +g[Da>>2];g[Ea+352+4>>2]=+g[Ea+160+((Ca*3|0)+1<<2)>>2]+ +g[f>>2];g[Ea+352+8>>2]=+g[Ea+160+((Ca*3|0)+2<<2)>>2]+ +g[a>>2];fa=c[(c[d>>2]|0)+16>>2]|0;g[Ea+320>>2]=-ga;g[Ea+320+4>>2]=-i;g[Ea+320+8>>2]=-h;g[Ea+320+12>>2]=0.0;Ob[fa&15](d,Ea+320|0,Ea+352|0,-+g[Ea+128+(Ca<<2)>>2]);e=e+1|0}while(e>>>0<F>>>0)}else{e=0;do{fa=c[Ea+96+(e<<2)>>2]|0;ya=+g[Ea+160+(fa*3<<2)>>2]+ +g[Da>>2];g[Ea+352>>2]=ya;za=+g[Ea+160+((fa*3|0)+1<<2)>>2]+ +g[f>>2];g[Ea+352+4>>2]=za;Aa=+g[Ea+160+((fa*3|0)+2<<2)>>2]+ +g[a>>2];g[Ea+352+8>>2]=Aa;Ca=c[(c[d>>2]|0)+16>>2]|0;g[Ea+320>>2]=-ga;g[Ea+320+4>>2]=-i;g[Ea+320+8>>2]=-h;g[Ea+320+12>>2]=0.0;Ba=+g[Ea+128+(fa<<2)>>2];g[Ea+424>>2]=ya-Ba*ga;g[Ea+424+4>>2]=za-Ba*i;g[Ea+424+8>>2]=Aa-Ba*h;g[Ea+424+12>>2]=0.0;Ob[Ca&15](d,Ea+320|0,Ea+424|0,-Ba);e=e+1|0}while(e>>>0<F>>>0)}}}while(0)}k=Ea;return}function kc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0;Q=k;k=k+448|0;if(!(a[b+527>>0]|0)){k=Q;return}K=c[b+28>>2]|0;D=+g[b+348>>2];C=+g[b+352>>2];J=+g[b+356>>2];E=+g[K+52>>2];F=D*+g[K+4>>2]+C*+g[K+8>>2]+J*+g[K+12>>2]+E;G=+g[K+56>>2];H=D*+g[K+20>>2]+C*+g[K+24>>2]+J*+g[K+28>>2]+G;I=+g[K+60>>2];J=D*+g[K+36>>2]+C*+g[K+40>>2]+J*+g[K+44>>2]+I;L=c[b+32>>2]|0;C=+g[b+412>>2];D=+g[b+416>>2];t=+g[b+420>>2];l=+g[L+52>>2];m=C*+g[L+4>>2]+D*+g[L+8>>2]+t*+g[L+12>>2]+l;n=+g[L+56>>2];o=C*+g[L+20>>2]+D*+g[L+24>>2]+t*+g[L+28>>2]+n;s=+g[L+60>>2];t=C*+g[L+36>>2]+D*+g[L+40>>2]+t*+g[L+44>>2]+s;if(!(a[b+524>>0]|0)){B=+g[d+192>>2]+ +g[d+80>>2];C=+g[d+196>>2]+ +g[d+84>>2];z=+g[d+200>>2]+ +g[d+88>>2];D=+g[e+192>>2]+ +g[e+80>>2];x=+g[e+196>>2]+ +g[e+84>>2];v=+g[e+200>>2]+ +g[e+88>>2];u=+g[d+176>>2]+ +g[d+64>>2]+((J-I)*C-(H-G)*z)-(+g[e+176>>2]+ +g[e+64>>2]+((t-s)*x-(o-n)*v));v=+g[d+180>>2]+ +g[d+68>>2]+((F-E)*z-(J-I)*B)-(+g[e+180>>2]+ +g[e+68>>2]+((m-l)*v-(t-s)*D));x=+g[d+184>>2]+ +g[d+72>>2]+((H-G)*B-(F-E)*C)-(+g[e+184>>2]+ +g[e+72>>2]+((o-n)*D-(m-l)*x));p=(c[d+240>>2]|0)==0;q=(c[e+240>>2]|0)==0;h=0;do{D=1.0/+g[b+48+(h*84|0)+80>>2];r=b+48+(h*84|0)|0;C=+g[r>>2];w=b+48+(h*84|0)+4|0;B=+g[w>>2];y=b+48+(h*84|0)+8|0;z=+g[y>>2];z=D*(((F-m)*C+(H-o)*B+(J-t)*z)*-.30000001192092896/f)-D*(u*C+v*B+x*z);g[b+36>>2]=+g[b+36>>2]+z;B=+g[y>>2];C=+g[w>>2];D=+g[r>>2];i=+g[K+344>>2];if(!p){T=((H-G)*B-(J-I)*C)*+g[K+296>>2]+((J-I)*D-(F-E)*B)*+g[K+300>>2]+((F-E)*C-(H-G)*D)*+g[K+304>>2];R=((H-G)*B-(J-I)*C)*+g[K+280>>2]+((J-I)*D-(F-E)*B)*+g[K+284>>2]+((F-E)*C-(H-G)*D)*+g[K+288>>2];S=((H-G)*B-(J-I)*C)*+g[K+264>>2]+((J-I)*D-(F-E)*B)*+g[K+268>>2]+((F-E)*C-(H-G)*D)*+g[K+272>>2];V=z*C*i*+g[d+116>>2];U=z*B*i*+g[d+120>>2];g[d+64>>2]=z*D*i*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=V+ +g[d+68>>2];g[d+72>>2]=U+ +g[d+72>>2];R=R*z*+g[d+100>>2];i=T*z*+g[d+104>>2];g[d+80>>2]=S*z*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=R+ +g[d+84>>2];g[d+88>>2]=i+ +g[d+88>>2]}i=+g[L+344>>2];if(!q){V=((o-n)*B-(t-s)*C)*+g[L+296>>2]+((t-s)*D-(m-l)*B)*+g[L+300>>2]+((m-l)*C-(o-n)*D)*+g[L+304>>2];U=((o-n)*B-(t-s)*C)*+g[L+280>>2]+((t-s)*D-(m-l)*B)*+g[L+284>>2]+((m-l)*C-(o-n)*D)*+g[L+288>>2];T=((o-n)*B-(t-s)*C)*+g[L+264>>2]+((t-s)*D-(m-l)*B)*+g[L+268>>2]+((m-l)*C-(o-n)*D)*+g[L+272>>2];R=i*+g[w>>2]*-z*+g[e+116>>2];S=i*+g[y>>2]*-z*+g[e+120>>2];g[e+64>>2]=+g[e+112>>2]*i*+g[r>>2]*-z+ +g[e+64>>2];g[e+68>>2]=R+ +g[e+68>>2];g[e+72>>2]=S+ +g[e+72>>2];U=U*+g[e+100>>2]*-z;V=V*+g[e+104>>2]*-z;g[e+80>>2]=T*+g[e+96>>2]*-z+ +g[e+80>>2];g[e+84>>2]=U+ +g[e+84>>2];g[e+88>>2]=V+ +g[e+88>>2]}h=h+1|0}while((h|0)!=3)}do if(!(a[b+552>>0]|0)){i=+g[b+440>>2];if(!(i>1.1920928955078125e-07)){h=d+192|0;K=d+80|0;p=d+196|0;L=d+84|0;q=d+200|0;M=d+88|0;r=e+192|0;N=e+80|0;w=e+196|0;O=e+84|0;y=e+200|0;P=e+88|0;break}u=+g[d+80>>2];v=+g[d+84>>2];x=+g[d+88>>2];l=+g[e+192>>2]+ +g[e+80>>2]-(+g[d+192>>2]+u);n=+g[e+196>>2]+ +g[e+84>>2]-(+g[d+196>>2]+v);s=+g[e+200>>2]+ +g[e+88>>2]-(+g[d+200>>2]+x);if(l*l+n*n+s*s>1.1920928955078125e-07){o=1.0/+A(+(l*l+n*n+s*s));z=+g[K+264>>2];B=+g[K+280>>2];C=+g[K+296>>2];D=+g[K+268>>2];E=+g[K+284>>2];F=+g[K+300>>2];G=+g[K+272>>2];H=+g[K+288>>2];t=+g[K+304>>2];i=i*(1.0/(l*o*(l*o*z+n*o*B+s*o*C)+n*o*(l*o*D+n*o*E+s*o*F)+s*o*(l*o*G+n*o*H+s*o*t)+(l*o*(l*o*+g[L+264>>2]+n*o*+g[L+280>>2]+s*o*+g[L+296>>2])+n*o*(l*o*+g[L+268>>2]+n*o*+g[L+284>>2]+s*o*+g[L+300>>2])+s*o*(l*o*+g[L+272>>2]+n*o*+g[L+288>>2]+s*o*+g[L+304>>2]))));o=+A(+(s*i*s*i+(l*i*l*i+n*i*n*i)));m=l*i*(1.0/o);l=n*i*(1.0/o);i=s*i*(1.0/o);if(c[d+240>>2]|0){V=o*0.0*+g[d+116>>2];U=o*0.0*+g[d+120>>2];g[d+64>>2]=o*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=V+ +g[d+68>>2];g[d+72>>2]=U+ +g[d+72>>2];U=(m*B+l*E+i*H)*o*+g[d+100>>2];V=(m*C+l*F+i*t)*o*+g[d+104>>2];g[d+80>>2]=u+(m*z+l*D+i*G)*o*+g[d+96>>2];g[d+84>>2]=v+U;g[d+88>>2]=x+V}if(c[e+240>>2]|0){V=m*+g[L+296>>2]+l*+g[L+300>>2]+i*+g[L+304>>2];U=m*+g[L+280>>2]+l*+g[L+284>>2]+i*+g[L+288>>2];T=m*+g[L+264>>2]+l*+g[L+268>>2]+i*+g[L+272>>2];R=o*-0.0*+g[e+116>>2];S=o*-0.0*+g[e+120>>2];g[e+64>>2]=o*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=R+ +g[e+68>>2];g[e+72>>2]=S+ +g[e+72>>2];U=U*+g[e+100>>2]*-o;V=V*+g[e+104>>2]*-o;g[e+80>>2]=T*+g[e+96>>2]*-o+ +g[e+80>>2];g[e+84>>2]=U+ +g[e+84>>2];g[e+88>>2]=V+ +g[e+88>>2];h=d+192|0;K=d+80|0;p=d+196|0;L=d+84|0;q=d+200|0;M=d+88|0;r=e+192|0;N=e+80|0;w=e+196|0;O=e+84|0;y=e+200|0;P=e+88|0}else{h=d+192|0;K=d+80|0;p=d+196|0;L=d+84|0;q=d+200|0;M=d+88|0;r=e+192|0;N=e+80|0;w=e+196|0;O=e+84|0;y=e+200|0;P=e+88|0}}else{h=d+192|0;K=d+80|0;p=d+196|0;L=d+84|0;q=d+200|0;M=d+88|0;r=e+192|0;N=e+80|0;w=e+196|0;O=e+84|0;y=e+200|0;P=e+88|0}}else{c[Q+352>>2]=c[K+4>>2];c[Q+352+4>>2]=c[K+4+4>>2];c[Q+352+8>>2]=c[K+4+8>>2];c[Q+352+12>>2]=c[K+4+12>>2];c[Q+352+16>>2]=c[K+20>>2];c[Q+352+16+4>>2]=c[K+20+4>>2];c[Q+352+16+8>>2]=c[K+20+8>>2];c[Q+352+16+12>>2]=c[K+20+12>>2];c[Q+352+32>>2]=c[K+36>>2];c[Q+352+32+4>>2]=c[K+36+4>>2];c[Q+352+32+8>>2]=c[K+36+8>>2];c[Q+352+32+12>>2]=c[K+36+12>>2];c[Q+352+48>>2]=c[K+52>>2];c[Q+352+48+4>>2]=c[K+52+4>>2];c[Q+352+48+8>>2]=c[K+52+8>>2];c[Q+352+48+12>>2]=c[K+52+12>>2];c[Q+288>>2]=c[L+4>>2];c[Q+288+4>>2]=c[L+4+4>>2];c[Q+288+8>>2]=c[L+4+8>>2];c[Q+288+12>>2]=c[L+4+12>>2];c[Q+288+16>>2]=c[L+20>>2];c[Q+288+16+4>>2]=c[L+20+4>>2];c[Q+288+16+8>>2]=c[L+20+8>>2];c[Q+288+16+12>>2]=c[L+20+12>>2];c[Q+288+32>>2]=c[L+36>>2];c[Q+288+32+4>>2]=c[L+36+4>>2];c[Q+288+32+8>>2]=c[L+36+8>>2];c[Q+288+32+12>>2]=c[L+36+12>>2];c[Q+288+48>>2]=c[L+52>>2];c[Q+288+48+4>>2]=c[L+52+4>>2];c[Q+288+48+8>>2]=c[L+52+8>>2];c[Q+288+48+12>>2]=c[L+52+12>>2];T=+g[d+196>>2]+ +g[d+84>>2];u=+g[d+200>>2]+ +g[d+88>>2];g[Q+272>>2]=+g[d+192>>2]+ +g[d+80>>2];g[Q+272+4>>2]=T;g[Q+272+8>>2]=u;g[Q+272+12>>2]=0.0;u=+g[e+196>>2]+ +g[e+84>>2];T=+g[e+200>>2]+ +g[e+88>>2];g[Q+256>>2]=+g[e+192>>2]+ +g[e+80>>2];g[Q+256+4>>2]=u;g[Q+256+8>>2]=T;g[Q+256+12>>2]=0.0;c[Q+192>>2]=1065353216;O=Q+192+4|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[Q+192+20>>2]=1065353216;P=Q+192+24|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[Q+192+40>>2]=1065353216;M=Q+192+44|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;oh(Q+352|0,0.0,0.0,0.0,Q+272|0,f,Q+192|0);c[Q+128>>2]=1065353216;M=Q+128+4|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[Q+128+20>>2]=1065353216;N=Q+128+24|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[Q+128+40>>2]=1065353216;L=Q+128+44|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;oh(Q+288|0,0.0,0.0,0.0,Q+256|0,f,Q+128|0);T=+g[b+556>>2];u=+g[b+560>>2];U=+g[b+564>>2];v=+g[b+568>>2];H=T*(2.0/(T*T+u*u+U*U+v*v));C=u*(2.0/(T*T+u*u+U*U+v*v));I=U*(2.0/(T*T+u*u+U*U+v*v));X=+g[b+364>>2];W=+g[b+368>>2];_=+g[b+372>>2];l=_*(T*I-v*C)+(W*(T*C+v*I)+X*(1.0-(u*C+U*I)));m=_*(u*I+v*H)+(X*(T*C-v*I)+W*(1.0-(T*H+U*I)));n=X*(T*I+v*C)+W*(u*I-v*H)+_*(1.0-(T*H+u*C));i=+g[b+380>>2];G=+g[b+384>>2];D=+g[b+388>>2];o=(T*I-v*C)*D+(G*(T*C+v*I)+i*(1.0-(u*C+U*I)));s=(u*I+v*H)*D+(i*(T*C-v*I)+G*(1.0-(T*H+U*I)));t=i*(T*I+v*C)+G*(u*I-v*H)+D*(1.0-(T*H+u*C));R=+g[b+396>>2];E=+g[b+400>>2];B=+g[b+404>>2];S=(1.0-(u*C+U*I))*R+(T*C+v*I)*E+(T*I-v*C)*B;U=(T*C-v*I)*R+(1.0-(T*H+U*I))*E+(u*I+v*H)*B;C=(T*I+v*C)*R+(u*I-v*H)*E+(1.0-(T*H+u*C))*B;u=+g[b+300>>2];H=+g[b+316>>2];T=+g[b+332>>2];v=+g[b+304>>2];I=+g[b+320>>2];V=+g[b+336>>2];F=+g[b+308>>2];J=+g[b+324>>2];z=+g[b+340>>2];x=-+g[b+348>>2];ba=-+g[b+352>>2];Z=-+g[b+356>>2];_=X*0.0+W*0.0+_*0.0+ +g[b+412>>2]+(n*(F*x+J*ba+z*Z)+(l*(u*x+H*ba+T*Z)+m*(v*x+I*ba+V*Z)));D=i*0.0+G*0.0+D*0.0+ +g[b+416>>2]+(t*(F*x+J*ba+z*Z)+(o*(u*x+H*ba+T*Z)+s*(v*x+I*ba+V*Z)));Z=R*0.0+E*0.0+B*0.0+ +g[b+420>>2]+(C*(F*x+J*ba+z*Z)+(S*(u*x+H*ba+T*Z)+U*(v*x+I*ba+V*Z)));ba=+g[Q+128>>2];x=+g[M>>2];B=+g[Q+128+8>>2];E=+g[Q+128+16>>2];R=+g[Q+128+20>>2];G=+g[N>>2];i=+g[Q+128+32>>2];W=+g[Q+128+36>>2];X=+g[Q+128+40>>2];Y=B*Z+(ba*_+x*D)+ +g[Q+128+48>>2];$=E*_+D*R+Z*G+ +g[Q+128+52>>2];aa=_*i+D*W+Z*X+ +g[Q+128+56>>2];g[Q+64>>2]=(l*u+m*v+n*F)*ba+(o*u+s*v+t*F)*x+(S*u+U*v+C*F)*B;g[Q+64+4>>2]=(l*H+m*I+n*J)*ba+(o*H+s*I+t*J)*x+(S*H+U*I+C*J)*B;g[Q+64+8>>2]=(l*T+m*V+n*z)*ba+(o*T+s*V+t*z)*x+(S*T+U*V+C*z)*B;g[Q+64+12>>2]=0.0;g[Q+64+16>>2]=(l*u+m*v+n*F)*E+(o*u+s*v+t*F)*R+(S*u+U*v+C*F)*G;g[Q+64+20>>2]=(l*H+m*I+n*J)*E+(o*H+s*I+t*J)*R+(S*H+U*I+C*J)*G;g[Q+64+24>>2]=(l*T+m*V+n*z)*E+(o*T+s*V+t*z)*R+(S*T+U*V+C*z)*G;g[Q+64+28>>2]=0.0;g[Q+64+32>>2]=(l*u+m*v+n*F)*i+(o*u+s*v+t*F)*W+(S*u+U*v+C*F)*X;g[Q+64+36>>2]=(l*H+m*I+n*J)*i+(o*H+s*I+t*J)*W+(S*H+U*I+C*J)*X;g[Q+64+40>>2]=(l*T+m*V+n*z)*i+(o*T+s*V+t*z)*W+(S*T+U*V+C*z)*X;g[Q+64+44>>2]=0.0;g[Q+64+48>>2]=Y;g[Q+64+52>>2]=$;g[Q+64+56>>2]=aa;g[Q+64+60>>2]=0.0;aa=(S*u+U*v+C*F)*-Z+((l*u+m*v+n*F)*-_+(o*u+s*v+t*F)*-D);$=(S*H+U*I+C*J)*-Z+((l*H+m*I+n*J)*-_+(o*H+s*I+t*J)*-D);D=(S*T+U*V+C*z)*-Z+((l*T+m*V+n*z)*-_+(o*T+s*V+t*z)*-D);_=+g[Q+192>>2];Z=+g[O>>2];Y=+g[Q+192+8>>2];X=+g[Q+192+16>>2];W=+g[Q+192+20>>2];i=+g[P>>2];G=+g[Q+192+32>>2];R=+g[Q+192+36>>2];E=+g[Q+192+40>>2];B=aa*_+$*Z+D*Y+ +g[Q+192+48>>2];x=aa*X+$*W+D*i+ +g[Q+192+52>>2];D=aa*G+$*R+D*E+ +g[Q+192+56>>2];g[Q>>2]=(l*u+m*v+n*F)*_+(l*H+m*I+n*J)*Z+(l*T+m*V+n*z)*Y;g[Q+4>>2]=(o*u+s*v+t*F)*_+(o*H+s*I+t*J)*Z+(o*T+s*V+t*z)*Y;g[Q+8>>2]=(S*u+U*v+C*F)*_+(S*H+U*I+C*J)*Z+(S*T+U*V+C*z)*Y;g[Q+12>>2]=0.0;g[Q+16>>2]=(l*u+m*v+n*F)*X+(l*H+m*I+n*J)*W+(l*T+m*V+n*z)*i;g[Q+20>>2]=(o*u+s*v+t*F)*X+(o*H+s*I+t*J)*W+(o*T+s*V+t*z)*i;g[Q+24>>2]=(S*u+U*v+C*F)*X+(S*H+U*I+C*J)*W+(S*T+U*V+C*z)*i;g[Q+28>>2]=0.0;g[Q+32>>2]=(l*u+m*v+n*F)*G+(l*H+m*I+n*J)*R+(l*T+m*V+n*z)*E;g[Q+36>>2]=(o*u+s*v+t*F)*G+(o*H+s*I+t*J)*R+(o*T+s*V+t*z)*E;g[Q+40>>2]=(S*u+U*v+C*F)*G+(S*H+U*I+C*J)*R+(S*T+U*V+C*z)*E;g[Q+44>>2]=0.0;g[Q+48>>2]=B;g[Q+52>>2]=x;g[Q+56>>2]=D;g[Q+60>>2]=0.0;Tf(Q+352|0,Q+64|0,Q+424|0,Q+416|0);D=+g[Q+416>>2];x=1.0/f*+g[Q+424>>2]*D;B=1.0/f*D*+g[Q+424+4>>2];D=1.0/f*D*+g[Q+424+8>>2];Tf(Q+288|0,Q,Q+424|0,Q+416|0);E=+g[Q+416>>2];x=x-+g[Q+272>>2];B=B-+g[Q+272+4>>2];D=D-+g[Q+272+8>>2];z=1.0/f*+g[Q+424>>2]*E-+g[Q+256>>2];C=1.0/f*E*+g[Q+424+4>>2]-+g[Q+256+4>>2];E=1.0/f*E*+g[Q+424+8>>2]-+g[Q+256+8>>2];if(x*x+B*B+D*D>1.1920928955078125e-07){u=1.0/+A(+(x*x+B*B+D*D));P=c[b+28>>2]|0;o=x*u*(x*u*+g[P+264>>2]+B*u*+g[P+280>>2]+D*u*+g[P+296>>2])+B*u*(x*u*+g[P+268>>2]+B*u*+g[P+284>>2]+D*u*+g[P+300>>2])+D*u*(x*u*+g[P+272>>2]+B*u*+g[P+288>>2]+D*u*+g[P+304>>2]);l=x*u;n=B*u;u=D*u}else{o=0.0;l=0.0;n=0.0;u=0.0}if(z*z+C*C+E*E>1.1920928955078125e-07){t=1.0/+A(+(z*z+C*C+E*E));P=c[b+32>>2]|0;s=z*t*(z*t*+g[P+264>>2]+C*t*+g[P+280>>2]+E*t*+g[P+296>>2])+C*t*(z*t*+g[P+268>>2]+C*t*+g[P+284>>2]+E*t*+g[P+300>>2])+E*t*(z*t*+g[P+272>>2]+C*t*+g[P+288>>2]+E*t*+g[P+304>>2]);i=z*t;m=C*t;t=E*t}else{s=0.0;i=0.0;m=0.0;t=0.0}v=o*l+s*i;l=o*n+s*m;i=o*u+s*t;if(v*v+l*l+i*i>1.1920928955078125e-07){o=1.0/+A(+(v*v+l*l+i*i));h=c[b+28>>2]|0;m=v*o*(v*o*+g[h+264>>2]+l*o*+g[h+280>>2]+i*o*+g[h+296>>2])+l*o*(v*o*+g[h+268>>2]+l*o*+g[h+284>>2]+i*o*+g[h+300>>2])+i*o*(v*o*+g[h+272>>2]+l*o*+g[h+288>>2]+i*o*+g[h+304>>2]);p=c[b+32>>2]|0;o=v*o*(v*o*+g[p+264>>2]+l*o*+g[p+280>>2]+i*o*+g[p+296>>2])+l*o*(v*o*+g[p+268>>2]+l*o*+g[p+284>>2]+i*o*+g[p+300>>2])+i*o*(v*o*+g[p+272>>2]+l*o*+g[p+288>>2]+i*o*+g[p+304>>2]);z=(x*m-z*o)*(1.0/((m+o)*(m+o)));i=(B*m-C*o)*(1.0/((m+o)*(m+o)));o=(D*m-E*o)*(1.0/((m+o)*(m+o)));l=+g[b+572>>2];if(!(l>=0.0))l=z;else{t=(a[b+553>>0]|0)==0?l:l/m;l=+g[b+576>>2];n=+g[b+580>>2];m=+g[b+584>>2];s=+A(+((z+l)*(z+l)+(i+n)*(i+n)+(o+m)*(o+m)));if(s>t){u=n+(t*(i+n)*(1.0/s)-n);v=m+(t*(o+m)*(1.0/s)-m);x=l+(t*(z+l)*(1.0/s)-l);l=t*(z+l)*(1.0/s)-l;o=t*(o+m)*(1.0/s)-m;i=t*(i+n)*(1.0/s)-n}else{u=i+n;v=o+m;x=z+l;l=z}g[b+576>>2]=x;g[b+580>>2]=u;g[b+584>>2]=v}n=+A(+(l*l+i*i+o*o));m=l*(1.0/n);l=i*(1.0/n);i=o*(1.0/n);if(c[d+240>>2]|0){ba=m*+g[h+296>>2]+l*+g[h+300>>2]+i*+g[h+304>>2];aa=m*+g[h+280>>2]+l*+g[h+284>>2]+i*+g[h+288>>2];$=m*+g[h+264>>2]+l*+g[h+268>>2]+i*+g[h+272>>2];Z=n*0.0*+g[d+116>>2];_=n*0.0*+g[d+120>>2];g[d+64>>2]=n*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Z+ +g[d+68>>2];g[d+72>>2]=_+ +g[d+72>>2];aa=aa*n*+g[d+100>>2];ba=ba*n*+g[d+104>>2];g[d+80>>2]=$*n*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=aa+ +g[d+84>>2];g[d+88>>2]=ba+ +g[d+88>>2]}if(c[e+240>>2]|0){ba=m*+g[p+296>>2]+l*+g[p+300>>2]+i*+g[p+304>>2];aa=m*+g[p+280>>2]+l*+g[p+284>>2]+i*+g[p+288>>2];$=m*+g[p+264>>2]+l*+g[p+268>>2]+i*+g[p+272>>2];Z=n*-0.0*+g[e+116>>2];_=n*-0.0*+g[e+120>>2];g[e+64>>2]=n*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-n;ba=ba*+g[e+104>>2]*-n;g[e+80>>2]=$*+g[e+96>>2]*-n+ +g[e+80>>2];g[e+84>>2]=aa+ +g[e+84>>2];g[e+88>>2]=ba+ +g[e+88>>2]}}h=d+192|0;K=d+80|0;p=d+196|0;L=d+84|0;q=d+200|0;M=d+88|0;r=e+192|0;N=e+80|0;w=e+196|0;O=e+84|0;y=e+200|0;P=e+88|0}while(0);z=+g[h>>2]+ +g[K>>2];x=+g[p>>2]+ +g[L>>2];v=+g[q>>2]+ +g[M>>2];u=+g[r>>2]+ +g[N>>2];t=+g[w>>2]+ +g[O>>2];s=+g[y>>2]+ +g[P>>2];if(a[b+526>>0]|0){l=+g[b+528>>2];i=l*+g[b+504>>2]*+g[b+432>>2]/f;m=+g[b+460>>2];n=+g[b+464>>2];o=+g[b+468>>2];if((u-z)*m+(t-x)*n+(s-v)*o>0.0)i=i+l*((u-z)*m+(t-x)*n+(s-v)*o)*+g[b+436>>2];aa=+g[b+516>>2];_=aa+i*+g[b+492>>2];g[Q+424>>2]=_;g[Q+416>>2]=0.0;h=c[(_>0.0?Q+424|0:Q+416|0)>>2]|0;c[b+516>>2]=h;aa=(c[j>>2]=h,+g[j>>2])-aa;_=+g[b+536>>2];$=+g[b+540>>2];i=+g[b+544>>2];l=m*aa-_*(m*aa*_+n*aa*$+o*aa*i);ba=n*aa-$*(m*aa*_+n*aa*$+o*aa*i);n=o*aa-i*(m*aa*_+n*aa*$+o*aa*i);i=+A(+(n*n+(l*l+ba*ba)));l=l*(1.0/i);m=ba*(1.0/i);n=n*(1.0/i);h=c[b+28>>2]|0;if(c[d+240>>2]|0){ba=l*+g[h+296>>2]+m*+g[h+300>>2]+n*+g[h+304>>2];aa=l*+g[h+280>>2]+m*+g[h+284>>2]+n*+g[h+288>>2];$=l*+g[h+264>>2]+m*+g[h+268>>2]+n*+g[h+272>>2];Z=i*0.0*+g[d+116>>2];_=i*0.0*+g[d+120>>2];g[d+64>>2]=i*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Z+ +g[d+68>>2];g[d+72>>2]=_+ +g[d+72>>2];aa=aa*i*+g[d+100>>2];ba=ba*i*+g[d+104>>2];g[K>>2]=$*i*+g[d+96>>2]+ +g[K>>2];g[L>>2]=aa+ +g[L>>2];g[M>>2]=ba+ +g[M>>2]}h=c[b+32>>2]|0;if(c[e+240>>2]|0){ba=l*+g[h+296>>2]+m*+g[h+300>>2]+n*+g[h+304>>2];aa=l*+g[h+280>>2]+m*+g[h+284>>2]+n*+g[h+288>>2];$=l*+g[h+264>>2]+m*+g[h+268>>2]+n*+g[h+272>>2];Z=i*-0.0*+g[e+116>>2];_=i*-0.0*+g[e+120>>2];g[e+64>>2]=i*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-i;ba=ba*+g[e+104>>2]*-i;g[N>>2]=$*+g[e+96>>2]*-i+ +g[N>>2];g[O>>2]=aa+ +g[O>>2];g[P>>2]=ba+ +g[P>>2]}}if(!(a[b+525>>0]|0)){k=Q;return}o=+g[b+532>>2];n=o*+g[b+508>>2]*+g[b+432>>2]/f;m=+g[b+476>>2];l=+g[b+480>>2];i=+g[b+484>>2];if((u-z)*m+(t-x)*l+(s-v)*i>0.0)n=n+o*((u-z)*m+(t-x)*l+(s-v)*i)*+g[b+436>>2];ba=+g[b+520>>2];n=ba+n*+g[b+496>>2];g[Q+424>>2]=n;g[Q+416>>2]=0.0;h=c[(n>0.0?Q+424|0:Q+416|0)>>2]|0;c[b+520>>2]=h;n=(c[j>>2]=h,+g[j>>2])-ba;h=c[b+28>>2]|0;if(c[d+240>>2]|0){ba=m*+g[h+296>>2]+l*+g[h+300>>2]+i*+g[h+304>>2];aa=m*+g[h+280>>2]+l*+g[h+284>>2]+i*+g[h+288>>2];i=m*+g[h+264>>2]+l*+g[h+268>>2]+i*+g[h+272>>2];m=n*0.0*+g[d+116>>2];l=n*0.0*+g[d+120>>2];g[d+64>>2]=n*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=m+ +g[d+68>>2];g[d+72>>2]=l+ +g[d+72>>2];l=aa*n*+g[d+100>>2];m=ba*n*+g[d+104>>2];g[K>>2]=i*n*+g[d+96>>2]+ +g[K>>2];g[L>>2]=l+ +g[L>>2];g[M>>2]=m+ +g[M>>2];m=+g[b+476>>2];l=+g[b+480>>2];i=+g[b+484>>2]}h=c[b+32>>2]|0;if(!(c[e+240>>2]|0)){k=Q;return}ba=m*+g[h+296>>2]+l*+g[h+300>>2]+i*+g[h+304>>2];aa=m*+g[h+280>>2]+l*+g[h+284>>2]+i*+g[h+288>>2];$=m*+g[h+264>>2]+l*+g[h+268>>2]+i*+g[h+272>>2];Z=n*-0.0*+g[e+116>>2];_=n*-0.0*+g[e+120>>2];g[e+64>>2]=n*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-n;ba=ba*+g[e+104>>2]*-n;g[N>>2]=$*+g[e+96>>2]*-n+ +g[N>>2];g[O>>2]=aa+ +g[O>>2];g[P>>2]=ba+ +g[P>>2];k=Q;return}function lc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=k;k=k+16|0;do if(a>>>0<245){n=a>>>0<11?16:a+11&-8;e=3?n>>>3:n;o=c[7603]|0;f=e?o>>>e:o;if(f&3|0){a=30452+((f&1^1)+e<<1<<2)|0;b=c[a+8>>2]|0;d=c[b+8>>2]|0;if((d|0)==(a|0))c[7603]=o&~(1<<(f&1^1)+e);else{c[d+12>>2]=a;c[a+8>>2]=d}c[b+4>>2]=(f&1^1)+e<<3|3;c[b+((f&1^1)+e<<3)+4>>2]=c[b+((f&1^1)+e<<3)+4>>2]|1;v=b+8|0;k=w;return v|0}m=c[7605]|0;if(n>>>0>m>>>0){if(f|0){f=(f<<e&(2<<e|0-(2<<e))&0-(f<<e&(2<<e|0-(2<<e))))+-1|0;u=(12?f>>>12:f)&16;f=u?f>>>u:f;t=(5?f>>>5:f)&8;f=t?f>>>t:f;v=(2?f>>>2:f)&4;f=v?f>>>v:f;a=(1?f>>>1:f)&2;f=a?f>>>a:f;g=(1?f>>>1:f)&1;f=(t|u|v|a|g)+(g?f>>>g:f)|0;g=c[30452+(f<<1<<2)+8>>2]|0;a=c[g+8>>2]|0;if((a|0)==(30452+(f<<1<<2)|0)){c[7603]=o&~(1<<f);a=o&~(1<<f)}else{c[a+12>>2]=30452+(f<<1<<2);c[30452+(f<<1<<2)+8>>2]=a;a=o}c[g+4>>2]=n|3;c[g+n+4>>2]=(f<<3)-n|1;c[g+(f<<3)>>2]=(f<<3)-n;if(m|0){e=c[7608]|0;d=3?m>>>3:m;if(!(a&1<<d)){c[7603]=a|1<<d;a=30452+(d<<1<<2)|0;b=30452+(d<<1<<2)+8|0}else{a=c[30452+(d<<1<<2)+8>>2]|0;b=30452+(d<<1<<2)+8|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=30452+(d<<1<<2)}c[7605]=(f<<3)-n;c[7608]=g+n;v=g+8|0;k=w;return v|0}h=c[7604]|0;if(h){f=(12?((h&0-h)+-1|0)>>>12:(h&0-h)+-1|0)&16;l=f?((h&0-h)+-1|0)>>>f:(h&0-h)+-1|0;e=(5?l>>>5:l)&8;l=e?l>>>e:l;i=(2?l>>>2:l)&4;l=i?l>>>i:l;j=(1?l>>>1:l)&2;l=j?l>>>j:l;b=(1?l>>>1:l)&1;l=c[30716+((e|f|i|j|b)+(b?l>>>b:l)<<2)>>2]|0;b=l;j=l;l=(c[l+4>>2]&-8)-n|0;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a)break}i=(c[a+4>>2]&-8)-n|0;f=i>>>0<l>>>0;b=a;j=f?a:j;l=f?i:l}i=j+n|0;if(i>>>0>j>>>0){f=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){b=0;break}}while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;b=a}else{b=c[j+8>>2]|0;c[b+12>>2]=a;c[a+8>>2]=b;b=a}while(0);do if(f|0){a=c[j+28>>2]|0;if((j|0)==(c[30716+(a<<2)>>2]|0)){c[30716+(a<<2)>>2]=b;if(!b){c[7604]=h&~(1<<a);break}}else{c[((c[f+16>>2]|0)==(j|0)?f+16|0:f+20|0)>>2]=b;if(!b)break}c[b+24>>2]=f;a=c[j+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[j+20>>2]|0;if(a|0){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);if(l>>>0<16){v=l+n|0;c[j+4>>2]=v|3;v=j+v+4|0;c[v>>2]=c[v>>2]|1}else{c[j+4>>2]=n|3;c[i+4>>2]=l|1;c[i+l>>2]=l;if(m|0){e=c[7608]|0;d=3?m>>>3:m;if(!(1<<d&o)){c[7603]=1<<d|o;a=30452+(d<<1<<2)|0;b=30452+(d<<1<<2)+8|0}else{a=c[30452+(d<<1<<2)+8>>2]|0;b=30452+(d<<1<<2)+8|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=30452+(d<<1<<2)}c[7605]=l;c[7608]=i}v=j+8|0;k=w;return v|0}}}}else if(a>>>0<=4294967231){n=a+11&-8;e=c[7604]|0;if(e){a=8?(a+11|0)>>>8:a+11|0;if(a)if(n>>>0>16777215)j=31;else{o=(16?(a+1048320|0)>>>16:a+1048320|0)&8;s=(16?((a<<o)+520192|0)>>>16:(a<<o)+520192|0)&4;j=(16?((a<<o<<s)+245760|0)>>>16:(a<<o<<s)+245760|0)&2;j=14-(s|o|j)+(15?a<<o<<s<<j>>>15:a<<o<<s<<j)|0;j=(j+7|0?n>>>(j+7|0):n)&1|j<<1}else j=0;a=c[30716+(j<<2)>>2]|0;a:do if(!a){d=0;a=0;b=0-n|0;s=61}else{h=0;b=0-n|0;i=n<<((j|0)==31?0:25-(1?j>>>1:j)|0);d=0;while(1){f=(c[a+4>>2]&-8)-n|0;if(f>>>0<b>>>0)if(!f){f=a;b=0;d=a;s=65;break a}else{h=a;b=f}s=c[a+20>>2]|0;a=c[a+16+((31?i>>>31:i)<<2)>>2]|0;d=(s|0)==0|(s|0)==(a|0)?d:s;if(!a){a=h;s=61;break}else i=i<<1}}while(0);if((s|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;if(!((a|0-a)&e))break;d=((a|0-a)&e&0-((a|0-a)&e))+-1|0;i=(12?d>>>12:d)&16;d=i?d>>>i:d;h=(5?d>>>5:d)&8;d=h?d>>>h:d;j=(2?d>>>2:d)&4;d=j?d>>>j:d;m=(1?d>>>1:d)&2;d=m?d>>>m:d;o=(1?d>>>1:d)&1;a=0;d=c[30716+((h|i|j|m|o)+(o?d>>>o:d)<<2)>>2]|0}if(!d){i=a;h=b}else{f=a;s=65}}if((s|0)==65)while(1){o=(c[d+4>>2]&-8)-n|0;a=o>>>0<b>>>0;b=a?o:b;f=a?d:f;a=c[d+16>>2]|0;if(!a)a=c[d+20>>2]|0;if(!a){i=f;h=b;break}else d=a}if(((i|0)!=0?h>>>0<((c[7605]|0)-n|0)>>>0:0)?(l=i+n|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;a=c[i+12>>2]|0;do if((a|0)==(i|0)){b=i+20|0;a=c[b>>2]|0;if(!a){b=i+16|0;a=c[b>>2]|0;if(!a){a=0;break}}while(1){f=a+20|0;d=c[f>>2]|0;if(!d){f=a+16|0;d=c[f>>2]|0;if(!d)break;else{a=d;b=f}}else{a=d;b=f}}c[b>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);do if(g){b=c[i+28>>2]|0;if((i|0)==(c[30716+(b<<2)>>2]|0)){c[30716+(b<<2)>>2]=a;if(!a){c[7604]=e&~(1<<b);e=e&~(1<<b);break}}else{c[((c[g+16>>2]|0)==(i|0)?g+16|0:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;b=c[i+16>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}b=c[i+20>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a}}while(0);b:do if(h>>>0<16){v=h+n|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=n|3;c[l+4>>2]=h|1;c[l+h>>2]=h;d=3?h>>>3:h;if(h>>>0<256){a=c[7603]|0;if(!(a&1<<d)){c[7603]=a|1<<d;a=30452+(d<<1<<2)|0;b=30452+(d<<1<<2)+8|0}else{a=c[30452+(d<<1<<2)+8>>2]|0;b=30452+(d<<1<<2)+8|0}c[b>>2]=l;c[a+12>>2]=l;c[l+8>>2]=a;c[l+12>>2]=30452+(d<<1<<2);break}a=8?h>>>8:h;if(a)if(h>>>0>16777215)d=31;else{u=(16?(a+1048320|0)>>>16:a+1048320|0)&8;v=(16?((a<<u)+520192|0)>>>16:(a<<u)+520192|0)&4;d=(16?((a<<u<<v)+245760|0)>>>16:(a<<u<<v)+245760|0)&2;d=14-(v|u|d)+(15?a<<u<<v<<d>>>15:a<<u<<v<<d)|0;d=(d+7|0?h>>>(d+7|0):h)&1|d<<1}else d=0;a=30716+(d<<2)|0;c[l+28>>2]=d;c[l+16+4>>2]=0;c[l+16>>2]=0;b=1<<d;if(!(e&b)){c[7604]=e|b;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}a=c[a>>2]|0;c:do if((c[a+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(1?d>>>1:d)|0);while(1){d=a+16+((31?e>>>31:e)<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(h|0)){a=b;break c}else{e=e<<1;a=b}}c[d>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=a+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=a;c[l+24>>2]=0}while(0);v=i+8|0;k=w;return v|0}}}else n=-1;while(0);d=c[7605]|0;if(d>>>0>=n>>>0){a=d-n|0;b=c[7608]|0;if(a>>>0>15){v=b+n|0;c[7608]=v;c[7605]=a;c[v+4>>2]=a|1;c[b+d>>2]=a;c[b+4>>2]=n|3}else{c[7605]=0;c[7608]=0;c[b+4>>2]=d|3;c[b+d+4>>2]=c[b+d+4>>2]|1}v=b+8|0;k=w;return v|0}f=c[7606]|0;if(f>>>0>n>>>0){t=f-n|0;c[7606]=t;v=c[7609]|0;u=v+n|0;c[7609]=u;c[u+4>>2]=t|1;c[v+4>>2]=n|3;v=v+8|0;k=w;return v|0}if(!(c[7721]|0)){c[7723]=4096;c[7722]=4096;c[7724]=-1;c[7725]=-1;c[7726]=0;c[7714]=0;c[7721]=w&-16^1431655768;a=4096}else a=c[7723]|0;h=n+48|0;i=n+47|0;l=a+i|0;j=0-a|0;if((l&j)>>>0<=n>>>0){v=0;k=w;return v|0}a=c[7713]|0;if(a|0?(o=c[7711]|0,(o+(l&j)|0)>>>0<=o>>>0?1:(o+(l&j)|0)>>>0>a>>>0):0){v=0;k=w;return v|0}d:do if(!(c[7714]&4)){d=c[7609]|0;e:do if(d){b=30860;while(1){a=c[b>>2]|0;if(a>>>0<=d>>>0?(p=b+4|0,(a+(c[p>>2]|0)|0)>>>0>d>>>0):0)break;a=c[b+8>>2]|0;if(!a){s=128;break e}else b=a}if((l-f&j)>>>0<2147483647){a=Zp(l-f&j|0)|0;if((a|0)==((c[b>>2]|0)+(c[p>>2]|0)|0))if((a|0)==(-1|0))a=l-f&j;else{h=l-f&j;g=a;s=145;break d}else{e=a;d=l-f&j;s=136}}else a=0}else s=128;while(0);do if((s|0)==128){b=Zp(0)|0;if((b|0)!=(-1|0)?(r=c[7722]|0,r=((r+-1&b|0)==0?0:(r+-1+b&0-r)-b|0)+(l&j)|0,q=c[7711]|0,r>>>0>n>>>0&r>>>0<2147483647):0){p=c[7713]|0;if(p|0?(r+q|0)>>>0<=q>>>0|(r+q|0)>>>0>p>>>0:0){a=0;break}a=Zp(r|0)|0;if((a|0)==(b|0)){h=r;g=b;s=145;break d}else{e=a;d=r;s=136}}else a=0}while(0);do if((s|0)==136){b=0-d|0;if(!(h>>>0>d>>>0&(d>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){a=0;break}else{h=d;g=e;s=145;break d}a=c[7723]|0;a=i-d+a&0-a;if(a>>>0>=2147483647){h=d;g=e;s=145;break d}if((Zp(a|0)|0)==(-1|0)){Zp(b|0)|0;a=0;break}else{h=a+d|0;g=e;s=145;break d}}while(0);c[7714]=c[7714]|4;s=143}else{a=0;s=143}while(0);if(((s|0)==143?(l&j)>>>0<2147483647:0)?(g=Zp(l&j|0)|0,t=Zp(0)|0,u=(t-g|0)>>>0>(n+40|0)>>>0,!((g|0)==(-1|0)|u^1|g>>>0<t>>>0&((g|0)!=(-1|0)&(t|0)!=(-1|0))^1)):0){h=u?t-g|0:a;s=145}if((s|0)==145){a=(c[7711]|0)+h|0;c[7711]=a;if(a>>>0>(c[7712]|0)>>>0)c[7712]=a;j=c[7609]|0;f:do if(j){a=30860;while(1){b=c[a>>2]|0;d=a+4|0;e=c[d>>2]|0;if((g|0)==(b+e|0)){s=154;break}f=c[a+8>>2]|0;if(!f)break;else a=f}if(((s|0)==154?(c[a+12>>2]&8|0)==0:0)?g>>>0>j>>>0&b>>>0<=j>>>0:0){c[d>>2]=e+h;v=(c[7606]|0)+h|0;u=(j+8&7|0)==0?0:0-(j+8)&7;c[7609]=j+u;c[7606]=v-u;c[j+u+4>>2]=v-u|1;c[j+v+4>>2]=40;c[7610]=c[7725];break}if(g>>>0<(c[7607]|0)>>>0)c[7607]=g;d=g+h|0;a=30860;while(1){if((c[a>>2]|0)==(d|0)){s=162;break}b=c[a+8>>2]|0;if(!b)break;else a=b}if((s|0)==162?(c[a+12>>2]&8|0)==0:0){c[a>>2]=g;m=a+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;a=d+((d+8&7|0)==0?0:0-(d+8)&7)|0;l=m+n|0;i=a-m-n|0;c[m+4>>2]=n|3;g:do if((j|0)==(a|0)){v=(c[7606]|0)+i|0;c[7606]=v;c[7609]=l;c[l+4>>2]=v|1}else{if((c[7608]|0)==(a|0)){v=(c[7605]|0)+i|0;c[7605]=v;c[7608]=l;c[l+4>>2]=v|1;c[l+v>>2]=v;break}h=c[a+4>>2]|0;if((h&3|0)==1){b=3?h>>>3:h;h:do if(h>>>0<256){d=c[a+8>>2]|0;e=c[a+12>>2]|0;if((e|0)==(d|0)){c[7603]=c[7603]&~(1<<b);break}else{c[d+12>>2]=e;c[e+8>>2]=d;break}}else{g=c[a+24>>2]|0;b=c[a+12>>2]|0;do if((b|0)==(a|0)){b=c[a+16+4>>2]|0;if(!b){b=c[a+16>>2]|0;if(!b){b=0;break}else d=a+16|0}else d=a+16+4|0;while(1){f=b+20|0;e=c[f>>2]|0;if(!e){f=b+16|0;e=c[f>>2]|0;if(!e)break;else{b=e;d=f}}else{b=e;d=f}}c[d>>2]=0}else{v=c[a+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);if(!g)break;d=c[a+28>>2]|0;do if((c[30716+(d<<2)>>2]|0)!=(a|0)){c[((c[g+16>>2]|0)==(a|0)?g+16|0:g+20|0)>>2]=b;if(!b)break h}else{c[30716+(d<<2)>>2]=b;if(b|0)break;c[7604]=c[7604]&~(1<<d);break h}while(0);c[b+24>>2]=g;d=c[a+16>>2]|0;if(d|0){c[b+16>>2]=d;c[d+24>>2]=b}d=c[a+16+4>>2]|0;if(!d)break;c[b+20>>2]=d;c[d+24>>2]=b}while(0);a=a+(h&-8)|0;f=(h&-8)+i|0}else f=i;d=a+4|0;c[d>>2]=c[d>>2]&-2;c[l+4>>2]=f|1;c[l+f>>2]=f;d=3?f>>>3:f;if(f>>>0<256){a=c[7603]|0;if(!(a&1<<d)){c[7603]=a|1<<d;a=30452+(d<<1<<2)|0;b=30452+(d<<1<<2)+8|0}else{a=c[30452+(d<<1<<2)+8>>2]|0;b=30452+(d<<1<<2)+8|0}c[b>>2]=l;c[a+12>>2]=l;c[l+8>>2]=a;c[l+12>>2]=30452+(d<<1<<2);break}a=8?f>>>8:f;do if(!a)e=0;else{if(f>>>0>16777215){e=31;break}u=(16?(a+1048320|0)>>>16:a+1048320|0)&8;v=(16?((a<<u)+520192|0)>>>16:(a<<u)+520192|0)&4;e=(16?((a<<u<<v)+245760|0)>>>16:(a<<u<<v)+245760|0)&2;e=14-(v|u|e)+(15?a<<u<<v<<e>>>15:a<<u<<v<<e)|0;e=(e+7|0?f>>>(e+7|0):f)&1|e<<1}while(0);a=30716+(e<<2)|0;c[l+28>>2]=e;c[l+16+4>>2]=0;c[l+16>>2]=0;b=c[7604]|0;d=1<<e;if(!(b&d)){c[7604]=b|d;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break}a=c[a>>2]|0;i:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(1?e>>>1:e)|0);while(1){d=a+16+((31?e>>>31:e)<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break i}else{e=e<<1;a=b}}c[d>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;break g}while(0);u=a+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=a;c[l+24>>2]=0}while(0);v=m+8|0;k=w;return v|0}a=30860;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(v=b+(c[a+4>>2]|0)|0,v>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=v+-47+((v+-47+8&7|0)==0?0:0-(v+-47+8)&7)|0;f=f>>>0<(j+16|0)>>>0?j:f;a=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;c[7609]=u;c[7606]=a-t;c[u+4>>2]=a-t|1;c[g+a+4>>2]=40;c[7610]=c[7725];c[f+4>>2]=27;c[f+8>>2]=c[7715];c[f+8+4>>2]=c[7716];c[f+8+8>>2]=c[7717];c[f+8+12>>2]=c[7718];c[7715]=g;c[7716]=h;c[7718]=0;c[7717]=f+8;a=f+24|0;do{u=a;a=a+4|0;c[a>>2]=7}while((u+8|0)>>>0<v>>>0);if((f|0)!=(j|0)){c[f+4>>2]=c[f+4>>2]&-2;c[j+4>>2]=f-j|1;c[f>>2]=f-j;d=3?(f-j|0)>>>3:f-j|0;if((f-j|0)>>>0<256){a=c[7603]|0;if(!(a&1<<d)){c[7603]=a|1<<d;a=30452+(d<<1<<2)|0;b=30452+(d<<1<<2)+8|0}else{a=c[30452+(d<<1<<2)+8>>2]|0;b=30452+(d<<1<<2)+8|0}c[b>>2]=j;c[a+12>>2]=j;c[j+8>>2]=a;c[j+12>>2]=30452+(d<<1<<2);break}a=8?(f-j|0)>>>8:f-j|0;if(a)if((f-j|0)>>>0>16777215)e=31;else{u=(16?(a+1048320|0)>>>16:a+1048320|0)&8;v=(16?((a<<u)+520192|0)>>>16:(a<<u)+520192|0)&4;e=(16?((a<<u<<v)+245760|0)>>>16:(a<<u<<v)+245760|0)&2;e=14-(v|u|e)+(15?a<<u<<v<<e>>>15:a<<u<<v<<e)|0;e=(e+7|0?(f-j|0)>>>(e+7|0):f-j|0)&1|e<<1}else e=0;a=30716+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[j+16>>2]=0;b=c[7604]|0;d=1<<e;if(!(b&d)){c[7604]=b|d;c[a>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}a=c[a>>2]|0;j:do if((c[a+4>>2]&-8|0)!=(f-j|0)){e=f-j<<((e|0)==31?0:25-(1?e>>>1:e)|0);while(1){d=a+16+((31?e>>>31:e)<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f-j|0)){a=b;break j}else{e=e<<1;a=b}}c[d>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=a+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=a;c[j+24>>2]=0}}else{v=c[7607]|0;if((v|0)==0|g>>>0<v>>>0)c[7607]=g;c[7715]=g;c[7716]=h;c[7718]=0;c[7612]=c[7721];c[7611]=-1;c[7616]=30452;c[7615]=30452;c[7618]=30460;c[7617]=30460;c[7620]=30468;c[7619]=30468;c[7622]=30476;c[7621]=30476;c[7624]=30484;c[7623]=30484;c[7626]=30492;c[7625]=30492;c[7628]=30500;c[7627]=30500;c[7630]=30508;c[7629]=30508;c[7632]=30516;c[7631]=30516;c[7634]=30524;c[7633]=30524;c[7636]=30532;c[7635]=30532;c[7638]=30540;c[7637]=30540;c[7640]=30548;c[7639]=30548;c[7642]=30556;c[7641]=30556;c[7644]=30564;c[7643]=30564;c[7646]=30572;c[7645]=30572;c[7648]=30580;c[7647]=30580;c[7650]=30588;c[7649]=30588;c[7652]=30596;c[7651]=30596;c[7654]=30604;c[7653]=30604;c[7656]=30612;c[7655]=30612;c[7658]=30620;c[7657]=30620;c[7660]=30628;c[7659]=30628;c[7662]=30636;c[7661]=30636;c[7664]=30644;c[7663]=30644;c[7666]=30652;c[7665]=30652;c[7668]=30660;c[7667]=30660;c[7670]=30668;c[7669]=30668;c[7672]=30676;c[7671]=30676;c[7674]=30684;c[7673]=30684;c[7676]=30692;c[7675]=30692;c[7678]=30700;c[7677]=30700;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;c[7609]=u;c[7606]=v-t;c[u+4>>2]=v-t|1;c[g+v+4>>2]=40;c[7610]=c[7725]}while(0);a=c[7606]|0;if(a>>>0>n>>>0){t=a-n|0;c[7606]=t;v=c[7609]|0;u=v+n|0;c[7609]=u;c[u+4>>2]=t|1;c[v+4>>2]=n|3;v=v+8|0;k=w;return v|0}}c[7586]=12;v=0;k=w;return v|0}function mc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;T=c[e>>2]|0;da=c[f>>2]|0;if(T|0)g=c[T+12>>2]|0;else g=b;h=c[g+88>>2]|0;j=c[g+92>>2]|0;l=c[g+96>>2]|0;if(!da)g=d;else g=c[da+12>>2]|0;s=c[g+88>>2]|0;q=c[g+92>>2]|0;k=c[g+96>>2]|0;X=c[b+88>>2]|0;ba=(c[d+88>>2]|0)-X|0;u=c[b+92>>2]|0;ca=(c[d+92>>2]|0)-u|0;i=c[b+96>>2]|0;U=(c[d+96>>2]|0)-i|0;W=c[(T|0?T:da)+12>>2]|0;Y=(c[W+88>>2]|0)-X|0;S=(c[W+92>>2]|0)-u|0;W=(c[W+96>>2]|0)-i|0;V=(M(S,U)|0)-(M(W,ca)|0)|0;W=(M(W,ba)|0)-(M(Y,U)|0)|0;S=(M(Y,ca)|0)-(M(S,ba)|0)|0;X=$t(V|0,((V|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;Y=x;u=$t(W|0,((W|0)<0)<<31>>31|0,u|0,((u|0)<0)<<31>>31|0)|0;t=x;i=$t(S|0,((S|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Rx(X|0,Y|0,i|0,x|0)|0;t=Rx(i|0,x|0,u|0,t|0)|0;u=x;i=$t(S|0,((S|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;Y=x;X=$t(W|0,((W|0)<0)<<31>>31|0,U|0,((U|0)<0)<<31>>31|0)|0;X=yx(i|0,Y|0,X|0,x|0)|0;Y=x;i=$t(V|0,((V|0)<0)<<31>>31|0,U|0,((U|0)<0)<<31>>31|0)|0;_=x;Z=$t(S|0,((S|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;Z=yx(i|0,_|0,Z|0,x|0)|0;_=x;i=$t(W|0,((W|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;aa=x;$=$t(V|0,((V|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;$=yx(i|0,aa|0,$|0,x|0)|0;aa=x;i=$t(X|0,Y|0,h|0,((h|0)<0)<<31>>31|0)|0;R=x;m=$t(Z|0,_|0,j|0,((j|0)<0)<<31>>31|0)|0;R=Rx(m|0,x|0,i|0,R|0)|0;i=x;m=$t($|0,aa|0,l|0,((l|0)<0)<<31>>31|0)|0;m=Rx(R|0,i|0,m|0,x|0)|0;i=x;if((T|0)!=0?(c[T+12>>2]|0)!=0:0){g=h;b=j;d=l;n=T;o=i;while(1){n=c[(c[n+8>>2]|0)+4>>2]|0;l=n+12|0;j=c[l>>2]|0;h=c[j+88>>2]|0;Q=$t(h|0,((h|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;P=x;i=c[j+92>>2]|0;R=$t(i|0,((i|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;P=Rx(R|0,x|0,Q|0,P|0)|0;Q=x;j=c[j+96>>2]|0;R=$t(j|0,((j|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;R=Rx(P|0,Q|0,R|0,x|0)|0;Q=x;if((Q|0)<(u|0)|(Q|0)==(u|0)&R>>>0<t>>>0){j=m;i=o;break}if((c[n+20>>2]|0)==(c[a+100>>2]|0)){j=m;i=o;break}Q=$t(X|0,Y|0,h|0,((h|0)<0)<<31>>31|0)|0;R=x;i=$t(Z|0,_|0,i|0,((i|0)<0)<<31>>31|0)|0;R=Rx(i|0,x|0,Q|0,R|0)|0;i=x;j=$t($|0,aa|0,j|0,((j|0)<0)<<31>>31|0)|0;j=Rx(R|0,i|0,j|0,x|0)|0;i=x;if(!((i|0)>(o|0)|(i|0)==(o|0)&j>>>0>m>>>0)){j=m;i=o;break}c[e>>2]=n;R=c[l>>2]|0;g=c[R+88>>2]|0;b=c[R+92>>2]|0;d=c[R+96>>2]|0;if(!R)break;else{o=i;m=j}}h=g;l=d;n=c[f>>2]|0}else{b=j;n=da;j=m}g=$t(X|0,Y|0,s|0,((s|0)<0)<<31>>31|0)|0;R=x;d=$t(Z|0,_|0,q|0,((q|0)<0)<<31>>31|0)|0;R=Rx(d|0,x|0,g|0,R|0)|0;g=x;d=$t($|0,aa|0,k|0,((k|0)<0)<<31>>31|0)|0;d=Rx(R|0,g|0,d|0,x|0)|0;g=x;a:do if(n)if(!(c[n+12>>2]|0))p=n;else{p=n;while(1){r=c[c[p+8>>2]>>2]|0;o=c[r+12>>2]|0;m=c[o+88>>2]|0;Q=$t(m|0,((m|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;P=x;n=c[o+92>>2]|0;R=$t(n|0,((n|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;P=Rx(R|0,x|0,Q|0,P|0)|0;Q=x;o=c[o+96>>2]|0;R=$t(o|0,((o|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;R=Rx(P|0,Q|0,R|0,x|0)|0;Q=x;if((Q|0)<(u|0)|(Q|0)==(u|0)&R>>>0<t>>>0)break a;if((c[r+20>>2]|0)==(c[a+100>>2]|0))break a;m=$t(X|0,Y|0,m|0,((m|0)<0)<<31>>31|0)|0;R=x;n=$t(Z|0,_|0,n|0,((n|0)<0)<<31>>31|0)|0;R=Rx(n|0,x|0,m|0,R|0)|0;n=x;m=$t($|0,aa|0,o|0,((o|0)<0)<<31>>31|0)|0;m=Rx(R|0,n|0,m|0,x|0)|0;n=x;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>d>>>0))break a;c[f>>2]=r;R=c[r+12>>2]|0;g=c[R+88>>2]|0;d=c[R+92>>2]|0;k=c[R+96>>2]|0;if(!R){s=g;q=d;p=r;d=m;g=n;break}else{s=g;q=d;p=r;g=n;d=m}}}else p=0;while(0);i=yx(d|0,g|0,j|0,i|0)|0;d=x;if((d|0)>0|(d|0)==0&i>>>0>0){Q=yx(0,0,S|0,((S|0)<0)<<31>>31|0)|0;R=x;K=s;g=h;L=q;j=b;N=k;m=l;o=i;n=d;while(1){P=g;J=c[e>>2]|0;b:while(1){O=(M(L-j|0,ca)|0)+(M(K-P|0,ba)|0)+(M(N-m|0,U)|0)|0;if(!J)break;if(!(c[J+12>>2]|0))break;F=c[(c[J>>2]|0)+8>>2]|0;if((c[F+20>>2]|0)<=(c[a+100>>2]|0))break;I=c[F+12>>2]|0;G=c[I+88>>2]|0;E=G-P|0;H=c[I+92>>2]|0;D=H-j|0;I=c[I+96>>2]|0;g=I-m|0;t=$t(X|0,Y|0,E|0,((E|0)<0)<<31>>31|0)|0;C=x;r=$t(Z|0,_|0,D|0,((D|0)<0)<<31>>31|0)|0;C=Rx(r|0,x|0,t|0,C|0)|0;t=x;r=$t($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;r=Rx(C|0,t|0,r|0,x|0)|0;t=x;g=(M(D,ca)|0)+(M(E,ba)|0)+(M(g,U)|0)|0;do if((r|0)==0&(t|0)==0){if((g|0)>=0)break b}else{if((t|0)>=0)break b;if((g|0)>0){E=-1;v=g;u=((g|0)<0)<<31>>31}else{v=yx(0,0,g|0,((g|0)<0)<<31>>31|0)|0;E=(g|0)!=0&1;v=g|0?v:0;u=g|0?x:0}A=yx(0,0,r|0,t|0)|0;B=x;if((O|0)>0){g=1;r=-1;C=O;D=((O|0)<0)<<31>>31}else{C=yx(0,0,O|0,((O|0)<0)<<31>>31|0)|0;g=((O|0)!=0)<<31>>31;r=(O|0)!=0&1;C=O|0?C:0;D=O|0?x:0}if((n|0)>0|(n|0)==0&o>>>0>0){r=o;t=n}else{t=(o|0)!=0|(n|0)!=0;z=yx(0,0,o|0,n|0)|0;g=t?r:g;r=t?z:0;t=t?x:0}if((E|0)==(g|0)){if(!E)break;g=$t(r|0,0,v|0,0)|0;w=x;ha=$t(t|0,0,v|0,0)|0;ga=x;y=$t(r|0,0,u|0,0)|0;z=x;fa=$t(t|0,0,u|0,0)|0;v=x;y=Rx(ha|0,0,y|0,0)|0;r=x;v=Rx(ga|0,0,fa|0,v|0)|0;z=Rx(v|0,x|0,z|0,0)|0;r=Rx(z|0,x|0,r|0,0)|0;z=x;v=Rx(0,y|0,g|0,w|0)|0;w=x;y=Rx(r|0,z|0,(w>>>0<y>>>0|(w|0)==(y|0)&v>>>0<0)&1|0,0)|0;z=x;r=$t(C|0,0,A|0,0)|0;g=x;fa=$t(D|0,0,A|0,0)|0;A=x;t=$t(C|0,0,B|0,0)|0;u=x;B=$t(D|0,0,B|0,0)|0;C=x;t=Rx(fa|0,0,t|0,0)|0;D=x;C=Rx(A|0,0,B|0,C|0)|0;u=Rx(C|0,x|0,u|0,0)|0;D=Rx(u|0,x|0,D|0,0)|0;u=x;g=Rx(0,t|0,r|0,g|0)|0;r=x;t=Rx(D|0,u|0,(r>>>0<t>>>0|(r|0)==(t|0)&g>>>0<0)&1|0,0)|0;u=x;if(z>>>0<u>>>0|(z|0)==(u|0)&y>>>0<t>>>0)g=-1;else g=z>>>0>u>>>0|(z|0)==(u|0)&y>>>0>t>>>0?1:w>>>0<r>>>0|(w|0)==(r|0)&v>>>0<g>>>0?-1:(w>>>0>r>>>0|(w|0)==(r|0)&v>>>0>g>>>0)&1;g=M(g,E)|0}else g=E-g|0;if((g|0)<=-1)break b}while(0);n=K-G|0;j=L-H|0;o=N-I|0;n=$t(X|0,Y|0,n|0,((n|0)<0)<<31>>31|0)|0;P=x;j=$t(Z|0,_|0,j|0,((j|0)<0)<<31>>31|0)|0;P=Rx(j|0,x|0,n|0,P|0)|0;n=x;o=$t($|0,aa|0,o|0,((o|0)<0)<<31>>31|0)|0;o=Rx(P|0,n|0,o|0,x|0)|0;n=(J|0)==(T|0)?0:F;c[e>>2]=n;P=G;j=H;m=I;J=n;n=x}g=c[f>>2]|0;if(!g){g=110;break}if(!(c[g+12>>2]|0)){g=110;break}F=c[c[g+8>>2]>>2]|0;if((c[F+20>>2]|0)<=(c[a+100>>2]|0)){g=110;break}u=c[F+12>>2]|0;w=c[u+88>>2]|0;t=w-K|0;v=c[u+92>>2]|0;r=v-L|0;u=c[u+96>>2]|0;g=u-N|0;ha=$t(t|0,((t|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;fa=x;ga=$t(r|0,((r|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;fa=Rx(ga|0,x|0,ha|0,fa|0)|0;ha=x;ga=$t(Q|0,R|0,g|0,((g|0)<0)<<31>>31|0)|0;if(!((fa|0)==(ga|0)&(ha|0)==(x|0))){g=110;break}z=$t(X|0,Y|0,t|0,((t|0)<0)<<31>>31|0)|0;E=x;y=$t(Z|0,_|0,r|0,((r|0)<0)<<31>>31|0)|0;E=Rx(y|0,x|0,z|0,E|0)|0;z=x;y=$t($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;y=Rx(E|0,z|0,y|0,x|0)|0;z=x;g=(M(r,ca)|0)+(M(t,ba)|0)+(M(g,U)|0)|0;E=w-P|0;ga=v-j|0;D=u-m|0;E=$t(X|0,Y|0,E|0,((E|0)<0)<<31>>31|0)|0;ha=x;ga=$t(Z|0,_|0,ga|0,((ga|0)<0)<<31>>31|0)|0;ha=Rx(ga|0,x|0,E|0,ha|0)|0;E=x;D=$t($|0,aa|0,D|0,((D|0)<0)<<31>>31|0)|0;D=Rx(ha|0,E|0,D|0,x|0)|0;E=x;if(!((E|0)>0|(E|0)==0&D>>>0>0)){g=110;break}if((y|0)==0&(z|0)==0){if((g|0)>=0){g=110;break}}else{if((z|0)>=0){g=110;break}if((g|0)>0){C=-1;u=g;t=((g|0)<0)<<31>>31}else{u=yx(0,0,g|0,((g|0)<0)<<31>>31|0)|0;C=(g|0)!=0&1;u=g|0?u:0;t=g|0?x:0}z=yx(0,0,y|0,z|0)|0;A=x;if((O|0)>0){g=1;r=-1;B=O;y=((O|0)<0)<<31>>31}else{B=yx(0,0,O|0,((O|0)<0)<<31>>31|0)|0;g=((O|0)!=0)<<31>>31;r=(O|0)!=0&1;B=O|0?B:0;y=O|0?x:0}if(!((n|0)>0|(n|0)==0&o>>>0>0)){ha=(o|0)!=0|(n|0)!=0;o=yx(0,0,o|0,n|0)|0;g=ha?r:g;o=ha?o:0;n=ha?x:0}if((C|0)==(g|0)){if(!C){g=110;break}ha=$t(o|0,0,u|0,0)|0;g=x;r=$t(n|0,0,u|0,0)|0;O=x;v=$t(o|0,0,t|0,0)|0;w=x;u=$t(n|0,0,t|0,0)|0;t=x;v=Rx(r|0,0,v|0,0)|0;n=x;t=Rx(O|0,0,u|0,t|0)|0;w=Rx(t|0,x|0,w|0,0)|0;n=Rx(w|0,x|0,n|0,0)|0;w=x;t=Rx(0,v|0,ha|0,g|0)|0;u=x;v=Rx(n|0,w|0,(u>>>0<v>>>0|(u|0)==(v|0)&t>>>0<0)&1|0,0)|0;w=x;n=$t(B|0,0,z|0,0)|0;g=x;ha=$t(y|0,0,z|0,0)|0;O=x;o=$t(B|0,0,A|0,0)|0;r=x;fa=$t(y|0,0,A|0,0)|0;ga=x;o=Rx(ha|0,0,o|0,0)|0;ha=x;ga=Rx(O|0,0,fa|0,ga|0)|0;r=Rx(ga|0,x|0,r|0,0)|0;ha=Rx(r|0,x|0,ha|0,0)|0;r=x;g=Rx(0,o|0,n|0,g|0)|0;n=x;o=Rx(ha|0,r|0,(n>>>0<o>>>0|(n|0)==(o|0)&g>>>0<0)&1|0,0)|0;r=x;if(w>>>0<r>>>0|(w|0)==(r|0)&v>>>0<o>>>0)g=-1;else g=w>>>0>r>>>0|(w|0)==(r|0)&v>>>0>o>>>0?1:u>>>0<n>>>0|(u|0)==(n|0)&t>>>0<g>>>0?-1:(u>>>0>n>>>0|(u|0)==(n|0)&t>>>0>g>>>0)&1;g=M(g,C)|0}else g=C-g|0;if((g|0)<=0){g=110;break}}c[f>>2]=F;N=c[F+12>>2]|0;K=c[N+88>>2]|0;g=P;L=c[N+92>>2]|0;N=c[N+96>>2]|0;o=D;n=E}if((g|0)==110)return}if((d|0)>=0)return;F=yx(0,0,S|0,((S|0)<0)<<31>>31|0)|0;G=x;j=p;g=l;c:while(1){D=g;C=j;d:while(1){E=(M(q-b|0,ca)|0)+(M(s-h|0,ba)|0)+(M(k-D|0,U)|0)|0;do if((C|0?c[C+12>>2]|0:0)?(ea=c[(c[C+4>>2]|0)+8>>2]|0,(c[ea+20>>2]|0)>(c[a+100>>2]|0)):0){B=c[ea+12>>2]|0;z=c[B+88>>2]|0;ha=z-s|0;A=c[B+92>>2]|0;ga=A-q|0;B=c[B+96>>2]|0;g=B-k|0;l=$t(X|0,Y|0,ha|0,((ha|0)<0)<<31>>31|0)|0;fa=x;j=$t(Z|0,_|0,ga|0,((ga|0)<0)<<31>>31|0)|0;fa=Rx(j|0,x|0,l|0,fa|0)|0;l=x;j=$t($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;j=Rx(fa|0,l|0,j|0,x|0)|0;l=x;g=(M(ga,ca)|0)+(M(ha,ba)|0)+(M(g,U)|0)|0;if((j|0)==0&(l|0)==0)if((g|0)>0)break d;else break;if((l|0)<0){if((g|0)>0){y=-1;n=g;m=((g|0)<0)<<31>>31}else{n=yx(0,0,g|0,((g|0)<0)<<31>>31|0)|0;y=(g|0)!=0&1;n=g|0?n:0;m=g|0?x:0}t=yx(0,0,j|0,l|0)|0;u=x;if((E|0)>0){g=1;j=-1;v=E;w=((E|0)<0)<<31>>31}else{v=yx(0,0,E|0,((E|0)<0)<<31>>31|0)|0;g=((E|0)!=0)<<31>>31;j=(E|0)!=0&1;v=E|0?v:0;w=E|0?x:0}if((d|0)>0|(d|0)==0&i>>>0>0){j=i;l=d}else{l=(i|0)!=0|(d|0)!=0;ha=yx(0,0,i|0,d|0)|0;g=l?j:g;j=l?ha:0;l=l?x:0}if((y|0)==(g|0)){if(!y)break d;g=$t(j|0,0,n|0,0)|0;o=x;fa=$t(l|0,0,n|0,0)|0;T=x;p=$t(j|0,0,m|0,0)|0;r=x;ha=$t(l|0,0,m|0,0)|0;n=x;p=Rx(fa|0,0,p|0,0)|0;j=x;n=Rx(T|0,0,ha|0,n|0)|0;r=Rx(n|0,x|0,r|0,0)|0;j=Rx(r|0,x|0,j|0,0)|0;r=x;n=Rx(0,p|0,g|0,o|0)|0;o=x;p=Rx(j|0,r|0,(o>>>0<p>>>0|(o|0)==(p|0)&n>>>0<0)&1|0,0)|0;r=x;j=$t(v|0,0,t|0,0)|0;g=x;ha=$t(w|0,0,t|0,0)|0;T=x;l=$t(v|0,0,u|0,0)|0;m=x;fa=$t(w|0,0,u|0,0)|0;ga=x;l=Rx(ha|0,0,l|0,0)|0;ha=x;ga=Rx(T|0,0,fa|0,ga|0)|0;m=Rx(ga|0,x|0,m|0,0)|0;ha=Rx(m|0,x|0,ha|0,0)|0;m=x;g=Rx(0,l|0,j|0,g|0)|0;j=x;l=Rx(ha|0,m|0,(j>>>0<l>>>0|(j|0)==(l|0)&g>>>0<0)&1|0,0)|0;m=x;if(r>>>0<m>>>0|(r|0)==(m|0)&p>>>0<l>>>0)g=-1;else g=r>>>0>m>>>0|(r|0)==(m|0)&p>>>0>l>>>0?1:o>>>0<j>>>0|(o|0)==(j|0)&n>>>0<g>>>0?-1:(o>>>0>j>>>0|(o|0)==(j|0)&n>>>0>g>>>0)&1;g=M(g,y)|0}else g=y-g|0;if((g|0)<1)break d}}while(0);g=c[e>>2]|0;if(!g){g=110;break c}if(!(c[g+12>>2]|0)){g=110;break c}w=c[(c[g+8>>2]|0)+4>>2]|0;if((c[w+20>>2]|0)<=(c[a+100>>2]|0)){g=110;break c}j=c[w+12>>2]|0;m=c[j+88>>2]|0;h=m-h|0;l=c[j+92>>2]|0;b=l-b|0;j=c[j+96>>2]|0;g=j-D|0;ha=$t(h|0,((h|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;fa=x;ga=$t(b|0,((b|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;fa=Rx(ga|0,x|0,ha|0,fa|0)|0;ha=x;ga=$t(F|0,G|0,g|0,((g|0)<0)<<31>>31|0)|0;if(!((fa|0)==(ga|0)&(ha|0)==(x|0))){g=110;break c}o=$t(X|0,Y|0,h|0,((h|0)<0)<<31>>31|0)|0;v=x;n=$t(Z|0,_|0,b|0,((b|0)<0)<<31>>31|0)|0;v=Rx(n|0,x|0,o|0,v|0)|0;o=x;n=$t($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;n=Rx(v|0,o|0,n|0,x|0)|0;o=x;g=(M(b,ca)|0)+(M(h,ba)|0)+(M(g,U)|0)|0;v=s-m|0;ga=q-l|0;u=k-j|0;v=$t(X|0,Y|0,v|0,((v|0)<0)<<31>>31|0)|0;ha=x;ga=$t(Z|0,_|0,ga|0,((ga|0)<0)<<31>>31|0)|0;ha=Rx(ga|0,x|0,v|0,ha|0)|0;v=x;u=$t($|0,aa|0,u|0,((u|0)<0)<<31>>31|0)|0;u=Rx(ha|0,v|0,u|0,x|0)|0;v=x;if((v|0)>=0){g=110;break c}if((n|0)==0&(o|0)==0){if((g|0)<=0){g=110;break c}}else{if((o|0)>=0){g=110;break c}if((g|0)>0){t=-1;j=g;h=((g|0)<0)<<31>>31}else{j=yx(0,0,g|0,((g|0)<0)<<31>>31|0)|0;t=(g|0)!=0&1;j=g|0?j:0;h=g|0?x:0}p=yx(0,0,n|0,o|0)|0;r=x;if((E|0)>0){b=1;n=E;o=((E|0)<0)<<31>>31;g=-1}else{n=yx(0,0,E|0,((E|0)<0)<<31>>31|0)|0;b=((E|0)!=0)<<31>>31;n=E|0?n:0;o=E|0?x:0;g=(E|0)!=0&1}if(!((d|0)>0|(d|0)==0&i>>>0>0)){ha=(i|0)!=0|(d|0)!=0;i=yx(0,0,i|0,d|0)|0;b=ha?g:b;i=ha?i:0;d=ha?x:0}if((t|0)==(b|0)){if(!t){g=110;break c}m=$t(i|0,0,j|0,0)|0;l=x;b=$t(d|0,0,j|0,0)|0;T=x;i=$t(i|0,0,h|0,0)|0;j=x;ha=$t(d|0,0,h|0,0)|0;g=x;i=Rx(b|0,0,i|0,0)|0;b=x;g=Rx(T|0,0,ha|0,g|0)|0;j=Rx(g|0,x|0,j|0,0)|0;b=Rx(j|0,x|0,b|0,0)|0;j=x;l=Rx(0,i|0,m|0,l|0)|0;m=x;i=Rx(b|0,j|0,(m>>>0<i>>>0|(m|0)==(i|0)&l>>>0<0)&1|0,0)|0;j=x;b=$t(n|0,0,p|0,0)|0;g=x;ha=$t(o|0,0,p|0,0)|0;T=x;d=$t(n|0,0,r|0,0)|0;h=x;fa=$t(o|0,0,r|0,0)|0;ga=x;d=Rx(ha|0,0,d|0,0)|0;ha=x;ga=Rx(T|0,0,fa|0,ga|0)|0;h=Rx(ga|0,x|0,h|0,0)|0;ha=Rx(h|0,x|0,ha|0,0)|0;h=x;g=Rx(0,d|0,b|0,g|0)|0;b=x;d=Rx(ha|0,h|0,(b>>>0<d>>>0|(b|0)==(d|0)&g>>>0<0)&1|0,0)|0;h=x;if(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<d>>>0)g=-1;else g=j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>d>>>0?1:m>>>0<b>>>0|(m|0)==(b|0)&l>>>0<g>>>0?-1:(m>>>0>b>>>0|(m|0)==(b|0)&l>>>0>g>>>0)&1;g=M(g,t)|0}else g=t-b|0;if((g|0)>=0){g=110;break c}}c[e>>2]=w;D=c[w+12>>2]|0;h=c[D+88>>2]|0;b=c[D+92>>2]|0;D=c[D+96>>2]|0;C=c[f>>2]|0;d=v;i=u}j=z-h|0;q=A-b|0;i=B-D|0;j=$t(X|0,Y|0,j|0,((j|0)<0)<<31>>31|0)|0;s=x;q=$t(Z|0,_|0,q|0,((q|0)<0)<<31>>31|0)|0;s=Rx(q|0,x|0,j|0,s|0)|0;j=x;i=$t($|0,aa|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Rx(s|0,j|0,i|0,x|0)|0;j=(C|0)==(da|0)?0:ea;c[f>>2]=j;s=z;q=A;k=B;g=D;d=x}if((g|0)==110)return}function nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=k;k=k+176|0;if((e|0)<1){f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;f=c[b+52>>2]|0;if(f|0){if(a[b+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;k=J;return}c[J+32>>2]=0;c[J+36>>2]=0;c[J+40>>2]=0;c[J+44>>2]=256;c[J+48>>2]=0;c[J+52>>2]=0;c[J+56>>2]=0;c[J+60>>2]=256;c[J+64>>2]=0;c[J+68>>2]=0;c[J+72>>2]=0;c[J+76>>2]=256;a[J+96>>0]=1;c[J+92>>2]=0;c[J+84>>2]=0;c[J+88>>2]=0;f=0;h=d;i=-246811958;r=1900671690;t=-246811958;v=1900671690;x=-246811958;y=1900671690;while(1){l=c[h>>2]|0;n=c[h+4>>2]|0;q=c[h+8>>2]|0;m=(c[j>>2]=l,+g[j>>2]);r=m<(c[j>>2]=r,+g[j>>2])?l:r;o=(c[j>>2]=n,+g[j>>2]);v=o<(c[j>>2]=v,+g[j>>2])?n:v;p=(c[j>>2]=q,+g[j>>2]);y=p<(c[j>>2]=y,+g[j>>2])?q:y;i=(c[j>>2]=i,+g[j>>2])<m?l:i;t=(c[j>>2]=t,+g[j>>2])<o?n:t;x=(c[j>>2]=x,+g[j>>2])<p?q:x;f=f+1|0;if((f|0)==(e|0))break;else h=h+16|0}w=(c[j>>2]=i,+g[j>>2]);u=(c[j>>2]=r,+g[j>>2]);s=(c[j>>2]=t,+g[j>>2]);p=(c[j>>2]=v,+g[j>>2]);o=(c[j>>2]=x,+g[j>>2]);m=(c[j>>2]=y,+g[j>>2]);h=w-u<s-p?(s-p<o-m?2:1):w-u<o-m?2:0;c[J+112>>2]=h;f=w-u<s-p?(w-u<o-m?0:2):s-p<o-m?1:2;if((f|0)==(h|0))f=((h+1|0)>>>0)%3|0;c[J+104>>2]=f;r=(h^3)-f|0;c[J+108>>2]=r;z=((r+1|0)%3|0|0)==(h|0)?(w-u)*9.788566967472434e-05:-((w-u)*9.788566967472434e-05);A=((r+1|0)%3|0|0)==(h|0)?(s-p)*9.788566967472434e-05:-((s-p)*9.788566967472434e-05);B=((r+1|0)%3|0|0)==(h|0)?(o-m)*9.788566967472434e-05:-((o-m)*9.788566967472434e-05);g[J>>2]=z;g[J+4>>2]=A;g[J+8>>2]=B;g[J+12>>2]=0.0;z=z!=0.0?1.0/z:z;A=A!=0.0?1.0/A:A;B=B!=0.0?1.0/B:B;g[J+16>>2]=(w+u)*.5;g[J+20>>2]=(s+p)*.5;g[J+24>>2]=(o+m)*.5;g[J+28>>2]=0.0;r=J+144+16|0;a[r>>0]=1;t=J+144+12|0;c[t>>2]=0;c[J+144+4>>2]=0;c[J+144+8>>2]=0;c[7584]=(c[7584]|0)+1;f=lc((e<<4|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}i=c[J+144+4>>2]|0;l=c[t>>2]|0;if((i|0)<=0){if(l|0)I=25}else{f=0;do{I=h+(f<<4)|0;G=l+(f<<4)|0;c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];f=f+1|0}while((f|0)!=(i|0));I=25}if((I|0)==25){if(a[r>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}c[t>>2]=0}a[r>>0]=1;c[t>>2]=h;c[J+144+8>>2]=e;c[h>>2]=c[J+128>>2];c[h+4>>2]=c[J+128+4>>2];c[h+8>>2]=c[J+128+8>>2];c[h+12>>2]=c[J+128+12>>2];if((e|0)!=1){f=1;do{G=(c[t>>2]|0)+(f<<4)|0;c[G>>2]=c[J+128>>2];c[G+4>>2]=c[J+128+4>>2];c[G+8>>2]=c[J+128+8>>2];c[G+12>>2]=c[J+128+12>>2];f=f+1|0}while((f|0)!=(e|0))}c[J+144+4>>2]=e;i=J+128+(c[J+108>>2]<<2)|0;l=c[t>>2]|0;n=J+128+(c[J+112>>2]<<2)|0;q=J+128+(c[J+104>>2]<<2)|0;m=+g[J+16>>2];o=+g[J+20>>2];p=+g[J+24>>2];h=0;f=d;while(1){u=A*(+g[f+4>>2]-o);w=B*(+g[f+8>>2]-p);g[J+128>>2]=z*(+g[f>>2]-m);g[J+128+4>>2]=u;g[J+128+8>>2]=w;g[J+128+12>>2]=0.0;c[l+(h<<4)>>2]=~~+g[i>>2];c[l+(h<<4)+4>>2]=~~+g[n>>2];c[l+(h<<4)+8>>2]=~~+g[q>>2];c[l+(h<<4)+12>>2]=h;h=h+1|0;if((h|0)==(e|0))break;else f=f+16|0}if((e|0)>1)uh(J+144|0,0,e+-1|0);c[J+36>>2]=c[J+32>>2];c[J+40>>2]=0;c[J+44>>2]=e;f=c[J+84>>2]|0;if((f|0)<(e|0)){if((c[J+88>>2]|0)<(e|0)){if(!e){h=0;l=f}else{c[7584]=(c[7584]|0)+1;h=lc((e<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=c[J+84>>2]|0}if((l|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[J+92>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(l|0))}i=c[J+92>>2]|0;if(i|0){if(a[J+96>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[J+92>>2]=0}a[J+96>>0]=1;c[J+92>>2]=h;c[J+88>>2]=e}do{c[(c[J+92>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}c[J+84>>2]=e;n=0;do{f=c[J+40>>2]|0;if(!f){f=c[J+36>>2]|0;if(!f){c[7584]=(c[7584]|0)+1;f=lc(31)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[J+44>>2]|0;c[h+4>>2]=f;i=h+8|0;c[i>>2]=0;c[7584]=(c[7584]|0)+1;f=lc((f*112|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[h>>2]=f;c[i>>2]=c[J+32>>2];c[J+32>>2]=h}else{c[J+36>>2]=c[f+8>>2];h=f}f=c[h>>2]|0;l=c[h+4>>2]|0;if((l|0)>0?(c[f>>2]=(l|0)!=1?f+112|0:0,(l|0)!=1):0){h=1;i=f+112|0;do{h=h+1|0;G=(h|0)<(l|0);F=i;i=i+112|0;c[F>>2]=G?i:0}while(G)}}c[J+40>>2]=c[f>>2];G=f+104|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[G>>2]=-1;c[f+8>>2]=0;E=(c[t>>2]|0)+(n<<4)|0;F=f+88|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];c[G>>2]=-1;c[(c[J+92>>2]|0)+(n<<2)>>2]=f;n=n+1|0}while((n|0)<(e|0));f=c[t>>2]|0;if(f|0){if(a[r>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[t>>2]=0}a[r>>0]=1;c[t>>2]=0;c[J+144+4>>2]=0;c[J+144+8>>2]=0;c[J+52>>2]=c[J+48>>2];c[J+56>>2]=0;c[J+60>>2]=e*6;c[J+116>>2]=0;c[J+120>>2]=0;c[J+100>>2]=-3;c[J+128>>2]=0;c[J+128+4>>2]=0;c[J+128+8>>2]=0;c[J+128+12>>2]=0;ic(J,0,e,J+128|0);c[J+124>>2]=c[J+128>>2];f=c[t>>2]|0;if(f|0){if(a[r>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[t>>2]=0}f=c[b+4>>2]|0;if((f|0)<0){if((c[b+8>>2]|0)<0){h=c[b+12>>2]|0;if(h|0){if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{G=(c[b+12>>2]|0)+(f<<4)|0;c[G>>2]=c[J+144>>2];c[G+4>>2]=c[J+144+4>>2];c[G+8>>2]=c[J+144+8>>2];c[G+12>>2]=c[J+144+12>>2];f=f+1|0}while((f|0)!=0)}c[b+4>>2]=0;c[J+144>>2]=0;c[J+144+4>>2]=0;c[J+144+8>>2]=0;f=c[b+24>>2]|0;if((f|0)<0){if((c[b+28>>2]|0)<0){h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0}do{G=(c[b+32>>2]|0)+(f*12|0)|0;c[G>>2]=c[J+144>>2];c[G+4>>2]=c[J+144+4>>2];c[G+8>>2]=c[J+144+8>>2];f=f+1|0}while((f|0)!=0)}c[b+24>>2]=0;h=c[b+44>>2]|0;if((h|0)<0){f=c[b+52>>2]|0;if((c[b+48>>2]|0)<0){if(f|0?a[b+56>>0]|0:0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;f=0}Bl(f+(h<<2)|0,0,M(h,-4)|0)|0}c[b+44>>2]=0;h=c[J+124>>2]|0;if((c[h+104>>2]|0)<0){c[h+104>>2]=0;c[7584]=(c[7584]|0)+1;f=lc(23)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=h;G=0;q=1;r=f;t=1;i=f;x=f;while(1){if((c[h+100>>2]|0)>-1){g[J+144+(c[J+108>>2]<<2)>>2]=+(c[h+88>>2]|0);g[J+144+(c[J+112>>2]<<2)>>2]=+(c[h+92>>2]|0);m=+(c[h+96>>2]|0)}else{m=+Nl(h+24|0);F=h+72|0;m=m/+Nl(F);g[J+144+(c[J+108>>2]<<2)>>2]=m;m=+Nl(h+40|0);m=m/+Nl(F);g[J+144+(c[J+112>>2]<<2)>>2]=m;m=+Nl(h+56|0);m=m/+Nl(F)}g[J+144+(c[J+104>>2]<<2)>>2]=m;m=+g[J+144>>2]*+g[J>>2]+ +g[J+16>>2];o=+g[J+144+4>>2]*+g[J+4>>2]+ +g[J+20>>2];p=+g[J+144+8>>2]*+g[J+8>>2]+ +g[J+24>>2];l=c[b+4>>2]|0;if((l|0)==(c[b+8>>2]|0)?(H=(l|0)==0?1:l<<1,(l|0)<(H|0)):0){if(!H)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((H<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}l=c[b+4>>2]|0}if((l|0)>0){n=0;do{F=f+(n<<4)|0;E=(c[b+12>>2]|0)+(n<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];n=n+1|0}while((n|0)!=(l|0))}l=c[b+12>>2]|0;if(l|0){if(a[b+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=f;c[b+8>>2]=H;f=c[b+4>>2]|0}else f=l;F=c[b+12>>2]|0;g[F+(f<<4)>>2]=m;g[F+(f<<4)+4>>2]=o;g[F+(f<<4)+8>>2]=p;g[F+(f<<4)+12>>2]=0.0;c[b+4>>2]=(c[b+4>>2]|0)+1;F=c[h+8>>2]|0;if(!F){l=q;y=r;h=t}else{D=F;E=-1;f=-1;y=q;e=r;h=t;while(1){C=D+20|0;n=c[C>>2]|0;if((n|0)<0){d=c[b+24>>2]|0;c[J+144>>2]=0;c[J+144+4>>2]=0;c[J+144+8>>2]=0;do if((d|0)==(c[b+28>>2]|0)){r=(d|0)==0?1:d<<1;if((d|0)>=(r|0)){l=d;break}if(!r){l=0;q=d}else{c[7584]=(c[7584]|0)+1;l=lc((r*12|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}q=c[b+24>>2]|0}if((q|0)>0){n=0;do{v=l+(n*12|0)|0;t=(c[b+32>>2]|0)+(n*12|0)|0;c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];n=n+1|0}while((n|0)!=(q|0))}n=c[b+32>>2]|0;if(n|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=l;c[b+28>>2]=r;l=c[b+24>>2]|0}else l=d;while(0);l=(c[b+32>>2]|0)+(l*12|0)|0;c[l>>2]=c[J+144>>2];c[l+4>>2]=c[J+144+4>>2];c[l+8>>2]=c[J+144+8>>2];l=(c[b+24>>2]|0)+1|0;c[b+24>>2]=l;c[J+144>>2]=0;c[J+144+4>>2]=0;c[J+144+8>>2]=0;do if((l|0)==(c[b+28>>2]|0)){r=(l|0)==0?1:l<<1;if((l|0)>=(r|0))break;if(!r)q=0;else{c[7584]=(c[7584]|0)+1;l=lc((r*12|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}q=l;l=c[b+24>>2]|0}if((l|0)>0){n=0;do{v=q+(n*12|0)|0;t=(c[b+32>>2]|0)+(n*12|0)|0;c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];n=n+1|0}while((n|0)!=(l|0))}l=c[b+32>>2]|0;if(l|0){if(a[b+36>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=q;c[b+28>>2]=r;l=c[b+24>>2]|0}while(0);v=(c[b+32>>2]|0)+(l*12|0)|0;c[v>>2]=c[J+144>>2];c[v+4>>2]=c[J+144+4>>2];c[v+8>>2]=c[J+144+8>>2];c[b+24>>2]=(c[b+24>>2]|0)+1;v=c[b+32>>2]|0;c[C>>2]=d;c[(c[D+8>>2]|0)+20>>2]=d+1;c[v+(d*12|0)+4>>2]=1;c[v+((d+1|0)*12|0)+4>>2]=-1;t=c[D+12>>2]|0;l=c[t+104>>2]|0;if((l|0)<0){c[t+104>>2]=h;do if((h|0)==(y|0)){l=(y|0)==0?1:y<<1;if((y|0)>=(l|0)){l=y;n=e;r=x;break}do if(!l)q=0;else{c[7584]=(c[7584]|0)+1;n=lc((l<<2|3)+16|0)|0;if(!n){q=0;break}c[(n+4+15&-16)+-4>>2]=n;q=n+4+15&-16}while(0);if((y|0)>0){n=0;do{c[q+(n<<2)>>2]=c[e+(n<<2)>>2];n=n+1|0}while((n|0)!=(y|0));if(!i){n=q;r=q;i=q;break}}else if((e|0)==0|(i|0)==0){n=q;r=q;i=q;break}c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);n=q;r=q;i=q}else{l=y;n=e;r=x}while(0);c[n+(h<<2)>>2]=t;t=h;h=h+1|0;q=r}else{t=l;l=y;n=e;q=x}c[v+(d*12|0)+8>>2]=t;c[v+((d+1|0)*12|0)+8>>2]=G;r=n;n=c[C>>2]|0}else{l=y;r=e;q=x}if((E|0)>-1)c[(c[b+32>>2]|0)+(n*12|0)>>2]=E-n;else f=n;D=c[D>>2]|0;if((D|0)==(F|0))break;else{E=n;y=l;e=r;x=q}}c[(c[b+32>>2]|0)+(f*12|0)>>2]=n-f;y=r;x=q}f=G+1|0;if((f|0)>=(h|0))break;G=f;q=l;r=y;t=h;h=c[y+(f<<2)>>2]|0}t=0;while(1){v=c[(c[y+(t<<2)>>2]|0)+8>>2]|0;if(v|0){r=v;do{q=r+20|0;f=c[q>>2]|0;if((f|0)>-1){h=c[b+44>>2]|0;do if((h|0)==(c[b+48>>2]|0)){n=(h|0)==0?1:h<<1;if((h|0)>=(n|0))break;if(!n)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((n<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[b+44>>2]|0}l=c[b+52>>2]|0;if((h|0)<=0){if(l)I=186}else{i=0;do{c[f+(i<<2)>>2]=c[l+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));I=186}if((I|0)==186){I=0;if(a[b+56>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0)}c[b+52>>2]=0;h=c[b+44>>2]|0}a[b+56>>0]=1;c[b+52>>2]=f;c[b+48>>2]=n;f=c[q>>2]|0}while(0);c[(c[b+52>>2]|0)+(h<<2)>>2]=f;c[b+44>>2]=(c[b+44>>2]|0)+1;f=r;do{c[f+20>>2]=-1;f=c[(c[f+8>>2]|0)+4>>2]|0}while((f|0)!=(r|0))}r=c[r>>2]|0}while((r|0)!=(v|0))}if((t|0)==(G|0))break;else t=t+1|0}if(!((y|0)==0|(x|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[x+-4>>2]|0)}}nj(J);k=J;return}function oc(b){b=b|0;var d=0,e=0.0,f=0.0,h=0,i=0,j=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0;J=k;k=k+64|0;if(!(a[b+356>>0]|0)){b=a[b+312>>0]|0;b=b<<24>>24!=0;k=J;return b|0}c[b+336>>2]=0;c[b+336+4>>2]=0;c[b+336+8>>2]=0;c[b+336+12>>2]=0;a[b+336+16>>0]=0;p=a[b+332>>0]|0;a[b+332>>0]=p&-16;a[b+356>>0]=0;switch(c[b>>2]|0){case 0:{a[b+312>>0]=0;b=0;b=b<<24>>24!=0;k=J;return b|0}case 1:{c[b+244>>2]=c[b+84>>2];c[b+244+4>>2]=c[b+84+4>>2];c[b+244+8>>2]=c[b+84+8>>2];c[b+244+12>>2]=c[b+84+12>>2];c[b+260>>2]=c[b+164>>2];c[b+260+4>>2]=c[b+164+4>>2];c[b+260+8>>2]=c[b+164+8>>2];c[b+260+12>>2]=c[b+164+12>>2];F=+g[b+248>>2]-+g[b+264>>2];G=+g[b+252>>2]-+g[b+268>>2];g[b+276>>2]=+g[b+244>>2]-+g[b+260>>2];g[b+280>>2]=F;g[b+284>>2]=G;g[b+288>>2]=0.0;a[b+352>>0]=0;a[b+332>>0]=p&-16;g[b+336>>2]=1.0;g[b+340>>2]=0.0;g[b+344>>2]=0.0;g[b+348>>2]=0.0;a[b+312>>0]=1;b=1;b=b<<24>>24!=0;k=J;return b|0}case 2:{e=+g[b+4>>2];f=+g[b+8>>2];j=+g[b+12>>2];l=+g[b+20>>2]-e;m=+g[b+24>>2]-f;n=+g[b+28>>2]-j;if((0.0-e)*l+(0.0-f)*m+(0.0-j)*n>0.0)if((0.0-e)*l+(0.0-f)*m+(0.0-j)*n<l*l+m*m+n*n){f=((0.0-e)*l+(0.0-f)*m+(0.0-j)*n)/(l*l+m*m+n*n);h=3}else{f=1.0;h=2}else{f=0.0;h=1}a[b+332>>0]=p&-16|h;e=1.0-f;g[b+336>>2]=e;g[b+340>>2]=f;g[b+344>>2]=0.0;g[b+348>>2]=0.0;B=+g[b+84>>2];D=+g[b+88>>2];F=+g[b+92>>2];B=B+f*(+g[b+100>>2]-B);D=D+f*(+g[b+104>>2]-D);F=F+f*(+g[b+108>>2]-F);g[b+244>>2]=B;g[b+248>>2]=D;g[b+252>>2]=F;g[b+256>>2]=0.0;C=+g[b+164>>2];E=+g[b+168>>2];G=+g[b+172>>2];C=C+f*(+g[b+180>>2]-C);E=E+f*(+g[b+184>>2]-E);G=G+f*(+g[b+188>>2]-G);g[b+260>>2]=C;g[b+264>>2]=E;g[b+268>>2]=G;g[b+272>>2]=0.0;g[b+276>>2]=B-C;g[b+280>>2]=D-E;g[b+284>>2]=F-G;g[b+288>>2]=0.0;if(!(h&2)){c[b>>2]=1;d=0}else d=1;if(!(h&1)){r=b+4+(d<<4)|0;H=b+84+(d<<4)|0;I=b+164+(d<<4)|0;c[b>>2]=d;c[b+4>>2]=c[r>>2];c[b+4+4>>2]=c[r+4>>2];c[b+4+8>>2]=c[r+8>>2];c[b+4+12>>2]=c[r+12>>2];c[b+84>>2]=c[H>>2];c[b+84+4>>2]=c[H+4>>2];c[b+84+8>>2]=c[H+8>>2];c[b+84+12>>2]=c[H+12>>2];c[b+164>>2]=c[I>>2];c[b+164+4>>2]=c[I+4>>2];c[b+164+8>>2]=c[I+8>>2];c[b+164+12>>2]=c[I+12>>2]}I=f>=0.0&e>=0.0&1;a[b+312>>0]=I;b=I;b=b<<24>>24!=0;k=J;return b|0}case 3:{c[J+16>>2]=0;c[J+16+4>>2]=0;c[J+16+8>>2]=0;c[J+16+12>>2]=0;nf(J+16|0,b+4|0,b+20|0,b+36|0,b+316|0);G=+g[b+336>>2];e=+g[b+340>>2];f=+g[b+344>>2];B=+g[b+84>>2]*G+ +g[b+100>>2]*e+ +g[b+116>>2]*f;D=G*+g[b+88>>2]+e*+g[b+104>>2]+f*+g[b+120>>2];F=G*+g[b+92>>2]+e*+g[b+108>>2]+f*+g[b+124>>2];g[b+244>>2]=B;g[b+248>>2]=D;g[b+252>>2]=F;g[b+256>>2]=0.0;C=G*+g[b+164>>2]+e*+g[b+180>>2]+f*+g[b+196>>2];E=G*+g[b+168>>2]+e*+g[b+184>>2]+f*+g[b+200>>2];G=G*+g[b+172>>2]+e*+g[b+188>>2]+f*+g[b+204>>2];g[b+260>>2]=C;g[b+264>>2]=E;g[b+268>>2]=G;g[b+272>>2]=0.0;g[b+276>>2]=B-C;g[b+280>>2]=D-E;g[b+284>>2]=F-G;g[b+288>>2]=0.0;p=c[b>>2]|0;do if((p|0)>3){d=a[b+332>>0]|0;if(!(d&8)){h=b+164+(p+-1<<4)|0;o=b+84+(p+-1<<4)|0;i=b+4+(p+-1<<4)|0;c[b>>2]=p+-1;c[b+52>>2]=c[i>>2];c[b+52+4>>2]=c[i+4>>2];c[b+52+8>>2]=c[i+8>>2];c[b+52+12>>2]=c[i+12>>2];c[b+132>>2]=c[o>>2];c[b+132+4>>2]=c[o+4>>2];c[b+132+8>>2]=c[o+8>>2];c[b+132+12>>2]=c[o+12>>2];c[b+212>>2]=c[h>>2];c[b+212+4>>2]=c[h+4>>2];c[b+212+8>>2]=c[h+8>>2];c[b+212+12>>2]=c[h+12>>2];h=b+332|0;o=d;i=p+-1|0;I=19}else{h=b+332|0;o=d;i=p;I=19}}else{if((p|0)==3){h=b+332|0;o=a[b+332>>0]|0;i=3;I=19;break}if((p|0)<=1){if((p|0)==1){d=1;I=26}}else{d=2;I=22}}while(0);if((I|0)==19){d=i+-1|0;if(!(o&4)){c[b>>2]=d;c[b+36>>2]=c[b+4+(d<<4)>>2];c[b+36+4>>2]=c[b+4+(d<<4)+4>>2];c[b+36+8>>2]=c[b+4+(d<<4)+8>>2];c[b+36+12>>2]=c[b+4+(d<<4)+12>>2];c[b+116>>2]=c[b+84+(d<<4)>>2];c[b+116+4>>2]=c[b+84+(d<<4)+4>>2];c[b+116+8>>2]=c[b+84+(d<<4)+8>>2];c[b+116+12>>2]=c[b+84+(d<<4)+12>>2];c[b+196>>2]=c[b+164+(d<<4)>>2];c[b+196+4>>2]=c[b+164+(d<<4)+4>>2];c[b+196+8>>2]=c[b+164+(d<<4)+8>>2];c[b+196+12>>2]=c[b+164+(d<<4)+12>>2];I=23}else{d=i;I=22}}if((I|0)==22){h=b+332|0;I=23}if((I|0)==23){i=d+-1|0;if(!(a[h>>0]&2)){c[b>>2]=i;c[b+20>>2]=c[b+4+(i<<4)>>2];c[b+20+4>>2]=c[b+4+(i<<4)+4>>2];c[b+20+8>>2]=c[b+4+(i<<4)+8>>2];c[b+20+12>>2]=c[b+4+(i<<4)+12>>2];c[b+100>>2]=c[b+84+(i<<4)>>2];c[b+100+4>>2]=c[b+84+(i<<4)+4>>2];c[b+100+8>>2]=c[b+84+(i<<4)+8>>2];c[b+100+12>>2]=c[b+84+(i<<4)+12>>2];c[b+180>>2]=c[b+164+(i<<4)>>2];c[b+180+4>>2]=c[b+164+(i<<4)+4>>2];c[b+180+8>>2]=c[b+164+(i<<4)+8>>2];c[b+180+12>>2]=c[b+164+(i<<4)+12>>2];o=h;I=27}else I=26}if((I|0)==26){o=b+332|0;i=d;I=27}if((I|0)==27?(q=i+-1|0,(a[o>>0]&1)==0):0){c[b>>2]=q;c[b+4>>2]=c[b+4+(q<<4)>>2];c[b+4+4>>2]=c[b+4+(q<<4)+4>>2];c[b+4+8>>2]=c[b+4+(q<<4)+8>>2];c[b+4+12>>2]=c[b+4+(q<<4)+12>>2];c[b+84>>2]=c[b+84+(q<<4)>>2];c[b+84+4>>2]=c[b+84+(q<<4)+4>>2];c[b+84+8>>2]=c[b+84+(q<<4)+8>>2];c[b+84+12>>2]=c[b+84+(q<<4)+12>>2];c[b+164>>2]=c[b+164+(q<<4)>>2];c[b+164+4>>2]=c[b+164+(q<<4)+4>>2];c[b+164+8>>2]=c[b+164+(q<<4)+8>>2];c[b+164+12>>2]=c[b+164+(q<<4)+12>>2]}if((e>=0.0?!(+g[b+336>>2]>=0.0):1)|!(f>=0.0))d=0;else d=+g[b+348>>2]>=0.0&1;a[b+312>>0]=d;b=d;b=b<<24>>24!=0;k=J;return b|0}case 4:{c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;r=J+16+16|0;a[r>>0]=0;c[b+316>>2]=0;c[b+316+4>>2]=0;c[b+316+8>>2]=0;c[b+316+12>>2]=0;a[b+332>>0]=p|15;L=+g[b+20>>2];U=+g[b+4>>2];R=+g[b+24>>2];K=+g[b+8>>2];N=+g[b+28>>2];V=+g[b+12>>2];Q=+g[b+36>>2];S=+g[b+40>>2];O=+g[b+44>>2];M=+g[b+52>>2];T=+g[b+56>>2];P=+g[b+60>>2];W=((R-K)*(O-V)-(N-V)*(S-K))*(M-U)+((N-V)*(Q-U)-(L-U)*(O-V))*(T-K)+((L-U)*(S-K)-(R-K)*(Q-U))*(P-V);i=W*W<9.99999905104687e-09?-1:((0.0-U)*((R-K)*(O-V)-(N-V)*(S-K))+(0.0-K)*((N-V)*(Q-U)-(L-U)*(O-V))+((L-U)*(S-K)-(R-K)*(Q-U))*(0.0-V))*W<0.0&1;W=(N-V)*((Q-U)*(T-K)-(S-K)*(M-U))+((L-U)*((S-K)*(P-V)-(O-V)*(T-K))+(R-K)*((O-V)*(M-U)-(Q-U)*(P-V)));o=W*W<9.99999905104687e-09?-1:((0.0-V)*((Q-U)*(T-K)-(S-K)*(M-U))+((0.0-U)*((S-K)*(P-V)-(O-V)*(T-K))+(0.0-K)*((O-V)*(M-U)-(Q-U)*(P-V))))*W<0.0&1;W=(O-V)*((R-K)*(M-U)-(L-U)*(T-K))+((Q-U)*((N-V)*(T-K)-(R-K)*(P-V))+(S-K)*((L-U)*(P-V)-(N-V)*(M-U)));p=W*W<9.99999905104687e-09?-1:((0.0-V)*((R-K)*(M-U)-(L-U)*(T-K))+((0.0-U)*((N-V)*(T-K)-(R-K)*(P-V))+(0.0-K)*((L-U)*(P-V)-(N-V)*(M-U))))*W<0.0&1;K=(V-N)*((S-R)*(M-L)-(Q-L)*(T-R))+((U-L)*((O-N)*(T-R)-(S-R)*(P-N))+(K-R)*((Q-L)*(P-N)-(O-N)*(M-L)));q=K*K<9.99999905104687e-09?-1:((0.0-N)*((S-R)*(M-L)-(Q-L)*(T-R))+((0.0-L)*((O-N)*(T-R)-(S-R)*(P-N))+(0.0-R)*((Q-L)*(P-N)-(O-N)*(M-L))))*K<0.0&1;do if((o|i|p|q|0)<0){a[b+352>>0]=1;d=b+312|0;I=68}else{if(!(o|i|p|q)){if(a[b+352>>0]|0){d=b+312|0;I=68;break}a[b+312>>0]=1;c[b+276>>2]=0;c[b+276+4>>2]=0;c[b+276+8>>2]=0;c[b+276+12>>2]=0;d=1;break}if((i|0)!=0?(nf(J,b+4|0,b+20|0,b+36|0,J+16|0),e=+g[J+16>>2],f=+g[J+16+4>>2],j=+g[J+16+8>>2],l=e-+g[J>>2],m=f-+g[J+4>>2],n=j-+g[J+8>>2],l*l+m*m+n*n<3402823466385288598117041.0e14):0){X=c[J+16+12>>2]|0;g[b+316>>2]=e;g[b+320>>2]=f;g[b+324>>2]=j;c[b+328>>2]=X;X=a[r>>0]|0;a[b+332>>0]=X&1|a[b+332>>0]&-16|X&2|X&4;X=c[J+16+24>>2]|0;i=c[J+16+28>>2]|0;c[b+336>>2]=c[J+16+20>>2];c[b+340>>2]=X;c[b+344>>2]=i;g[b+348>>2]=0.0;e=l*l+m*m+n*n}else e=3402823466385288598117041.0e14;if((o|0)!=0?(nf(J,b+4|0,b+36|0,b+52|0,J+16|0),s=+g[J+16>>2],t=+g[J+16+4>>2],u=+g[J+16+8>>2],v=s-+g[J>>2],w=t-+g[J+4>>2],x=u-+g[J+8>>2],v*v+w*w+x*x<e):0){o=c[J+16+12>>2]|0;g[b+316>>2]=s;g[b+320>>2]=t;g[b+324>>2]=u;c[b+328>>2]=o;o=a[r>>0]|0;a[b+332>>0]=o&1|a[b+332>>0]&-16|o<<1&4|o<<1&8;o=c[J+16+24>>2]|0;X=c[J+16+28>>2]|0;c[b+336>>2]=c[J+16+20>>2];g[b+340>>2]=0.0;c[b+344>>2]=o;c[b+348>>2]=X;e=v*v+w*w+x*x}if((p|0)!=0?(nf(J,b+4|0,b+52|0,b+20|0,J+16|0),y=+g[J+16>>2],z=+g[J+16+4>>2],A=+g[J+16+8>>2],B=y-+g[J>>2],C=z-+g[J+4>>2],D=A-+g[J+8>>2],B*B+C*C+D*D<e):0){p=c[J+16+12>>2]|0;g[b+316>>2]=y;g[b+320>>2]=z;g[b+324>>2]=A;c[b+328>>2]=p;p=a[r>>0]|0;a[b+332>>0]=p&1|a[b+332>>0]&-16|(1?(p&255)>>>1:p&255)&2|p<<2&8;p=c[J+16+28>>2]|0;X=c[J+16+24>>2]|0;c[b+336>>2]=c[J+16+20>>2];c[b+340>>2]=p;g[b+344>>2]=0.0;c[b+348>>2]=X;e=B*B+C*C+D*D}if(q|0?(nf(J,b+20|0,b+52|0,b+36|0,J+16|0),E=+g[J+16>>2],F=+g[J+16+4>>2],G=+g[J+16+8>>2],U=E-+g[J>>2],V=F-+g[J+4>>2],W=G-+g[J+8>>2],U*U+V*V+W*W<e):0){q=c[J+16+12>>2]|0;g[b+316>>2]=E;g[b+320>>2]=F;g[b+324>>2]=G;c[b+328>>2]=q;q=a[r>>0]|0;a[b+332>>0]=q&4|a[b+332>>0]&-16|q<<1&2|q<<2&8;q=c[J+16+20>>2]|0;r=c[J+16+28>>2]|0;X=c[J+16+24>>2]|0;g[b+336>>2]=0.0;c[b+340>>2]=q;c[b+344>>2]=r;c[b+348>>2]=X}P=+g[b+336>>2];Q=+g[b+340>>2];W=+g[b+344>>2];e=+g[b+348>>2];R=+g[b+84>>2]*P+ +g[b+100>>2]*Q+ +g[b+116>>2]*W+ +g[b+132>>2]*e;T=P*+g[b+88>>2]+Q*+g[b+104>>2]+W*+g[b+120>>2]+e*+g[b+136>>2];V=P*+g[b+92>>2]+Q*+g[b+108>>2]+W*+g[b+124>>2]+e*+g[b+140>>2];g[b+244>>2]=R;g[b+248>>2]=T;g[b+252>>2]=V;g[b+256>>2]=0.0;S=P*+g[b+164>>2]+Q*+g[b+180>>2]+W*+g[b+196>>2]+e*+g[b+212>>2];U=P*+g[b+168>>2]+Q*+g[b+184>>2]+W*+g[b+200>>2]+e*+g[b+216>>2];W=P*+g[b+172>>2]+Q*+g[b+188>>2]+W*+g[b+204>>2]+e*+g[b+220>>2];g[b+260>>2]=S;g[b+264>>2]=U;g[b+268>>2]=W;g[b+272>>2]=0.0;g[b+276>>2]=R-S;g[b+280>>2]=T-U;g[b+284>>2]=V-W;g[b+288>>2]=0.0;i=c[b>>2]|0;do if((i|0)>3){d=a[b+332>>0]|0;if(!(d&8)){h=b+164+(i+-1<<4)|0;o=b+84+(i+-1<<4)|0;I=b+4+(i+-1<<4)|0;c[b>>2]=i+-1;c[b+52>>2]=c[I>>2];c[b+52+4>>2]=c[I+4>>2];c[b+52+8>>2]=c[I+8>>2];c[b+52+12>>2]=c[I+12>>2];c[b+132>>2]=c[o>>2];c[b+132+4>>2]=c[o+4>>2];c[b+132+8>>2]=c[o+8>>2];c[b+132+12>>2]=c[o+12>>2];c[b+212>>2]=c[h>>2];c[b+212+4>>2]=c[h+4>>2];c[b+212+8>>2]=c[h+8>>2];c[b+212+12>>2]=c[h+12>>2];h=b+332|0;o=d;i=i+-1|0;I=52}else{h=b+332|0;o=d;I=52}}else{if((i|0)==3){h=b+332|0;o=a[b+332>>0]|0;i=3;I=52;break}if((i|0)<=1){if((i|0)==1){d=1;I=59}}else{d=2;I=55}}while(0);if((I|0)==52){d=i+-1|0;if(!(o&4)){c[b>>2]=d;c[b+36>>2]=c[b+4+(d<<4)>>2];c[b+36+4>>2]=c[b+4+(d<<4)+4>>2];c[b+36+8>>2]=c[b+4+(d<<4)+8>>2];c[b+36+12>>2]=c[b+4+(d<<4)+12>>2];c[b+116>>2]=c[b+84+(d<<4)>>2];c[b+116+4>>2]=c[b+84+(d<<4)+4>>2];c[b+116+8>>2]=c[b+84+(d<<4)+8>>2];c[b+116+12>>2]=c[b+84+(d<<4)+12>>2];c[b+196>>2]=c[b+164+(d<<4)>>2];c[b+196+4>>2]=c[b+164+(d<<4)+4>>2];c[b+196+8>>2]=c[b+164+(d<<4)+8>>2];c[b+196+12>>2]=c[b+164+(d<<4)+12>>2];I=56}else{d=i;I=55}}if((I|0)==55){h=b+332|0;I=56}if((I|0)==56){i=d+-1|0;if(!(a[h>>0]&2)){c[b>>2]=i;c[b+20>>2]=c[b+4+(i<<4)>>2];c[b+20+4>>2]=c[b+4+(i<<4)+4>>2];c[b+20+8>>2]=c[b+4+(i<<4)+8>>2];c[b+20+12>>2]=c[b+4+(i<<4)+12>>2];c[b+100>>2]=c[b+84+(i<<4)>>2];c[b+100+4>>2]=c[b+84+(i<<4)+4>>2];c[b+100+8>>2]=c[b+84+(i<<4)+8>>2];c[b+100+12>>2]=c[b+84+(i<<4)+12>>2];c[b+180>>2]=c[b+164+(i<<4)>>2];c[b+180+4>>2]=c[b+164+(i<<4)+4>>2];c[b+180+8>>2]=c[b+164+(i<<4)+8>>2];c[b+180+12>>2]=c[b+164+(i<<4)+12>>2];d=i;I=60}else I=59}if((I|0)==59){h=b+332|0;I=60}if((I|0)==60?(H=d+-1|0,(a[h>>0]&1)==0):0){c[b>>2]=H;c[b+4>>2]=c[b+4+(H<<4)>>2];c[b+4+4>>2]=c[b+4+(H<<4)+4>>2];c[b+4+8>>2]=c[b+4+(H<<4)+8>>2];c[b+4+12>>2]=c[b+4+(H<<4)+12>>2];c[b+84>>2]=c[b+84+(H<<4)>>2];c[b+84+4>>2]=c[b+84+(H<<4)+4>>2];c[b+84+8>>2]=c[b+84+(H<<4)+8>>2];c[b+84+12>>2]=c[b+84+(H<<4)+12>>2];c[b+164>>2]=c[b+164+(H<<4)>>2];c[b+164+4>>2]=c[b+164+(H<<4)+4>>2];c[b+164+8>>2]=c[b+164+(H<<4)+8>>2];c[b+164+12>>2]=c[b+164+(H<<4)+12>>2]}if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=e>=0.0&1;else d=0;a[b+312>>0]=d}while(0);if((I|0)==68){a[d>>0]=0;d=0}X=d;X=X<<24>>24!=0;k=J;return X|0}default:{a[b+312>>0]=0;X=0;X=X<<24>>24!=0;k=J;return X|0}}return 0}function pc(b,d,e,f,h,i,j,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=k;k=k+256|0;c[b+188>>2]=-1;Wj(18420);c[b+184>>2]=0;if((e|0)>0){m=0;do{c[(c[d+(m<<2)>>2]|0)+212>>2]=-1;m=m+1|0}while((m|0)!=(e|0))}m=c[b+12>>2]|0;if((m|0)>(e|0)){o=b+8|0;n=m}else{if((e+1|0)!=0?(c[7584]=(c[7584]|0)+1,n=lc(((e+1|0)*244|3)+16|0)|0,(n|0)!=0):0){c[(n+4+15&-16)+-4>>2]=n;o=n+4+15&-16}else o=0;n=c[b+8>>2]|0;if((n|0)>0){m=0;do{X=o+(m*244|0)|0;Y=c[b+16>>2]|0;W=Y+(m*244|0)|0;c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];X=Y+(m*244|0)+16|0;W=o+(m*244|0)+16|0;c[W>>2]=c[X>>2];c[W+4>>2]=c[X+4>>2];c[W+8>>2]=c[X+8>>2];c[W+12>>2]=c[X+12>>2];W=Y+(m*244|0)+32|0;X=o+(m*244|0)+32|0;c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];X=o+(m*244|0)+48|0;W=Y+(m*244|0)+48|0;c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];Ki(o+(m*244|0)+64|0,Y+(m*244|0)+64|0,180)|0;m=m+1|0}while((m|0)!=(n|0))}m=c[b+16>>2]|0;if(m|0){if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=o;c[b+12>>2]=e+1;o=b+8|0;n=e+1|0}Bl(_|0,0,244)|0;m=c[o>>2]|0;if((m|0)<0){if((n|0)<0){n=c[b+16>>2]|0;if(n|0){if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0}do{Y=c[b+16>>2]|0;X=Y+(m*244|0)|0;c[X>>2]=c[_>>2];c[X+4>>2]=c[_+4>>2];c[X+8>>2]=c[_+8>>2];c[X+12>>2]=c[_+12>>2];X=Y+(m*244|0)+16|0;c[X>>2]=c[_+16>>2];c[X+4>>2]=c[_+16+4>>2];c[X+8>>2]=c[_+16+8>>2];c[X+12>>2]=c[_+16+12>>2];X=Y+(m*244|0)+32|0;c[X>>2]=c[_+32>>2];c[X+4>>2]=c[_+32+4>>2];c[X+8>>2]=c[_+32+8>>2];c[X+12>>2]=c[_+32+12>>2];X=Y+(m*244|0)+48|0;c[X>>2]=c[_+48>>2];c[X+4>>2]=c[_+48+4>>2];c[X+8>>2]=c[_+48+8>>2];c[X+12>>2]=c[_+48+12>>2];Ki(Y+(m*244|0)+64|0,_+64|0,180)|0;m=m+1|0}while((m|0)!=0)}c[o>>2]=0;if((e|0)>0){m=0;do{o=d+(m<<2)|0;n=Rd(b,c[o>>2]|0,+g[l+12>>2])|0;o=c[o>>2]|0;if((!((o|0)==0?1:(c[o+236>>2]&2|0)==0)?+g[o+344>>2]!=0.0:0)?(q=c[b+16>>2]|0,c[o+504>>2]&2|0):0){p=+g[l+76>>2];O=1.0/+g[o+396>>2];Q=1.0/+g[o+400>>2];s=1.0/+g[o+404>>2];I=+g[o+4>>2];J=+g[o+8>>2];K=+g[o+12>>2];L=+g[o+20>>2];M=+g[o+24>>2];N=+g[o+28>>2];P=+g[o+36>>2];R=+g[o+40>>2];v=+g[o+44>>2];w=+g[o+328>>2];x=+g[o+332>>2];u=+g[o+336>>2];y=(O*I*I+Q*J*J+s*K*K)*w+(O*I*L+Q*J*M+s*K*N)*x+(O*I*P+Q*J*R+s*K*v)*u;B=(O*L*I+Q*M*J+s*N*K)*w+(O*L*L+Q*M*M+s*N*N)*x+(O*L*P+Q*M*R+s*N*v)*u;v=(O*P*I+Q*R*J+s*v*K)*w+(O*P*L+Q*R*M+s*v*N)*x+(O*P*P+Q*R*R+s*v*v)*u;s=(w*B-x*y)*(w*B-x*y)+((x*v-u*B)*(x*v-u*B)+(u*y-w*v)*(u*y-w*v));if(s>p*p){p=1.0/+A(+s)*p;t=(x*v-u*B)*p;s=(u*y-w*v)*p;p=(w*B-x*y)*p}else{t=x*v-u*B;s=u*y-w*v;p=w*B-x*y}P=+g[l+12>>2];Q=(t*+g[o+268>>2]+s*+g[o+284>>2]+p*+g[o+300>>2])*P;R=P*(t*+g[o+272>>2]+s*+g[o+288>>2]+p*+g[o+304>>2]);g[q+(n*244|0)+224>>2]=+g[q+(n*244|0)+224>>2]-(t*+g[o+264>>2]+s*+g[o+280>>2]+p*+g[o+296>>2])*P;g[q+(n*244|0)+228>>2]=+g[q+(n*244|0)+228>>2]-Q;g[q+(n*244|0)+232>>2]=+g[q+(n*244|0)+232>>2]-R}m=m+1|0}while((m|0)!=(e|0))}if((j|0)>0){m=0;do{Y=c[i+(m<<2)>>2]|0;Db[c[(c[Y>>2]|0)+8>>2]&511](Y);g[Y+36>>2]=0.0;m=m+1|0}while((m|0)<(j|0))}n=c[b+168>>2]|0;if((n|0)<(j|0)?(c[b+172>>2]|0)<(j|0):0){if(!j)m=0;else{c[7584]=(c[7584]|0)+1;m=lc((j<<3|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+168>>2]|0}if((n|0)>0){o=0;do{W=(c[b+176>>2]|0)+(o<<3)|0;X=c[W+4>>2]|0;Y=m+(o<<3)|0;c[Y>>2]=c[W>>2];c[Y+4>>2]=X;o=o+1|0}while((o|0)!=(n|0))}n=c[b+176>>2]|0;if(n|0){if(a[b+180>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=m;c[b+172>>2]=j}c[b+168>>2]=j;if((j|0)>0){m=0;r=0;do{q=c[b+176>>2]|0;e=q+(r<<3)|0;d=i+(r<<2)|0;n=c[d>>2]|0;o=c[n+44>>2]|0;if(o){n=o+64|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(n|0));n=c[d>>2]|0}if(!(a[n+20>>0]|0)){c[e>>2]=0;c[q+(r<<3)+4>>2]=0;n=0}else{Jb[c[(c[n>>2]|0)+16>>2]&127](n,e);n=c[e>>2]|0}m=n+m|0;r=r+1|0}while((r|0)<(j|0));d=m}else d=0;n=c[b+48>>2]|0;if((n|0)<(d|0)?(c[b+52>>2]|0)<(d|0):0){if(!d)m=0;else{c[7584]=(c[7584]|0)+1;m=lc((d*152|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+48>>2]|0}if((n|0)>0){o=0;do{Ki(m+(o*152|0)|0,(c[b+56>>2]|0)+(o*152|0)|0,152)|0;o=o+1|0}while((o|0)!=(n|0))}n=c[b+56>>2]|0;if(n|0){if(a[b+60>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[n+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=m;c[b+52>>2]=d}c[b+48>>2]=d;if((j|0)>0){X=0;Y=0;m=c[b+176>>2]|0;while(1){W=m+(Y<<3)|0;if(!(c[W>>2]|0))n=0;else{n=c[b+56>>2]|0;d=n+(X*152|0)|0;q=i+(Y<<2)|0;e=c[q>>2]|0;r=c[e+28>>2]|0;S=c[e+32>>2]|0;T=Rd(b,r,+g[l+12>>2])|0;U=Rd(b,S,+g[l+12>>2])|0;V=c[b+16>>2]|0;o=c[e+24>>2]|0;o=(o|0)>0?o:c[l+20>>2]|0;if((o|0)>(c[b+184>>2]|0))c[b+184>>2]=o;if((c[W>>2]|0)>0){m=0;do{Bl(d+(m*152|0)|0,0,152)|0;g[d+(m*152|0)+120>>2]=-3402823466385288598117041.0e14;g[d+(m*152|0)+124>>2]=3402823466385288598117041.0e14;g[d+(m*152|0)+100>>2]=0.0;g[d+(m*152|0)+96>>2]=0.0;c[d+(m*152|0)+144>>2]=T;c[d+(m*152|0)+148>>2]=U;c[d+(m*152|0)+136>>2]=o;m=m+1|0}while((m|0)<(c[W>>2]|0))}c[V+(T*244|0)+64>>2]=0;c[V+(T*244|0)+64+4>>2]=0;c[V+(T*244|0)+64+8>>2]=0;c[V+(T*244|0)+64+12>>2]=0;c[V+(T*244|0)+64+16>>2]=0;c[V+(T*244|0)+64+20>>2]=0;c[V+(T*244|0)+64+24>>2]=0;c[V+(T*244|0)+64+28>>2]=0;c[V+(T*244|0)+144>>2]=0;c[V+(T*244|0)+144+4>>2]=0;c[V+(T*244|0)+144+8>>2]=0;c[V+(T*244|0)+144+12>>2]=0;c[V+(T*244|0)+144+16>>2]=0;c[V+(T*244|0)+144+20>>2]=0;c[V+(T*244|0)+144+24>>2]=0;c[V+(T*244|0)+144+28>>2]=0;c[V+(U*244|0)+64>>2]=0;c[V+(U*244|0)+64+4>>2]=0;c[V+(U*244|0)+64+8>>2]=0;c[V+(U*244|0)+64+12>>2]=0;c[V+(U*244|0)+64+16>>2]=0;c[V+(U*244|0)+64+20>>2]=0;c[V+(U*244|0)+64+24>>2]=0;c[V+(U*244|0)+64+28>>2]=0;c[V+(U*244|0)+144>>2]=0;c[V+(U*244|0)+144+4>>2]=0;c[V+(U*244|0)+144+8>>2]=0;c[V+(U*244|0)+144+12>>2]=0;c[V+(U*244|0)+144+16>>2]=0;c[V+(U*244|0)+144+20>>2]=0;c[V+(U*244|0)+144+24>>2]=0;c[V+(U*244|0)+144+28>>2]=0;g[_>>2]=1.0/+g[l+12>>2];c[_+4>>2]=c[l+32>>2];c[_+8>>2]=n+(X*152|0)+16;c[_+12>>2]=d;c[_+16>>2]=n+(X*152|0)+48;c[_+20>>2]=n+(X*152|0)+32;c[_+24>>2]=38;c[_+28>>2]=n+(X*152|0)+112;o=n+(X*152|0)+116|0;c[o>>2]=c[l+40>>2];c[_+52>>2]=c[l+4>>2];c[_+32>>2]=o;c[_+36>>2]=n+(X*152|0)+120;c[_+40>>2]=n+(X*152|0)+124;c[_+48>>2]=c[l+20>>2];o=c[q>>2]|0;Jb[c[(c[o>>2]|0)+20>>2]&127](o,_);if((c[W>>2]|0)>0){n=0;do{m=d+(n*152|0)+124|0;p=+g[(c[q>>2]|0)+16>>2];if(+g[m>>2]>=p)g[m>>2]=p;m=d+(n*152|0)+120|0;if(+g[m>>2]<=-p)g[m>>2]=-p;c[d+(n*152|0)+132>>2]=e;o=d+(n*152|0)|0;m=c[e+28>>2]|0;p=+g[o>>2];s=+g[o+4>>2];t=+g[o+8>>2];v=(p*+g[m+280>>2]+s*+g[m+284>>2]+t*+g[m+288>>2])*+g[m+548>>2];u=(p*+g[m+296>>2]+s*+g[m+300>>2]+t*+g[m+304>>2])*+g[m+552>>2];o=d+(n*152|0)+64|0;g[o>>2]=(+g[m+264>>2]*p+ +g[m+268>>2]*s+ +g[m+272>>2]*t)*+g[m+544>>2];g[o+4>>2]=v;g[o+8>>2]=u;g[o+12>>2]=0.0;o=d+(n*152|0)+32|0;m=c[e+32>>2]|0;u=+g[o>>2];v=+g[o+4>>2];w=+g[o+8>>2];x=(u*+g[m+280>>2]+v*+g[m+284>>2]+w*+g[m+288>>2])*+g[m+548>>2];R=(u*+g[m+296>>2]+v*+g[m+300>>2]+w*+g[m+304>>2])*+g[m+552>>2];o=d+(n*152|0)+80|0;g[o>>2]=(+g[m+264>>2]*u+ +g[m+268>>2]*v+ +g[m+272>>2]*w)*+g[m+544>>2];g[o+4>>2]=x;g[o+8>>2]=R;g[o+12>>2]=0.0;o=d+(n*152|0)+16|0;R=+g[r+344>>2];x=+g[o>>2];y=+g[o+4>>2];B=+g[o+8>>2];o=d+(n*152|0)+48|0;F=+g[S+344>>2];C=+g[o>>2];D=+g[o+4>>2];E=+g[o+8>>2];F=x*R*x+y*R*y+B*R*B+(p*(p*+g[r+264>>2]+s*+g[r+268>>2]+t*+g[r+272>>2])+s*(p*+g[r+280>>2]+s*+g[r+284>>2]+t*+g[r+288>>2])+t*(p*+g[r+296>>2]+s*+g[r+300>>2]+t*+g[r+304>>2]))+(C*F*C+D*F*D+E*F*E)+(u*(u*+g[S+264>>2]+v*+g[S+268>>2]+w*+g[S+272>>2])+v*(u*+g[S+280>>2]+v*+g[S+284>>2]+w*+g[S+288>>2])+w*(u*+g[S+296>>2]+v*+g[S+300>>2]+w*+g[S+304>>2]));o=+z(+F)>1.1920928955078125e-07;F=o?1.0/F:0.0;g[d+(n*152|0)+108>>2]=F;if(!(c[V+(T*244|0)+240>>2]|0)){G=0.0;H=0.0;I=0.0;J=0.0;K=0.0;L=0.0}else{G=+g[V+(T*244|0)+208>>2];H=+g[V+(T*244|0)+212>>2];I=+g[V+(T*244|0)+216>>2];J=+g[V+(T*244|0)+224>>2];K=+g[V+(T*244|0)+228>>2];L=+g[V+(T*244|0)+232>>2]}if(!(c[V+(U*244|0)+240>>2]|0)){M=0.0;N=0.0;O=0.0;P=0.0;Q=0.0;R=0.0}else{M=+g[V+(U*244|0)+208>>2];N=+g[V+(U*244|0)+212>>2];O=+g[V+(U*244|0)+216>>2];P=+g[V+(U*244|0)+224>>2];Q=+g[V+(U*244|0)+228>>2];R=+g[V+(U*244|0)+232>>2]}o=d+(n*152|0)+112|0;g[o>>2]=F*+g[o>>2]+F*(0.0-+g[_+52>>2]*(x*(G+ +g[r+312>>2])+y*(H+ +g[r+316>>2])+B*(I+ +g[r+320>>2])+(p*(J+ +g[r+328>>2])+s*(K+ +g[r+332>>2])+t*(L+ +g[r+336>>2]))+(C*(M+ +g[S+312>>2])+D*(N+ +g[S+316>>2])+E*(O+ +g[S+320>>2])+(u*(P+ +g[S+328>>2])+v*(Q+ +g[S+332>>2])+w*(R+ +g[S+336>>2])))));g[d+(n*152|0)+100>>2]=0.0;n=n+1|0}while((n|0)<(c[W>>2]|0))}m=c[b+176>>2]|0;n=c[m+(Y<<3)>>2]|0}Y=Y+1|0;if((Y|0)>=(j|0))break;else X=n+X|0}}Qb[c[(c[b>>2]|0)+28>>2]&127](b,f,h,l);q=c[b+48>>2]|0;e=c[b+28>>2]|0;r=c[b+68>>2]|0;n=c[b+128>>2]|0;if((n|0)<(q|0)?(c[b+132>>2]|0)<(q|0):0){if(!q)m=0;else{c[7584]=(c[7584]|0)+1;m=lc((q<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+128>>2]|0}d=c[b+136>>2]|0;if((n|0)<=0)if(!d)n=b+140|0;else Z=106;else{o=0;do{c[m+(o<<2)>>2]=c[d+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));Z=106}if((Z|0)==106){if(a[b+140>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+136>>2]=0;n=b+140|0}a[n>>0]=1;c[b+136>>2]=m;c[b+132>>2]=q}c[b+128>>2]=q;if(!(c[l+64>>2]&16)){n=c[b+108>>2]|0;if((n|0)<(e|0)?(c[b+112>>2]|0)<(e|0):0){if(!e)m=0;else{c[7584]=(c[7584]|0)+1;m=lc((e<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+108>>2]|0}d=c[b+116>>2]|0;if((n|0)<=0)if(!d)n=b+120|0;else Z=138;else{o=0;do{c[m+(o<<2)>>2]=c[d+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));Z=138}if((Z|0)==138){if(a[b+120>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+116>>2]=0;n=b+120|0}a[n>>0]=1;c[b+116>>2]=m;c[b+112>>2]=e}c[b+108>>2]=e}else{n=c[b+108>>2]|0;if((n|0)<(e<<1|0)?(c[b+112>>2]|0)<(e<<1|0):0){if(!e)m=0;else{c[7584]=(c[7584]|0)+1;m=lc((e<<3|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+108>>2]|0}d=c[b+116>>2]|0;if((n|0)<=0)if(!d)n=b+120|0;else Z=122;else{o=0;do{c[m+(o<<2)>>2]=c[d+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));Z=122}if((Z|0)==122){if(a[b+120>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+116>>2]=0;n=b+120|0}a[n>>0]=1;c[b+116>>2]=m;c[b+112>>2]=e<<1}c[b+108>>2]=e<<1}n=c[b+148>>2]|0;if((n|0)<(r|0)?(c[b+152>>2]|0)<(r|0):0){if(!r)m=0;else{c[7584]=(c[7584]|0)+1;m=lc((r<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+148>>2]|0}d=c[b+156>>2]|0;if((n|0)<=0)if(!d)n=b+160|0;else Z=154;else{o=0;do{c[m+(o<<2)>>2]=c[d+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));Z=154}if((Z|0)==154){if(a[b+160>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+156>>2]=0;n=b+160|0}a[n>>0]=1;c[b+156>>2]=m;c[b+152>>2]=r}c[b+148>>2]=r;if((q|0)>0){n=c[b+136>>2]|0;m=0;do{c[n+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(q|0))}if((e|0)>0){n=c[b+116>>2]|0;m=0;do{c[n+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(e|0))}if((r|0)>0){n=c[b+156>>2]|0;m=0;do{c[n+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(r|0))}m=c[3369]|0;b=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=b;if(b|0){k=_;return 0.0}do if(c[m+4>>2]|0){bb(_|0,0)|0;b=c[7583]|0;g[m+8>>2]=+g[m+8>>2]+ +(((c[_+4>>2]|0)-(c[b+4>>2]|0)+(((c[_>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[m+16>>2]|0)){m=c[3369]|0;break}else{k=_;return 0.0}}while(0);c[3369]=c[m+20>>2];k=_;return 0.0}function qc(b,d,e,f,i,l){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;l=l|0;var m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0,X=0;H=k;k=k+512|0;if((tb[c[(c[f>>2]|0)+80>>2]&255](f)|0)==2){n=l?b+36|0:b+28|0;m=c[f+152>>2]|0;c[n>>2]=m+-1;if(!m){k=H;return}m=m+-1|0;do{qc(b,d,e,c[(c[f+160>>2]|0)+(m<<2)>>2]|0,i,l);G=c[n>>2]|0;m=G+-1|0;c[n>>2]=m}while((G|0)!=0);k=H;return}u=(tb[c[(c[f>>2]|0)+80>>2]&255](f)|0)==1;m=c[i+4>>2]|0;if(u&(m|0)==28){G=c[d+12>>2]|0;c[H+216>>2]=c[G>>2];c[H+216+4>>2]=c[G+4>>2];c[H+216+8>>2]=c[G+8>>2];c[H+216+12>>2]=c[G+12>>2];c[H+216+16>>2]=c[G+16>>2];c[H+216+16+4>>2]=c[G+16+4>>2];c[H+216+16+8>>2]=c[G+16+8>>2];c[H+216+16+12>>2]=c[G+16+12>>2];c[H+216+32>>2]=c[G+32>>2];c[H+216+32+4>>2]=c[G+32+4>>2];c[H+216+32+8>>2]=c[G+32+8>>2];c[H+216+32+12>>2]=c[G+32+12>>2];c[H+216+48>>2]=c[G+48>>2];c[H+216+48+4>>2]=c[G+48+4>>2];c[H+216+48+8>>2]=c[G+48+8>>2];c[H+216+48+12>>2]=c[G+48+12>>2];G=c[e+12>>2]|0;I=+g[G+16>>2];o=+g[G+20>>2];p=+g[G+24>>2];v=+g[G+32>>2];x=+g[G+36>>2];A=+g[G+40>>2];O=+g[G+48>>2];s=+g[G+52>>2];B=+g[G+56>>2];w=+g[i+48>>2];y=+g[i+52>>2];D=+g[i+56>>2];L=+g[G>>2]*w+ +g[G+4>>2]*y+ +g[G+8>>2]*D;g[H+152>>2]=L;g[H+152+4>>2]=I*w+o*y+p*D;g[H+152+8>>2]=v*w+x*y+A*D;B=O*w+s*y+B*D+ +g[i+64>>2];g[H+152+12>>2]=B;Qb[c[(c[f>>2]|0)+8>>2]&127](f,H+216|0,H+88|0,H+88+16|0);s=+jb[c[(c[i>>2]|0)+48>>2]&15](i);O=+g[H+88>>2]-s;g[H+88>>2]=O;K=+g[H+88+4>>2]-s;g[H+88+4>>2]=K;q=+g[H+88+8>>2]-s;g[H+88+8>>2]=q;N=s+ +g[H+88+16>>2];g[H+88+16>>2]=N;J=s+ +g[H+88+20>>2];g[H+88+20>>2]=J;s=s+ +g[H+88+24>>2];g[H+88+24>>2]=s;C=(O+N)*.5*L+(K+J)*.5*(I*w+o*y+p*D)+(q+s)*.5*(v*w+x*y+A*D);D=(N-(O+N)*.5)*+z(+L)+(J-(K+J)*.5)*+z(+(I*w+o*y+p*D))+(s-(q+s)*.5)*+z(+(v*w+x*y+A*D));if(B+9.999999974752427e-07>=C-D&!(B>C+D+9.999999974752427e-07)){Db[c[(c[f>>2]|0)+112>>2]&511](f);v=+jb[c[(c[f>>2]|0)+48>>2]&15](f);v=v+ +jb[c[(c[i>>2]|0)+48>>2]&15](i);m=c[f+184>>2]|0;if(m|0)do{m=m+-1|0;n=(c[f+180>>2]|0)+(M(c[f+192>>2]|0,m)|0)|0;if((c[f+188>>2]|0)==1){p=+h[n>>3]*+g[f+156>>2];g[H+24>>2]=p;q=+h[n+8>>3]*+g[f+160>>2];g[H+24+4>>2]=q;o=+h[n+16>>3]*+g[f+164>>2]}else{p=+g[n>>2]*+g[f+156>>2];g[H+24>>2]=p;q=+g[n+4>>2]*+g[f+160>>2];g[H+24+4>>2]=q;o=+g[n+8>>2]*+g[f+164>>2]}N=p*+g[H+216>>2]+q*+g[H+216+4>>2]+o*+g[H+216+8>>2]+ +g[H+216+48>>2];O=p*+g[H+216+16>>2]+q*+g[H+216+20>>2]+o*+g[H+216+24>>2]+ +g[H+216+52>>2];s=p*+g[H+216+32>>2]+q*+g[H+216+36>>2]+o*+g[H+216+40>>2]+ +g[H+216+56>>2];g[H+24>>2]=N;g[H+24+4>>2]=O;g[H+24+8>>2]=s;g[H+24+12>>2]=0.0;o=+g[H+152>>2];p=+g[H+152+4>>2];q=+g[H+152+8>>2];s=N*o+O*p+s*q-+g[H+152+12>>2]-v;do if(s<0.0)if(l){g[H>>2]=-o;g[H+4>>2]=-p;g[H+8>>2]=-q;g[H+12>>2]=0.0;n=c[b+16>>2]|0;Nb[c[(c[n>>2]|0)+8>>2]&127](n,c[b+28>>2]|0,c[b+24>>2]|0);n=c[b+16>>2]|0;Nb[c[(c[n>>2]|0)+12>>2]&127](n,c[b+36>>2]|0,c[b+32>>2]|0);n=c[b+12>>2]|0;if(!n){n=c[b+4>>2]|0;n=xb[c[(c[n>>2]|0)+12>>2]&63](n,c[e+8>>2]|0,c[d+8>>2]|0)|0;c[b+12>>2]=n}G=c[b+16>>2]|0;c[G+4>>2]=n;Ob[c[(c[G>>2]|0)+16>>2]&15](G,H,H+24|0,s);break}else{n=c[b+16>>2]|0;Nb[c[(c[n>>2]|0)+8>>2]&127](n,c[b+28>>2]|0,c[b+24>>2]|0);n=c[b+16>>2]|0;Nb[c[(c[n>>2]|0)+12>>2]&127](n,c[b+36>>2]|0,c[b+32>>2]|0);n=c[b+12>>2]|0;if(!n){n=c[b+4>>2]|0;n=xb[c[(c[n>>2]|0)+12>>2]&63](n,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+12>>2]=n}G=c[b+16>>2]|0;c[G+4>>2]=n;Ob[c[(c[G>>2]|0)+16>>2]&15](G,H+152|0,H+24|0,s);break}while(0)}while((m|0)!=0);Db[c[(c[f>>2]|0)+116>>2]&511](f)}k=H;return}if((m|0)==31){m=c[e+12>>2]|0;o=+g[m>>2];y=+g[m+4>>2];A=+g[m+8>>2];B=+g[m+16>>2];C=+g[m+20>>2];D=+g[m+24>>2];p=+g[m+32>>2];q=+g[m+36>>2];s=+g[m+40>>2];v=+g[m+48>>2];w=+g[m+52>>2];x=+g[m+56>>2];m=c[i+16>>2]|0;if(!m){k=H;return}do{m=m+-1|0;G=c[i+24>>2]|0;u=c[G+(m*80|0)+64>>2]|0;U=+g[G+(m*80|0)>>2];T=+g[G+(m*80|0)+16>>2];S=+g[G+(m*80|0)+32>>2];R=+g[G+(m*80|0)+4>>2];Q=+g[G+(m*80|0)+20>>2];P=+g[G+(m*80|0)+36>>2];I=+g[G+(m*80|0)+8>>2];J=+g[G+(m*80|0)+24>>2];K=+g[G+(m*80|0)+40>>2];L=+g[G+(m*80|0)+48>>2];N=+g[G+(m*80|0)+52>>2];O=+g[G+(m*80|0)+56>>2];g[H+216>>2]=o*U+y*T+A*S;g[H+216+4>>2]=o*R+y*Q+A*P;g[H+216+8>>2]=o*I+y*J+A*K;g[H+216+12>>2]=0.0;g[H+216+16>>2]=B*U+C*T+D*S;g[H+216+20>>2]=B*R+C*Q+D*P;g[H+216+24>>2]=B*I+C*J+D*K;g[H+216+28>>2]=0.0;g[H+216+32>>2]=p*U+q*T+s*S;g[H+216+36>>2]=p*R+q*Q+s*P;g[H+216+40>>2]=p*I+q*J+s*K;g[H+216+44>>2]=0.0;g[H+216+48>>2]=v+(o*L+y*N+A*O);g[H+216+52>>2]=w+(B*L+C*N+D*O);g[H+216+56>>2]=x+(p*L+q*N+s*O);g[H+216+60>>2]=0.0;G=c[e+8>>2]|0;c[H+152>>2]=e;c[H+152+4>>2]=u;c[H+152+8>>2]=G;c[H+152+12>>2]=H+216;c[H+152+16>>2]=-1;c[H+152+20>>2]=m;t=c[b+16>>2]|0;n=c[t+8>>2]|0;if((c[n+8>>2]|0)==(G|0)){r=n;n=t+8|0}else{r=c[t+12>>2]|0;n=t+12|0}c[n>>2]=H+152;qc(b,d,H+152|0,f,u,l);G=c[b+16>>2]|0;c[((c[(c[G+8>>2]|0)+8>>2]|0)==(c[H+152+8>>2]|0)?G+8|0:G+12|0)>>2]=r}while((m|0)!=0);k=H;return}if((m+-21|0)>>>0<9){c[H+216>>2]=12744;c[H+216+4>>2]=b;c[H+216+8>>2]=d;c[H+216+12>>2]=e;c[H+216+16>>2]=f;a[H+216+20>>0]=l&1;g[H+216+24>>2]=+jb[c[(c[i>>2]|0)+48>>2]&15](i);e=c[e+12>>2]|0;B=+g[e>>2];C=+g[e+16>>2];D=+g[e+32>>2];I=+g[e+4>>2];J=+g[e+20>>2];K=+g[e+36>>2];P=+g[e+8>>2];R=+g[e+24>>2];T=+g[e+40>>2];L=-+g[e+48>>2];N=-+g[e+52>>2];O=-+g[e+56>>2];e=c[d+12>>2]|0;o=+g[e>>2];p=+g[e+16>>2];q=+g[e+32>>2];s=+g[e+4>>2];v=+g[e+20>>2];w=+g[e+36>>2];x=+g[e+8>>2];y=+g[e+24>>2];A=+g[e+40>>2];Q=+g[e+48>>2];S=+g[e+52>>2];U=+g[e+56>>2];g[H+152>>2]=B*o+C*p+D*q;g[H+152+4>>2]=B*s+C*v+D*w;g[H+152+8>>2]=B*x+C*y+D*A;g[H+152+12>>2]=0.0;g[H+152+16>>2]=I*o+J*p+K*q;g[H+152+20>>2]=I*s+J*v+K*w;g[H+152+24>>2]=I*x+J*y+K*A;g[H+152+28>>2]=0.0;g[H+152+32>>2]=P*o+R*p+T*q;g[H+152+36>>2]=P*s+R*v+T*w;g[H+152+40>>2]=P*x+R*y+T*A;g[H+152+44>>2]=0.0;g[H+152+48>>2]=B*L+C*N+D*O+(B*Q+C*S+D*U);g[H+152+52>>2]=I*L+J*N+K*O+(I*Q+J*S+K*U);g[H+152+56>>2]=P*L+R*N+T*O+(P*Q+R*S+T*U);g[H+152+60>>2]=0.0;Qb[c[(c[f>>2]|0)+8>>2]&127](f,H+152|0,H+88|0,H+24|0);Qb[c[(c[i>>2]|0)+64>>2]&127](i,H+216|0,H+88|0,H+24|0);k=H;return}u=c[d+12>>2]|0;c[H+88>>2]=c[u>>2];c[H+88+4>>2]=c[u+4>>2];c[H+88+8>>2]=c[u+8>>2];c[H+88+12>>2]=c[u+12>>2];m=H+88+16|0;c[m>>2]=c[u+16>>2];c[m+4>>2]=c[u+16+4>>2];c[m+8>>2]=c[u+16+8>>2];c[m+12>>2]=c[u+16+12>>2];n=H+88+32|0;c[n>>2]=c[u+32>>2];c[n+4>>2]=c[u+32+4>>2];c[n+8>>2]=c[u+32+8>>2];c[n+12>>2]=c[u+32+12>>2];c[H+88+48>>2]=c[u+48>>2];c[H+88+48+4>>2]=c[u+48+4>>2];c[H+88+48+8>>2]=c[u+48+8>>2];c[H+88+48+12>>2]=c[u+48+12>>2];u=c[e+12>>2]|0;c[H+24>>2]=c[u>>2];c[H+24+4>>2]=c[u+4>>2];c[H+24+8>>2]=c[u+8>>2];c[H+24+12>>2]=c[u+12>>2];c[H+24+16>>2]=c[u+16>>2];c[H+24+16+4>>2]=c[u+16+4>>2];c[H+24+16+8>>2]=c[u+16+8>>2];c[H+24+16+12>>2]=c[u+16+12>>2];c[H+24+32>>2]=c[u+32>>2];c[H+24+32+4>>2]=c[u+32+4>>2];c[H+24+32+8>>2]=c[u+32+8>>2];c[H+24+32+12>>2]=c[u+32+12>>2];c[H+24+48>>2]=c[u+48>>2];c[H+24+48+4>>2]=c[u+48+4>>2];c[H+24+48+8>>2]=c[u+48+8>>2];c[H+24+48+12>>2]=c[u+48+12>>2];a[H+16>>0]=1;c[H+12>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;if(!(c[f+68>>2]|0)){Qb[c[(c[i>>2]|0)+8>>2]&127](i,H+24|0,H+216|0,H+216+16|0);m=tb[c[(c[f>>2]|0)+88>>2]&255](f)|0;if(!m)m=0;else{i=m;m=0;n=0;r=0;do{i=i+-1|0;Ub[c[(c[f>>2]|0)+120>>2]&31](f,i,H+88|0,H+152|0,H+152+16|0);if(((((!(+g[H+216>>2]>+g[H+152+16>>2])?!(+g[H+216+16>>2]<+g[H+152>>2]):0)?!(+g[H+216+4>>2]>+g[H+152+20>>2]):0)?!(+g[H+216+20>>2]<+g[H+152+4>>2]):0)?!(+g[H+216+8>>2]>+g[H+152+24>>2]):0)?!(+g[H+216+24>>2]<+g[H+152+8>>2]):0){if((m|0)==(n|0)){u=(n|0)==0?1:n<<1;if((n|0)<(u|0)){if(!u)t=0;else{c[7584]=(c[7584]|0)+1;m=lc((u<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}t=m;r=c[H+12>>2]|0}if((n|0)<=0)if(!r)m=n;else E=51;else{m=0;do{c[t+(m<<2)>>2]=c[r+(m<<2)>>2];m=m+1|0}while((m|0)!=(n|0));E=51}if((E|0)==51){E=0;c[7585]=(c[7585]|0)+1;Bd(c[r+-4>>2]|0);c[H+12>>2]=0;m=c[H+4>>2]|0}c[H+12>>2]=t;c[H+8>>2]=u;r=t;n=u}else m=n}c[r+(m<<2)>>2]=i;m=(c[H+4>>2]|0)+1|0;c[H+4>>2]=m}}while((i|0)!=0);a[H+16>>0]=1}}else{X=c[H+88>>2]|0;W=c[m>>2]|0;V=c[n>>2]|0;n=c[H+88+4>>2]|0;r=c[H+88+20>>2]|0;t=c[H+88+36>>2]|0;u=c[H+88+8>>2]|0;E=c[H+88+24>>2]|0;m=c[H+88+40>>2]|0;O=-+g[H+88+48>>2];N=-+g[H+88+52>>2];L=-+g[H+88+56>>2];x=(c[j>>2]=X,+g[j>>2]);y=(c[j>>2]=W,+g[j>>2]);A=(c[j>>2]=V,+g[j>>2]);B=(c[j>>2]=n,+g[j>>2]);C=(c[j>>2]=r,+g[j>>2]);D=(c[j>>2]=t,+g[j>>2]);Q=(c[j>>2]=u,+g[j>>2]);S=(c[j>>2]=E,+g[j>>2]);U=(c[j>>2]=m,+g[j>>2]);c[H+152>>2]=X;c[H+152+4>>2]=W;c[H+152+8>>2]=V;g[H+152+12>>2]=0.0;c[H+152+16>>2]=n;c[H+152+20>>2]=r;c[H+152+24>>2]=t;g[H+152+28>>2]=0.0;c[H+152+32>>2]=u;c[H+152+36>>2]=E;c[H+152+40>>2]=m;g[H+152+44>>2]=0.0;g[H+152+60>>2]=0.0;K=+g[H+24+48>>2];J=+g[H+24+52>>2];I=+g[H+24+56>>2];g[H+152+48>>2]=x*O+y*N+A*L+(K*x+J*y+I*A);g[H+152+52>>2]=B*O+C*N+D*L+(K*B+J*C+I*D);g[H+152+56>>2]=Q*O+S*N+U*L+(K*Q+J*S+I*U);I=+g[H+24>>2];J=+g[H+24+16>>2];K=+g[H+24+32>>2];L=+g[H+24+4>>2];N=+g[H+24+20>>2];O=+g[H+24+36>>2];P=+g[H+24+8>>2];R=+g[H+24+24>>2];T=+g[H+24+40>>2];g[H+152>>2]=I*x+J*y+K*A;g[H+152+4>>2]=L*x+N*y+O*A;g[H+152+8>>2]=P*x+R*y+T*A;g[H+152+12>>2]=0.0;g[H+152+16>>2]=I*B+J*C+K*D;g[H+152+20>>2]=L*B+N*C+O*D;g[H+152+24>>2]=P*B+R*C+T*D;g[H+152+28>>2]=0.0;g[H+152+32>>2]=I*Q+J*S+K*U;g[H+152+36>>2]=L*Q+N*S+O*U;g[H+152+40>>2]=P*Q+R*S+T*U;g[H+152+44>>2]=0.0;Qb[c[(c[i>>2]|0)+8>>2]&127](i,H+152|0,H+216|0,H+216+16|0);Gf(f+68|0,H+216|0,H);m=c[H+4>>2]|0}if(m|0){Db[c[(c[f>>2]|0)+112>>2]&511](f);Ri(H+216|0,f);u=tb[c[(c[f>>2]|0)+92>>2]&255](f)|0;m=m+-1|0;t=c[H+12>>2]|0;if(l)while(1){n=c[t+(m<<2)>>2]|0;c[b+32>>2]=n;r=c[H+216+292>>2]|0;r=vb[c[c[r>>2]>>2]&31](r,n)|0;if(u)Nb[c[(c[f>>2]|0)+132>>2]&127](H+152|0,f,n);V=c[d+8>>2]|0;l=c[d+12>>2]|0;X=c[b+28>>2]|0;W=c[b+24>>2]|0;c[H+152>>2]=d;c[H+152+4>>2]=r;c[H+152+8>>2]=V;c[H+152+12>>2]=l;c[H+152+16>>2]=X;c[H+152+20>>2]=W;W=c[b+16>>2]|0;X=c[W+8>>2]|0;c[((c[X+8>>2]|0)==(V|0)?W+8|0:W+12|0)>>2]=H+152;tk(b,e,H+152|0);c[(c[b+16>>2]|0)+8>>2]=X;if(!m)break;else m=m+-1|0}else while(1){n=c[t+(m<<2)>>2]|0;c[b+24>>2]=n;r=c[H+216+292>>2]|0;r=vb[c[c[r>>2]>>2]&31](r,n)|0;if(u)Nb[c[(c[f>>2]|0)+132>>2]&127](H+152|0,f,n);V=c[d+8>>2]|0;l=c[d+12>>2]|0;X=c[b+28>>2]|0;W=c[b+24>>2]|0;c[H+152>>2]=d;c[H+152+4>>2]=r;c[H+152+8>>2]=V;c[H+152+12>>2]=l;c[H+152+16>>2]=X;c[H+152+20>>2]=W;W=c[b+16>>2]|0;X=c[W+8>>2]|0;c[((c[X+8>>2]|0)==(V|0)?W+8|0:W+12|0)>>2]=H+152;tk(b,H+152|0,e);c[(c[b+16>>2]|0)+8>>2]=X;if(!m)break;else m=m+-1|0}Db[c[(c[f>>2]|0)+116>>2]&511](f);c[H+216+108>>2]=10360;m=c[H+216+160>>2]|0;if(m|0?(Db[c[c[m>>2]>>2]&511](m),F=c[H+216+160>>2]|0,F|0):0){c[7585]=(c[7585]|0)+1;Bd(c[F+-4>>2]|0)}c[H+216+4>>2]=10360;m=c[H+216+56>>2]|0;if(m|0?(Db[c[c[m>>2]>>2]&511](m),G=c[H+216+56>>2]|0,G|0):0){c[7585]=(c[7585]|0)+1;Bd(c[G+-4>>2]|0)}}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0)}c[H+12>>2]=0}k=H;return}function rc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,B=0.0,E=0.0,G=0.0,H=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0;na=k;k=k+80|0;g[b+504>>2]=0.0;g[b+500>>2]=0.0;a[b+525>>0]=0;a[b+526>>0]=0;if(a[b+552>>0]|0?(a[b+527>>0]|0)==0:0){sa=+g[b+556>>2];qa=+g[b+560>>2];ma=+g[b+564>>2];pa=+g[b+568>>2];ba=sa*(2.0/(sa*sa+qa*qa+ma*ma+pa*pa));ra=qa*(2.0/(sa*sa+qa*qa+ma*ma+pa*pa));oa=ma*(2.0/(sa*sa+qa*qa+ma*ma+pa*pa));ca=+g[b+300>>2];U=+g[d>>2];da=+g[b+316>>2];V=+g[d+4>>2];ea=+g[b+332>>2];W=+g[d+8>>2];ga=+g[b+304>>2];ia=+g[b+320>>2];ka=+g[b+336>>2];_=+g[b+308>>2];$=+g[b+324>>2];aa=+g[b+340>>2];X=+g[d+16>>2];Y=+g[d+20>>2];Z=+g[d+24>>2];ha=+g[d+32>>2];ja=+g[d+36>>2];la=+g[d+40>>2];s=+g[b+348>>2];r=+g[b+352>>2];q=+g[b+356>>2];w=+g[b+364>>2];m=+g[e>>2];x=+g[b+380>>2];n=+g[e+4>>2];y=+g[b+396>>2];l=+g[e+8>>2];B=+g[b+368>>2];E=+g[b+384>>2];G=+g[b+400>>2];t=+g[b+372>>2];u=+g[b+388>>2];v=+g[b+404>>2];o=+g[e+16>>2];p=+g[e+20>>2];j=+g[e+24>>2];H=+g[e+32>>2];K=+g[e+36>>2];M=+g[e+40>>2];J=+g[b+412>>2];L=+g[b+416>>2];i=+g[b+420>>2];O=(1.0-(qa*ra+ma*oa))*(w*m+x*n+y*l)+(sa*ra+pa*oa)*(m*B+n*E+l*G)+(sa*oa-pa*ra)*(m*t+n*u+l*v);P=(sa*ra-pa*oa)*(w*m+x*n+y*l)+(1.0-(sa*ba+ma*oa))*(m*B+n*E+l*G)+(qa*oa+pa*ba)*(m*t+n*u+l*v);N=(sa*oa+pa*ra)*(w*m+x*n+y*l)+(qa*oa-pa*ba)*(m*B+n*E+l*G)+(1.0-(sa*ba+qa*ra))*(m*t+n*u+l*v);S=(sa*oa-pa*ra)*(t*o+u*p+v*j)+((1.0-(qa*ra+ma*oa))*(w*o+x*p+y*j)+(sa*ra+pa*oa)*(B*o+E*p+G*j));T=(qa*oa+pa*ba)*(t*o+u*p+v*j)+((sa*ra-pa*oa)*(w*o+x*p+y*j)+(1.0-(sa*ba+ma*oa))*(B*o+E*p+G*j));Q=(1.0-(sa*ba+qa*ra))*(t*o+u*p+v*j)+((sa*oa+pa*ra)*(w*o+x*p+y*j)+(qa*oa-pa*ba)*(B*o+E*p+G*j));fa=(sa*oa-pa*ra)*(t*H+u*K+v*M)+((1.0-(qa*ra+ma*oa))*(w*H+x*K+y*M)+(sa*ra+pa*oa)*(B*H+E*K+G*M));ma=(qa*oa+pa*ba)*(t*H+u*K+v*M)+((sa*ra-pa*oa)*(w*H+x*K+y*M)+(1.0-(sa*ba+ma*oa))*(B*H+E*K+G*M));ba=(1.0-(sa*ba+qa*ra))*(t*H+u*K+v*M)+((sa*oa+pa*ra)*(w*H+x*K+y*M)+(qa*oa-pa*ba)*(B*H+E*K+G*M));pa=-(+g[d+48>>2]+(U*s+V*r+W*q));oa=-(X*s+Y*r+Z*q+ +g[d+52>>2]);q=-(ha*s+ja*r+la*q+ +g[d+56>>2]);r=(ca*U+da*V+ea*W)*pa+(ca*X+da*Y+ea*Z)*oa+(ca*ha+da*ja+ea*la)*q;s=(U*ga+V*ia+W*ka)*pa+(ga*X+ia*Y+ka*Z)*oa+(ga*ha+ia*ja+ka*la)*q;q=(U*_+V*$+W*aa)*pa+(_*X+$*Y+aa*Z)*oa+(_*ha+$*ja+aa*la)*q;l=q*N+(r*O+s*P)+((w*m+x*n+y*l)*0.0+(m*B+n*E+l*G)*0.0+(m*t+n*u+l*v)*0.0+(+g[e+48>>2]+(m*J+n*L+l*i)));j=q*Q+(r*S+s*T)+((t*o+u*p+v*j)*0.0+((w*o+x*p+y*j)*0.0+(B*o+E*p+G*j)*0.0)+(o*J+p*L+j*i+ +g[e+52>>2]));i=q*ba+(r*fa+s*ma)+((t*H+u*K+v*M)*0.0+((w*H+x*K+y*M)*0.0+(B*H+E*K+G*M)*0.0)+(H*J+K*L+M*i+ +g[e+56>>2]));g[na+16>>2]=(U*_+V*$+W*aa)*N+((ca*U+da*V+ea*W)*O+(U*ga+V*ia+W*ka)*P);g[na+16+4>>2]=(_*X+$*Y+aa*Z)*N+((ca*X+da*Y+ea*Z)*O+(ga*X+ia*Y+ka*Z)*P);g[na+16+8>>2]=(_*ha+$*ja+aa*la)*N+((ca*ha+da*ja+ea*la)*O+(ga*ha+ia*ja+ka*la)*P);g[na+16+12>>2]=0.0;g[na+16+16>>2]=(U*_+V*$+W*aa)*Q+((ca*U+da*V+ea*W)*S+(U*ga+V*ia+W*ka)*T);g[na+16+20>>2]=(_*X+$*Y+aa*Z)*Q+((ca*X+da*Y+ea*Z)*S+(ga*X+ia*Y+ka*Z)*T);g[na+16+24>>2]=(_*ha+$*ja+aa*la)*Q+((ca*ha+da*ja+ea*la)*S+(ga*ha+ia*ja+ka*la)*T);g[na+16+28>>2]=0.0;g[na+16+32>>2]=(U*_+V*$+W*aa)*ba+((ca*U+da*V+ea*W)*fa+(U*ga+V*ia+W*ka)*ma);g[na+16+36>>2]=(_*X+$*Y+aa*Z)*ba+((ca*X+da*Y+ea*Z)*fa+(ga*X+ia*Y+ka*Z)*ma);g[na+16+40>>2]=(_*ha+$*ja+aa*la)*ba+((ca*ha+da*ja+ea*la)*fa+(ga*ha+ia*ja+ka*la)*ma);g[na+16+44>>2]=0.0;g[na+16+48>>2]=l;g[na+16+52>>2]=j;g[na+16+56>>2]=i;g[na+16+60>>2]=0.0;Vh(na+16|0,na);i=+g[na>>2];j=+g[na+4>>2];l=+g[na+8>>2];if(!(+z(+(i*i+j*j+l*l))<1.1920928955078125e-07)?(g[b+472>>2]=0.0,sa=1.0/+A(+(i*i+j*j+l*l)),g[b+460>>2]=sa*i,g[b+464>>2]=sa*j,g[b+468>>2]=sa*l,sa=+g[na+12>>2],sa=sa<-1.0?-1.0:sa,sa=+F(+(sa>1.0?1.0:sa))*2.0,g[b+504>>2]=sa,!(+z(+sa)<1.1920928955078125e-07)):0)a[b+526>>0]=1;k=na;return}Vh(d,na+16|0);Vh(b+300|0,na);W=+g[na+16+12>>2];X=+g[na>>2];Y=+g[na+16>>2];Z=+g[na+12>>2];_=+g[na+16+4>>2];$=+g[na+8>>2];aa=+g[na+16+8>>2];ba=+g[na+4>>2];Vh(e,na+16|0);Vh(b+364|0,na);ca=+g[na+16+12>>2];da=+g[na>>2];ea=+g[na+16>>2];fa=+g[na+12>>2];ga=+g[na+16+4>>2];ha=+g[na+8>>2];ia=+g[na+16+8>>2];ja=+g[na+4>>2];ka=-(ca*da+ea*fa+ga*ha-ia*ja);la=-(da*ia+(fa*ga+ca*ja)-ea*ha);ma=-(ca*ha+fa*ia+ea*ja-da*ga);p=(W*Z-X*Y-_*ba-$*aa)*ka+(W*X+Y*Z+_*$-aa*ba)*(ca*fa-da*ea-ga*ja-ha*ia)+(W*$+Z*aa+Y*ba-X*_)*la-(X*aa+(Z*_+W*ba)-Y*$)*ma;q=(W*X+Y*Z+_*$-aa*ba)*ma+((X*aa+(Z*_+W*ba)-Y*$)*(ca*fa-da*ea-ga*ja-ha*ia)+(W*Z-X*Y-_*ba-$*aa)*la)-(W*$+Z*aa+Y*ba-X*_)*ka;r=(X*aa+(Z*_+W*ba)-Y*$)*ka+((W*$+Z*aa+Y*ba-X*_)*(ca*fa-da*ea-ga*ja-ha*ia)+(W*Z-X*Y-_*ba-$*aa)*ma)-(W*X+Y*Z+_*$-aa*ba)*la;s=(W*Z-X*Y-_*ba-$*aa)*(ca*fa-da*ea-ga*ja-ha*ia)-(W*X+Y*Z+_*$-aa*ba)*ka-(X*aa+(Z*_+W*ba)-Y*$)*la-(W*$+Z*aa+Y*ba-X*_)*ma;i=-p-q*0.0-r*0.0;j=(r+s*0.0-p*0.0)*-r+(s*(s+q*0.0-r*0.0)+i*-p)-(s*0.0+p*0.0-q)*-q;l=(s*0.0+p*0.0-q)*-p+(s*(r+s*0.0-p*0.0)+i*-q)-(s+q*0.0-r*0.0)*-r;i=(s+q*0.0-r*0.0)*-q+(s*(s*0.0+p*0.0-q)+i*-r)-(r+s*0.0-p*0.0)*-p;m=1.0/+A(+(i*i+(j*j+l*l)));if(i*m*0.0+(l*m*0.0+j*m)<-.9999998807907104){o=1.0;n=-0.0;i=0.0;j=0.0}else{sa=+A(+((i*m*0.0+(l*m*0.0+j*m)+1.0)*2.0));o=(j*m*0.0-i*m)*(1.0/sa);n=(i*m*0.0-l*m*0.0)*(1.0/sa);i=(l*m-j*m*0.0)*(1.0/sa);j=sa*.5}l=1.0/+A(+(n*n+o*o+i*i+j*j));m=n*l;u=o*l;t=i*l;l=j*l;U=1.0/+A(+((s*l-p*-m-q*-u-r*-t)*(s*l-p*-m-q*-u-r*-t)+((q*-m+(r*l+s*-t)-p*-u)*(q*-m+(r*l+s*-t)-p*-u)+((r*-u+(p*l+s*-m)-q*-t)*(r*-u+(p*l+s*-m)-q*-t)+(p*-t+(s*-u+q*l)-r*-m)*(p*-t+(s*-u+q*l)-r*-m)))));V=(r*-u+(p*l+s*-m)-q*-t)*U;j=(p*-t+(s*-u+q*l)-r*-m)*U;i=(q*-m+(r*l+s*-t)-p*-u)*U;U=(s*l-p*-m-q*-u-r*-t)*U;T=+g[b+444>>2];S=+g[b+456>>2];if(T>=S?(v=+g[b+448>>2],v>=S):0){r=l<-1.0?-1.0:l;r=+F(+(r>1.0?1.0:r))*2.0;if(r>1.1920928955078125e-07){o=1.0/+A(+(t*t+(m*m+u*u)));if(+z(+(u*o))>1.1920928955078125e-07){n=m*o;m=t*o;l=u*o;p=+A(+((t*o*t*o/(u*o*u*o)+1.0)/(t*o*t*o/(u*o*u*o)/(T*T)+1.0/(v*v))))}else{n=m*o;m=t*o;l=u*o;p=T}}else{n=0.0;m=0.0;l=0.0;p=0.0}o=+g[b+428>>2];q=p*o;if(r>q){a[b+526>>0]=1;if(r<p&o<.9999998807907104)o=(r-q)/(p-q);else o=1.0;g[b+528>>2]=o;g[b+504>>2]=r-q;if(+z(+l)>1.1920928955078125e-07){sa=+z(+(l*v/T*(-m/l)));m=m<-0.0?sa:-sa;sa=1.0/+A(+(n*n+l*l+m*m));n=n*sa;m=-(m*sa);l=l*sa}ra=-n;qa=-l;oa=-m;T=(ca*fa-da*ea-ga*ja-ha*ia)*ra+(da*ia+(fa*ga+ca*ja)-ea*ha)*oa-(ca*ha+fa*ia+ea*ja-da*ga)*qa;sa=(ca*ha+fa*ia+ea*ja-da*ga)*ra+(ca*fa-da*ea-ga*ja-ha*ia)*qa-(ca*da+ea*fa+ga*ha-ia*ja)*oa;pa=(ca*da+ea*fa+ga*ha-ia*ja)*qa+(ca*fa-da*ea-ga*ja-ha*ia)*oa-(da*ia+(fa*ga+ca*ja)-ea*ha)*ra;oa=-((ca*da+ea*fa+ga*ha-ia*ja)*ra)-(da*ia+(fa*ga+ca*ja)-ea*ha)*qa-(ca*ha+fa*ia+ea*ja-da*ga)*oa;qa=sa*ma+(oa*ka+(ca*fa-da*ea-ga*ja-ha*ia)*T)-pa*la;ra=pa*ka+((ca*fa-da*ea-ga*ja-ha*ia)*sa+oa*la)-T*ma;sa=T*la+(oa*ma+(ca*fa-da*ea-ga*ja-ha*ia)*pa)-sa*ka;g[b+460>>2]=qa;g[b+464>>2]=ra;g[b+468>>2]=sa;g[b+472>>2]=0.0;c[b+536>>2]=0;c[b+536+4>>2]=0;c[b+536+8>>2]=0;c[b+536+12>>2]=0;g[b+492>>2]=1.0/(qa*(+g[f>>2]*qa+ +g[f+16>>2]*ra+ +g[f+32>>2]*sa)+ra*(qa*+g[f+4>>2]+ra*+g[f+20>>2]+sa*+g[f+36>>2])+sa*(qa*+g[f+8>>2]+ra*+g[f+24>>2]+sa*+g[f+40>>2])+(qa*(qa*+g[h>>2]+ra*+g[h+16>>2]+sa*+g[h+32>>2])+ra*(qa*+g[h+4>>2]+ra*+g[h+20>>2]+sa*+g[h+36>>2])+sa*(qa*+g[h+8>>2]+ra*+g[h+24>>2]+sa*+g[h+40>>2])))}}else R=20;a:do if((R|0)==20){E=+g[b+300>>2];G=+g[b+316>>2];H=+g[b+332>>2];J=+g[d>>2];K=+g[d+4>>2];L=+g[d+8>>2];M=+g[d+16>>2];N=+g[d+20>>2];O=+g[d+24>>2];P=+g[d+32>>2];Q=+g[d+36>>2];r=+g[d+40>>2];s=+g[b+304>>2];t=+g[b+320>>2];u=+g[b+336>>2];v=+g[b+308>>2];w=+g[b+324>>2];x=+g[b+340>>2];o=+g[b+364>>2];l=+g[b+380>>2];q=+g[b+396>>2];y=o*+g[e>>2]+l*+g[e+4>>2]+q*+g[e+8>>2];B=o*+g[e+16>>2]+l*+g[e+20>>2]+q*+g[e+24>>2];q=o*+g[e+32>>2]+l*+g[e+36>>2]+q*+g[e+40>>2];l=(E*J+G*K+H*L)*y+(E*M+G*N+H*O)*B+(E*P+G*Q+H*r)*q;o=(J*s+K*t+L*u)*y+(M*s+N*t+O*u)*B+(P*s+Q*t+r*u)*q;n=(J*v+K*w+L*x)*y+(M*v+N*w+O*x)*B+(P*v+Q*w+r*x)*q;do if(T<S){p=+g[b+448>>2];if(p<S){if(+z(+o)<1.1920928955078125e-07&+z(+n)<1.1920928955078125e-07)break a;a[b+526>>0]=1;g[b+460>>2]=-((E*P+G*Q+H*r)*B-(E*M+G*N+H*O)*q);g[b+464>>2]=-((E*J+G*K+H*L)*q-(E*P+G*Q+H*r)*y);g[b+468>>2]=-((E*M+G*N+H*O)*y-(E*J+G*K+H*L)*B);g[b+472>>2]=0.0;break a}if(!(+z(+l)<1.1920928955078125e-07&+z(+n)<1.1920928955078125e-07)?(a[b+526>>0]=1,p>=S):0){m=+I(+n,+l);if(m>p){n=+D(+p);m=0.0;l=+C(+p);break}if(m<-p){n=-+D(+p);m=0.0;l=+C(+p)}else m=0.0}else m=o}else if(!(+z(+l)<1.1920928955078125e-07&+z(+o)<1.1920928955078125e-07)?(a[b+526>>0]=1,T>=S):0){m=+I(+o,+l);if(m>T){n=0.0;m=+D(+T);l=+C(+T);break}if(m<-T){n=0.0;m=-+D(+T);l=+C(+T)}else{n=0.0;m=o}}else m=o;while(0);qa=(J*v+K*w+L*x)*n+((J*s+K*t+L*u)*m+(E*J+G*K+H*L)*l);pa=(M*v+N*w+O*x)*n+((M*s+N*t+O*u)*m+(E*M+G*N+H*O)*l);oa=(P*v+Q*w+r*x)*n+((P*s+Q*t+r*u)*m+(E*P+G*Q+H*r)*l);ra=1.0/+A(+(oa*oa+(qa*qa+pa*pa)));g[b+472>>2]=0.0;sa=+A(+((B*oa*ra-q*pa*ra)*(B*oa*ra-q*pa*ra)+(q*qa*ra-y*oa*ra)*(q*qa*ra-y*oa*ra)+(y*pa*ra-B*qa*ra)*(y*pa*ra-B*qa*ra)));g[b+504>>2]=sa;g[b+460>>2]=-((B*oa*ra-q*pa*ra)*(1.0/sa));g[b+464>>2]=-((q*qa*ra-y*oa*ra)*(1.0/sa));g[b+468>>2]=-((y*pa*ra-B*qa*ra)*(1.0/sa))}while(0);p=+g[b+452>>2];if(!(p>=0.0)){g[b+512>>2]=0.0;k=na;return}m=U<-1.0?-1.0:U;m=+F(+(m>1.0?1.0:m))*2.0;if(m>3.1415927410125732){o=-U<-1.0?-1.0:-U;l=-V;j=-j;i=-i;o=+F(+(o>1.0?1.0:o))*2.0}else{l=V;o=m}g[b+512>>2]=o;if(o>1.1920928955078125e-07){sa=1.0/+A(+(l*l+j*j+i*i));l=l*sa;n=i*sa;j=j*sa}else n=i;i=+g[b+428>>2];if(o>p*i){a[b+525>>0]=1;m=o-p*i;if(o<p&i<.9999998807907104)i=m/(p-p*i);else i=1.0;g[b+532>>2]=i;g[b+508>>2]=m;ra=-l;qa=-j;oa=-n;V=(ca*fa-da*ea-ga*ja-ha*ia)*ra+(da*ia+(fa*ga+ca*ja)-ea*ha)*oa-(ca*ha+fa*ia+ea*ja-da*ga)*qa;sa=(ca*ha+fa*ia+ea*ja-da*ga)*ra+(ca*fa-da*ea-ga*ja-ha*ia)*qa-(ca*da+ea*fa+ga*ha-ia*ja)*oa;pa=(ca*da+ea*fa+ga*ha-ia*ja)*qa+(ca*fa-da*ea-ga*ja-ha*ia)*oa-(da*ia+(fa*ga+ca*ja)-ea*ha)*ra;oa=-((ca*da+ea*fa+ga*ha-ia*ja)*ra)-(da*ia+(fa*ga+ca*ja)-ea*ha)*qa-(ca*ha+fa*ia+ea*ja-da*ga)*oa;qa=sa*ma+(oa*ka+(ca*fa-da*ea-ga*ja-ha*ia)*V)-pa*la;ra=pa*ka+((ca*fa-da*ea-ga*ja-ha*ia)*sa+oa*la)-V*ma;sa=V*la+(oa*ma+(ca*fa-da*ea-ga*ja-ha*ia)*pa)-sa*ka;g[b+476>>2]=qa;g[b+480>>2]=ra;g[b+484>>2]=sa;g[b+488>>2]=0.0;g[b+496>>2]=1.0/(qa*(+g[f>>2]*qa+ +g[f+16>>2]*ra+ +g[f+32>>2]*sa)+ra*(qa*+g[f+4>>2]+ra*+g[f+20>>2]+sa*+g[f+36>>2])+sa*(qa*+g[f+8>>2]+ra*+g[f+24>>2]+sa*+g[f+40>>2])+(qa*(qa*+g[h>>2]+ra*+g[h+16>>2]+sa*+g[h+32>>2])+ra*(qa*+g[h+4>>2]+ra*+g[h+20>>2]+sa*+g[h+36>>2])+sa*(qa*+g[h+8>>2]+ra*+g[h+24>>2]+sa*+g[h+40>>2])))}if(!(a[b+526>>0]|0)){k=na;return}ma=-l;sa=-j;oa=-n;la=(W*Z-X*Y-_*ba-$*aa)*ma+(X*aa+(Z*_+W*ba)-Y*$)*oa-(W*$+Z*aa+Y*ba-X*_)*sa;ra=(W*$+Z*aa+Y*ba-X*_)*ma+(W*Z-X*Y-_*ba-$*aa)*sa-(W*X+Y*Z+_*$-aa*ba)*oa;qa=(W*X+Y*Z+_*$-aa*ba)*sa+(W*Z-X*Y-_*ba-$*aa)*oa-(X*aa+(Z*_+W*ba)-Y*$)*ma;oa=-((W*X+Y*Z+_*$-aa*ba)*ma)-(X*aa+(Z*_+W*ba)-Y*$)*sa-(W*$+Z*aa+Y*ba-X*_)*oa;sa=-(W*X+Y*Z+_*$-aa*ba);ma=-(X*aa+(Z*_+W*ba)-Y*$);pa=-(W*$+Z*aa+Y*ba-X*_);g[b+536>>2]=ra*pa+(oa*sa+(W*Z-X*Y-_*ba-$*aa)*la)-qa*ma;g[b+540>>2]=qa*sa+((W*Z-X*Y-_*ba-$*aa)*ra+oa*ma)-la*pa;g[b+544>>2]=la*ma+(oa*pa+(W*Z-X*Y-_*ba-$*aa)*qa)-ra*sa;g[b+548>>2]=0.0;k=na;return}function sc(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0,na=0;ma=c[b+28>>2]|0;na=c[b+32>>2]|0;la=c[d+24>>2]|0;if(!(a[b+739>>0]|0)){j=+g[b+552>>2];R=+g[ma+4>>2];l=+g[b+568>>2];S=+g[ma+8>>2];n=+g[b+584>>2];T=+g[ma+12>>2];p=+g[b+556>>2];s=+g[b+572>>2];t=+g[b+588>>2];U=+g[b+560>>2];V=+g[b+576>>2];W=+g[b+592>>2];X=+g[ma+20>>2];Y=+g[ma+24>>2];Z=+g[ma+28>>2];_=+g[ma+36>>2];$=+g[ma+40>>2];aa=+g[ma+44>>2];u=+g[b+600>>2];v=+g[b+604>>2];w=+g[b+608>>2];x=+g[ma+52>>2];y=+g[ma+56>>2];z=+g[ma+60>>2];B=+g[na+4>>2];C=+g[na+8>>2];D=+g[na+12>>2];E=+g[b+624>>2];F=+g[b+640>>2];G=+g[b+656>>2];H=+g[na+20>>2];I=+g[na+24>>2];J=+g[na+28>>2];K=+g[na+36>>2];L=+g[na+40>>2];M=+g[na+44>>2];ja=+g[b+664>>2];ka=+g[b+668>>2];P=+g[b+672>>2];N=+g[na+52>>2]+(B*ja+C*ka+D*P);O=H*ja+I*ka+J*P+ +g[na+56>>2];P=K*ja+L*ka+M*P+ +g[na+60>>2];k=(a[b+736>>0]|0)==0;if(k){h=c[d+8>>2]|0;g[h>>2]=1.0;g[h+(la+1<<2)>>2]=1.0;g[h+((la<<1)+2<<2)>>2]=1.0;h=c[d+16>>2]|0;g[h>>2]=-1.0;g[h+(la+1<<2)>>2]=-1.0;g[h+((la<<1)+2<<2)>>2]=-1.0;h=la<<1;e=+g[ma+52>>2];f=+g[ma+56>>2];i=+g[ma+60>>2]}else{h=la<<1;e=x;f=y;i=z}e=x+(R*u+S*v+T*w)-e;ka=X*u+Y*v+Z*w+y-f;ja=_*u+$*v+aa*w+z-i;m=c[d+12>>2]|0;o=m+(h<<2)|0;c[m>>2]=0;g[m+4>>2]=ja;g[m+8>>2]=-ka;g[m+12>>2]=0.0;g[m+(la<<2)>>2]=-ja;c[m+(la<<2)+4>>2]=0;g[m+(la<<2)+8>>2]=e;g[m+(la<<2)+12>>2]=0.0;g[o>>2]=ka;g[o+4>>2]=-e;c[o+8>>2]=0;g[o+12>>2]=0.0;e=N-+g[na+52>>2];ka=O-+g[na+56>>2];ja=P-+g[na+60>>2];o=c[d+20>>2]|0;Q=o+(h<<2)|0;c[o>>2]=0;g[o+4>>2]=-ja;g[o+8>>2]=ka;g[o+12>>2]=0.0;g[o+(la<<2)>>2]=ja;c[o+(la<<2)+4>>2]=0;g[o+(la<<2)+8>>2]=-e;g[o+(la<<2)+12>>2]=0.0;g[Q>>2]=-ka;g[Q+4>>2]=e;c[Q+8>>2]=0;g[Q+12>>2]=0.0;e=+g[d>>2]*+g[d+4>>2];Q=c[d+28>>2]|0;if(k){g[Q>>2]=e*(N-(x+(R*u+S*v+T*w)));g[Q+(la<<2)>>2]=e*(O-(X*u+Y*v+Z*w+y));g[Q+(la<<1<<2)>>2]=e*(P-(_*u+$*v+aa*w+z))}g[m+(la*3<<2)>>2]=j*R+l*S+n*T;g[m+((la*3|0)+1<<2)>>2]=j*X+l*Y+n*Z;g[m+((la*3|0)+2<<2)>>2]=j*_+l*$+n*aa;g[m+(la<<2<<2)>>2]=R*p+S*s+T*t;g[m+((la<<2|1)<<2)>>2]=p*X+s*Y+t*Z;g[m+((la<<2|2)<<2)>>2]=p*_+s*$+t*aa;g[o+(la*3<<2)>>2]=-(j*R+l*S+n*T);g[o+((la*3|0)+1<<2)>>2]=-(j*X+l*Y+n*Z);g[o+((la*3|0)+2<<2)>>2]=-(j*_+l*$+n*aa);g[o+(la<<2<<2)>>2]=-(R*p+S*s+T*t);g[o+((la<<2|1)<<2)>>2]=-(p*X+s*Y+t*Z);g[o+((la<<2|2)<<2)>>2]=-(p*_+s*$+t*aa);ja=(U*X+V*Y+W*Z)*(E*K+F*L+G*M)-(U*_+V*$+W*aa)*(E*H+F*I+G*J);ka=(U*_+V*$+W*aa)*(B*E+C*F+D*G)-(R*U+S*V+T*W)*(E*K+F*L+G*M);ia=(R*U+S*V+T*W)*(E*H+F*I+G*J)-(U*X+V*Y+W*Z)*(B*E+C*F+D*G);g[Q+(la*3<<2)>>2]=((j*_+l*$+n*aa)*ia+((j*R+l*S+n*T)*ja+(j*X+l*Y+n*Z)*ka))*e;g[Q+(la<<2<<2)>>2]=((p*_+s*$+t*aa)*ia+((R*p+S*s+T*t)*ja+(p*X+s*Y+t*Z)*ka))*e;if(!(a[b+716>>0]|0)){p=0.0;r=0}else{ka=+g[b+708>>2]*+g[b+732>>2];p=ka;r=ka>0.0?1:2}h=a[b+737>>0]|0;q=(r|0)!=0;if(!(r|h&255))return;g[m+(la*5<<2)>>2]=R*U+S*V+T*W;g[m+((la*5|0)+1<<2)>>2]=U*X+V*Y+W*Z;g[m+((la*5|0)+2<<2)>>2]=U*_+V*$+W*aa;g[o+(la*5<<2)>>2]=-(R*U+S*V+T*W);g[o+((la*5|0)+1<<2)>>2]=-(U*X+V*Y+W*Z);g[o+((la*5|0)+2<<2)>>2]=-(U*_+V*$+W*aa);e=+g[b+688>>2];f=+g[b+692>>2];if(!((e-f)%6.2831854820251465<-3.1415927410125732))if((e-f)%6.2831854820251465>3.1415927410125732)n=(e-f)%6.2831854820251465+-6.2831854820251465;else n=(e-f)%6.2831854820251465;else n=(e-f)%6.2831854820251465+6.2831854820251465;if(!((e+f)%6.2831854820251465<-3.1415927410125732))if((e+f)%6.2831854820251465>3.1415927410125732)j=(e+f)%6.2831854820251465+-6.2831854820251465;else j=(e+f)%6.2831854820251465;else j=(e+f)%6.2831854820251465+6.2831854820251465;m=n==j;o=Q+(la*5<<2)|0;g[o>>2]=0.0;k=c[b+748>>2]|0;l=+g[((k&2|0)==0?d+4|0:b+760|0)>>2];if(!(h<<24>>24==0|q&m)){if(k&4|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+752>>2];f=+g[b+728>>2];i=+g[b+680>>2];e=n>j?1.0:0.0;do if(!(n>=j)){e=i/(l*+g[d>>2]);if(e<0.0)if(f>=n&n-e>f){e=(n-f)/e;break}else{e=f<n?0.0:1.0;break}if(e>0.0)if(f<=j&j-e<f){e=(j-f)/e;break}else{e=f>j?0.0:1.0;break}else e=0.0}while(0);g[o>>2]=e*i*+g[b+732>>2]+ +g[o>>2];g[(c[d+36>>2]|0)+(la*5<<2)>>2]=-+g[b+684>>2];c[(c[d+40>>2]|0)+(la*5<<2)>>2]=c[b+684>>2]}if(!q)return;g[o>>2]=+g[o>>2]+p*l*+g[d>>2];if(k&1|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+756>>2];do if(!m){h=(c[d+36>>2]|0)+(la*5<<2)|0;if((r|0)==1){g[h>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(la*5<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[(c[d+40>>2]|0)+(la*5<<2)>>2]=e;f=+g[b+704>>2];do if(f>0.0){e=(R*U+S*V+T*W)*+g[ma+328>>2]+(U*X+V*Y+W*Z)*+g[ma+332>>2]+(U*_+V*$+W*aa)*+g[ma+336>>2]-((R*U+S*V+T*W)*+g[na+328>>2]+(U*X+V*Y+W*Z)*+g[na+332>>2]+(U*_+V*$+W*aa)*+g[na+336>>2]);if((r|0)==1){if(!(e<0.0))break;if(!(+g[o>>2]<-(f*e)))break;g[o>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[o>>2]>-(f*e)))break;g[o>>2]=-(f*e);break}}while(0);g[o>>2]=+g[b+700>>2]*+g[o>>2];return}S=+g[ma+4>>2];T=+g[ma+8>>2];U=+g[ma+12>>2];p=+g[b+556>>2];t=+g[b+572>>2];u=+g[b+588>>2];V=+g[b+560>>2];W=+g[b+576>>2];X=+g[b+592>>2];Y=+g[ma+20>>2];Z=+g[ma+24>>2];_=+g[ma+28>>2];$=+g[ma+36>>2];aa=+g[ma+40>>2];ba=+g[ma+44>>2];x=+g[b+600>>2];z=+g[b+604>>2];y=+g[b+608>>2];f=+g[ma+52>>2];s=+g[ma+56>>2];l=+g[ma+60>>2];ca=+g[na+4>>2];da=+g[na+8>>2];ea=+g[na+12>>2];fa=+g[b+624>>2];ga=+g[b+640>>2];K=+g[b+656>>2];L=+g[na+20>>2];M=+g[na+24>>2];N=+g[na+28>>2];O=+g[na+36>>2];P=+g[na+40>>2];R=+g[na+44>>2];D=+g[b+664>>2];C=+g[b+668>>2];i=+g[b+672>>2];e=+g[na+52>>2];n=+g[na+56>>2];j=+g[na+60>>2];F=e+(ca*D+da*C+ea*i)-(f+(S*x+T*z+U*y));G=L*D+M*C+N*i+n-(Y*x+Z*z+_*y+s);H=O*D+P*C+R*i+j-($*x+aa*z+ba*y+l);v=+g[(c[b+28>>2]|0)+344>>2];w=+g[(c[b+32>>2]|0)+344>>2];E=v+w>0.0?w/(v+w):.5;ha=(S*V+T*W+U*X)*E+(ca*fa+da*ga+ea*K)*(1.0-E);ia=(V*Y+W*Z+X*_)*E+(fa*L+ga*M+K*N)*(1.0-E);ja=(V*$+W*aa+X*ba)*E+(fa*O+ga*P+K*R)*(1.0-E);ka=1.0/+A(+(ja*ja+(ha*ha+ia*ia)));B=(O*D+P*C+R*i+j-j)*ja*ka+((e+(ca*D+da*C+ea*i)-e)*ha*ka+(L*D+M*C+N*i+n-n)*ia*ka);e=e+(ca*D+da*C+ea*i)-e-ha*ka*B;n=L*D+M*C+N*i+n-n-ia*ka*B;j=O*D+P*C+R*i+j-j-ja*ka*B;i=($*x+aa*z+ba*y+l-l)*ja*ka+((f+(S*x+T*z+U*y)-f)*ha*ka+(Y*x+Z*z+_*y+s-s)*ia*ka);f=f+(S*x+T*z+U*y)-f-ha*ka*i;s=Y*x+Z*z+_*y+s-s-ia*ka*i;l=$*x+aa*z+ba*y+l-l-ja*ka*i;y=f+E*(ha*ka*i-ha*ka*B);z=s+E*(ia*ka*i-ia*ka*B);x=l+E*(ja*ka*i-ja*ka*B);C=e-(1.0-E)*(ha*ka*i-ha*ka*B);D=n-(1.0-E)*(ia*ka*i-ia*ka*B);B=j-(1.0-E)*(ja*ka*i-ja*ka*B);i=(E*j+(1.0-E)*l)*(E*j+(1.0-E)*l)+((E*e+(1.0-E)*f)*(E*e+(1.0-E)*f)+(E*n+(1.0-E)*s)*(E*n+(1.0-E)*s));if(i>1.1920928955078125e-07){p=1.0/+A(+i);J=(E*e+(1.0-E)*f)*p;I=(E*j+(1.0-E)*l)*p;p=(E*n+(1.0-E)*s)*p}else{J=S*p+T*t+U*u;I=p*$+t*aa+u*ba;p=p*Y+t*Z+u*_}s=ia*ka*I-ja*ka*p;t=ja*ka*J-ha*ka*I;u=ha*ka*p-ia*ka*J;Q=c[d+12>>2]|0;g[Q>>2]=z*I-x*p;g[Q+4>>2]=x*J-y*I;g[Q+8>>2]=y*p-z*J;Q=c[d+20>>2]|0;g[Q>>2]=-(D*I-B*p);g[Q+4>>2]=-(B*J-C*I);g[Q+8>>2]=-(C*p-D*J);if(v<1.1920928955078125e-07|w<1.1920928955078125e-07?(a[b+716>>0]|0)!=0:0){e=E*(z*u-x*t);f=E*(x*s-y*u);i=E*(y*t-z*s);j=(1.0-E)*(D*u-B*t);l=(1.0-E)*(B*s-C*u);n=(1.0-E)*(C*t-D*s)}else{e=z*u-x*t;f=x*s-y*u;i=y*t-z*s;j=D*u-B*t;l=B*s-C*u;n=C*t-D*s}Q=(c[d+12>>2]|0)+(la<<2)|0;g[Q>>2]=e;g[Q+4>>2]=f;g[Q+8>>2]=i;Q=c[d+20>>2]|0;g[Q+(la<<2)>>2]=-j;g[Q+(la+1<<2)>>2]=-l;g[Q+(la+2<<2)>>2]=-n;if(v<1.1920928955078125e-07|w<1.1920928955078125e-07){n=E*(z*ja*ka-x*ia*ka);l=E*(x*ha*ka-y*ja*ka);f=E*(y*ia*ka-z*ha*ka);j=(1.0-E)*(D*ja*ka-B*ia*ka);i=(1.0-E)*(B*ha*ka-C*ja*ka);e=(1.0-E)*(C*ia*ka-D*ha*ka)}else{n=z*ja*ka-x*ia*ka;l=x*ha*ka-y*ja*ka;f=y*ia*ka-z*ha*ka;j=D*ja*ka-B*ia*ka;i=B*ha*ka-C*ja*ka;e=C*ia*ka-D*ha*ka}m=(c[d+12>>2]|0)+(la<<1<<2)|0;g[m>>2]=n;g[m+4>>2]=l;g[m+8>>2]=f;m=c[d+20>>2]|0;g[m+(la<<1<<2)>>2]=-j;g[m+((la<<1|1)<<2)>>2]=-i;g[m+((la<<1)+2<<2)>>2]=-e;e=+g[d>>2]*+g[d+4>>2];if(!(a[b+736>>0]|0)){o=c[d+8>>2]|0;g[o>>2]=J;g[o+4>>2]=p;g[o+8>>2]=I;o=(c[d+8>>2]|0)+(la<<2)|0;g[o>>2]=s;g[o+4>>2]=t;g[o+8>>2]=u;o=(c[d+8>>2]|0)+(la<<1<<2)|0;g[o>>2]=ha*ka;g[o+4>>2]=ia*ka;g[o+8>>2]=ja*ka;o=c[d+16>>2]|0;f=-J;g[o>>2]=f;g[o+4>>2]=-p;g[o+8>>2]=-I;g[o+(la<<2)>>2]=-s;g[o+(la+1<<2)>>2]=-t;g[o+(la+2<<2)>>2]=-u;g[o+(la<<1<<2)>>2]=-(ha*ka);g[o+((la<<1|1)<<2)>>2]=-(ia*ka);g[o+((la<<1)+2<<2)>>2]=-(ja*ka);o=c[d+28>>2]|0;g[o>>2]=e*(F*J+G*p+H*I);g[o+(la<<2)>>2]=e*(F*s+G*t+H*u);g[o+(la<<1<<2)>>2]=e*(F*ha*ka+G*ia*ka+H*ja*ka);e=f;f=-s;i=-t;j=-u;m=c[d+20>>2]|0}else{e=-J;f=-s;i=-t;j=-u;o=c[d+28>>2]|0}k=c[d+12>>2]|0;g[k+(la*3<<2)>>2]=J;g[k+((la*3|0)+1<<2)>>2]=p;g[k+((la*3|0)+2<<2)>>2]=I;g[k+(la<<2<<2)>>2]=s;g[k+((la<<2|1)<<2)>>2]=t;g[k+((la<<2|2)<<2)>>2]=u;g[m+(la*3<<2)>>2]=e;g[m+((la*3|0)+1<<2)>>2]=-p;g[m+((la*3|0)+2<<2)>>2]=-I;g[m+(la<<2<<2)>>2]=f;g[m+((la<<2|1)<<2)>>2]=i;g[m+((la<<2|2)<<2)>>2]=j;G=+g[d>>2]*+g[d+4>>2];H=(V*Y+W*Z+X*_)*(fa*O+ga*P+K*R)-(V*$+W*aa+X*ba)*(fa*L+ga*M+K*N);ba=(V*$+W*aa+X*ba)*(ca*fa+da*ga+ea*K)-(S*V+T*W+U*X)*(fa*O+ga*P+K*R);ga=(S*V+T*W+U*X)*(fa*L+ga*M+K*N)-(V*Y+W*Z+X*_)*(ca*fa+da*ga+ea*K);g[o+(la*3<<2)>>2]=G*(H*J+ba*p+ga*I);g[o+(la<<2<<2)>>2]=G*(H*s+ba*t+ga*u);if(!(a[b+716>>0]|0)){p=0.0;r=0}else{ga=+g[b+708>>2]*+g[b+732>>2];p=ga;r=ga>0.0?1:2}h=a[b+737>>0]|0;q=(r|0)!=0;if(!(r|h&255))return;g[k+(la*5<<2)>>2]=ha*ka;g[k+((la*5|0)+1<<2)>>2]=ia*ka;g[k+((la*5|0)+2<<2)>>2]=ja*ka;g[m+(la*5<<2)>>2]=-(ha*ka);g[m+((la*5|0)+1<<2)>>2]=-(ia*ka);g[m+((la*5|0)+2<<2)>>2]=-(ja*ka);e=+g[b+688>>2];f=+g[b+692>>2];if(!((e-f)%6.2831854820251465<-3.1415927410125732))if((e-f)%6.2831854820251465>3.1415927410125732)n=(e-f)%6.2831854820251465+-6.2831854820251465;else n=(e-f)%6.2831854820251465;else n=(e-f)%6.2831854820251465+6.2831854820251465;if(!((e+f)%6.2831854820251465<-3.1415927410125732))if((e+f)%6.2831854820251465>3.1415927410125732)j=(e+f)%6.2831854820251465+-6.2831854820251465;else j=(e+f)%6.2831854820251465;else j=(e+f)%6.2831854820251465+6.2831854820251465;m=n==j;o=o+(la*5<<2)|0;g[o>>2]=0.0;k=c[b+748>>2]|0;l=+g[((k&2|0)==0?d+4|0:b+760|0)>>2];if(!(h<<24>>24==0|q&m)){if(k&4|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+752>>2];f=+g[b+728>>2];i=+g[b+680>>2];e=n>j?1.0:0.0;do if(!(n>=j)){e=i/(l*+g[d>>2]);if(e<0.0)if(f>=n&n-e>f){e=(n-f)/e;break}else{e=f<n?0.0:1.0;break}if(e>0.0)if(f<=j&j-e<f){e=(j-f)/e;break}else{e=f>j?0.0:1.0;break}else e=0.0}while(0);g[o>>2]=e*i*+g[b+732>>2]+ +g[o>>2];g[(c[d+36>>2]|0)+(la*5<<2)>>2]=-+g[b+684>>2];c[(c[d+40>>2]|0)+(la*5<<2)>>2]=c[b+684>>2]}if(!q)return;g[o>>2]=+g[o>>2]+p*l*+g[d>>2];if(k&1|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+756>>2];do if(!m){h=(c[d+36>>2]|0)+(la*5<<2)|0;if((r|0)==1){g[h>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(la*5<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[(c[d+40>>2]|0)+(la*5<<2)>>2]=e;f=+g[b+704>>2];do if(f>0.0){e=+g[ma+328>>2]*ha*ka+ +g[ma+332>>2]*ia*ka+ +g[ma+336>>2]*ja*ka-(+g[na+328>>2]*ha*ka+ +g[na+332>>2]*ia*ka+ +g[na+336>>2]*ja*ka);if((r|0)==1){if(!(e<0.0))break;if(!(+g[o>>2]<-(f*e)))break;g[o>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[o>>2]>-(f*e)))break;g[o>>2]=-(f*e);break}}while(0);g[o>>2]=+g[b+700>>2]*+g[o>>2];return}function tc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0;y=k;k=k+1072|0;if((tb[c[(c[f>>2]|0)+80>>2]&255](f)|0)==2){i=c[f+152>>2]|0;c[b+28>>2]=i+-1;if(!i){k=y;return}i=i+-1|0;do{tc(b,d,e,c[(c[f+160>>2]|0)+(i<<2)>>2]|0,h);x=c[b+28>>2]|0;i=x+-1|0;c[b+28>>2]=i}while((x|0)!=0);k=y;return}if((tb[c[(c[h>>2]|0)+80>>2]&255](h)|0)==2){i=c[h+152>>2]|0;c[b+36>>2]=i+-1;if(!i){k=y;return}i=i+-1|0;do{tc(b,d,e,f,c[(c[h+160>>2]|0)+(i<<2)>>2]|0);x=c[b+36>>2]|0;i=x+-1|0;c[b+36>>2]=i}while((x|0)!=0);k=y;return}w=c[d+12>>2]|0;c[y+856>>2]=c[w>>2];c[y+856+4>>2]=c[w+4>>2];c[y+856+8>>2]=c[w+8>>2];c[y+856+12>>2]=c[w+12>>2];c[y+856+16>>2]=c[w+16>>2];c[y+856+16+4>>2]=c[w+16+4>>2];c[y+856+16+8>>2]=c[w+16+8>>2];c[y+856+16+12>>2]=c[w+16+12>>2];c[y+856+32>>2]=c[w+32>>2];c[y+856+32+4>>2]=c[w+32+4>>2];c[y+856+32+8>>2]=c[w+32+8>>2];c[y+856+32+12>>2]=c[w+32+12>>2];c[y+856+48>>2]=c[w+48>>2];c[y+856+48+4>>2]=c[w+48+4>>2];c[y+856+48+8>>2]=c[w+48+8>>2];c[y+856+48+12>>2]=c[w+48+12>>2];w=c[e+12>>2]|0;c[y+792>>2]=c[w>>2];c[y+792+4>>2]=c[w+4>>2];c[y+792+8>>2]=c[w+8>>2];c[y+792+12>>2]=c[w+12>>2];c[y+792+16>>2]=c[w+16>>2];c[y+792+16+4>>2]=c[w+16+4>>2];c[y+792+16+8>>2]=c[w+16+8>>2];c[y+792+16+12>>2]=c[w+16+12>>2];c[y+792+32>>2]=c[w+32>>2];c[y+792+32+4>>2]=c[w+32+4>>2];c[y+792+32+8>>2]=c[w+32+8>>2];c[y+792+32+12>>2]=c[w+32+12>>2];c[y+792+48>>2]=c[w+48>>2];c[y+792+48+4>>2]=c[w+48+4>>2];c[y+792+48+8>>2]=c[w+48+8>>2];c[y+792+48+12>>2]=c[w+48+12>>2];w=y+768+16|0;a[w>>0]=1;x=y+768+12|0;c[x>>2]=0;r=y+768+4|0;c[r>>2]=0;c[y+768+8>>2]=0;c[7584]=(c[7584]|0)+1;i=lc(275)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}l=c[r>>2]|0;m=c[x>>2]|0;if((l|0)<=0){if(m|0)q=15}else{i=0;do{c[j+(i<<3)>>2]=c[m+(i<<3)>>2];c[j+(i<<3)+4>>2]=c[m+(i<<3)+4>>2];i=i+1|0}while((i|0)!=(l|0));q=15}if((q|0)==15){if(a[w>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0)}c[x>>2]=0}a[w>>0]=1;c[x>>2]=j;c[y+768+8>>2]=32;if((c[f+68>>2]|0)!=0?(c[h+68>>2]|0)!=0:0){R=+g[y+856>>2];Q=+g[y+856+16>>2];P=+g[y+856+32>>2];O=+g[y+856+4>>2];N=+g[y+856+20>>2];M=+g[y+856+36>>2];F=+g[y+856+8>>2];D=+g[y+856+24>>2];B=+g[y+856+40>>2];X=-+g[y+856+48>>2];W=-+g[y+856+52>>2];V=-+g[y+856+56>>2];L=+g[y+792>>2];K=+g[y+792+16>>2];J=+g[y+792+32>>2];I=+g[y+792+4>>2];H=+g[y+792+20>>2];G=+g[y+792+36>>2];E=+g[y+792+8>>2];C=+g[y+792+24>>2];A=+g[y+792+40>>2];U=+g[y+792+48>>2];T=+g[y+792+52>>2];S=+g[y+792+56>>2];g[y+952>>2]=R*X+Q*W+P*V+(R*U+Q*T+P*S);g[y+952+4>>2]=O*X+N*W+M*V+(O*U+N*T+M*S);g[y+952+8>>2]=F*X+D*W+B*V+(F*U+D*T+B*S);g[y+952+12>>2]=0.0;g[y+952+16>>2]=R*L+Q*K+P*J;g[y+952+20>>2]=R*I+Q*H+P*G;g[y+952+24>>2]=R*E+Q*C+P*A;g[y+952+28>>2]=0.0;g[y+952+32>>2]=O*L+N*K+M*J;g[y+952+36>>2]=O*I+N*H+M*G;g[y+952+40>>2]=O*E+N*C+M*A;g[y+952+44>>2]=0.0;g[y+952+48>>2]=F*L+D*K+B*J;g[y+952+52>>2]=F*I+D*H+B*G;g[y+952+56>>2]=F*E+D*C+B*A;g[y+952+60>>2]=0.0;g[y+952+64>>2]=+z(+(R*L+Q*K+P*J))+9.999999974752427e-07;g[y+952+68>>2]=+z(+(R*I+Q*H+P*G))+9.999999974752427e-07;g[y+952+72>>2]=+z(+(R*E+Q*C+P*A))+9.999999974752427e-07;g[y+952+80>>2]=+z(+(O*L+N*K+M*J))+9.999999974752427e-07;g[y+952+84>>2]=+z(+(O*I+N*H+M*G))+9.999999974752427e-07;g[y+952+88>>2]=+z(+(O*E+N*C+M*A))+9.999999974752427e-07;g[y+952+96>>2]=+z(+(F*L+D*K+B*J))+9.999999974752427e-07;g[y+952+100>>2]=+z(+(F*I+D*H+B*G))+9.999999974752427e-07;g[y+952+104>>2]=+z(+(F*E+D*C+B*A))+9.999999974752427e-07;md(f+68|0,h+68|0,y+768|0,y+952|0,0,0,1)}else q=21;if((q|0)==21?(n=tb[c[(c[f>>2]|0)+88>>2]&255](f)|0,n|0):0)do{n=n+-1|0;Ub[c[(c[f>>2]|0)+120>>2]&31](f,n,y+856|0,y+952|0,y+952+16|0);i=tb[c[(c[h>>2]|0)+88>>2]&255](h)|0;if(i|0)do{i=i+-1|0;Ub[c[(c[h>>2]|0)+120>>2]&31](h,n,y+792|0,y+920|0,y+920+16|0);if(((((!(+g[y+920>>2]>+g[y+952+16>>2])?!(+g[y+920+16>>2]<+g[y+952>>2]):0)?!(+g[y+920+4>>2]>+g[y+952+20>>2]):0)?!(+g[y+920+20>>2]<+g[y+952+4>>2]):0)?!(+g[y+920+8>>2]>+g[y+952+24>>2]):0)?!(+g[y+920+24>>2]<+g[y+952+8>>2]):0){j=c[r>>2]|0;do if((j|0)==(c[y+768+8>>2]|0)){p=(j|0)==0?1:j<<1;if((j|0)>=(p|0))break;if(!p)o=0;else{c[7584]=(c[7584]|0)+1;j=lc((p<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}o=j;j=c[r>>2]|0}m=c[x>>2]|0;if((j|0)<=0){if(m)q=41}else{l=0;do{c[o+(l<<3)>>2]=c[m+(l<<3)>>2];c[o+(l<<3)+4>>2]=c[m+(l<<3)+4>>2];l=l+1|0}while((l|0)!=(j|0));q=41}if((q|0)==41){q=0;if(a[w>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0);j=c[r>>2]|0}c[x>>2]=0}a[w>>0]=1;c[x>>2]=o;c[y+768+8>>2]=p}while(0);p=c[x>>2]|0;c[p+(j<<3)>>2]=n;c[p+(j<<3)+4>>2]=i;c[r>>2]=j+1}}while((i|0)!=0)}while((n|0)!=0);do if(c[r>>2]|0){if((tb[c[(c[f>>2]|0)+80>>2]&255](f)|0)==1?(tb[c[(c[h>>2]|0)+80>>2]&255](h)|0)==1:0){Lc(b,d,e,f,h,c[x>>2]|0,c[r>>2]|0);break}Db[c[(c[f>>2]|0)+112>>2]&511](f);Db[c[(c[h>>2]|0)+112>>2]&511](h);Ri(y+472|0,f);Ri(y+176|0,h);o=tb[c[(c[f>>2]|0)+92>>2]&255](f)|0;p=tb[c[(c[h>>2]|0)+92>>2]&255](h)|0;i=c[r>>2]|0;if(i|0)do{i=i+-1|0;l=c[x>>2]|0;j=c[l+(i<<3)>>2]|0;c[b+24>>2]=j;c[b+32>>2]=c[l+(i<<3)+4>>2];l=c[y+472+292>>2]|0;j=vb[c[c[l>>2]>>2]&31](l,j)|0;l=c[y+176+292>>2]|0;l=vb[c[c[l>>2]>>2]&31](l,c[b+32>>2]|0)|0;r=c[d+12>>2]|0;c[y+112>>2]=c[r>>2];c[y+112+4>>2]=c[r+4>>2];c[y+112+8>>2]=c[r+8>>2];c[y+112+12>>2]=c[r+12>>2];c[y+112+16>>2]=c[r+16>>2];c[y+112+16+4>>2]=c[r+16+4>>2];c[y+112+16+8>>2]=c[r+16+8>>2];c[y+112+16+12>>2]=c[r+16+12>>2];c[y+112+32>>2]=c[r+32>>2];c[y+112+32+4>>2]=c[r+32+4>>2];c[y+112+32+8>>2]=c[r+32+8>>2];c[y+112+32+12>>2]=c[r+32+12>>2];c[y+112+48>>2]=c[r+48>>2];c[y+112+48+4>>2]=c[r+48+4>>2];c[y+112+48+8>>2]=c[r+48+8>>2];c[y+112+48+12>>2]=c[r+48+12>>2];r=c[e+12>>2]|0;c[y+48>>2]=c[r>>2];c[y+48+4>>2]=c[r+4>>2];c[y+48+8>>2]=c[r+8>>2];c[y+48+12>>2]=c[r+12>>2];c[y+48+16>>2]=c[r+16>>2];c[y+48+16+4>>2]=c[r+16+4>>2];c[y+48+16+8>>2]=c[r+16+8>>2];c[y+48+16+12>>2]=c[r+16+12>>2];c[y+48+32>>2]=c[r+32>>2];c[y+48+32+4>>2]=c[r+32+4>>2];c[y+48+32+8>>2]=c[r+32+8>>2];c[y+48+32+12>>2]=c[r+32+12>>2];c[y+48+48>>2]=c[r+48>>2];c[y+48+48+4>>2]=c[r+48+4>>2];c[y+48+48+8>>2]=c[r+48+8>>2];c[y+48+48+12>>2]=c[r+48+12>>2];if(o){Nb[c[(c[f>>2]|0)+132>>2]&127](y+952|0,f,c[b+24>>2]|0);J=+g[y+952>>2];D=+g[y+856>>2];K=+g[y+952+16>>2];E=+g[y+856+4>>2];L=+g[y+952+32>>2];F=+g[y+856+8>>2];M=+g[y+952+4>>2];N=+g[y+952+20>>2];O=+g[y+952+36>>2];P=+g[y+952+8>>2];R=+g[y+952+24>>2];T=+g[y+952+40>>2];G=+g[y+856+16>>2];H=+g[y+856+20>>2];I=+g[y+856+24>>2];Q=+g[y+856+32>>2];S=+g[y+856+36>>2];U=+g[y+856+40>>2];B=+g[y+952+48>>2];C=+g[y+952+52>>2];X=+g[y+952+56>>2];V=+g[y+856+48>>2]+(D*B+E*C+F*X);W=G*B+H*C+I*X+ +g[y+856+52>>2];X=Q*B+S*C+U*X+ +g[y+856+56>>2];g[y+112>>2]=J*D+K*E+L*F;g[y+112+4>>2]=D*M+E*N+F*O;g[y+112+8>>2]=D*P+E*R+F*T;g[y+112+12>>2]=0.0;g[y+112+16>>2]=J*G+K*H+L*I;g[y+112+20>>2]=M*G+N*H+O*I;g[y+112+24>>2]=P*G+R*H+T*I;g[y+112+28>>2]=0.0;g[y+112+32>>2]=J*Q+K*S+L*U;g[y+112+36>>2]=M*Q+N*S+O*U;g[y+112+40>>2]=P*Q+R*S+T*U;g[y+112+44>>2]=0.0;g[y+112+48>>2]=V;g[y+112+52>>2]=W;g[y+112+56>>2]=X;g[y+112+60>>2]=0.0}if(p){Nb[c[(c[h>>2]|0)+132>>2]&127](y+952|0,h,c[b+32>>2]|0);J=+g[y+952>>2];D=+g[y+792>>2];K=+g[y+952+16>>2];E=+g[y+792+4>>2];L=+g[y+952+32>>2];F=+g[y+792+8>>2];M=+g[y+952+4>>2];N=+g[y+952+20>>2];O=+g[y+952+36>>2];P=+g[y+952+8>>2];R=+g[y+952+24>>2];T=+g[y+952+40>>2];G=+g[y+792+16>>2];H=+g[y+792+20>>2];I=+g[y+792+24>>2];Q=+g[y+792+32>>2];S=+g[y+792+36>>2];U=+g[y+792+40>>2];B=+g[y+952+48>>2];C=+g[y+952+52>>2];X=+g[y+952+56>>2];V=+g[y+792+48>>2]+(D*B+E*C+F*X);W=G*B+H*C+I*X+ +g[y+792+52>>2];X=Q*B+S*C+U*X+ +g[y+792+56>>2];g[y+48>>2]=J*D+K*E+L*F;g[y+48+4>>2]=D*M+E*N+F*O;g[y+48+8>>2]=D*P+E*R+F*T;g[y+48+12>>2]=0.0;g[y+48+16>>2]=J*G+K*H+L*I;g[y+48+20>>2]=M*G+N*H+O*I;g[y+48+24>>2]=P*G+R*H+T*I;g[y+48+28>>2]=0.0;g[y+48+32>>2]=J*Q+K*S+L*U;g[y+48+36>>2]=M*Q+N*S+O*U;g[y+48+40>>2]=P*Q+R*S+T*U;g[y+48+44>>2]=0.0;g[y+48+48>>2]=V;g[y+48+52>>2]=W;g[y+48+56>>2]=X;g[y+48+60>>2]=0.0}Y=c[d+8>>2]|0;r=c[b+28>>2]|0;n=c[b+24>>2]|0;c[y+24>>2]=d;c[y+24+4>>2]=j;c[y+24+8>>2]=Y;c[y+24+12>>2]=y+112;c[y+24+16>>2]=r;c[y+24+20>>2]=n;Y=c[e+8>>2]|0;m=c[b+36>>2]|0;q=c[b+32>>2]|0;c[y>>2]=e;c[y+4>>2]=l;c[y+8>>2]=Y;c[y+12>>2]=y+48;c[y+16>>2]=m;c[y+20>>2]=q;q=c[b+16>>2]|0;Nb[c[(c[q>>2]|0)+8>>2]&127](q,r,n);n=c[b+16>>2]|0;Nb[c[(c[n>>2]|0)+12>>2]&127](n,c[b+36>>2]|0,c[b+32>>2]|0);n=c[y+24+8>>2]|0;r=c[y+24+12>>2]|0;q=c[b+28>>2]|0;m=c[b+24>>2]|0;c[y+952>>2]=y+24;c[y+952+4>>2]=j;c[y+952+8>>2]=n;c[y+952+12>>2]=r;c[y+952+16>>2]=q;c[y+952+20>>2]=m;m=c[y+8>>2]|0;q=c[y+12>>2]|0;r=c[b+36>>2]|0;j=c[b+32>>2]|0;c[y+920>>2]=y;c[y+920+4>>2]=l;c[y+920+8>>2]=m;c[y+920+12>>2]=q;c[y+920+16>>2]=r;c[y+920+20>>2]=j;j=c[b+8>>2]|0;if(!j){j=c[b+12>>2]|0;if(!j){j=c[b+4>>2]|0;j=xb[c[(c[j>>2]|0)+12>>2]&63](j,n,m)|0;c[b+12>>2]=j}c[(c[b+16>>2]|0)+4>>2]=j;Y=c[b+4>>2]|0;j=yb[c[(c[Y>>2]|0)+8>>2]&31](Y,y+952|0,y+920|0,j)|0;c[b+8>>2]=j}Ub[c[(c[j>>2]|0)+8>>2]&31](j,y+952|0,y+920|0,c[b+20>>2]|0,c[b+16>>2]|0)}while((i|0)!=0);Db[c[(c[f>>2]|0)+116>>2]&511](f);Db[c[(c[h>>2]|0)+116>>2]&511](h);c[y+176+108>>2]=10360;i=c[y+176+160>>2]|0;if(i|0?(Db[c[c[i>>2]>>2]&511](i),s=c[y+176+160>>2]|0,s|0):0){c[7585]=(c[7585]|0)+1;Bd(c[s+-4>>2]|0)}c[y+176+4>>2]=10360;i=c[y+176+56>>2]|0;if(i|0?(Db[c[c[i>>2]>>2]&511](i),t=c[y+176+56>>2]|0,t|0):0){c[7585]=(c[7585]|0)+1;Bd(c[t+-4>>2]|0)}c[y+472+108>>2]=10360;i=c[y+472+160>>2]|0;if(i|0?(Db[c[c[i>>2]>>2]&511](i),u=c[y+472+160>>2]|0,u|0):0){c[7585]=(c[7585]|0)+1;Bd(c[u+-4>>2]|0)}c[y+472+4>>2]=10360;i=c[y+472+56>>2]|0;if(i|0?(Db[c[c[i>>2]>>2]&511](i),v=c[y+472+56>>2]|0,v|0):0){c[7585]=(c[7585]|0)+1;Bd(c[v+-4>>2]|0)}}while(0);i=c[x>>2]|0;if(i|0){if(a[w>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[x>>2]=0}k=y;return}function uc(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;var l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;G=k;k=k+896|0;F=c[h+4>>2]|0;E=c[h+12>>2]|0;l=c[F+4>>2]|0;if((l|0)<20){c[G+712>>2]=6876;c[G+712+168>>2]=0;g[G+712+172>>2]=j;c[G+712+164>>2]=c[i+4>>2];g[G+352+308>>2]=9.999999747378752e-05;a[G+352+332>>0]=0;c[G+288>>2]=13168;c[G+64>>2]=13236;c[G+64+4>>2]=G+352;c[G+64+8>>2]=G+288;c[G+64+12>>2]=d;c[G+64+16>>2]=F;c[G+64+20>>2]=0;if((Xd(G+64|0,e,f,E,E,G+712|0)|0?(v=G+712+132|0,q=+g[v>>2],r=+g[G+712+136>>2],s=+g[G+712+140>>2],q*q+r*r+s*s>9.999999747378752e-05):0)?(t=+g[G+712+164>>2],t<+g[i+4>>2]):0){j=1.0/+A(+(q*q+r*r+s*s));g[v>>2]=q*j;g[G+712+136>>2]=r*j;g[G+712+140>>2]=s*j;c[G+16>>2]=c[h+8>>2];c[G+16+4>>2]=0;c[G+16+8>>2]=c[v>>2];c[G+16+8+4>>2]=c[v+4>>2];c[G+16+8+8>>2]=c[v+8>>2];c[G+16+8+12>>2]=c[v+12>>2];c[G+16+24>>2]=c[G+712+148>>2];c[G+16+24+4>>2]=c[G+712+148+4>>2];c[G+16+24+8>>2]=c[G+712+148+8>>2];c[G+16+24+12>>2]=c[G+712+148+12>>2];g[G+16+40>>2]=t;+mb[c[(c[i>>2]|0)+12>>2]&15](i,G+16|0,1)}k=G;return}if((l+-21|0)>>>0>=9){if((l|0)!=31){k=G;return}Wj(20768);if((c[F+16>>2]|0)>0){l=0;do{u=c[F+24>>2]|0;m=+g[u+(l*80|0)>>2];p=+g[u+(l*80|0)+4>>2];s=+g[u+(l*80|0)+8>>2];n=+g[u+(l*80|0)+16>>2];q=+g[u+(l*80|0)+20>>2];w=+g[u+(l*80|0)+24>>2];o=+g[u+(l*80|0)+32>>2];r=+g[u+(l*80|0)+36>>2];y=+g[u+(l*80|0)+40>>2];O=+g[u+(l*80|0)+48>>2];N=+g[u+(l*80|0)+52>>2];D=+g[u+(l*80|0)+56>>2];u=c[u+(l*80|0)+64>>2]|0;M=+g[E>>2];L=+g[E+4>>2];K=+g[E+8>>2];J=+g[E+16>>2];I=+g[E+20>>2];H=+g[E+24>>2];t=+g[E+32>>2];x=+g[E+36>>2];z=+g[E+40>>2];B=O*M+N*L+D*K+ +g[E+48>>2];C=O*J+N*I+D*H+ +g[E+52>>2];D=O*t+N*x+D*z+ +g[E+56>>2];g[G+712>>2]=m*M+n*L+o*K;g[G+712+4>>2]=p*M+q*L+r*K;g[G+712+8>>2]=s*M+w*L+y*K;g[G+712+12>>2]=0.0;g[G+712+16>>2]=m*J+n*I+o*H;g[G+712+20>>2]=p*J+q*I+r*H;g[G+712+24>>2]=s*J+w*I+y*H;g[G+712+28>>2]=0.0;g[G+712+32>>2]=m*t+n*x+o*z;g[G+712+36>>2]=p*t+q*x+r*z;g[G+712+40>>2]=s*t+w*x+y*z;g[G+712+44>>2]=0.0;g[G+712+48>>2]=B;g[G+712+52>>2]=C;g[G+712+56>>2]=D;g[G+712+60>>2]=0.0;b[G+352+8>>1]=1;b[G+352+10>>1]=-1;c[G+352>>2]=9148;c[G+352+12>>2]=i;c[G+352+16>>2]=l;c[G+352+4>>2]=c[i+4>>2];v=c[h+8>>2]|0;c[G+288>>2]=h;c[G+288+4>>2]=u;c[G+288+8>>2]=v;c[G+288+12>>2]=G+712;c[G+288+16>>2]=-1;c[G+288+20>>2]=l;uc(d,e,f,G+288|0,G+352|0,j);l=l+1|0}while((l|0)<(c[F+16>>2]|0))}l=c[3369]|0;F=(c[l+16>>2]|0)+-1|0;c[l+16>>2]=F;if(F|0){k=G;return}do if(c[l+4>>2]|0){bb(G+712|0,0)|0;F=c[7583]|0;g[l+8>>2]=+g[l+8>>2]+ +(((c[G+712+4>>2]|0)-(c[F+4>>2]|0)+(((c[G+712>>2]|0)-(c[F>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[l+16>>2]|0)){l=c[3369]|0;break}else{k=G;return}}while(0);c[3369]=c[l+20>>2];k=G;return}switch(l|0){case 21:{p=+g[E>>2];q=+g[E+16>>2];r=+g[E+32>>2];s=+g[E+4>>2];t=+g[E+20>>2];w=+g[E+36>>2];x=+g[E+8>>2];y=+g[E+24>>2];z=+g[E+40>>2];B=-+g[E+48>>2];C=-+g[E+52>>2];D=-+g[E+56>>2];o=+g[e+48>>2];n=+g[e+52>>2];m=+g[e+56>>2];g[G+352>>2]=p*B+q*C+r*D+(p*o+q*n+r*m);g[G+352+4>>2]=s*B+t*C+w*D+(s*o+t*n+w*m);g[G+352+8>>2]=x*B+y*C+z*D+(x*o+y*n+z*m);g[G+352+12>>2]=0.0;m=+g[f+48>>2];n=+g[f+52>>2];o=+g[f+56>>2];P=+g[f>>2];H=+g[f+16>>2];I=+g[f+32>>2];J=+g[f+4>>2];K=+g[f+20>>2];L=+g[f+36>>2];M=+g[f+8>>2];N=+g[f+24>>2];O=+g[f+40>>2];g[G+288>>2]=p*P+q*H+r*I;g[G+288+4>>2]=p*J+q*K+r*L;g[G+288+8>>2]=p*M+q*N+r*O;g[G+288+12>>2]=0.0;g[G+288+16>>2]=s*P+t*H+w*I;g[G+288+20>>2]=s*J+t*K+w*L;g[G+288+24>>2]=s*M+t*N+w*O;g[G+288+28>>2]=0.0;g[G+288+32>>2]=x*P+y*H+z*I;g[G+288+36>>2]=x*J+y*K+z*L;g[G+288+40>>2]=x*M+y*N+z*O;l=G+288+44|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;l=c[h+8>>2]|0;O=+jb[c[(c[F>>2]|0)+48>>2]&15](F);c[G+64>>2]=13096;c[G+64+4>>2]=d;c[G+64+8>>2]=c[e>>2];c[G+64+8+4>>2]=c[e+4>>2];c[G+64+8+8>>2]=c[e+8>>2];c[G+64+8+12>>2]=c[e+12>>2];c[G+64+24>>2]=c[e+16>>2];c[G+64+24+4>>2]=c[e+16+4>>2];c[G+64+24+8>>2]=c[e+16+8>>2];c[G+64+24+12>>2]=c[e+16+12>>2];c[G+64+40>>2]=c[e+32>>2];c[G+64+40+4>>2]=c[e+32+4>>2];c[G+64+40+8>>2]=c[e+32+8>>2];c[G+64+40+12>>2]=c[e+32+12>>2];c[G+64+56>>2]=c[e+48>>2];c[G+64+56+4>>2]=c[e+48+4>>2];c[G+64+56+8>>2]=c[e+48+8>>2];c[G+64+56+12>>2]=c[e+48+12>>2];c[G+64+72>>2]=c[f>>2];c[G+64+72+4>>2]=c[f+4>>2];c[G+64+72+8>>2]=c[f+8>>2];c[G+64+72+12>>2]=c[f+12>>2];c[G+64+88>>2]=c[f+16>>2];c[G+64+88+4>>2]=c[f+16+4>>2];c[G+64+88+8>>2]=c[f+16+8>>2];c[G+64+88+12>>2]=c[f+16+12>>2];c[G+64+104>>2]=c[f+32>>2];c[G+64+104+4>>2]=c[f+32+4>>2];c[G+64+104+8>>2]=c[f+32+8>>2];c[G+64+104+12>>2]=c[f+32+12>>2];c[G+64+120>>2]=c[f+48>>2];c[G+64+120+4>>2]=c[f+48+4>>2];c[G+64+120+8>>2]=c[f+48+8>>2];c[G+64+120+12>>2]=c[f+48+12>>2];c[G+64+136>>2]=c[E>>2];c[G+64+136+4>>2]=c[E+4>>2];c[G+64+136+8>>2]=c[E+8>>2];c[G+64+136+12>>2]=c[E+12>>2];c[G+64+152>>2]=c[E+16>>2];c[G+64+152+4>>2]=c[E+16+4>>2];c[G+64+152+8>>2]=c[E+16+8>>2];c[G+64+152+12>>2]=c[E+16+12>>2];c[G+64+168>>2]=c[E+32>>2];c[G+64+168+4>>2]=c[E+32+4>>2];c[G+64+168+8>>2]=c[E+32+8>>2];c[G+64+168+12>>2]=c[E+32+12>>2];c[G+64+184>>2]=c[E+48>>2];c[G+64+184+4>>2]=c[E+48+4>>2];c[G+64+184+8>>2]=c[E+48+8>>2];c[G+64+184+12>>2]=c[E+48+12>>2];g[G+64+204>>2]=O;c[G+64>>2]=9100;c[G+64+212>>2]=i;c[G+64+216>>2]=l;c[G+64+220>>2]=F;c[G+64+200>>2]=c[i+4>>2];g[G+64+208>>2]=j;Qb[c[(c[d>>2]|0)+8>>2]&127](d,G+288|0,G+16|0,G);l=c[F+48>>2]|0;c[G+712>>2]=10140;c[G+712+4>>2]=l;c[G+712+8>>2]=G+64;l=c[F+52>>2]|0;if(!(a[l+60>>0]|0))Ve(l,G+712|0,G+352|0,p*B+q*C+r*D+(p*m+q*n+r*o),s*B+t*C+w*D+(s*m+t*n+w*o),x*B+y*C+z*D+(x*m+y*n+z*o),G+16|0,G);else ze(l,G+712|0,G+352|0,p*B+q*C+r*D+(p*m+q*n+r*o),s*B+t*C+w*D+(s*m+t*n+w*o),x*B+y*C+z*D+(x*m+y*n+z*o),G+16|0,G,c[l+56>>2]|0);k=G;return}case 28:{c[G+712>>2]=6876;c[G+712+168>>2]=0;g[G+712+172>>2]=j;c[G+712+164>>2]=c[i+4>>2];c[G+352>>2]=13236;c[G+352+4>>2]=0;c[G+352+8>>2]=0;c[G+352+12>>2]=d;c[G+352+16>>2]=0;c[G+352+20>>2]=F;if((Xd(G+352|0,e,f,E,E,G+712|0)|0?(u=G+712+132|0,m=+g[u>>2],n=+g[G+712+136>>2],o=+g[G+712+140>>2],m*m+n*n+o*o>9.999999747378752e-05):0)?(p=+g[G+712+164>>2],p<+g[i+4>>2]):0){P=1.0/+A(+(m*m+n*n+o*o));g[u>>2]=m*P;g[G+712+136>>2]=n*P;g[G+712+140>>2]=o*P;c[G+288>>2]=c[h+8>>2];c[G+288+4>>2]=0;c[G+288+8>>2]=c[u>>2];c[G+288+8+4>>2]=c[u+4>>2];c[G+288+8+8>>2]=c[u+8>>2];c[G+288+8+12>>2]=c[u+12>>2];c[G+288+24>>2]=c[G+712+148>>2];c[G+288+24+4>>2]=c[G+712+148+4>>2];c[G+288+24+8>>2]=c[G+712+148+8>>2];c[G+288+24+12>>2]=c[G+712+148+12>>2];g[G+288+40>>2]=p;+mb[c[(c[i>>2]|0)+12>>2]&15](i,G+288|0,1)}k=G;return}default:{p=+g[E>>2];q=+g[E+16>>2];r=+g[E+32>>2];x=+g[E+4>>2];y=+g[E+20>>2];z=+g[E+36>>2];K=+g[E+8>>2];M=+g[E+24>>2];O=+g[E+40>>2];I=-+g[E+48>>2];H=-+g[E+52>>2];D=-+g[E+56>>2];B=+g[e+48>>2];C=+g[e+52>>2];m=+g[e+56>>2];o=p*I+q*H+r*D+(p*B+q*C+r*m);n=x*I+y*H+z*D+(x*B+y*C+z*m);m=K*I+M*H+O*D+(K*B+M*C+O*m);C=+g[f+48>>2];B=+g[f+52>>2];w=+g[f+56>>2];s=p*I+q*H+r*D+(p*C+q*B+r*w);t=x*I+y*H+z*D+(x*C+y*B+z*w);w=K*I+M*H+O*D+(K*C+M*B+O*w);B=+g[f>>2];C=+g[f+16>>2];D=+g[f+32>>2];H=+g[f+4>>2];I=+g[f+20>>2];J=+g[f+36>>2];L=+g[f+8>>2];N=+g[f+24>>2];P=+g[f+40>>2];g[G+712>>2]=p*B+q*C+r*D;g[G+712+4>>2]=p*H+q*I+r*J;g[G+712+8>>2]=p*L+q*N+r*P;g[G+712+12>>2]=0.0;g[G+712+16>>2]=x*B+y*C+z*D;g[G+712+20>>2]=x*H+y*I+z*J;g[G+712+24>>2]=x*L+y*N+z*P;g[G+712+28>>2]=0.0;g[G+712+32>>2]=K*B+M*C+O*D;g[G+712+36>>2]=K*H+M*I+O*J;g[G+712+40>>2]=K*L+M*N+O*P;v=G+712+44|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;h=c[h+8>>2]|0;P=+jb[c[(c[F>>2]|0)+48>>2]&15](F);c[G+352>>2]=13096;c[G+352+4>>2]=d;c[G+352+8>>2]=c[e>>2];c[G+352+8+4>>2]=c[e+4>>2];c[G+352+8+8>>2]=c[e+8>>2];c[G+352+8+12>>2]=c[e+12>>2];c[G+352+24>>2]=c[e+16>>2];c[G+352+24+4>>2]=c[e+16+4>>2];c[G+352+24+8>>2]=c[e+16+8>>2];c[G+352+24+12>>2]=c[e+16+12>>2];c[G+352+40>>2]=c[e+32>>2];c[G+352+40+4>>2]=c[e+32+4>>2];c[G+352+40+8>>2]=c[e+32+8>>2];c[G+352+40+12>>2]=c[e+32+12>>2];c[G+352+56>>2]=c[e+48>>2];c[G+352+56+4>>2]=c[e+48+4>>2];c[G+352+56+8>>2]=c[e+48+8>>2];c[G+352+56+12>>2]=c[e+48+12>>2];c[G+352+72>>2]=c[f>>2];c[G+352+72+4>>2]=c[f+4>>2];c[G+352+72+8>>2]=c[f+8>>2];c[G+352+72+12>>2]=c[f+12>>2];c[G+352+88>>2]=c[f+16>>2];c[G+352+88+4>>2]=c[f+16+4>>2];c[G+352+88+8>>2]=c[f+16+8>>2];c[G+352+88+12>>2]=c[f+16+12>>2];c[G+352+104>>2]=c[f+32>>2];c[G+352+104+4>>2]=c[f+32+4>>2];c[G+352+104+8>>2]=c[f+32+8>>2];c[G+352+104+12>>2]=c[f+32+12>>2];c[G+352+120>>2]=c[f+48>>2];c[G+352+120+4>>2]=c[f+48+4>>2];c[G+352+120+8>>2]=c[f+48+8>>2];c[G+352+120+12>>2]=c[f+48+12>>2];c[G+352+136>>2]=c[E>>2];c[G+352+136+4>>2]=c[E+4>>2];c[G+352+136+8>>2]=c[E+8>>2];c[G+352+136+12>>2]=c[E+12>>2];c[G+352+152>>2]=c[E+16>>2];c[G+352+152+4>>2]=c[E+16+4>>2];c[G+352+152+8>>2]=c[E+16+8>>2];c[G+352+152+12>>2]=c[E+16+12>>2];c[G+352+168>>2]=c[E+32>>2];c[G+352+168+4>>2]=c[E+32+4>>2];c[G+352+168+8>>2]=c[E+32+8>>2];c[G+352+168+12>>2]=c[E+32+12>>2];c[G+352+184>>2]=c[E+48>>2];c[G+352+184+4>>2]=c[E+48+4>>2];c[G+352+184+8>>2]=c[E+48+8>>2];c[G+352+184+12>>2]=c[E+48+12>>2];g[G+352+204>>2]=P;c[G+352>>2]=9124;c[G+352+212>>2]=i;c[G+352+216>>2]=h;c[G+352+220>>2]=F;c[G+352+200>>2]=c[i+4>>2];g[G+352+208>>2]=j;Qb[c[(c[d>>2]|0)+8>>2]&127](d,G+712|0,G+288|0,G+64|0);g[G+16>>2]=o;g[G+16+4>>2]=n;g[G+16+8>>2]=m;g[G+16+12>>2]=0.0;if(s<o){g[G+16>>2]=s;p=s}else p=o;if(t<n){g[G+16+4>>2]=t;q=t}else q=n;if(w<m){g[G+16+8>>2]=w;r=w}else r=m;g[G>>2]=o;g[G+4>>2]=n;g[G+8>>2]=m;g[G+12>>2]=0.0;if(o<s){g[G>>2]=s;o=s}if(n<t){g[G+4>>2]=t;n=t}if(m<w){g[G+8>>2]=w;m=w}g[G+16>>2]=+g[G+288>>2]+p;g[G+16+4>>2]=+g[G+288+4>>2]+q;g[G+16+8>>2]=+g[G+288+8>>2]+r;g[G>>2]=+g[G+64>>2]+o;g[G+4>>2]=+g[G+64+4>>2]+n;g[G+8>>2]=+g[G+64+8>>2]+m;Qb[c[(c[F>>2]|0)+64>>2]&127](F,G+352|0,G+16|0,G);k=G;return}}}function vc(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0,W=0.0,X=0.0,Y=0.0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0;da=c[b+28>>2]|0;ea=c[b+32>>2]|0;W=+g[da+344>>2];X=+g[ea+344>>2];_=c[d+24>>2]|0;ca=(a[b+180>>0]|0)==0?-1.0:1.0;S=+g[b+936>>2]-+g[b+872>>2];T=+g[b+940>>2]-+g[b+876>>2];U=+g[b+944>>2]-+g[b+880>>2];Y=W+X>0.0?X/(W+X):.5;D=c[b+824>>2]|0;E=c[b+840>>2]|0;F=c[b+856>>2]|0;G=c[b+888>>2]|0;H=c[b+904>>2]|0;I=c[b+920>>2]|0;V=(a[b+49>>0]|0)==0;if(V){q=c[b+828>>2]|0;i=c[b+844>>2]|0;w=c[b+860>>2]|0;x=c[b+832>>2]|0;h=c[b+848>>2]|0;R=c[b+864>>2]|0;n=(c[j>>2]=q,+g[j>>2]);f=(c[j>>2]=i,+g[j>>2]);p=(c[j>>2]=w,+g[j>>2]);r=(c[j>>2]=x,+g[j>>2]);s=(c[j>>2]=h,+g[j>>2]);$=D;u=R;aa=E;ba=F;o=(c[j>>2]=R,+g[j>>2])}else{e=Y*(c[j>>2]=D,+g[j>>2]);l=Y*(c[j>>2]=E,+g[j>>2]);k=Y*(c[j>>2]=F,+g[j>>2]);f=(1.0-Y)*(c[j>>2]=G,+g[j>>2]);m=(1.0-Y)*(c[j>>2]=H,+g[j>>2]);k=k+(1.0-Y)*(c[j>>2]=I,+g[j>>2]);n=1.0/+A(+((e+f)*(e+f)+(l+m)*(l+m)+k*k));h=(g[j>>2]=(e+f)*n,c[j>>2]|0);i=(g[j>>2]=(l+m)*n,c[j>>2]|0);q=(g[j>>2]=k*n,c[j>>2]|0);if(+z(+(k*n))>.7071067690849304){O=1.0/+A(+(k*n*k*n+(l+m)*n*(l+m)*n));s=-((e+f)*n*(l+m)*n*O);o=(e+f)*n*-(k*n*O);r=(k*n*k*n+(l+m)*n*(l+m)*n)*O;p=(l+m)*n*O;f=-(k*n*O);e=0.0}else{o=(e+f)*n*(e+f)*n+(l+m)*n*(l+m)*n;O=1.0/+A(+o);s=k*n*-((l+m)*n*O);o=o*O;r=-(k*n*(e+f)*n*O);p=0.0;f=(e+f)*n*O;e=-((l+m)*n*O)}R=(g[j>>2]=e,c[j>>2]|0);Q=(g[j>>2]=f,c[j>>2]|0);w=(g[j>>2]=p,c[j>>2]|0);x=(g[j>>2]=r,c[j>>2]|0);P=(g[j>>2]=s,c[j>>2]|0);$=h;u=(g[j>>2]=o,c[j>>2]|0);aa=i;ba=q;h=P;i=Q;q=R;n=e}R=c[d+12>>2]|0;c[R>>2]=q;c[R+4>>2]=i;c[R+8>>2]=w;c[R+(_<<2)>>2]=x;c[R+(_+1<<2)>>2]=h;c[R+(_+2<<2)>>2]=u;k=-n;P=c[d+20>>2]|0;g[P>>2]=k;g[P+4>>2]=-f;g[P+8>>2]=-p;g[P+(_<<2)>>2]=-r;g[P+(_+1<<2)>>2]=-s;g[P+(_+2<<2)>>2]=-o;Q=c[b+300>>2]|0;e=+g[b+280>>2];if(!(Q&128))e=e*+g[d+4>>2];B=e*+g[d>>2];N=(c[j>>2]=E,+g[j>>2]);J=(c[j>>2]=I,+g[j>>2]);C=(c[j>>2]=F,+g[j>>2]);L=(c[j>>2]=H,+g[j>>2]);O=(c[j>>2]=G,+g[j>>2]);K=(c[j>>2]=D,+g[j>>2]);u=c[d+28>>2]|0;g[u>>2]=B*((N*J-C*L)*n+(C*O-K*J)*f+(K*L-N*O)*p);g[u+(_<<2)>>2]=B*((N*J-C*L)*r+(C*O-K*J)*s+(K*L-N*O)*o);if(Q&64|0){I=c[d+32>>2]|0;c[I>>2]=c[b+292>>2];c[I+(_<<2)>>2]=c[b+292>>2]}y=+g[da+52>>2];t=+g[da+56>>2];v=+g[da+60>>2];m=+g[ea+52>>2];e=+g[ea+56>>2];l=+g[ea+60>>2];if(V){N=(e-t)*p-(l-v)*f;O=(l-v)*n-(m-y)*p;L=(m-y)*f-(e-t)*n;g[R+(_<<1<<2)>>2]=Y*N;g[R+((_<<1|1)<<2)>>2]=Y*O;g[R+((_<<1)+2<<2)>>2]=Y*L;g[P+(_<<1<<2)>>2]=(1.0-Y)*N;g[P+((_<<1|1)<<2)>>2]=(1.0-Y)*O;g[P+((_<<1)+2<<2)>>2]=(1.0-Y)*L;L=(e-t)*o-(l-v)*s;O=(l-v)*r-(m-y)*o;N=(m-y)*s-(e-t)*r;g[R+(_*3<<2)>>2]=Y*L;g[R+((_*3|0)+1<<2)>>2]=Y*O;g[R+((_*3|0)+2<<2)>>2]=Y*N;g[P+(_*3<<2)>>2]=(1.0-Y)*L;g[P+((_*3|0)+1<<2)>>2]=(1.0-Y)*O;g[P+((_*3|0)+2<<2)>>2]=(1.0-Y)*N;i=c[d+8>>2]|0;g[i+(_<<1<<2)>>2]=n;g[i+((_<<1|1)<<2)>>2]=f;g[i+((_<<1)+2<<2)>>2]=p;g[i+(_*3<<2)>>2]=r;g[i+((_*3|0)+1<<2)>>2]=s;g[i+((_*3|0)+2<<2)>>2]=o;q=c[d+16>>2]|0;g[q+(_<<1<<2)>>2]=k;g[q+((_<<1|1)<<2)>>2]=-f;g[q+((_<<1)+2<<2)>>2]=-p;g[q+(_*3<<2)>>2]=-r;g[q+((_*3|0)+1<<2)>>2]=-s;h=q+((_*3|0)+2<<2)|0;N=n;O=0.0;L=0.0;K=0.0;J=0.0;C=0.0;B=0.0;n=e-t;l=l-v;k=m-y}else{r=+g[b+936>>2]-m;s=+g[b+940>>2]-e;L=+g[b+944>>2]-l;n=(c[j>>2]=$,+g[j>>2]);o=(c[j>>2]=aa,+g[j>>2]);m=(c[j>>2]=ba,+g[j>>2]);N=+g[b+872>>2]-y;O=+g[b+876>>2]-t;e=+g[b+880>>2]-v;C=+g[b+1080>>2]-+g[b+1032>>2];B=(N*n+O*o+e*m)*n+C*n-(r*n+s*o+L*m)*n;J=(N*n+O*o+e*m)*o+C*o-(r*n+s*o+L*m)*o;C=(N*n+O*o+e*m)*m+C*m-(r*n+s*o+L*m)*m;K=N-(N*n+O*o+e*m)*n+Y*B;t=O-(N*n+O*o+e*m)*o+Y*J;v=e-(N*n+O*o+e*m)*m+Y*C;B=r-(r*n+s*o+L*m)*n-(1.0-Y)*B;J=s-(r*n+s*o+L*m)*o-(1.0-Y)*J;C=L-(r*n+s*o+L*m)*m-(1.0-Y)*C;k=Y*(r-(r*n+s*o+L*m)*n)+(1.0-Y)*(N-(N*n+O*o+e*m)*n);f=Y*(s-(r*n+s*o+L*m)*o)+(1.0-Y)*(O-(N*n+O*o+e*m)*o);e=Y*(L-(r*n+s*o+L*m)*m)+(1.0-Y)*(e-(N*n+O*o+e*m)*m);if(e*e+(k*k+f*f)>1.1920928955078125e-07){O=1.0/+A(+(e*e+(k*k+f*f)));i=(g[j>>2]=f*O,c[j>>2]|0);q=(g[j>>2]=e*O,c[j>>2]|0);l=e*O;e=f*O;p=k*O;h=(g[j>>2]=k*O,c[j>>2]|0)}else{h=c[b+828>>2]|0;i=c[b+844>>2]|0;q=c[b+860>>2]|0;l=(c[j>>2]=q,+g[j>>2]);e=(c[j>>2]=i,+g[j>>2]);p=(c[j>>2]=h,+g[j>>2])}r=l*o-e*m;s=p*m-l*n;o=e*n-p*o;g[R+(_<<1<<2)>>2]=t*l-v*e;g[R+(_<<1<<2)+4>>2]=v*p-K*l;g[R+(_<<1<<2)+8>>2]=K*e-t*p;g[P+(_<<1<<2)>>2]=-(J*l-C*e);g[P+((_<<1|1)<<2)>>2]=-(C*p-B*l);g[P+((_<<1)+2<<2)>>2]=-(B*e-J*p);if(W<1.1920928955078125e-07|X<1.1920928955078125e-07?(a[b+297>>0]|0)!=0:0){e=Y*(t*o-v*s);f=Y*(K*s-t*r);k=Y*(v*r-K*o);l=(1.0-Y)*(J*o-C*s);m=(1.0-Y)*(C*r-B*o);n=(1.0-Y)*(B*s-J*r)}else{e=t*o-v*s;f=K*s-t*r;k=v*r-K*o;l=J*o-C*s;m=C*r-B*o;n=B*s-J*r}g[R+(_*3<<2)>>2]=e;g[R+(_*3<<2)+4>>2]=k;g[R+(_*3<<2)+8>>2]=f;g[P+(_*3<<2)>>2]=-l;g[P+((_*3|0)+1<<2)>>2]=-m;g[P+((_*3|0)+2<<2)>>2]=-n;H=c[d+8>>2]|0;c[H+(_<<1<<2)>>2]=h;c[H+((_<<1|1)<<2)>>2]=i;c[H+((_<<1)+2<<2)>>2]=q;g[H+(_*3<<2)>>2]=r;g[H+((_*3|0)+1<<2)>>2]=s;g[H+((_*3|0)+2<<2)>>2]=o;I=c[d+16>>2]|0;g[I+(_<<1<<2)>>2]=-p;f=(c[j>>2]=i,+g[j>>2]);g[I+((_<<1|1)<<2)>>2]=-f;O=(c[j>>2]=q,+g[j>>2]);g[I+((_<<1)+2<<2)>>2]=-O;g[I+(_*3<<2)>>2]=-r;g[I+((_*3|0)+1<<2)>>2]=-s;h=I+((_*3|0)+2<<2)|0;N=p;p=O;i=H;q=I;O=t;L=v;n=0.0;l=0.0;k=0.0}g[h>>2]=-o;e=+g[b+264>>2];if(!(Q&32))e=e*+g[d+4>>2];y=e*+g[d>>2];g[u+(_<<1<<2)>>2]=y*(S*N+T*f+U*p);g[u+(_*3<<2)>>2]=y*(S*r+T*s+U*o);if(Q&16|0){I=c[d+32>>2]|0;c[I+(_<<1<<2)>>2]=c[b+276>>2];c[I+(_*3<<2)>>2]=c[b+276>>2]}if(!(a[b+296>>0]|0)){o=0.0;x=0}else{U=ca*+g[b+1032>>2];o=U;x=U>0.0?2:1}h=a[b+1096>>0]|0;w=(x|0)!=0;if(x|h&255){c[i+(_<<2<<2)>>2]=$;c[i+((_<<2|1)<<2)>>2]=aa;c[i+((_<<2|2)<<2)>>2]=ba;p=(c[j>>2]=$,+g[j>>2]);g[q+(_<<2<<2)>>2]=-p;r=(c[j>>2]=aa,+g[j>>2]);g[q+((_<<2|1)<<2)>>2]=-r;s=(c[j>>2]=ba,+g[j>>2]);g[q+((_<<2|2)<<2)>>2]=-s;if(!V){if(!(W<1.1920928955078125e-07|X<1.1920928955078125e-07)){g[R+(_<<2<<2)>>2]=O*s-L*r;g[R+((_<<2|1)<<2)>>2]=L*p-K*s;g[R+((_<<2|2)<<2)>>2]=K*r-O*p;g[P+(_<<2<<2)>>2]=-(J*s-C*r);g[P+((_<<2|1)<<2)>>2]=-(C*p-B*s);e=-(B*r-J*p);Z=31}}else{W=n*s-l*r;X=l*p-k*s;e=k*r-n*p;g[R+(_<<2<<2)>>2]=Y*W;g[R+((_<<2|1)<<2)>>2]=Y*X;g[R+((_<<2|2)<<2)>>2]=Y*e;g[P+(_<<2<<2)>>2]=(1.0-Y)*W;g[P+((_<<2|1)<<2)>>2]=(1.0-Y)*X;e=(1.0-Y)*e;Z=31}if((Z|0)==31)g[P+((_<<2|2)<<2)>>2]=e;q=+g[b+184>>2]==+g[b+188>>2];g[u+(_<<2<<2)>>2]=0.0;i=(c[d+36>>2]|0)+(_<<2<<2)|0;g[i>>2]=0.0;u=(c[d+40>>2]|0)+(_<<2<<2)|0;g[u>>2]=0.0;n=+g[((Q&512|0)==0?d+4|0:b+232|0)>>2];if(!(h<<24>>24==0|w&q)){if(Q&1|0)c[(c[d+32>>2]|0)+(_<<2<<2)>>2]=c[b+212>>2];m=+g[b+1100>>2];e=+g[b+1080>>2];f=+g[b+184>>2];k=+g[b+188>>2];l=n*+g[d>>2];do if(!(f>k))if(!(f==k)){if(m/l<0.0)if(e>=f?f-m/l>e:0){e=(f-e)/(m/l);break}else{e=e<f?0.0:1.0;break}if(m/l>0.0)if(e<=k?k-m/l<e:0){e=(k-e)/(m/l);break}else{e=e>k?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);Z=(c[d+28>>2]|0)+(_<<2<<2)|0;g[Z>>2]=+g[Z>>2]-ca*e*m;g[i>>2]=+g[i>>2]-+g[b+1104>>2]*+g[d>>2];g[u>>2]=+g[b+1104>>2]*+g[d>>2]+ +g[u>>2]}if(w){h=(c[d+28>>2]|0)+(_<<2<<2)|0;g[h>>2]=+g[h>>2]+o*n*+g[d>>2];if(c[b+300>>2]&256|0)c[(c[d+32>>2]|0)+(_<<2<<2)>>2]=c[b+244>>2];do if(!q)if((x|0)==1){g[i>>2]=-3402823466385288598117041.0e14;e=0.0;break}else{g[i>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[i>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[u>>2]=e;Y=1.0-+g[b+240>>2];f=+z(+Y);do if(!(Y!=Y|0.0!=0.0|Y==0.0)){e=ca*(+g[da+312>>2]*p+ +g[da+316>>2]*r+ +g[da+320>>2]*s-(+g[ea+312>>2]*p+ +g[ea+316>>2]*r+ +g[ea+320>>2]*s));if((x|0)==1){if(!(e<0.0))break;if(!(+g[h>>2]<-(f*e)))break;g[h>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[h>>2]>-(f*e)))break;g[h>>2]=-(f*e);break}}while(0);g[h>>2]=+g[b+232>>2]*+g[h>>2];h=5}else h=5}else h=4;if(!(a[b+297>>0]|0)){s=0.0;w=0}else{ca=+g[b+1088>>2];s=ca;w=ca>0.0?1:2}i=a[b+1112>>0]|0;q=(w|0)!=0;if(!(w|i&255))return;u=M(c[d+24>>2]|0,h)|0;h=c[d+12>>2]|0;c[h+(u<<2)>>2]=$;c[h+(u+1<<2)>>2]=aa;c[h+(u+2<<2)>>2]=ba;v=(c[j>>2]=$,+g[j>>2]);h=c[d+20>>2]|0;g[h+(u<<2)>>2]=-v;t=(c[j>>2]=aa,+g[j>>2]);g[h+(u+1<<2)>>2]=-t;r=(c[j>>2]=ba,+g[j>>2]);g[h+(u+2<<2)>>2]=-r;n=+g[b+192>>2];o=+g[b+196>>2];h=c[b+300>>2]|0;p=+g[((h&2048|0)==0?d+4|0:b+248|0)>>2];if(!(i<<24>>24==0|q&n==o)){if(!(h&4)){k=o;l=n}else{c[(c[d+32>>2]|0)+(u<<2)>>2]=c[b+228>>2];k=+g[b+196>>2];l=+g[b+192>>2]}e=+g[b+1084>>2];m=+g[b+1116>>2];f=p*+g[d>>2];do if(!(l>k))if(!(l==k)){if(m/f<0.0)if(e>=l?l-m/f>e:0){e=(l-e)/(m/f);break}else{e=e<l?0.0:1.0;break}if(m/f>0.0)if(e<=k?k-m/f<e:0){e=(k-e)/(m/f);break}else{e=e>k?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);g[(c[d+28>>2]|0)+(u<<2)>>2]=e*m;g[(c[d+36>>2]|0)+(u<<2)>>2]=-(+g[b+1120>>2]*+g[d>>2]);g[(c[d+40>>2]|0)+(u<<2)>>2]=+g[b+1120>>2]*+g[d>>2]}if(!q)return;i=(c[d+28>>2]|0)+(u<<2)|0;g[i>>2]=+g[i>>2]+s*p*+g[d>>2];if(h&1024|0)c[(c[d+32>>2]|0)+(u<<2)>>2]=c[b+260>>2];do if(!(n==o)){h=(c[d+36>>2]|0)+(u<<2)|0;if((w|0)==1){g[h>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(u<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[(c[d+40>>2]|0)+(u<<2)>>2]=e;ca=1.0-+g[b+256>>2];f=+z(+ca);do if(!(ca!=ca|0.0!=0.0|ca==0.0)){ea=c[b+28>>2]|0;d=c[b+32>>2]|0;e=+g[ea+328>>2]*v+ +g[ea+332>>2]*t+ +g[ea+336>>2]*r-(+g[d+328>>2]*v+ +g[d+332>>2]*t+ +g[d+336>>2]*r);if((w|0)==1){if(!(e<0.0))break;if(!(+g[i>>2]<-(f*e)))break;g[i>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[i>>2]>-(f*e)))break;g[i>>2]=-(f*e);break}}while(0);g[i>>2]=+g[b+248>>2]*+g[i>>2];return}function wc(d,e,f){d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0;t=k;k=k+528|0;if((a[d+171>>0]|0)==0?+g[d+172>>2]<=0.0:0){k=t;return}a[d+168>>0]=(tb[c[(c[d>>2]|0)+48>>2]&255](d)|0)&1;i=+g[d+16>>2]-+g[d+44>>2]*f;g[d+16>>2]=i;if(i>0.0?(j=+g[d+28>>2],i>j):0){g[d+16>>2]=j;i=j}if(i<0.0?(r=+z(+i),l=+z(+(+g[d+24>>2])),r>l):0){g[d+16>>2]=-l;i=-l}g[d+20>>2]=i*f;p=c[d+8>>2]|0;c[t>>2]=c[p+4>>2];c[t+4>>2]=c[p+4+4>>2];c[t+8>>2]=c[p+4+8>>2];c[t+12>>2]=c[p+4+12>>2];c[t+16>>2]=c[p+20>>2];c[t+16+4>>2]=c[p+20+4>>2];c[t+16+8>>2]=c[p+20+8>>2];c[t+16+12>>2]=c[p+20+12>>2];c[t+32>>2]=c[p+36>>2];c[t+32+4>>2]=c[p+36+4>>2];c[t+32+8>>2]=c[p+36+8>>2];c[t+32+12>>2]=c[p+36+12>>2];c[t+48>>2]=c[p+52>>2];c[t+48+4>>2]=c[p+52+4>>2];c[t+48+8>>2]=c[p+52+8>>2];c[t+48+12>>2]=c[p+52+12>>2];if((a[28376]|0)==0?_A(28376)|0:0){c[6520]=1065353216;c[6521]=0;c[6522]=0;c[6523]=0;c[6524]=0;c[6525]=1065353216;c[6526]=0;c[6527]=0;c[6528]=0;c[6529]=0;c[6530]=1065353216;g[6531]=0.0}p=c[d+176>>2]|0;l=+g[d+20>>2];l=+g[d+52>>2]+(l>0.0?l:0.0);q=+g[26080+(p<<4)+4>>2]*l+ +g[d+96>>2];r=l*+g[26080+(p<<4)+8>>2]+ +g[d+100>>2];g[d+112>>2]=+g[d+92>>2]+ +g[26080+(p<<4)>>2]*l;g[d+116>>2]=q;g[d+120>>2]=r;g[d+124>>2]=0.0;c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;p=t+456+44|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;p=t+392+44|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;if((a[28376]|0)==0?_A(28376)|0:0){c[6520]=1065353216;c[6521]=0;c[6522]=0;c[6523]=0;c[6524]=0;c[6525]=1065353216;c[6526]=0;c[6527]=0;c[6528]=0;c[6529]=0;c[6530]=1065353216;g[6531]=0.0}h=c[d+176>>2]|0;p=c[d+12>>2]|0;l=+jb[c[(c[p>>2]|0)+48>>2]&15](p);l=l+ +g[d+56>>2];q=l*+g[26080+(h<<4)+4>>2]+ +g[d+96>>2];r=l*+g[26080+(h<<4)+8>>2]+ +g[d+100>>2];g[t+456+48>>2]=+g[26080+(h<<4)>>2]*l+ +g[d+92>>2];g[t+456+52>>2]=q;g[t+456+56>>2]=r;g[t+456+60>>2]=0.0;c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];h=c[d+8>>2]|0;if((a[28376]|0)==0?_A(28376)|0:0){c[6520]=1065353216;c[6521]=0;c[6522]=0;c[6523]=0;c[6524]=0;c[6525]=1065353216;c[6526]=0;c[6527]=0;c[6528]=0;c[6529]=0;c[6530]=1065353216;g[6531]=0.0}p=c[d+176>>2]|0;l=-+g[26080+(p<<4)>>2];q=-+g[26080+(p<<4)+4>>2];r=-+g[26080+(p<<4)+8>>2];g[t+288+4>>2]=1.0;p=t+288+12|0;c[t+288+76>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[t+288>>2]=8176;c[t+288+80>>2]=h;g[t+288+84>>2]=l;g[t+288+88>>2]=q;g[t+288+92>>2]=r;g[t+288+96>>2]=0.0;g[t+288+100>>2]=.707099974155426;h=c[d+8>>2]|0;p=c[h+188>>2]|0;b[t+288+8>>1]=b[p+4>>1]|0;b[t+288+10>>1]=b[p+6>>1]|0;if(!(a[d+170>>0]|0))Nd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,0.0);else sd(h,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,+g[e+56>>2]);if(+g[t+288+4>>2]<1.0){if((a[28376]|0)==0?_A(28376)|0:0){c[6520]=1065353216;c[6521]=0;c[6522]=0;c[6523]=0;c[6524]=0;c[6525]=1065353216;c[6526]=0;c[6527]=0;c[6528]=0;c[6529]=0;c[6530]=1065353216;g[6531]=0.0}p=c[d+176>>2]|0;do if(+g[t+288+44>>2]*+g[26080+(p<<4)>>2]+ +g[t+288+48>>2]*+g[26080+(p<<4)+4>>2]+ +g[t+288+52>>2]*+g[26080+(p<<4)+8>>2]>0.0){i=+g[t+288+4>>2];g[d+108>>2]=+g[d+52>>2]*i;if(!(a[d+180>>0]|0)){c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2];break}else{g[d+92>>2]=(1.0-i)*+g[d+92>>2]+i*+g[d+112>>2];g[d+96>>2]=(1.0-i)*+g[d+96>>2]+i*+g[d+116>>2];g[d+100>>2]=(1.0-i)*+g[d+100>>2]+i*+g[d+120>>2];break}}while(0);g[d+16>>2]=0.0;g[d+20>>2]=0.0}else{c[d+108>>2]=c[d+52>>2];c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(a[d+171>>0]|0)){q=+g[d+172>>2];r=q>f?f:q;g[d+172>>2]=q-f;ge(d,e,r*+g[d+60>>2],r*+g[d+64>>2],r*+g[d+68>>2])}else ge(d,e,+g[d+60>>2],+g[d+64>>2],+g[d+68>>2]);c[t+272>>2]=c[d+112>>2];c[t+272+4>>2]=c[d+112+4>>2];c[t+272+8>>2]=c[d+112+8>>2];c[t+272+12>>2]=c[d+112+12>>2];i=+g[d+16>>2];i=(i<0.0?-i:0.0)*f;do if(i>0.0?(n=+g[d+24>>2],i>n):0){if((a[d+168>>0]|0)==0?a[d+169>>0]|0:0)break;i=n}while(0);if((a[28376]|0)==0?_A(28376)|0:0){c[6520]=1065353216;c[6521]=0;c[6522]=0;c[6523]=0;c[6524]=0;c[6525]=1065353216;c[6526]=0;c[6527]=0;c[6528]=0;c[6529]=0;c[6530]=1065353216;g[6531]=0.0}h=c[d+176>>2]|0;r=i+ +g[d+108>>2];n=+g[26080+(h<<4)>>2]*r;q=r*+g[26080+(h<<4)+4>>2];r=r*+g[26080+(h<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-n;g[d+116>>2]=+g[d+116>>2]-q;g[d+120>>2]=+g[d+120>>2]-r;h=c[d+8>>2]|0;if((a[28376]|0)==0?_A(28376)|0:0){c[6520]=1065353216;c[6521]=0;c[6522]=0;c[6523]=0;c[6524]=0;c[6525]=1065353216;c[6526]=0;c[6527]=0;c[6528]=0;c[6529]=0;c[6530]=1065353216;g[6531]=0.0}m=26080+(c[d+176>>2]<<4)|0;o=c[d+40>>2]|0;p=t+168+4|0;g[p>>2]=1.0;u=t+168+12|0;c[t+168+76>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[t+168>>2]=8176;c[t+168+80>>2]=h;c[t+168+84>>2]=c[m>>2];c[t+168+84+4>>2]=c[m+4>>2];c[t+168+84+8>>2]=c[m+8>>2];c[t+168+84+12>>2]=c[m+12>>2];c[t+168+100>>2]=o;h=c[d+8>>2]|0;o=c[h+188>>2]|0;b[t+168+8>>1]=b[o+4>>1]|0;b[t+168+10>>1]=b[o+6>>1]|0;if((a[28376]|0)==0?_A(28376)|0:0){c[6520]=1065353216;c[6521]=0;c[6522]=0;c[6523]=0;c[6524]=0;c[6525]=1065353216;c[6526]=0;c[6527]=0;c[6528]=0;c[6529]=0;c[6530]=1065353216;g[6531]=0.0}o=26080+(c[d+176>>2]<<4)|0;u=c[d+40>>2]|0;g[t+64+4>>2]=1.0;m=t+64+12|0;c[t+64+76>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;c[t+64>>2]=8176;c[t+64+80>>2]=h;c[t+64+84>>2]=c[o>>2];c[t+64+84+4>>2]=c[o+4>>2];c[t+64+84+8>>2]=c[o+8>>2];c[t+64+84+12>>2]=c[o+12>>2];c[t+64+100>>2]=u;h=c[(c[d+8>>2]|0)+188>>2]|0;b[t+64+8>>1]=b[h+4>>1]|0;b[t+64+10>>1]=b[h+6>>1]|0;h=0;i=+g[d+112>>2];j=+g[d+116>>2];l=+g[d+120>>2];while(1){c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;c[t+456+44>>2]=0;c[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;c[t+392+44>>2]=0;c[t+288>>2]=1065353216;c[t+288+4>>2]=0;c[t+288+4+4>>2]=0;c[t+288+4+8>>2]=0;c[t+288+4+12>>2]=0;c[t+288+20>>2]=1065353216;c[t+288+24>>2]=0;c[t+288+24+4>>2]=0;c[t+288+24+8>>2]=0;c[t+288+24+12>>2]=0;c[t+288+40>>2]=1065353216;c[t+288+44>>2]=0;c[t+456+48>>2]=c[d+92>>2];c[t+456+48+4>>2]=c[d+92+4>>2];c[t+456+48+8>>2]=c[d+92+8>>2];c[t+456+48+12>>2]=c[d+92+12>>2];c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];g[t+288+48>>2]=i-n;g[t+288+52>>2]=j-q;g[t+288+56>>2]=l-r;g[t+288+60>>2]=0.0;if(!(a[d+170>>0]|0)){Nd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+g[e+56>>2]);if(!(+g[p>>2]<1.0))Nd(e,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+g[e+56>>2])}else{sd(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+g[e+56>>2]);if(!(+g[p>>2]<1.0))sd(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+g[e+56>>2])}j=+g[d+16>>2];j=(j<0.0?-j:0.0)*f;o=(a[d+182>>0]|0)==0;if(!o?+g[p>>2]<1.0:0)m=1;else m=+g[t+64+4>>2]<1.0;if(!(j>0.0))break;i=+g[d+52>>2];if(h|(!(j<i)|m^1))break;if((a[d+168>>0]|0)==0?a[d+169>>0]|0:0){h=0;break}c[d+112>>2]=c[t+272>>2];c[d+112+4>>2]=c[t+272+4>>2];c[d+112+8>>2]=c[t+272+8>>2];c[d+112+12>>2]=c[t+272+12>>2];do if(!(a[28376]|0)){if(!(_A(28376)|0))break;c[6520]=1065353216;c[6521]=0;c[6522]=0;c[6523]=0;c[6524]=0;c[6525]=1065353216;c[6526]=0;c[6527]=0;c[6528]=0;c[6529]=0;c[6530]=1065353216;g[6531]=0.0}while(0);h=c[d+176>>2]|0;i=i+ +g[d+108>>2];j=i*+g[26080+(h<<4)+4>>2];l=i*+g[26080+(h<<4)+8>>2];i=+g[d+112>>2]-+g[26080+(h<<4)>>2]*i;g[d+112>>2]=i;j=+g[d+116>>2]-j;g[d+116>>2]=j;l=+g[d+120>>2]-l;g[d+120>>2]=l;h=1}l=+g[p>>2];if(h|l<1.0){i=+g[d+96>>2];j=(i-+g[t+168+64>>2])*.5;do if(!o)if(!(a[d+181>>0]|0)){g[d+92>>2]=(1.0-j)*+g[d+92>>2]+j*+g[d+112>>2];g[d+96>>2]=i*(1.0-j)+j*+g[d+116>>2];g[d+100>>2]=(1.0-j)*+g[d+100>>2]+j*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-l)*+g[d+92>>2]+l*+g[d+112>>2];g[d+96>>2]=i*(1.0-l)+l*+g[d+116>>2];g[d+100>>2]=(1.0-l)*+g[d+100>>2]+l*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-l)*+g[d+92>>2]+l*+g[d+112>>2];g[d+96>>2]=i*(1.0-l)+l*+g[d+116>>2];g[d+100>>2]=(1.0-l)*+g[d+100>>2]+l*+g[d+120>>2];h=d+181|0}while(0);a[h>>0]=0;g[d+16>>2]=0.0;g[d+20>>2]=0.0;a[d+169>>0]=0}else{a[d+181>>0]=1;do if(!o?(s=+g[d+24>>2],j>s):0){if((a[d+168>>0]|0)==0?a[d+169>>0]|0:0)break;g[d+112>>2]=n+ +g[d+112>>2];g[d+116>>2]=q+ +g[d+116>>2];g[d+120>>2]=r+ +g[d+120>>2];do if(!(a[28376]|0)){if(!(_A(28376)|0))break;c[6520]=1065353216;c[6521]=0;c[6522]=0;c[6523]=0;c[6524]=0;c[6525]=1065353216;c[6526]=0;c[6527]=0;c[6528]=0;c[6529]=0;c[6530]=1065353216;g[6531]=0.0}while(0);u=c[d+176>>2]|0;r=s+ +g[d+108>>2];f=r*+g[26080+(u<<4)+4>>2];s=r*+g[26080+(u<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-+g[26080+(u<<4)>>2]*r;g[d+116>>2]=+g[d+116>>2]-f;g[d+120>>2]=+g[d+120>>2]-s}while(0);c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}c[t+48>>2]=c[d+92>>2];c[t+48+4>>2]=c[d+92+4>>2];c[t+48+8>>2]=c[d+92+8>>2];c[t+48+12>>2]=c[d+92+12>>2];u=c[d+8>>2]|0;c[u+260>>2]=(c[u+260>>2]|0)+1;c[u+4>>2]=c[t>>2];c[u+4+4>>2]=c[t+4>>2];c[u+4+8>>2]=c[t+8>>2];c[u+4+12>>2]=c[t+12>>2];c[u+20>>2]=c[t+16>>2];c[u+20+4>>2]=c[t+16+4>>2];c[u+20+8>>2]=c[t+16+8>>2];c[u+20+12>>2]=c[t+16+12>>2];c[u+36>>2]=c[t+32>>2];c[u+36+4>>2]=c[t+32+4>>2];c[u+36+8>>2]=c[t+32+8>>2];c[u+36+12>>2]=c[t+32+12>>2];c[u+52>>2]=c[t+48>>2];c[u+52+4>>2]=c[t+48+4>>2];c[u+52+8>>2]=c[t+48+8>>2];c[u+52+12>>2]=c[t+48+12>>2];k=t;return}function xc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0;A=k;k=k+112|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=6368;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+284>>2]=0;a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;c[b+684>>2]=d;a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;a[b+964>>0]=1;c[b+960>>2]=0;c[b+952>>2]=0;c[b+956>>2]=0;a[b+984>>0]=1;c[b+980>>2]=0;c[b+972>>2]=0;c[b+976>>2]=0;c[b+928>>2]=0;c[b+932>>2]=0;c[b+936>>2]=-1;c[b+940>>2]=0;c[b+944>>2]=0;a[b+1024>>0]=1;c[b+1020>>2]=0;c[b+1012>>2]=0;c[b+1016>>2]=0;a[b+1044>>0]=1;c[b+1040>>2]=0;c[b+1032>>2]=0;c[b+1036>>2]=0;c[b+988>>2]=0;c[b+992>>2]=0;c[b+996>>2]=-1;c[b+1e3>>2]=0;c[b+1004>>2]=0;a[b+1084>>0]=1;c[b+1080>>2]=0;c[b+1072>>2]=0;c[b+1076>>2]=0;a[b+1104>>0]=1;c[b+1100>>2]=0;c[b+1092>>2]=0;c[b+1096>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1056>>2]=-1;c[b+1060>>2]=0;c[b+1064>>2]=0;a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;c[b+236>>2]=8;c[b+288>>2]=0;g[b+292>>2]=1.0;c[b+296>>2]=0;c[b+296+4>>2]=0;c[b+296+8>>2]=0;c[b+296+12>>2]=0;c[b+296+16>>2]=0;g[b+316>>2]=.20000000298023224;g[b+320>>2]=0.0;g[b+324>>2]=1.0;g[b+328>>2]=.10000000149011612;g[b+332>>2]=1.0;g[b+336>>2]=.699999988079071;g[b+340>>2]=.10000000149011612;g[b+344>>2]=1.0;g[b+348>>2]=.5;g[b+352>>2]=.5;g[b+356>>2]=.5;g[b+360>>2]=.5;g[b+364>>2]=1.0;g[b+368>>2]=1.0;c[b+372>>2]=0;c[b+376>>2]=1;c[b+380>>2]=0;c[b+384>>2]=4;c[b+388>>2]=1;a[b+472>>0]=0;a[b+473>>0]=0;g[b+476>>2]=0.0;c[b+520>>2]=0;c[b+520+4>>2]=0;c[b+520+8>>2]=0;c[b+520+12>>2]=0;c[b+536>>2]=1065353216;c[b+540>>2]=0;c[b+540+4>>2]=0;c[b+540+8>>2]=0;c[b+540+12>>2]=0;c[b+556>>2]=1065353216;c[b+560>>2]=0;c[b+560+4>>2]=0;c[b+560+8>>2]=0;c[b+560+12>>2]=0;c[b+576>>2]=1065353216;g[b+580>>2]=0.0;c[b+584>>2]=1065353216;c[b+588>>2]=0;c[b+588+4>>2]=0;c[b+588+8>>2]=0;c[b+588+12>>2]=0;c[b+604>>2]=1065353216;c[b+608>>2]=0;c[b+608+4>>2]=0;c[b+608+8>>2]=0;c[b+608+12>>2]=0;c[b+624>>2]=1065353216;g[b+628>>2]=0.0;c[b+680>>2]=0;g[b+888>>2]=0.0;a[b+924>>0]=1;c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;d=c[b+404>>2]|0;if(d|0){if(a[b+408>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+404>>2]=0}a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;d=c[b+424>>2]|0;if(d|0){if(a[b+428>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;d=c[b+444>>2]|0;do if(d){if(!(a[b+448>>0]|0)){c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;j=1;v=17;break}c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0);d=c[b+416>>2]|0;j=c[b+420>>2]|0;c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;if((d|0)==(j|0))if(j)if((j|0)<(j<<1|0))if(!(j<<1)){d=0;i=j;m=j<<1;v=20}else{j=j<<1;v=17}else{i=j;d=j}else{j=1;v=17}else{i=d;d=j}}else{a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;j=1;v=17}while(0);if((v|0)==17){c[7584]=(c[7584]|0)+1;d=lc((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=c[b+416>>2]|0;m=j;v=20}if((v|0)==20){l=c[b+424>>2]|0;if((i|0)<=0){if(l)v=24}else{j=0;do{c[d+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0));v=24}if((v|0)==24){if(a[b+428>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0);i=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=d;c[b+420>>2]=m;d=m}j=c[b+424>>2]|0;c[j+(i<<2)>>2]=1;i=i+1|0;c[b+416>>2]=i;if((i|0)==(d|0)){m=(d|0)==0?1:d<<1;if((d|0)<(m|0)){if(!m)l=0;else{c[7584]=(c[7584]|0)+1;d=lc((m<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}l=d;d=c[b+416>>2]|0;j=c[b+424>>2]|0}if((d|0)<=0){if(j)v=38}else{i=0;do{c[l+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(d|0));v=38}if((v|0)==38){if(a[b+428>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=l;c[b+420>>2]=m;j=l;i=d;d=m}else i=d}c[j+(i<<2)>>2]=2;i=i+1|0;c[b+416>>2]=i;if((i|0)==(d|0)){m=(d|0)==0?1:d<<1;if((d|0)<(m|0)){if(!m)l=0;else{c[7584]=(c[7584]|0)+1;d=lc((m<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}l=d;d=c[b+416>>2]|0;j=c[b+424>>2]|0}if((d|0)<=0){if(j)v=52}else{i=0;do{c[l+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(d|0));v=52}if((v|0)==52){if(a[b+428>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=l;c[b+420>>2]=m;i=d;d=m}else{l=j;i=d}}else l=j;c[l+(i<<2)>>2]=3;i=i+1|0;c[b+416>>2]=i;if((i|0)==(d|0)){m=(d|0)==0?1:d<<1;if((d|0)<(m|0)){if(!m)j=0;else{c[7584]=(c[7584]|0)+1;d=lc((m<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;d=c[b+416>>2]|0;l=c[b+424>>2]|0}if((d|0)<=0){if(l)v=66}else{i=0;do{c[j+(i<<2)>>2]=c[l+(i<<2)>>2];i=i+1|0}while((i|0)!=(d|0));v=66}if((v|0)==66){if(a[b+428>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[l+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=j;c[b+420>>2]=m}else j=l}else{j=l;d=i}c[j+(d<<2)>>2]=0;c[b+416>>2]=d+1;c[7584]=(c[7584]|0)+1;d=lc(39)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d>>2]=6476;c[d+4>>2]=32;c[d+16>>2]=b;c[b+192>>2]=d;g[d+12>>2]=.25;c[b+1148>>2]=1065353216;c[b+1152>>2]=0;c[b+1152+4>>2]=0;c[b+1152+8>>2]=0;c[b+1152+12>>2]=0;c[b+1168>>2]=1065353216;c[b+1172>>2]=0;c[b+1172+4>>2]=0;c[b+1172+8>>2]=0;c[b+1172+12>>2]=0;c[b+1188>>2]=1065353216;w=b+1192|0;x=w+36|0;do{c[w>>2]=0;w=w+4|0}while((w|0)<(x|0));g[b+1228>>2]=1.0;y=Ch(b)|0;g[y+4>>2]=1.0;g[y+8>>2]=1.0;g[y+12>>2]=1.0;c[y+16>>2]=1;w=c[b+192>>2]|0;z=+jb[c[(c[w>>2]|0)+48>>2]&15](w);w=A;x=w+100|0;do{c[w>>2]=0;w=w+4|0}while((w|0)<(x|0));m=c[b+712>>2]|0;if((m|0)<(e|0)){if((c[b+716>>2]|0)<(e|0)){if(!e){d=0;j=m}else{c[7584]=(c[7584]|0)+1;d=lc((e*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=c[b+712>>2]|0}if((j|0)>0){i=0;do{w=d+(i*104|0)|0;l=(c[b+720>>2]|0)+(i*104|0)|0;x=w+104|0;do{c[w>>2]=c[l>>2];w=w+4|0;l=l+4|0}while((w|0)<(x|0));i=i+1|0}while((i|0)!=(j|0))}i=c[b+720>>2]|0;if(i|0){if(a[b+724>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=d;c[b+716>>2]=e}d=m;do{w=c[b+720>>2]|0;c[w+(d*104|0)>>2]=0;w=w+(d*104|0)+4|0;l=A;x=w+100|0;do{c[w>>2]=c[l>>2];w=w+4|0;l=l+4|0}while((w|0)<(x|0));d=d+1|0}while((d|0)!=(e|0))}c[b+712>>2]=e;if((e|0)>0){d=f;i=h;l=0;while(1){v=c[b+720>>2]|0;f=v+(l*104|0)|0;w=f;x=w+104|0;do{c[w>>2]=0;w=w+4|0}while((w|0)<(x|0));if(!d){m=0;n=0.0;o=0.0;p=0.0;q=0.0}else{m=d+16|0;n=+g[d+12>>2];o=+g[d>>2];p=+g[d+4>>2];q=+g[d+8>>2]}x=v+(l*104|0)+8|0;g[x>>2]=o;g[v+(l*104|0)+12>>2]=p;g[v+(l*104|0)+16>>2]=q;g[v+(l*104|0)+20>>2]=n;h=v+(l*104|0)+24|0;c[h>>2]=c[x>>2];c[h+4>>2]=c[x+4>>2];c[h+8>>2]=c[x+8>>2];c[h+12>>2]=c[x+12>>2];if(!i){j=0;n=1.0}else{j=i+4|0;n=+g[i>>2]}g[v+(l*104|0)+88>>2]=n>0.0?1.0/n:0.0;s=o-z;t=p-z;u=q-z;r=z+o;o=z+p;n=z+q;d=c[b+932>>2]|0;if(!d){c[7584]=(c[7584]|0)+1;d=lc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}w=d;x=w+44|0;do{c[w>>2]=0;w=w+4|0}while((w|0)<(x|0))}else c[b+932>>2]=0;c[d+32>>2]=0;c[d+36>>2]=f;c[d+40>>2]=0;g[d>>2]=s;g[d+4>>2]=t;g[d+8>>2]=u;g[d+12>>2]=0.0;g[d+16>>2]=r;g[d+20>>2]=o;g[d+24>>2]=n;g[d+28>>2]=0.0;tf(b+928|0,c[b+928>>2]|0,d);c[b+940>>2]=(c[b+940>>2]|0)+1;c[v+(l*104|0)+96>>2]=d;c[v+(l*104|0)+4>>2]=y;l=l+1|0;if((l|0)==(e|0))break;else{d=m;i=j}}}d=c[b+928>>2]|0;if(!d){c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;k=A;return}e=c[b+192>>2]|0;t=+jb[c[(c[e>>2]|0)+48>>2]&15](e);z=+g[d+4>>2]-t;u=+g[d+8>>2]-t;g[b+892>>2]=+g[d>>2]-t;g[b+896>>2]=z;g[b+900>>2]=u;g[b+904>>2]=0.0;u=t+ +g[d+20>>2];z=t+ +g[d+24>>2];g[b+908>>2]=t+ +g[d+16>>2];g[b+912>>2]=u;g[b+916>>2]=z;g[b+920>>2]=0.0;d=c[b+188>>2]|0;if(!d){k=A;return}e=c[b+684>>2]|0;h=c[e+32>>2]|0;Ub[c[(c[h>>2]|0)+16>>2]&31](h,d,b+892|0,b+908|0,c[e+36>>2]|0);k=A;return}function yc(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0;K=k;k=k+96|0;H=c[d+56>>2]|0;if((h-f|0)==1){if(!(a[d+60>>0]|0)){q=(c[d+96>>2]|0)+(H<<6)|0;r=(c[d+76>>2]|0)+(f<<6)|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0))}else{I=(c[d+116>>2]|0)+(f<<4)|0;J=(c[d+136>>2]|0)+(H<<4)|0;c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2]}c[d+56>>2]=(c[d+56>>2]|0)+1;k=K;return}if((h|0)>(f|0)){n=(a[d+60>>0]|0)==0;if(n){j=c[d+76>>2]|0;i=f;l=0.0;m=0.0;o=0.0;do{l=l+(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5;m=m+(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5;o=o+(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5;i=i+1|0}while((i|0)!=(h|0))}else{j=c[d+116>>2]|0;p=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];i=f;l=0.0;m=0.0;o=0.0;do{l=l+(+(e[j+(i<<4)+6>>1]|0)/p+x+(+(e[j+(i<<4)>>1]|0)/p+x))*.5;m=m+(+(e[j+(i<<4)+8>>1]|0)/t+y+(+(e[j+(i<<4)+2>>1]|0)/t+y))*.5;o=o+(+(e[j+(i<<4)+10>>1]|0)/u+z+(+(e[j+(i<<4)+4>>1]|0)/u+z))*.5;i=i+1|0}while((i|0)!=(h|0))}C=1.0/+(h-f|0);E=C*l;D=C*m;C=C*o;if(n){j=c[d+76>>2]|0;i=f;l=0.0;o=0.0;p=0.0;do{x=(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5-E;y=(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5-D;z=(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5-C;l=l+x*x;o=o+y*y;p=p+z*z;i=i+1|0}while((i|0)!=(h|0));m=+(h-f|0)}else{j=c[d+116>>2]|0;m=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];i=f;l=0.0;o=0.0;p=0.0;do{N=(+(e[j+(i<<4)+6>>1]|0)/m+x+(+(e[j+(i<<4)>>1]|0)/m+x))*.5-E;M=(+(e[j+(i<<4)+8>>1]|0)/t+y+(+(e[j+(i<<4)+2>>1]|0)/t+y))*.5-D;L=(+(e[j+(i<<4)+10>>1]|0)/u+z+(+(e[j+(i<<4)+4>>1]|0)/u+z))*.5-C;l=l+N*N;o=o+M*M;p=p+L*L;i=i+1|0}while((i|0)!=(h|0));m=+(h-f|0)}}else{p=0.0;o=0.0;l=0.0;m=+(h-f|0)}N=1.0/(m+-1.0);M=N*l;L=N*o;N=N*p;w=M<L?(L<N?2:1):M<N?2:0;c[K+16>>2]=0;c[K+16+4>>2]=0;c[K+16+8>>2]=0;c[K+16+12>>2]=0;if((h|0)>(f|0)){if(!(a[d+60>>0]|0)){j=c[d+76>>2]|0;i=f;o=0.0;m=0.0;l=0.0;do{o=(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5+o;m=(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5+m;l=(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5+l;i=i+1|0}while((i|0)!=(h|0))}else{j=c[d+116>>2]|0;p=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];i=f;o=0.0;m=0.0;l=0.0;do{o=(+(e[j+(i<<4)+6>>1]|0)/p+x+(+(e[j+(i<<4)>>1]|0)/p+x))*.5+o;m=(+(e[j+(i<<4)+8>>1]|0)/t+y+(+(e[j+(i<<4)+2>>1]|0)/t+y))*.5+m;l=(+(e[j+(i<<4)+10>>1]|0)/u+z+(+(e[j+(i<<4)+4>>1]|0)/u+z))*.5+l;i=i+1|0}while((i|0)!=(h|0))}g[K+16>>2]=o;g[K+16+4>>2]=m;g[K+16+8>>2]=l;i=K+16|0}else{i=K+16|0;o=0.0;m=0.0;l=0.0}g[i>>2]=1.0/+(h-f|0)*o;g[K+16+4>>2]=1.0/+(h-f|0)*m;g[K+16+8>>2]=1.0/+(h-f|0)*l;x=+g[K+16+(w<<2)>>2];if((h|0)>(f|0)){i=f;v=f;do{j=(a[d+60>>0]|0)==0;if(j){G=c[d+76>>2]|0;l=+g[G+(v<<6)>>2];m=+g[G+(v<<6)+16>>2];o=+g[G+(v<<6)+4>>2];p=+g[G+(v<<6)+20>>2];t=+g[G+(v<<6)+8>>2];u=+g[G+(v<<6)+24>>2]}else{G=c[d+116>>2]|0;o=+g[d+36>>2];t=+g[d+40>>2];N=+g[d+44>>2];m=+g[d+4>>2];p=+g[d+8>>2];u=+g[d+12>>2];l=+(e[G+(v<<4)>>1]|0)/o+m;m=+(e[G+(v<<4)+6>>1]|0)/o+m;o=+(e[G+(v<<4)+2>>1]|0)/t+p;p=+(e[G+(v<<4)+8>>1]|0)/t+p;t=+(e[G+(v<<4)+4>>1]|0)/N+u;u=+(e[G+(v<<4)+10>>1]|0)/N+u}g[K>>2]=(m+l)*.5;g[K+4>>2]=(p+o)*.5;g[K+8>>2]=(u+t)*.5;g[K+12>>2]=0.0;if(+g[K+(w<<2)>>2]>x){if(j){j=c[d+76>>2]|0;n=j+(v<<6)|0;q=K+32|0;r=n;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=n;r=j+(i<<6)|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=(c[d+76>>2]|0)+(i<<6)|0;r=K+32|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0))}else{F=c[d+116>>2]|0;G=F+(v<<4)|0;c[K+32>>2]=c[G>>2];c[K+32+4>>2]=c[G+4>>2];c[K+32+8>>2]=c[G+8>>2];c[K+32+12>>2]=c[G+12>>2];F=F+(i<<4)|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];G=(c[d+116>>2]|0)+(i<<4)|0;c[G>>2]=c[K+32>>2];c[G+4>>2]=c[K+32+4>>2];c[G+8>>2]=c[K+32+8>>2];c[G+12>>2]=c[K+32+12>>2]}i=i+1|0}v=v+1|0}while((v|0)!=(h|0))}else i=f;if(!((i|0)>(((h-f|0)/3|0)+f|0)?(i|0)<(h+-1-((h-f|0)/3|0)|0):0))i=(1?h-f>>1:h-f|0)+f|0;G=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(G<<6)|0;c[F>>2]=c[d+20>>2];c[F+4>>2]=c[d+20+4>>2];c[F+8>>2]=c[d+20+8>>2];c[F+12>>2]=c[d+20+12>>2]}else{F=c[d+136>>2]|0;M=(+g[d+24>>2]-+g[d+8>>2])*+g[d+40>>2];N=(+g[d+28>>2]-+g[d+12>>2])*+g[d+44>>2];b[F+(G<<4)>>1]=~~((+g[d+20>>2]-+g[d+4>>2])*+g[d+36>>2])&65535&-2;b[F+(G<<4)+2>>1]=~~M&65535&-2;b[F+(G<<4)+4>>1]=~~N&65535&-2}j=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(j<<6)+16|0;c[F>>2]=c[d+4>>2];c[F+4>>2]=c[d+4+4>>2];c[F+8>>2]=c[d+4+8>>2];c[F+12>>2]=c[d+4+12>>2]}else{F=c[d+136>>2]|0;L=+g[d+4>>2];M=+g[d+8>>2];N=+g[d+12>>2];M=(M-M)*+g[d+40>>2];N=(N-N)*+g[d+44>>2];b[F+(j<<4)+6>>1]=~~((L-L)*+g[d+36>>2]+1.0)&65535|1;b[F+(j<<4)+8>>1]=~~(M+1.0)&65535|1;b[F+(j<<4)+10>>1]=~~(N+1.0)&65535|1}F=c[d+56>>2]|0;if((h|0)>(f|0)){B=a[d+60>>0]|0;A=f;do{if(!(B<<24>>24)){j=c[d+76>>2]|0;m=+g[j+(A<<6)>>2];u=+g[j+(A<<6)+4>>2];y=+g[j+(A<<6)+8>>2];p=+g[j+(A<<6)+12>>2];l=+g[j+(A<<6)+16>>2];x=+g[j+(A<<6)+20>>2];o=+g[j+(A<<6)+24>>2];t=+g[j+(A<<6)+28>>2];j=c[d+96>>2]|0;if(m<+g[j+(F<<6)>>2])g[j+(F<<6)>>2]=m;if(u<+g[j+(F<<6)+4>>2])g[j+(F<<6)+4>>2]=u;if(y<+g[j+(F<<6)+8>>2])g[j+(F<<6)+8>>2]=y;if(p<+g[j+(F<<6)+12>>2])g[j+(F<<6)+12>>2]=p;if(+g[j+(F<<6)+16>>2]<l)g[j+(F<<6)+16>>2]=l;if(+g[j+(F<<6)+20>>2]<x)g[j+(F<<6)+20>>2]=x;if(+g[j+(F<<6)+24>>2]<o)g[j+(F<<6)+24>>2]=o;if(+g[j+(F<<6)+28>>2]<t)g[j+(F<<6)+28>>2]=t}else{v=c[d+116>>2]|0;t=+g[d+36>>2];z=+g[d+40>>2];L=+g[d+44>>2];u=+g[d+4>>2];C=+g[d+8>>2];M=+g[d+12>>2];x=+g[d+4>>2];D=+g[d+8>>2];N=+g[d+12>>2];p=+g[d+36>>2];y=+g[d+40>>2];E=+g[d+44>>2];j=~~((+(e[v+(A<<4)>>1]|0)/t+u-x)*p)&65535&-2;n=~~((+(e[v+(A<<4)+2>>1]|0)/z+C-D)*y)&65535&-2;q=~~((+(e[v+(A<<4)+4>>1]|0)/L+M-N)*E)&65535&-2;r=~~(p*(+(e[v+(A<<4)+6>>1]|0)/t+u-x)+1.0)&65535|1;s=~~(y*(+(e[v+(A<<4)+8>>1]|0)/z+C-D)+1.0)&65535|1;v=~~(E*(+(e[v+(A<<4)+10>>1]|0)/L+M-N)+1.0)&65535|1;w=c[d+136>>2]|0;if((e[w+(F<<4)>>1]|0)>(j&65535))b[w+(F<<4)>>1]=j;if((e[w+(F<<4)+6>>1]|0)<(r&65535))b[w+(F<<4)+6>>1]=r;if((e[w+(F<<4)+2>>1]|0)>(n&65535))b[w+(F<<4)+2>>1]=n;if((e[w+(F<<4)+8>>1]|0)<(s&65535))b[w+(F<<4)+8>>1]=s;if((e[w+(F<<4)+4>>1]|0)>(q&65535))b[w+(F<<4)+4>>1]=q;if((e[w+(F<<4)+10>>1]|0)<(v&65535))b[w+(F<<4)+10>>1]=v}A=A+1|0}while((A|0)!=(h|0))}c[d+56>>2]=F+1;yc(d,f,i);A=c[d+56>>2]|0;yc(d,i,h);w=(c[d+56>>2]|0)-H|0;i=a[d+60>>0]|0;if(i<<24>>24!=0&(w|0)>128){s=c[d+136>>2]|0;r=c[s+(F+1<<4)+12>>2]|0;r=(r|0)>-1?1:0-r|0;v=c[s+(A<<4)+12>>2]|0;v=(v|0)>-1?1:0-v|0;if((r|0)<129){q=c[d+152>>2]|0;if((q|0)==(c[d+156>>2]|0)?(I=(q|0)==0?1:q<<1,(q|0)<(I|0)):0){if(!I){i=0;n=q}else{c[7584]=(c[7584]|0)+1;i=lc(I<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n=c[d+152>>2]|0}if((n|0)>0){j=0;do{H=i+(j<<5)|0;h=(c[d+160>>2]|0)+(j<<5)|0;c[H>>2]=c[h>>2];c[H+4>>2]=c[h+4>>2];c[H+8>>2]=c[h+8>>2];c[H+12>>2]=c[h+12>>2];c[H+16>>2]=c[h+16>>2];c[H+20>>2]=c[h+20>>2];c[H+24>>2]=c[h+24>>2];c[H+28>>2]=c[h+28>>2];j=j+1|0}while((j|0)!=(n|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=i;c[d+156>>2]=I;i=c[d+152>>2]|0}else i=q;c[d+152>>2]=i+1;I=(c[d+160>>2]|0)+(q<<5)|0;c[I>>2]=c[K+32>>2];c[I+4>>2]=c[K+32+4>>2];c[I+8>>2]=c[K+32+8>>2];c[I+12>>2]=c[K+32+12>>2];c[I+16>>2]=c[K+32+16>>2];c[I+20>>2]=c[K+32+20>>2];c[I+24>>2]=c[K+32+24>>2];c[I+28>>2]=c[K+32+28>>2];I=c[d+160>>2]|0;b[I+(q<<5)>>1]=b[s+(F+1<<4)>>1]|0;b[I+(q<<5)+2>>1]=b[s+(F+1<<4)+2>>1]|0;b[I+(q<<5)+4>>1]=b[s+(F+1<<4)+4>>1]|0;b[I+(q<<5)+6>>1]=b[s+(F+1<<4)+6>>1]|0;b[I+(q<<5)+8>>1]=b[s+(F+1<<4)+8>>1]|0;b[I+(q<<5)+10>>1]=b[s+(F+1<<4)+10>>1]|0;c[I+(q<<5)+12>>2]=F+1;c[I+(q<<5)+16>>2]=r}if((v|0)<129){q=c[d+152>>2]|0;if((q|0)==(c[d+156>>2]|0)?(J=(q|0)==0?1:q<<1,(q|0)<(J|0)):0){if(!J){i=0;n=q}else{c[7584]=(c[7584]|0)+1;i=lc(J<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n=c[d+152>>2]|0}if((n|0)>0){j=0;do{I=i+(j<<5)|0;H=(c[d+160>>2]|0)+(j<<5)|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[I+16>>2]=c[H+16>>2];c[I+20>>2]=c[H+20>>2];c[I+24>>2]=c[H+24>>2];c[I+28>>2]=c[H+28>>2];j=j+1|0}while((j|0)!=(n|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=i;c[d+156>>2]=J;i=c[d+152>>2]|0}else i=q;c[d+152>>2]=i+1;i=(c[d+160>>2]|0)+(q<<5)|0;c[i>>2]=c[K+32>>2];c[i+4>>2]=c[K+32+4>>2];c[i+8>>2]=c[K+32+8>>2];c[i+12>>2]=c[K+32+12>>2];c[i+16>>2]=c[K+32+16>>2];c[i+20>>2]=c[K+32+20>>2];c[i+24>>2]=c[K+32+24>>2];c[i+28>>2]=c[K+32+28>>2];i=c[d+160>>2]|0;b[i+(q<<5)>>1]=b[s+(A<<4)>>1]|0;b[i+(q<<5)+2>>1]=b[s+(A<<4)+2>>1]|0;b[i+(q<<5)+4>>1]=b[s+(A<<4)+4>>1]|0;b[i+(q<<5)+6>>1]=b[s+(A<<4)+6>>1]|0;b[i+(q<<5)+8>>1]=b[s+(A<<4)+8>>1]|0;b[i+(q<<5)+10>>1]=b[s+(A<<4)+10>>1]|0;c[i+(q<<5)+12>>2]=A;c[i+(q<<5)+16>>2]=v;i=d+152|0}else i=d+152|0;c[d+168>>2]=c[i>>2];i=a[d+60>>0]|0}if(!(i<<24>>24)){c[(c[d+96>>2]|0)+(G<<6)+32>>2]=w;k=K;return}else{c[(c[d+136>>2]|0)+(G<<4)+12>>2]=0-w;k=K;return}}function zc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0;ha=k;k=k+176|0;ea=c[d+4>>2]|0;fa=c[e+4>>2]|0;if((c[ea+68>>2]|0)==(c[b+40>>2]|0)?(c[fa+68>>2]|0)==(c[b+44>>2]|0):0)da=b+8|0;else{i=c[b+8>>2]|0;l=c[i+8>>2]|0;if((l|0)>0){j=0;do{m=c[(c[i+16>>2]|0)+(j*12|0)+8>>2]|0;if(m|0){Db[c[c[m>>2]>>2]&511](m);da=c[b+4>>2]|0;Jb[c[(c[da>>2]|0)+60>>2]&127](da,m)}j=j+1|0}while((j|0)!=(l|0));i=c[b+8>>2]|0}oi(i);da=b+8|0}a[ha+128+16>>0]=1;p=ha+128+12|0;c[p>>2]=0;c[ha+128+4>>2]=0;c[ha+128+8>>2]=0;o=c[da>>2]|0;i=c[o+8>>2]|0;if((i|0)>0){n=0;do{j=c[(c[o+16>>2]|0)+(n*12|0)+8>>2]|0;if(j){Jb[c[(c[j>>2]|0)+16>>2]&127](j,ha+128|0);i=c[ha+128+4>>2]|0;if((i|0)>0){m=0;do{l=c[(c[p>>2]|0)+(m<<2)>>2]|0;if(c[l+748>>2]|0){c[h+4>>2]=l;i=c[l+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(j|0))qf(l,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else qf(l,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,j+4|0);c[h+4>>2]=0;i=c[ha+128+4>>2]|0}m=m+1|0}while((m|0)<(i|0))}if((i|0)<0){if((c[ha+128+8>>2]|0)<0){j=c[p>>2]|0;if(j|0){if(a[ha+128+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}c[p>>2]=0}a[ha+128+16>>0]=1;c[p>>2]=0;c[ha+128+8>>2]=0}do{c[(c[p>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[ha+128+4>>2]=0;i=c[o+8>>2]|0}n=n+1|0}while((n|0)<(i|0));i=c[p>>2]|0;if(i|0){if(a[ha+128+16>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[p>>2]=0}}j=c[ea+64>>2]|0;l=c[fa+64>>2]|0;t=c[b+4>>2]|0;u=c[da>>2]|0;v=c[b+32>>2]|0;c[ha+128>>2]=9492;c[ha+128+4>>2]=0;c[ha+128+8>>2]=d;c[ha+128+12>>2]=e;c[ha+128+16>>2]=t;c[ha+128+20>>2]=f;c[ha+128+24>>2]=h;c[ha+128+28>>2]=u;c[ha+128+32>>2]=v;v=c[d+12>>2]|0;G=+g[v>>2];H=+g[v+16>>2];I=+g[v+32>>2];J=+g[v+4>>2];K=+g[v+20>>2];L=+g[v+36>>2];M=+g[v+8>>2];N=+g[v+24>>2];O=+g[v+40>>2];P=-+g[v+48>>2];Q=-+g[v+52>>2];R=-+g[v+56>>2];v=c[e+12>>2]|0;S=+g[v>>2];T=+g[v+16>>2];U=+g[v+32>>2];V=+g[v+4>>2];W=+g[v+20>>2];X=+g[v+36>>2];Y=+g[v+8>>2];Z=+g[v+24>>2];_=+g[v+40>>2];$=+g[v+48>>2];aa=+g[v+52>>2];ba=+g[v+56>>2];j=c[j>>2]|0;l=c[l>>2]|0;if((j|0)!=0&(l|0)!=0){c[7584]=(c[7584]|0)+1;i=lc(1043)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c[i>>2]=j;c[i+4>>2]=l;w=+z(+(G*S+H*T+I*U));x=+z(+(G*V+H*W+I*X));y=+z(+(G*Y+H*Z+I*_));A=+z(+(J*S+K*T+L*U));B=+z(+(J*V+K*W+L*X));C=+z(+(J*Y+K*Z+L*_));D=+z(+(M*S+N*T+O*U));E=+z(+(M*V+N*W+O*X));F=+z(+(M*Y+N*Z+O*_));q=1;o=124;p=128;s=i;n=128;f=i;m=i;l=i;while(1){v=q+-1|0;t=c[s+(v<<3)>>2]|0;u=c[s+(v<<3)+4>>2]|0;sa=+g[u+16>>2];ra=+g[u>>2];qa=+g[u+20>>2];pa=+g[u+4>>2];oa=+g[u+24>>2];ia=+g[u+8>>2];na=G*P+H*Q+I*R+(G*$+H*aa+I*ba)+((G*S+H*T+I*U)*(sa+ra)*.5+(G*V+H*W+I*X)*(qa+pa)*.5+(G*Y+H*Z+I*_)*(oa+ia)*.5);la=J*P+K*Q+L*R+(J*$+K*aa+L*ba)+((J*S+K*T+L*U)*(sa+ra)*.5+(J*V+K*W+L*X)*(qa+pa)*.5+(J*Y+K*Z+L*_)*(oa+ia)*.5);ja=M*P+N*Q+O*R+(M*$+N*aa+O*ba)+((M*S+N*T+O*U)*(sa+ra)*.5+(M*V+N*W+O*X)*(qa+pa)*.5+(M*Y+N*Z+O*_)*(oa+ia)*.5);ma=w*((sa-ra)*.5+0.0)+x*((qa-pa)*.5+0.0)+y*((oa-ia)*.5+0.0);ka=A*((sa-ra)*.5+0.0)+B*((qa-pa)*.5+0.0)+C*((oa-ia)*.5+0.0);ia=D*((sa-ra)*.5+0.0)+E*((qa-pa)*.5+0.0)+F*((oa-ia)*.5+0.0);do if(((((+g[t>>2]<=ma+na?+g[t+16>>2]>=na-ma:0)?+g[t+4>>2]<=ka+la:0)?+g[t+20>>2]>=la-ka:0)?+g[t+8>>2]<=ia+ja:0)?+g[t+24>>2]>=ja-ia:0){if((v|0)>(o|0)){r=n<<1;do if((n|0)<(r|0)&(p|0)<(r|0)){do if(!n){l=0;i=0;ca=55}else{c[7584]=(c[7584]|0)+1;i=lc((n<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}if((n|0)<=0){l=j;i=j;ca=55;break}i=0;do{o=s+(i<<3)|0;p=c[o+4>>2]|0;h=j+(i<<3)|0;c[h>>2]=c[o>>2];c[h+4>>2]=p;i=i+1|0}while((i|0)!=(n|0));l=j;i=j}while(0);if((ca|0)==55){ca=0;if(!s){n=r;m=l;o=l;j=l;break}}if(!f){n=r;m=l;o=l;j=l}else{c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0);n=r;m=l;o=l;j=l}}else{n=p;i=s;o=l;j=f}while(0);h=r+-4|0;p=n;n=r;f=j}else{h=o;i=s;o=l}j=(c[u+40>>2]|0)!=0;if(!(c[t+40>>2]|0))if(j){l=c[u+36>>2]|0;c[i+(v<<3)>>2]=t;c[i+(v<<3)+4>>2]=l;l=c[u+40>>2]|0;c[i+(q<<3)>>2]=t;c[i+(q<<3)+4>>2]=l;q=q+1|0;l=o;j=f;break}else{Nb[c[(c[ha+128>>2]|0)+8>>2]&127](ha+128|0,t,u);q=v;l=o;j=f;break}else{l=c[t+36>>2]|0;if(j){j=c[u+36>>2]|0;c[i+(v<<3)>>2]=l;c[i+(v<<3)+4>>2]=j;v=c[u+36>>2]|0;j=q+1|0;c[i+(q<<3)>>2]=c[t+40>>2];c[i+(q<<3)+4>>2]=v;v=c[u+40>>2]|0;l=q+2|0;c[i+(j<<3)>>2]=c[t+36>>2];c[i+(j<<3)+4>>2]=v;j=c[u+40>>2]|0;c[i+(l<<3)>>2]=c[t+40>>2];c[i+(l<<3)+4>>2]=j;q=q+3|0;l=o;j=f;break}else{c[i+(v<<3)>>2]=l;c[i+(v<<3)+4>>2]=u;c[i+(q<<3)>>2]=c[t+40>>2];c[i+(q<<3)+4>>2]=u;q=q+1|0;l=o;j=f;break}}}else{q=v;h=o;i=s;j=f}while(0);if(!q)break;else{o=h;s=i;f=j}}if(!((i|0)==0|(m|0)==0)){c[7585]=(c[7585]|0)+1;Bd(c[m+-4>>2]|0)}}p=c[da>>2]|0;if((c[p+8>>2]|0)>0){o=0;do{i=c[p+16>>2]|0;j=c[i+(o*12|0)+8>>2]|0;do if(j|0){ca=c[i+(o*12|0)>>2]|0;v=c[ea+24>>2]|0;u=c[v+(ca*80|0)+64>>2]|0;t=c[d+12>>2]|0;sa=+g[t>>2];T=+g[t+4>>2];S=+g[t+8>>2];pa=+g[t+16>>2];na=+g[t+20>>2];la=+g[t+24>>2];oa=+g[t+32>>2];ka=+g[t+36>>2];Y=+g[t+40>>2];ja=+g[v+(ca*80|0)>>2];ia=+g[v+(ca*80|0)+16>>2];ba=+g[v+(ca*80|0)+32>>2];aa=+g[v+(ca*80|0)+4>>2];$=+g[v+(ca*80|0)+20>>2];_=+g[v+(ca*80|0)+36>>2];ma=+g[v+(ca*80|0)+8>>2];Z=+g[v+(ca*80|0)+24>>2];X=+g[v+(ca*80|0)+40>>2];ra=+g[v+(ca*80|0)+48>>2];qa=+g[v+(ca*80|0)+52>>2];U=+g[v+(ca*80|0)+56>>2];W=+g[t+48>>2]+(sa*ra+T*qa+S*U);V=+g[t+52>>2]+(pa*ra+na*qa+la*U);U=+g[t+56>>2]+(oa*ra+ka*qa+Y*U);g[ha>>2]=sa*ja+T*ia+S*ba;g[ha+4>>2]=sa*aa+T*$+S*_;g[ha+8>>2]=sa*ma+T*Z+S*X;g[ha+12>>2]=0.0;g[ha+16>>2]=pa*ja+na*ia+la*ba;g[ha+20>>2]=pa*aa+na*$+la*_;g[ha+24>>2]=pa*ma+na*Z+la*X;g[ha+28>>2]=0.0;g[ha+32>>2]=oa*ja+ka*ia+Y*ba;g[ha+36>>2]=oa*aa+ka*$+Y*_;g[ha+40>>2]=oa*ma+ka*Z+Y*X;g[ha+44>>2]=0.0;g[ha+48>>2]=W;g[ha+52>>2]=V;g[ha+56>>2]=U;g[ha+60>>2]=0.0;Qb[c[(c[u>>2]|0)+8>>2]&127](u,ha,ha+112|0,ha+96|0);u=c[(c[p+16>>2]|0)+(o*12|0)+4>>2]|0;t=c[fa+24>>2]|0;ca=c[t+(u*80|0)+64>>2]|0;v=c[e+12>>2]|0;U=+g[v>>2];V=+g[v+4>>2];W=+g[v+8>>2];X=+g[v+16>>2];Y=+g[v+20>>2];Z=+g[v+24>>2];ka=+g[v+32>>2];ma=+g[v+36>>2];oa=+g[v+40>>2];_=+g[t+(u*80|0)>>2];$=+g[t+(u*80|0)+16>>2];aa=+g[t+(u*80|0)+32>>2];ba=+g[t+(u*80|0)+4>>2];ia=+g[t+(u*80|0)+20>>2];ja=+g[t+(u*80|0)+36>>2];la=+g[t+(u*80|0)+8>>2];na=+g[t+(u*80|0)+24>>2];pa=+g[t+(u*80|0)+40>>2];S=+g[t+(u*80|0)+48>>2];T=+g[t+(u*80|0)+52>>2];sa=+g[t+(u*80|0)+56>>2];qa=+g[v+48>>2]+(U*S+V*T+W*sa);ra=+g[v+52>>2]+(X*S+Y*T+Z*sa);sa=+g[v+56>>2]+(ka*S+ma*T+oa*sa);g[ha>>2]=U*_+V*$+W*aa;g[ha+4>>2]=U*ba+V*ia+W*ja;g[ha+8>>2]=U*la+V*na+W*pa;g[ha+12>>2]=0.0;g[ha+16>>2]=X*_+Y*$+Z*aa;g[ha+20>>2]=X*ba+Y*ia+Z*ja;g[ha+24>>2]=X*la+Y*na+Z*pa;g[ha+28>>2]=0.0;g[ha+32>>2]=ka*_+ma*$+oa*aa;g[ha+36>>2]=ka*ba+ma*ia+oa*ja;g[ha+40>>2]=ka*la+ma*na+oa*pa;g[ha+44>>2]=0.0;g[ha+48>>2]=qa;g[ha+52>>2]=ra;g[ha+56>>2]=sa;g[ha+60>>2]=0.0;Qb[c[(c[ca>>2]|0)+8>>2]&127](ca,ha,ha+80|0,ha+64|0);if(!(+g[ha+112>>2]>+g[ha+64>>2])?!(+g[ha+96>>2]<+g[ha+80>>2]):0)i=1;else i=0;if(!(!(+g[ha+112+8>>2]>+g[ha+64+8>>2])?!(+g[ha+96+8>>2]<+g[ha+80+8>>2]):0))i=0;if(!(+g[ha+112+4>>2]>+g[ha+64+4>>2])?!(+g[ha+96+4>>2]<+g[ha+80+4>>2]|i^1):0)break;Db[c[c[j>>2]>>2]&511](j);n=c[b+4>>2]|0;Jb[c[(c[n>>2]|0)+60>>2]&127](n,j);n=c[p+16>>2]|0;m=c[n+(o*12|0)>>2]|0;n=c[n+(o*12|0)+4>>2]|0;j=c[b+16>>2]|0;if((j|0)==(c[b+20>>2]|0)?(ga=(j|0)==0?1:j<<1,(j|0)<(ga|0)):0){if(!ga)i=0;else{c[7584]=(c[7584]|0)+1;i=lc((ga*12|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+16>>2]|0}if((j|0)>0){l=0;do{ca=i+(l*12|0)|0;v=(c[b+24>>2]|0)+(l*12|0)|0;c[ca>>2]=c[v>>2];c[ca+4>>2]=c[v+4>>2];c[ca+8>>2]=c[v+8>>2];l=l+1|0}while((l|0)!=(j|0))}j=c[b+24>>2]|0;if(j|0){if(a[b+28>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=i;c[b+20>>2]=ga;i=c[b+16>>2]|0}else i=j;ca=c[b+24>>2]|0;c[ca+(i*12|0)>>2]=m;c[ca+(i*12|0)+4>>2]=n;c[ca+(i*12|0)+8>>2]=0;c[b+16>>2]=(c[b+16>>2]|0)+1}while(0);o=o+1|0}while((o|0)<(c[p+8>>2]|0));j=b+24|0;l=b+16|0}else{j=b+24|0;l=b+16|0}if((c[l>>2]|0)>0){i=0;do{e=c[da>>2]|0;ga=c[j>>2]|0;xb[c[(c[e>>2]|0)+8>>2]&63](e,c[ga+(i*12|0)>>2]|0,c[ga+(i*12|0)+4>>2]|0)|0;i=i+1|0}while((i|0)<(c[l>>2]|0))}i=c[j>>2]|0;if(!i){a[b+28>>0]=1;c[j>>2]=0;c[l>>2]=0;b=b+20|0;c[b>>2]=0;k=ha;return}if(a[b+28>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0)}c[j>>2]=0;a[b+28>>0]=1;c[j>>2]=0;c[l>>2]=0;b=b+20|0;c[b>>2]=0;k=ha;return}function Ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0;s=k;k=k+208|0;f=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;Kb[c[(c[f>>2]|0)+56>>2]&7](f,b,1.0);f=c[d+4>>2]|0;switch(f|0){case 31:{f=c[d+16>>2]|0;if((f|0)<=0){k=s;return}do{r=f;f=f+-1|0;q=c[d+24>>2]|0;D=+g[q+(f*80|0)>>2];A=+g[q+(f*80|0)+4>>2];x=+g[q+(f*80|0)+8>>2];C=+g[q+(f*80|0)+16>>2];z=+g[q+(f*80|0)+20>>2];v=+g[q+(f*80|0)+24>>2];B=+g[q+(f*80|0)+32>>2];y=+g[q+(f*80|0)+36>>2];t=+g[q+(f*80|0)+40>>2];L=+g[q+(f*80|0)+48>>2];K=+g[q+(f*80|0)+52>>2];l=+g[q+(f*80|0)+56>>2];q=c[q+(f*80|0)+64>>2]|0;p=c[(c[a>>2]|0)+28>>2]|0;J=+g[b>>2];I=+g[b+4>>2];H=+g[b+8>>2];G=+g[b+16>>2];F=+g[b+20>>2];E=+g[b+24>>2];w=+g[b+32>>2];u=+g[b+36>>2];h=+g[b+40>>2];i=L*J+K*I+l*H+ +g[b+48>>2];j=L*G+K*F+l*E+ +g[b+52>>2];l=L*w+K*u+l*h+ +g[b+56>>2];g[s+144>>2]=D*J+C*I+B*H;g[s+144+4>>2]=A*J+z*I+y*H;g[s+144+8>>2]=x*J+v*I+t*H;g[s+144+12>>2]=0.0;g[s+144+16>>2]=D*G+C*F+B*E;g[s+144+20>>2]=A*G+z*F+y*E;g[s+144+24>>2]=x*G+v*F+t*E;g[s+144+28>>2]=0.0;g[s+144+32>>2]=D*w+C*u+B*h;g[s+144+36>>2]=A*w+z*u+y*h;g[s+144+40>>2]=x*w+v*u+t*h;g[s+144+44>>2]=0.0;g[s+144+48>>2]=i;g[s+144+52>>2]=j;g[s+144+56>>2]=l;g[s+144+60>>2]=0.0;Qb[p&127](a,s+144|0,q,e)}while((r|0)>1);k=s;return}case 0:{c[s+144>>2]=c[d+28>>2];c[s+144+4>>2]=c[d+28+4>>2];c[s+144+8>>2]=c[d+28+8>>2];c[s+144+12>>2]=c[d+28+12>>2];J=+jb[c[(c[d>>2]|0)+48>>2]&15](d);K=+jb[c[(c[d>>2]|0)+48>>2]&15](d);L=+jb[c[(c[d>>2]|0)+48>>2]&15](d);J=J+ +g[s+144>>2];g[s+144>>2]=J;K=K+ +g[s+144+4>>2];g[s+144+4>>2]=K;L=L+ +g[s+144+8>>2];g[s+144+8>>2]=L;d=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;a=c[(c[d>>2]|0)+72>>2]|0;g[s+112>>2]=-J;g[s+112+4>>2]=-K;g[s+112+8>>2]=-L;g[s+112+12>>2]=0.0;Ub[a&31](d,s+112|0,s+144|0,b,e);k=s;return}case 8:{L=+jb[c[(c[d>>2]|0)+48>>2]&15](d);d=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;Ib[c[(c[d>>2]|0)+16>>2]&1](d,L,b,e);k=s;return}case 9:{f=c[d+92>>2]|0;if((f|0)<=0){k=s;return}do{r=f;f=f+-1|0;q=c[d+100>>2]|0;x=+g[q+(f<<4)>>2];y=+g[q+(f<<4)+4>>2];K=+g[q+(f<<4)+8>>2];q=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;p=c[(c[q>>2]|0)+16>>2]|0;L=+g[(c[d+120>>2]|0)+(f<<2)>>2];A=+g[b>>2];B=+g[b+4>>2];z=+g[b+8>>2];D=+g[b+16>>2];E=+g[b+20>>2];C=+g[b+24>>2];G=+g[b+32>>2];H=+g[b+36>>2];F=+g[b+40>>2];I=x*A+y*B+K*z+ +g[b+48>>2];J=x*D+y*E+K*C+ +g[b+52>>2];K=x*G+y*H+K*F+ +g[b+56>>2];g[s+144>>2]=A+B*0.0+z*0.0;g[s+144+4>>2]=A*0.0+B+z*0.0;g[s+144+8>>2]=z+(A*0.0+B*0.0);g[s+144+12>>2]=0.0;g[s+144+16>>2]=D+E*0.0+C*0.0;g[s+144+20>>2]=D*0.0+E+C*0.0;g[s+144+24>>2]=C+(D*0.0+E*0.0);g[s+144+28>>2]=0.0;g[s+144+32>>2]=G+H*0.0+F*0.0;g[s+144+36>>2]=G*0.0+H+F*0.0;g[s+144+40>>2]=F+(G*0.0+H*0.0);g[s+144+44>>2]=0.0;g[s+144+48>>2]=I;g[s+144+52>>2]=J;g[s+144+56>>2]=K;g[s+144+60>>2]=0.0;Ib[p&1](q,L,s+144|0,e)}while((r|0)>1);k=s;return}case 10:{r=c[d+52>>2]|0;K=+g[d+28+(((r+2|0)%3|0)<<2)>>2];L=+g[d+28+(r<<2)>>2];d=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;Gb[c[(c[d>>2]|0)+76>>2]&3](d,K,L,r,b,e);k=s;return}case 11:{K=+g[d+56>>2];L=+g[d+60>>2];d=c[d+68>>2]|0;a=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;Gb[c[(c[a>>2]|0)+84>>2]&3](a,K,L,d,b,e);k=s;return}case 13:{r=c[d+52>>2]|0;K=+jb[c[(c[d>>2]|0)+92>>2]&15](d);c[s+128>>2]=c[d+28>>2];c[s+128+4>>2]=c[d+28+4>>2];c[s+128+8>>2]=c[d+28+8>>2];c[s+128+12>>2]=c[d+28+12>>2];I=+jb[c[(c[d>>2]|0)+48>>2]&15](d);J=+jb[c[(c[d>>2]|0)+48>>2]&15](d);L=+jb[c[(c[d>>2]|0)+48>>2]&15](d);g[s+128>>2]=I+ +g[s+128>>2];g[s+128+4>>2]=J+ +g[s+128+4>>2];g[s+128+8>>2]=L+ +g[s+128+8>>2];L=+g[s+128+(r<<2)>>2];d=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;Gb[c[(c[d>>2]|0)+80>>2]&3](d,K,L,r,b,e);k=s;return}case 28:{L=+g[d+64>>2];a=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;Mb[c[(c[a>>2]|0)+88>>2]&1](a,d+48|0,L,b,e);k=s;return}default:{a:do if((f|0)<7){r=c[d+52>>2]|0;if(!r){if((tb[c[(c[d>>2]|0)+100>>2]&255](d)|0)<=0)break;f=0;while(1){Qb[c[(c[d>>2]|0)+104>>2]&127](d,f,s+144|0,s+112|0);L=+g[s+144>>2];y=+g[b>>2];J=+g[s+144+4>>2];z=+g[b+4>>2];H=+g[s+144+8>>2];A=+g[b+8>>2];C=+g[b+16>>2];D=+g[b+20>>2];E=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];x=+g[b+48>>2];B=+g[b+52>>2];F=+g[b+56>>2];g[s+16>>2]=L*y+J*z+H*A+x;g[s+16+4>>2]=L*C+J*D+H*E+B;g[s+16+8>>2]=L*G+J*I+H*K+F;g[s+16+12>>2]=0.0;H=+g[s+112>>2];J=+g[s+112+4>>2];L=+g[s+112+8>>2];g[s>>2]=x+(y*H+z*J+A*L);g[s+4>>2]=B+(C*H+D*J+E*L);g[s+8>>2]=F+(G*H+I*J+K*L);g[s+12>>2]=0.0;r=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;Qb[c[(c[r>>2]|0)+8>>2]&127](r,s+16|0,s,e);f=f+1|0;if((f|0)>=(tb[c[(c[d>>2]|0)+100>>2]&255](d)|0))break a}}if((c[r+28>>2]|0)>0){q=0;do{f=c[r+36>>2]|0;p=c[f+(q*36|0)+4>>2]|0;b:do if((p|0)>0){m=c[f+(q*36|0)+12>>2]|0;f=0;n=c[m+(p+-1<<2)>>2]|0;h=0.0;i=0.0;l=0.0;while(1){o=c[m+(f<<2)>>2]|0;m=c[r+16>>2]|0;h=h+ +g[m+(o<<4)>>2];i=i+ +g[m+(o<<4)+4>>2];l=l+ +g[m+(o<<4)+8>>2];m=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;M=c[(c[m>>2]|0)+8>>2]|0;N=c[r+16>>2]|0;L=+g[N+(n<<4)>>2];y=+g[b>>2];J=+g[N+(n<<4)+4>>2];z=+g[b+4>>2];H=+g[N+(n<<4)+8>>2];A=+g[b+8>>2];C=+g[b+16>>2];D=+g[b+20>>2];E=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];x=+g[b+48>>2];B=+g[b+52>>2];F=+g[b+56>>2];g[s+144>>2]=L*y+J*z+H*A+x;g[s+144+4>>2]=L*C+J*D+H*E+B;g[s+144+8>>2]=L*G+J*I+H*K+F;g[s+144+12>>2]=0.0;H=+g[N+(o<<4)>>2];J=+g[N+(o<<4)+4>>2];L=+g[N+(o<<4)+8>>2];g[s+112>>2]=x+(y*H+z*J+A*L);g[s+112+4>>2]=B+(C*H+D*J+E*L);g[s+112+8>>2]=F+(G*H+I*J+K*L);g[s+112+12>>2]=0.0;Qb[M&127](m,s+144|0,s+112|0,e);f=f+1|0;m=c[r+36>>2]|0;if((f|0)>=(c[m+(q*36|0)+4>>2]|0))break b;n=o;m=c[m+(q*36|0)+12>>2]|0}}else{h=0.0;i=0.0;l=0.0}while(0);j=1.0/+(p|0)*h;i=1.0/+(p|0)*i;h=1.0/+(p|0)*l;N=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;if((tb[c[(c[N>>2]|0)+48>>2]&255](N)|0)&16384|0){c[s+144>>2]=1065353216;c[s+144+4>>2]=1065353216;c[s+144+8>>2]=0;g[s+144+12>>2]=0.0;N=c[r+36>>2]|0;F=+g[N+(q*36|0)+20>>2];H=+g[N+(q*36|0)+24>>2];J=+g[N+(q*36|0)+28>>2];N=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;M=c[(c[N>>2]|0)+8>>2]|0;x=+g[b>>2];y=+g[b+4>>2];z=+g[b+8>>2];B=+g[b+16>>2];C=+g[b+20>>2];D=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];A=+g[b+48>>2];E=+g[b+52>>2];L=+g[b+56>>2];g[s+112>>2]=j*x+i*y+h*z+A;g[s+112+4>>2]=j*B+i*C+h*D+E;g[s+112+8>>2]=j*G+i*I+h*K+L;g[s+112+12>>2]=0.0;g[s+16>>2]=(j+F)*x+(i+H)*y+(h+J)*z+A;g[s+16+4>>2]=(j+F)*B+(i+H)*C+(h+J)*D+E;g[s+16+8>>2]=(j+F)*G+(i+H)*I+(h+J)*K+L;g[s+16+12>>2]=0.0;Qb[M&127](N,s+112|0,s+16|0,s+144|0)}q=q+1|0}while((q|0)<(c[r+28>>2]|0))}}while(0);f=c[d+4>>2]|0;if((f+-21|0)>>>0<9){c[s+144>>2]=1566444395;c[s+144+4>>2]=1566444395;c[s+144+8>>2]=1566444395;g[s+144+12>>2]=0.0;c[s+112>>2]=-581039253;c[s+112+4>>2]=-581039253;c[s+112+8>>2]=-581039253;g[s+112+12>>2]=0.0;f=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;c[s+16>>2]=9056;c[s+16+4>>2]=9080;c[s+16+8>>2]=f;c[s+16+12>>2]=c[e>>2];c[s+16+12+4>>2]=c[e+4>>2];c[s+16+12+8>>2]=c[e+8>>2];c[s+16+12+12>>2]=c[e+12>>2];c[s+16+28>>2]=c[b>>2];c[s+16+28+4>>2]=c[b+4>>2];c[s+16+28+8>>2]=c[b+8>>2];c[s+16+28+12>>2]=c[b+12>>2];c[s+16+44>>2]=c[b+16>>2];c[s+16+44+4>>2]=c[b+16+4>>2];c[s+16+44+8>>2]=c[b+16+8>>2];c[s+16+44+12>>2]=c[b+16+12>>2];c[s+16+60>>2]=c[b+32>>2];c[s+16+60+4>>2]=c[b+32+4>>2];c[s+16+60+8>>2]=c[b+32+8>>2];c[s+16+60+12>>2]=c[b+32+12>>2];c[s+16+76>>2]=c[b+48>>2];c[s+16+76+4>>2]=c[b+48+4>>2];c[s+16+76+8>>2]=c[b+48+8>>2];c[s+16+76+12>>2]=c[b+48+12>>2];Qb[c[(c[d>>2]|0)+64>>2]&127](d,s+16|0,s+112|0,s+144|0);f=c[d+4>>2]|0}if((f|0)!=3){k=s;return}c[s+144>>2]=1566444395;c[s+144+4>>2]=1566444395;c[s+144+8>>2]=1566444395;g[s+144+12>>2]=0.0;c[s+112>>2]=-581039253;c[s+112+4>>2]=-581039253;c[s+112+8>>2]=-581039253;g[s+112+12>>2]=0.0;N=tb[c[(c[a>>2]|0)+20>>2]&255](a)|0;c[s+16>>2]=9056;c[s+16+4>>2]=9080;c[s+16+8>>2]=N;c[s+16+12>>2]=c[e>>2];c[s+16+12+4>>2]=c[e+4>>2];c[s+16+12+8>>2]=c[e+8>>2];c[s+16+12+12>>2]=c[e+12>>2];c[s+16+28>>2]=c[b>>2];c[s+16+28+4>>2]=c[b+4>>2];c[s+16+28+8>>2]=c[b+8>>2];c[s+16+28+12>>2]=c[b+12>>2];c[s+16+44>>2]=c[b+16>>2];c[s+16+44+4>>2]=c[b+16+4>>2];c[s+16+44+8>>2]=c[b+16+8>>2];c[s+16+44+12>>2]=c[b+16+12>>2];c[s+16+60>>2]=c[b+32>>2];c[s+16+60+4>>2]=c[b+32+4>>2];c[s+16+60+8>>2]=c[b+32+8>>2];c[s+16+60+12>>2]=c[b+32+12>>2];c[s+16+76>>2]=c[b+48>>2];c[s+16+76+4>>2]=c[b+48+4>>2];c[s+16+76+8>>2]=c[b+48+8>>2];c[s+16+76+12>>2]=c[b+48+12>>2];N=c[d+92>>2]|0;Qb[c[(c[N>>2]|0)+8>>2]&127](N,s+16+4|0,s+112|0,s+144|0);k=s;return}}}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;u=k;k=k+48|0;A=1.0/+g[b+108>>2];B=1.0/+g[b+112>>2];C=1.0/+g[b+116>>2];v=+g[b+48>>2];w=A*+g[e>>2]+v;p=+g[b+52>>2];i=B*+g[e+4>>2]+p;r=+g[b+56>>2];q=C*+g[e+8>>2]+r;v=A*+g[f>>2]+v;p=B*+g[f+4>>2]+p;r=C*+g[f+8>>2]+r;C=+g[b+16>>2];w=w<C?C:w;B=+g[b+20>>2];i=i<B?B:i;A=+g[b+24>>2];q=q<A?A:q;z=+g[b+32>>2];w=z<w?z:w;y=+g[b+36>>2];i=y<i?y:i;x=+g[b+40>>2];q=x<q?x:q;v=v<C?C:v;p=p<B?B:p;r=r<A?A:r;v=z<v?z:v;p=y<p?y:p;r=x<r?x:r;n=~~((w<0.0?-.5:.5)+w)+-1|0;j=~~((v<0.0?-.5:.5)+v)+1|0;o=~~((i<0.0?-.5:.5)+i)+-1|0;l=~~((p<0.0?-.5:.5)+p)+1|0;h=~~((q<0.0?-.5:.5)+q)+-1|0;e=~~((r<0.0?-.5:.5)+r)+1|0;m=(c[b+64>>2]|0)+-1|0;f=(c[b+68>>2]|0)+-1|0;switch(c[b+104>>2]|0){case 0:{f=(e|0)<(f|0)?e:f;e=(h|0)>0?h:0;m=(l|0)<(m|0)?l:m;o=(o|0)>0?o:0;break}case 1:{f=(e|0)<(f|0)?e:f;e=(h|0)>0?h:0;m=(j|0)<(m|0)?j:m;o=(n|0)>0?n:0;break}case 2:{f=(l|0)<(f|0)?l:f;e=(o|0)>0?o:0;m=(j|0)<(m|0)?j:m;o=(n|0)>0?n:0;break}default:{e=0;o=0}}if((e|0)>=(f|0)){k=u;return}s=(o|0)<(m|0);do if(s){l=(e&1|0)==0;r=+(e|0);n=e+1|0;h=o;while(1){do if(!(a[b+100>>0]|0)){if(a[b+101>>0]|0?(h+e&1|0)==0:0){t=16;break}if(!(l&(a[b+102>>0]|0)!=0)){i=+mb[c[(c[b>>2]|0)+68>>2]&15](b,h,e);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];p=+(h|0)-+g[b+80>>2]*.5;q=r-+g[b+84>>2]*.5;g[u>>2]=i;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+80>>2]*.5;p=i-+g[b+52>>2];q=r-+g[b+84>>2]*.5;g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}case 2:{C=+(h|0)-+g[b+80>>2]*.5;p=r-+g[b+84>>2]*.5;q=i-+g[b+56>>2];g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}default:{i=+g[u>>2];p=+g[u+4>>2];q=+g[u+8>>2]}}g[u>>2]=i*+g[b+108>>2];g[u+4>>2]=p*+g[b+112>>2];g[u+8>>2]=q*+g[b+116>>2];i=+mb[c[(c[b>>2]|0)+68>>2]&15](b,h,n);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];p=+(h|0)-+g[b+80>>2]*.5;q=+(n|0)-+g[b+84>>2]*.5;g[u+16>>2]=i;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+80>>2]*.5;p=i-+g[b+52>>2];q=+(n|0)-+g[b+84>>2]*.5;g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}case 2:{C=+(h|0)-+g[b+80>>2]*.5;p=+(n|0)-+g[b+84>>2]*.5;q=i-+g[b+56>>2];g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}default:{i=+g[u+16>>2];p=+g[u+20>>2];q=+g[u+24>>2]}}g[u+16>>2]=i*+g[b+108>>2];g[u+20>>2]=p*+g[b+112>>2];g[u+24>>2]=q*+g[b+116>>2];j=h+1|0;i=+mb[c[(c[b>>2]|0)+68>>2]&15](b,j,e);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];p=+(j|0)-+g[b+80>>2]*.5;q=r-+g[b+84>>2]*.5;g[u+32>>2]=i;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+80>>2]*.5;p=i-+g[b+52>>2];q=r-+g[b+84>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+80>>2]*.5;p=r-+g[b+84>>2]*.5;q=i-+g[b+56>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}default:{i=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=i*+g[b+108>>2];g[u+36>>2]=p*+g[b+112>>2];g[u+40>>2]=q*+g[b+116>>2];Qb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);i=+mb[c[(c[b>>2]|0)+68>>2]&15](b,j,e);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];p=+(j|0)-+g[b+80>>2]*.5;q=r-+g[b+84>>2]*.5;g[u>>2]=i;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+80>>2]*.5;p=i-+g[b+52>>2];q=r-+g[b+84>>2]*.5;g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+80>>2]*.5;p=r-+g[b+84>>2]*.5;q=i-+g[b+56>>2];g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}default:{i=+g[u>>2];p=+g[u+4>>2];q=+g[u+8>>2]}}g[u>>2]=i*+g[b+108>>2];g[u+4>>2]=p*+g[b+112>>2];g[u+8>>2]=q*+g[b+116>>2];i=+mb[c[(c[b>>2]|0)+68>>2]&15](b,j,n);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];p=+(j|0)-+g[b+80>>2]*.5;q=+(n|0)-+g[b+84>>2]*.5;g[u+32>>2]=i;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+80>>2]*.5;p=i-+g[b+52>>2];q=+(n|0)-+g[b+84>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+80>>2]*.5;p=+(n|0)-+g[b+84>>2]*.5;q=i-+g[b+56>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}default:{i=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=i*+g[b+108>>2];g[u+36>>2]=p*+g[b+112>>2];g[u+40>>2]=q*+g[b+116>>2];Qb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);h=j}else t=16}else t=16;while(0);if((t|0)==16){t=0;i=+mb[c[(c[b>>2]|0)+68>>2]&15](b,h,e);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];p=+(h|0)-+g[b+80>>2]*.5;q=r-+g[b+84>>2]*.5;g[u>>2]=i;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+80>>2]*.5;p=i-+g[b+52>>2];q=r-+g[b+84>>2]*.5;g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}case 2:{C=+(h|0)-+g[b+80>>2]*.5;p=r-+g[b+84>>2]*.5;q=i-+g[b+56>>2];g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}default:{i=+g[u>>2];p=+g[u+4>>2];q=+g[u+8>>2]}}g[u>>2]=i*+g[b+108>>2];g[u+4>>2]=p*+g[b+112>>2];g[u+8>>2]=q*+g[b+116>>2];j=h+1|0;i=+mb[c[(c[b>>2]|0)+68>>2]&15](b,j,e);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];p=+(j|0)-+g[b+80>>2]*.5;q=r-+g[b+84>>2]*.5;g[u+16>>2]=i;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+80>>2]*.5;p=i-+g[b+52>>2];q=r-+g[b+84>>2]*.5;g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+80>>2]*.5;p=r-+g[b+84>>2]*.5;q=i-+g[b+56>>2];g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}default:{i=+g[u+16>>2];p=+g[u+20>>2];q=+g[u+24>>2]}}g[u+16>>2]=i*+g[b+108>>2];g[u+20>>2]=p*+g[b+112>>2];g[u+24>>2]=q*+g[b+116>>2];i=+mb[c[(c[b>>2]|0)+68>>2]&15](b,j,n);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];p=+(j|0)-+g[b+80>>2]*.5;q=+(n|0)-+g[b+84>>2]*.5;g[u+32>>2]=i;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+80>>2]*.5;p=i-+g[b+52>>2];q=+(n|0)-+g[b+84>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+80>>2]*.5;p=+(n|0)-+g[b+84>>2]*.5;q=i-+g[b+56>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}default:{i=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=i*+g[b+108>>2];g[u+36>>2]=p*+g[b+112>>2];g[u+40>>2]=q*+g[b+116>>2];Qb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);i=+mb[c[(c[b>>2]|0)+68>>2]&15](b,j,n);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];p=+(j|0)-+g[b+80>>2]*.5;q=+(n|0)-+g[b+84>>2]*.5;g[u+16>>2]=i;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+80>>2]*.5;p=i-+g[b+52>>2];q=+(n|0)-+g[b+84>>2]*.5;g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+80>>2]*.5;p=+(n|0)-+g[b+84>>2]*.5;q=i-+g[b+56>>2];g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}default:{i=+g[u+16>>2];p=+g[u+20>>2];q=+g[u+24>>2]}}g[u+16>>2]=i*+g[b+108>>2];g[u+20>>2]=p*+g[b+112>>2];g[u+24>>2]=q*+g[b+116>>2];i=+mb[c[(c[b>>2]|0)+68>>2]&15](b,h,n);switch(c[b+104>>2]|0){case 0:{i=i-+g[b+48>>2];p=+(h|0)-+g[b+80>>2]*.5;q=+(n|0)-+g[b+84>>2]*.5;g[u+32>>2]=i;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+80>>2]*.5;p=i-+g[b+52>>2];q=+(n|0)-+g[b+84>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}case 2:{C=+(h|0)-+g[b+80>>2]*.5;p=+(n|0)-+g[b+84>>2]*.5;q=i-+g[b+56>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}default:{i=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=i*+g[b+108>>2];g[u+36>>2]=p*+g[b+112>>2];g[u+40>>2]=q*+g[b+116>>2];Qb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);h=j}if((h|0)==(m|0)){e=n;break}}}else e=e+1|0;while((e|0)!=(f|0));k=u;return}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0,C=0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0;Q=k;k=k+192|0;P=c[d+36>>2]|0;o=+g[(+g[P+88>>2]>0.0?b+16|0:b+20|0)>>2];if(a[P+100>>0]&1){k=Q;return}M=c[b+8>>2]|0;u=c[M+4>>2]|0;N=c[M+12>>2]|0;K=c[(c[b+4>>2]|0)+684>>2]|0;D=+g[P+8>>2]-+g[N+48>>2];r=+g[P+12>>2]-+g[N+52>>2];E=+g[P+16>>2]-+g[N+56>>2];z=1.0/+g[K+76>>2];y=(D*+g[N>>2]+r*+g[N+16>>2]+E*+g[N+32>>2])*z/3.0;H=y<0.0?~~(1.0-y):0;L=~~((y+ +(H|0)-+(~~(y+ +(H|0))|0))*3.0);s=(y+ +(H|0)-+(~~(y+ +(H|0))|0))*3.0-+(L|0);H=~~(y+ +(H|0))-H|0;y=z*(D*+g[N+4>>2]+r*+g[N+20>>2]+E*+g[N+36>>2])/3.0;F=y<0.0?~~(1.0-y):0;I=~~((y+ +(F|0)-+(~~(y+ +(F|0))|0))*3.0);n=(y+ +(F|0)-+(~~(y+ +(F|0))|0))*3.0-+(I|0);F=~~(y+ +(F|0))-F|0;E=z*(D*+g[N+8>>2]+r*+g[N+24>>2]+E*+g[N+40>>2])/3.0;G=E<0.0?~~(1.0-E):0;J=~~((E+ +(G|0)-+(~~(E+ +(G|0))|0))*3.0);r=(E+ +(G|0)-+(~~(E+ +(G|0))|0))*3.0-+(J|0);G=~~(E+ +(G|0))-G|0;p=(16?H>>>16:H)<<11^(H&65535)+16^(H&65535)+16<<16;p=p+(F&65535)+(11?p>>>11:p)|0;p=p^(16?F>>>16:F)<<11^p<<16;p=p+(G&65535)+(11?p>>>11:p)|0;p=p^(16?G>>>16:G)<<11^p<<16;p=p+(u&65535)+(11?p>>>11:p)|0;p=p^(16?u>>>16:u)<<11^p<<16;p=(11?p>>>11:p)+p|0;p=(5?(p<<3^p)>>>5:p<<3^p)+(p<<3^p)|0;p=(17?(p<<4^p)>>>17:p<<4^p)+(p<<4^p)|0;p=(6?(p<<25^p)>>>6:p<<25^p)+(p<<25^p)|0;q=c[K+60>>2]|0;t=c[K+68>>2]|0;d=c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2]|0;c[K+96>>2]=(c[K+96>>2]|0)+1;e=(c[K+92>>2]|0)+1|0;c[K+92>>2]=e;a:do if(!d)m=10;else while(1){if(((((c[d+272>>2]|0)==(p|0)?(c[d+256>>2]|0)==(H|0):0)?(c[d+260>>2]|0)==(F|0):0)?(c[d+264>>2]|0)==(G|0):0)?(c[d+276>>2]|0)==(u|0):0)break a;d=c[d+280>>2]|0;e=e+1|0;c[K+92>>2]=e;if(!d){m=10;break}}while(0);b:do if((m|0)==10){C=c[K+84>>2]|0;c[K+84>>2]=C+1;if((C|0)>=(c[K+88>>2]|0)){c[7232]=(c[7232]|0)+1;c:do if((q|0)>0){d=0;e=t;while(1){C=e+(d<<2)|0;e=c[C>>2]|0;c[C>>2]=0;if(e|0)do{C=e;e=c[e+280>>2]|0;zK(C)}while((e|0)!=0);d=d+1|0;if((d|0)==(q|0))break c;e=c[K+68>>2]|0}}while(0);g[K+76>>2]=.25;c[K+80>>2]=0;c[K+84>>2]=0;c[K+92>>2]=1;c[K+96>>2]=1}d=zt(284)|0;Bl(d|0,0,284)|0;c[d+280>>2]=c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2];c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2]=d;c[d+276>>2]=u;c[d+272>>2]=p;c[d+256>>2]=H;c[d+260>>2]=F;c[d+264>>2]=G;j=+g[K+76>>2];u=Q+120+4|0;B=Q+120+24|0;C=Q+120+44|0;e=0;f=j;while(1){i=j*+(G|0)*3.0+f*+(e|0);m=0;while(1){h=j*+(F|0)*3.0+f*+(m|0);g[Q+48>>2]=+(H|0)*3.0*j+f*0.0;g[Q+48+4>>2]=h;g[Q+48+8>>2]=i;g[Q+48+12>>2]=0.0;p=c[d+276>>2]|0;c[Q+120>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[Q+120+20>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[Q+120+40>>2]=1065353216;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;t=c[p+4>>2]|0;if((t|0)<20){f=+cd(Q+48|0,p,Q+120|0,Q+64|0);p=c[d+276>>2]|0;q=p+4|0;t=c[p+4>>2]|0}else{f=0.0;q=p+4|0}g[d+(m<<4)+(e<<2)>>2]=f;g[Q+48>>2]=+(H|0)*3.0*j+ +g[K+76>>2];g[Q+48+4>>2]=h;g[Q+48+8>>2]=i;g[Q+48+12>>2]=0.0;c[Q+120>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[Q+120+20>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[Q+120+40>>2]=1065353216;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;if((t|0)<20){f=+cd(Q+48|0,p,Q+120|0,Q+64|0);p=c[d+276>>2]|0;q=p+4|0}else f=0.0;g[d+64+(m<<4)+(e<<2)>>2]=f;g[Q+48>>2]=+(H|0)*3.0*j+ +g[K+76>>2]*2.0;g[Q+48+4>>2]=h;g[Q+48+8>>2]=i;g[Q+48+12>>2]=0.0;c[Q+120>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[Q+120+20>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[Q+120+40>>2]=1065353216;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;if((c[q>>2]|0)<20){f=+cd(Q+48|0,p,Q+120|0,Q+64|0);p=c[d+276>>2]|0;q=p+4|0}else f=0.0;g[d+128+(m<<4)+(e<<2)>>2]=f;g[Q+48>>2]=+(H|0)*3.0*j+ +g[K+76>>2]*3.0;g[Q+48+4>>2]=h;g[Q+48+8>>2]=i;g[Q+48+12>>2]=0.0;c[Q+120>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[Q+120+20>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[Q+120+40>>2]=1065353216;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;if((c[q>>2]|0)<20)f=+cd(Q+48|0,p,Q+120|0,Q+64|0);else f=0.0;g[d+192+(m<<4)+(e<<2)>>2]=f;m=m+1|0;if((m|0)==4)break;f=+g[K+76>>2]}e=e+1|0;if((e|0)==4)break b;f=+g[K+76>>2]}}while(0);c[d+268>>2]=c[K+80>>2];f=+g[d+(L<<6)+(I<<4)+(J<<2)>>2];x=+g[d+(L+1<<6)+(I<<4)+(J<<2)>>2];v=+g[d+(L+1<<6)+(I+1<<4)+(J<<2)>>2];w=+g[d+(L<<6)+(I+1<<4)+(J<<2)>>2];E=+g[d+(L<<6)+(I<<4)+(J+1<<2)>>2];D=+g[d+(L+1<<6)+(I<<4)+(J+1<<2)>>2];y=+g[d+(L+1<<6)+(I+1<<4)+(J+1<<2)>>2];z=+g[d+(L<<6)+(I+1<<4)+(J+1<<2)>>2];h=x-f+n*(v-w-(x-f))+r*(D-E+n*(y-z-(D-E))-(x-f+n*(v-w-(x-f))));i=w-f+s*(v-x-(w-f))+r*(z-E+s*(y-D-(z-E))-(w-f+s*(v-x-(w-f))));j=E-f+s*(D-x-(E-f))+n*(z-w+s*(y-v-(z-w))-(E-f+s*(D-x-(E-f))));l=1.0/+A(+(j*j+(h*h+i*i)));f=f+s*(x-f)+n*(w+s*(v-w)-(f+s*(x-f)));f=f+r*(E+s*(D-E)+n*(z+s*(y-z)-(E+s*(D-E)))-f)-o;if(!(f<0.0)){k=Q;return}t=c[M+8>>2]|0;D=+g[N>>2]*h*l+ +g[N+4>>2]*i*l+ +g[N+8>>2]*j*l;E=h*l*+g[N+16>>2]+i*l*+g[N+20>>2]+j*l*+g[N+24>>2];z=h*l*+g[N+32>>2]+i*l*+g[N+36>>2]+j*l*+g[N+40>>2];y=-(D*(+g[P+8>>2]-f*D)+E*(+g[P+12>>2]-f*E)+z*(+g[P+16>>2]-f*z));s=+g[P+88>>2];d=c[b+12>>2]|0;if(!d)r=0.0;else r=+g[d+344>>2];if(!(s+r>0.0)){k=Q;return}if(!d)m=(c[(c[b+8>>2]|0)+8>>2]|0)+4|0;else m=d+4|0;if((a[28344]|0)==0?_A(28344)|0:0){d=28932;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}e=c[b+12>>2]|0;l=+g[P+8>>2];w=l-+g[m+48>>2];n=+g[P+12>>2];x=n-+g[m+52>>2];o=+g[P+16>>2];v=o-+g[m+56>>2];if(!e){N=c[b+4>>2]|0;f=0.0;h=0.0;i=0.0;d=N;j=+g[N+452>>2]}else{i=+g[e+332>>2];h=+g[e+336>>2];R=+g[e+328>>2];d=c[b+4>>2]|0;j=+g[d+452>>2];f=(v*i-x*h+ +g[e+312>>2])*j;h=(+g[e+316>>2]+(w*h-v*R))*j;i=(x*R-w*i+ +g[e+320>>2])*j}l=l-+g[P+24>>2]-f;n=n-+g[P+28>>2]-h;R=o-+g[P+32>>2]-i;h=+g[d+316>>2]*+g[(c[(c[b+8>>2]|0)+8>>2]|0)+224>>2];ag(Q+120|0,j,s,r,(e|0)==0?28932:e+264|0,w,x,v);c[Q+32>>2]=c[Q+120>>2];c[Q+32+4>>2]=c[Q+120+4>>2];c[Q+32+8>>2]=c[Q+120+8>>2];c[Q+32+12>>2]=c[Q+120+12>>2];c[Q+16>>2]=c[Q+120+16>>2];c[Q+16+4>>2]=c[Q+120+16+4>>2];c[Q+16+8>>2]=c[Q+120+16+8>>2];c[Q+16+12>>2]=c[Q+120+16+12>>2];c[Q>>2]=c[Q+120+32>>2];c[Q+4>>2]=c[Q+120+32+4>>2];c[Q+8>>2]=c[Q+120+32+8>>2];c[Q+12>>2]=c[Q+120+32+12>>2];q=c[b+4>>2]|0;f=s*+g[q+452>>2];h=(R-z*(l*D+n*E+R*z))*(R-z*(l*D+n*E+R*z))+((l-D*(l*D+n*E+R*z))*(l-D*(l*D+n*E+R*z))+(n-E*(l*D+n*E+R*z))*(n-E*(l*D+n*E+R*z)))<h*(l*D+n*E+R*z)*(l*D+n*E+R*z)*h?0.0:1.0-h;p=c[((c[(c[(c[b+8>>2]|0)+8>>2]|0)+204>>2]&3|0)==0?q+324|0:q+328|0)>>2]|0;d=c[q+812>>2]|0;if((d|0)==(c[q+816>>2]|0)?(O=(d|0)==0?1:d<<1,(d|0)<(O|0)):0){if(!O)m=0;else{c[7584]=(c[7584]|0)+1;d=lc((O*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}m=d;d=c[q+812>>2]|0}if((d|0)>0){e=0;do{N=m+(e*104|0)|0;M=c[q+820>>2]|0;L=M+(e*104|0)|0;c[N>>2]=c[L>>2];c[N+4>>2]=c[L+4>>2];c[N+8>>2]=c[L+8>>2];c[N+12>>2]=c[L+12>>2];c[N+16>>2]=c[L+16>>2];c[N+20>>2]=c[L+20>>2];c[N+24>>2]=c[L+24>>2];N=m+(e*104|0)+28|0;L=M+(e*104|0)+28|0;c[N>>2]=c[L>>2];c[N+4>>2]=c[L+4>>2];c[N+8>>2]=c[L+8>>2];c[N+12>>2]=c[L+12>>2];N=M+(e*104|0)+44|0;L=m+(e*104|0)+44|0;c[L>>2]=c[N>>2];c[L+4>>2]=c[N+4>>2];c[L+8>>2]=c[N+8>>2];c[L+12>>2]=c[N+12>>2];L=M+(e*104|0)+60|0;N=m+(e*104|0)+60|0;c[N>>2]=c[L>>2];c[N+4>>2]=c[L+4>>2];c[N+8>>2]=c[L+8>>2];c[N+12>>2]=c[L+12>>2];N=m+(e*104|0)+76|0;M=M+(e*104|0)+76|0;c[N>>2]=c[M>>2];c[N+4>>2]=c[M+4>>2];c[N+8>>2]=c[M+8>>2];c[N+12>>2]=c[M+12>>2];c[N+16>>2]=c[M+16>>2];c[N+20>>2]=c[M+20>>2];c[N+24>>2]=c[M+24>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[q+820>>2]|0;if(d|0){if(a[q+824>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[d+-4>>2]|0)}c[q+820>>2]=0}a[q+824>>0]=1;c[q+820>>2]=m;c[q+816>>2]=O;d=c[q+812>>2]|0}O=c[q+820>>2]|0;c[O+(d*104|0)>>2]=t;g[O+(d*104|0)+4>>2]=D;g[O+(d*104|0)+8>>2]=E;g[O+(d*104|0)+12>>2]=z;g[O+(d*104|0)+16>>2]=0.0;g[O+(d*104|0)+20>>2]=y;c[O+(d*104|0)+24>>2]=P;P=O+(d*104|0)+28|0;c[P>>2]=c[Q+32>>2];c[P+4>>2]=c[Q+32+4>>2];c[P+8>>2]=c[Q+32+8>>2];c[P+12>>2]=c[Q+32+12>>2];P=O+(d*104|0)+44|0;c[P>>2]=c[Q+16>>2];c[P+4>>2]=c[Q+16+4>>2];c[P+8>>2]=c[Q+16+8>>2];c[P+12>>2]=c[Q+16+12>>2];P=O+(d*104|0)+60|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];P=O+(d*104|0)+76|0;g[P>>2]=w;g[O+(d*104|0)+80>>2]=x;g[O+(d*104|0)+84>>2]=v;g[O+(d*104|0)+88>>2]=0.0;g[P+16>>2]=f;g[P+20>>2]=h;c[P+24>>2]=p;c[q+812>>2]=(c[q+812>>2]|0)+1;d=c[b+12>>2]|0;if(!d){k=Q;return}if(c[d+204>>2]&3|0){k=Q;return}if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=1;g[d+220>>2]=0.0;k=Q;return}function Dc(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0,i=0,j=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0;r=k;k=k+96|0;o=c[b+136>>2]|0;if(!o){k=r;return}e=c[b+8>>2]|0;if((e|0)<(o|0)){if((c[b+12>>2]|0)<(o|0)){c[7584]=(c[7584]|0)+1;h=lc((o<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+8>>2]|0;if((i|0)>0){h=0;do{n=j+(h<<4)|0;s=(c[b+16>>2]|0)+(h<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+16>>2]|0;if(h|0){if(a[b+20>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=j;c[b+12>>2]=o;h=b+16|0}else h=b+16|0;do{s=(c[h>>2]|0)+(e<<4)|0;c[s>>2]=c[r+48>>2];c[s+4>>2]=c[r+48+4>>2];c[s+8>>2]=c[r+48+8>>2];c[s+12>>2]=c[r+48+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+8>>2]=o;e=c[b+28>>2]|0;if((e|0)<(o|0)){if((c[b+32>>2]|0)<(o|0)){c[7584]=(c[7584]|0)+1;h=lc((o<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+28>>2]|0;if((i|0)>0){h=0;do{s=j+(h<<4)|0;n=(c[b+36>>2]|0)+(h<<4)|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+36>>2]|0;if(h|0){if(a[b+40>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=j;c[b+32>>2]=o;h=b+36|0}else h=b+36|0;do{s=(c[h>>2]|0)+(e<<4)|0;c[s>>2]=c[r+48>>2];c[s+4>>2]=c[r+48+4>>2];c[s+8>>2]=c[r+48+8>>2];c[s+12>>2]=c[r+48+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+28>>2]=o;n=c[b+48>>2]|0;if((n|0)<(o|0)){do if((c[b+52>>2]|0)<(o|0)){c[7584]=(c[7584]|0)+1;e=lc((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+48>>2]|0;j=c[b+56>>2]|0;if((i|0)<=0){if(!j){a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o;h=o<<2;break}}else{h=0;do{c[e+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}if(a[b+60>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o;h=o<<2}else{h=o<<2;e=c[b+56>>2]|0}while(0);Bl(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+48>>2]=o;n=c[b+68>>2]|0;if((n|0)<(o|0)){do if((c[b+72>>2]|0)<(o|0)){c[7584]=(c[7584]|0)+1;e=lc((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+68>>2]|0;j=c[b+76>>2]|0;if((i|0)<=0){if(!j){a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o;h=o<<2;break}}else{h=0;do{c[e+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}if(a[b+80>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[j+-4>>2]|0)}a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o;h=o<<2}else{h=o<<2;e=c[b+76>>2]|0}while(0);Bl(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+68>>2]=o;e=c[b+136>>2]|0;if((e|0)<=0){k=r;return}i=c[b+76>>2]|0;j=c[b+56>>2]|0;h=0;do{g[i+(h<<2)>>2]=0.0;g[j+(h<<2)>>2]=0.0;h=h+1|0}while((h|0)!=(e|0));j=0;do{h=c[b+144>>2]|0;i=c[h+(j*284|0)+88>>2]|0;if(i){x=h+(j*284|0)+92|0;c[r+48>>2]=c[x>>2];c[r+48+4>>2]=c[x+4>>2];c[r+48+8>>2]=c[x+8>>2];c[r+48+12>>2]=c[x+12>>2];x=h+(j*284|0)+108|0;c[r+48+16>>2]=c[x>>2];c[r+48+16+4>>2]=c[x+4>>2];c[r+48+16+8>>2]=c[x+8>>2];c[r+48+16+12>>2]=c[x+12>>2];x=h+(j*284|0)+124|0;c[r+48+32>>2]=c[x>>2];c[r+48+32+4>>2]=c[x+4>>2];c[r+48+32+8>>2]=c[x+8>>2];c[r+48+32+12>>2]=c[x+12>>2];x=c[b+120>>2]|0;e=c[r+48+16+(x<<2)>>2]|0;y=c[r+48+32+(x<<2)>>2]|0;n=c[b+36>>2]|0;c[n+(j<<4)>>2]=c[r+48+(x<<2)>>2];c[n+(j<<4)+4>>2]=e;c[n+(j<<4)+8>>2]=y;g[n+(j<<4)+12>>2]=0.0;n=c[b+36>>2]|0;y=n+(j<<4)|0;z=+g[y>>2];e=h+(j*284|0)|0;f=+g[e>>2];x=n+(j<<4)+4|0;w=+g[x>>2];s=h+(j*284|0)+4|0;l=+g[s>>2];n=n+(j<<4)+8|0;t=+g[n>>2];o=h+(j*284|0)+8|0;v=+g[o>>2];m=z-f*(z*f+w*l+t*v);u=w-l*(z*f+w*l+t*v);v=t-v*(z*f+w*l+t*v);t=1.0/+A(+(v*v+(m*m+u*u)));g[y>>2]=m*t;g[x>>2]=u*t;g[n>>2]=v*t;l=+g[s>>2];w=+g[o>>2];f=+g[e>>2];e=c[b+16>>2]|0;g[e+(j<<4)>>2]=l*v*t-w*u*t;g[e+(j<<4)+4>>2]=w*m*t-v*t*f;g[e+(j<<4)+8>>2]=u*t*f-l*m*t;g[e+(j<<4)+12>>2]=0.0;e=c[b+16>>2]|0;o=e+(j<<4)|0;t=+g[o>>2];s=e+(j<<4)+4|0;m=+g[s>>2];e=e+(j<<4)+8|0;l=+g[e>>2];f=1.0/+A(+(t*t+m*m+l*l));g[o>>2]=t*f;g[s>>2]=m*f;g[e>>2]=l*f;e=c[b+116>>2]|0;s=c[b+36>>2]|0;f=+g[s+(j<<4)>>2];l=+g[s+(j<<4)+4>>2];m=+g[s+(j<<4)+8>>2];if(f*f+l*l+m*m>1.100000023841858)f=0.0;else{D=+g[h+(j*284|0)+16>>2];H=D-+g[e+52>>2];F=+g[h+(j*284|0)+20>>2];J=F-+g[e+56>>2];K=+g[h+(j*284|0)+24>>2];M=K-+g[e+60>>2];D=D-+g[i+52>>2];F=F-+g[i+56>>2];K=K-+g[i+60>>2];G=+g[e+332>>2];N=+g[e+336>>2];I=+g[e+328>>2];C=+g[i+332>>2];L=+g[i+336>>2];E=+g[i+328>>2];B=(m*J-l*M)*+g[e+4>>2]+(f*M-m*H)*+g[e+20>>2]+(l*H-f*J)*+g[e+36>>2];t=(m*J-l*M)*+g[e+8>>2]+(f*M-m*H)*+g[e+24>>2]+(l*H-f*J)*+g[e+40>>2];u=(m*J-l*M)*+g[e+12>>2]+(f*M-m*H)*+g[e+28>>2]+(l*H-f*J)*+g[e+44>>2];v=(F*-m-K*-l)*+g[i+4>>2]+(K*-f-D*-m)*+g[i+20>>2]+(D*-l-F*-f)*+g[i+36>>2];w=(F*-m-K*-l)*+g[i+8>>2]+(K*-f-D*-m)*+g[i+24>>2]+(D*-l-F*-f)*+g[i+40>>2];z=(F*-m-K*-l)*+g[i+12>>2]+(K*-f-D*-m)*+g[i+28>>2]+(D*-l-F*-f)*+g[i+44>>2];f=(f*(M*G-J*N+ +g[e+312>>2]-(K*C-F*L+ +g[i+312>>2]))+l*(+g[e+316>>2]+(H*N-M*I)-(+g[i+316>>2]+(D*L-K*E)))+m*(J*I-H*G+ +g[e+320>>2]-(F*E-D*C+ +g[i+320>>2])))*-.20000000298023224*(1.0/(+g[i+344>>2]+(+g[e+344>>2]+(B*B*+g[e+396>>2]+t*t*+g[e+400>>2]+u*u*+g[e+404>>2]))+(v*v*+g[i+396>>2]+w*w*+g[i+400>>2]+z*z*+g[i+404>>2])))}g[(c[b+76>>2]|0)+(j<<2)>>2]=f;e=c[b+136>>2]|0}j=j+1|0}while((j|0)<(e|0));if((e|0)<=0){k=r;return}h=0;n=0;i=c[b+144>>2]|0;while(1){e=c[i+(n*284|0)+88>>2]|0;if(e){f=+g[i+(n*284|0)+252>>2];if(f!=0.0){f=f*d;e=i}else{N=+g[i+(n*284|0)+256>>2];N=N==0.0?0.0:N;y=c[b+116>>2]|0;x=c[b+16>>2]|0;H=+g[i+(n*284|0)+16>>2];F=+g[i+(n*284|0)+20>>2];B=+g[i+(n*284|0)+24>>2];w=+g[x+(n<<4)>>2];E=+g[x+(n<<4)+4>>2];f=+g[x+(n<<4)+8>>2];P=H-+g[y+52>>2];Q=F-+g[y+56>>2];l=B-+g[y+60>>2];m=+g[y+264>>2]*(Q*f-l*E)+ +g[y+280>>2]*(l*w-P*f)+(P*E-Q*w)*+g[y+296>>2];R=(Q*f-l*E)*+g[y+268>>2]+(l*w-P*f)*+g[y+284>>2]+(P*E-Q*w)*+g[y+300>>2];O=(Q*f-l*E)*+g[y+272>>2]+(l*w-P*f)*+g[y+288>>2]+(P*E-Q*w)*+g[y+304>>2];L=H-+g[e+52>>2];J=F-+g[e+56>>2];D=B-+g[e+60>>2];v=(E*L-w*J)*+g[e+296>>2]+(+g[e+264>>2]*(f*J-E*D)+ +g[e+280>>2]*(w*D-f*L));t=(f*J-E*D)*+g[e+268>>2]+(w*D-f*L)*+g[e+284>>2]+(E*L-w*J)*+g[e+300>>2];u=(f*J-E*D)*+g[e+272>>2]+(w*D-f*L)*+g[e+288>>2]+(E*L-w*J)*+g[e+304>>2];H=H-+g[y+52>>2];F=F-+g[y+56>>2];B=B-+g[y+60>>2];I=+g[y+332>>2];z=+g[y+336>>2];G=+g[y+328>>2];M=+g[e+332>>2];C=+g[e+336>>2];K=+g[e+328>>2];f=-(1.0/(+g[y+344>>2]+(f*(Q*m-P*R)+(w*(l*R-Q*O)+E*(P*O-l*m)))+(+g[e+344>>2]+(f*(J*v-L*t)+(w*(D*t-J*u)+E*(L*u-D*v)))))*((B*I-F*z+ +g[y+312>>2]-(D*M-J*C+ +g[e+312>>2]))*w+(+g[y+316>>2]+(H*z-B*G)-(+g[e+316>>2]+(L*C-D*K)))*E+(F*G-H*I+ +g[y+320>>2]-(J*K-L*M+ +g[e+320>>2]))*f));f=N<f?N:f;f=f<-N?-N:f;e=c[b+144>>2]|0}y=(c[b+56>>2]|0)+(n<<2)|0;g[y>>2]=0.0;j=e+(n*284|0)+280|0;g[j>>2]=1.0;m=+g[i+(n*284|0)+276>>2]*d*+g[i+(n*284|0)+228>>2];g[y>>2]=f;f=f*.5;l=+g[(c[b+76>>2]|0)+(n<<2)>>2];if(f*f+l*l>m*m){R=m/+A(+(f*f+l*l));g[j>>2]=R*+g[j>>2];h=1}}else{g[(c[b+56>>2]|0)+(n<<2)>>2]=0.0;g[i+(n*284|0)+280>>2]=1.0;e=i}n=n+1|0;j=c[b+136>>2]|0;if((n|0)>=(j|0))break;else i=e}if(h&(j|0)>0){h=c[b+76>>2]|0;e=0;do{i=h+(e<<2)|0;if(+g[i>>2]!=0.0?(p=(c[b+144>>2]|0)+(e*284|0)+280|0,q=+g[p>>2],q<1.0):0){y=(c[b+56>>2]|0)+(e<<2)|0;g[y>>2]=q*+g[y>>2];g[i>>2]=+g[p>>2]*+g[i>>2]}e=e+1|0}while((e|0)!=(j|0))}if((j|0)<=0){k=r;return}h=0;do{i=c[b+144>>2]|0;e=c[b+116>>2]|0;j=i+(h*284|0)+16|0;l=+g[j>>2]-+g[e+52>>2];n=i+(h*284|0)+20|0;m=+g[n>>2]-+g[e+56>>2];o=i+(h*284|0)+24|0;d=+g[o>>2]-+g[e+60>>2];g[r+48>>2]=l;g[r+48+4>>2]=m;g[r+48+8>>2]=d;g[r+48+12>>2]=0.0;f=+g[(c[b+56>>2]|0)+(h<<2)>>2];if(f!=0.0){y=c[b+16>>2]|0;Q=f*+g[y+(h<<4)+4>>2];R=f*+g[y+(h<<4)+8>>2];g[r+32>>2]=f*+g[y+(h<<4)>>2];g[r+32+4>>2]=Q;g[r+32+8>>2]=R;g[r+32+12>>2]=0.0;Rl(e,r+32|0,r+48|0)}f=+g[(c[b+76>>2]|0)+(h<<2)>>2];if(f!=0.0){y=c[(c[b+144>>2]|0)+(h*284|0)+88>>2]|0;Q=+g[n>>2]-+g[y+56>>2];P=+g[o>>2]-+g[y+60>>2];g[r+32>>2]=+g[j>>2]-+g[y+52>>2];g[r+32+4>>2]=Q;g[r+32+8>>2]=P;g[r+32+12>>2]=0.0;x=c[b+36>>2]|0;P=+g[x+(h<<4)>>2]*f;Q=f*+g[x+(h<<4)+4>>2];R=f*+g[x+(h<<4)+8>>2];g[r+16>>2]=P;g[r+16+4>>2]=Q;g[r+16+8>>2]=R;g[r+16+12>>2]=0.0;x=c[b+116>>2]|0;s=c[b+124>>2]|0;L=+g[x+4+(s<<2)>>2];M=+g[x+20+(s<<2)>>2];N=+g[x+36+(s<<2)>>2];O=(L*l+M*m+N*d)*(1.0-+g[i+(h*284|0)+244>>2]);g[r+48>>2]=l-L*O;g[r+48+4>>2]=m-M*O;g[r+48+8>>2]=d-N*O;Rl(x,r+16|0,r+48|0);g[r>>2]=-P;g[r+4>>2]=-Q;g[r+8>>2]=-R;g[r+12>>2]=0.0;Rl(y,r,r+32|0)}h=h+1|0}while((h|0)<(c[b+136>>2]|0));k=r;return}function Ec(b,e,f,h,i,j,l){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0;v=k;k=k+9824|0;p=j;q=p+36|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));c[v+9680>>2]=b;c[v+9680+4>>2]=f;G=+g[h>>2];M=+g[e>>2];F=+g[h+16>>2];L=+g[e+16>>2];E=+g[h+32>>2];K=+g[e+32>>2];J=+g[e+4>>2];I=+g[e+20>>2];H=+g[e+36>>2];z=+g[e+8>>2];x=+g[e+24>>2];m=+g[e+40>>2];D=+g[h+4>>2];C=+g[h+20>>2];B=+g[h+36>>2];y=+g[h+8>>2];w=+g[h+24>>2];n=+g[h+40>>2];g[v+9680+8>>2]=G*M+F*L+E*K;g[v+9680+12>>2]=G*J+F*I+E*H;g[v+9680+16>>2]=G*z+F*x+E*m;g[v+9680+20>>2]=0.0;g[v+9680+24>>2]=M*D+L*C+K*B;g[v+9680+28>>2]=J*D+I*C+H*B;g[v+9680+32>>2]=z*D+x*C+m*B;g[v+9680+36>>2]=0.0;g[v+9680+40>>2]=M*y+L*w+K*n;g[v+9680+44>>2]=J*y+I*w+H*n;g[v+9680+48>>2]=z*y+x*w+m*n;g[v+9680+52>>2]=0.0;O=+g[h+48>>2]-+g[e+48>>2];N=+g[h+52>>2]-+g[e+52>>2];r=+g[h+56>>2]-+g[e+56>>2];o=O*+g[e>>2]+N*+g[e+16>>2]+r*+g[e+32>>2];s=O*+g[e+4>>2]+N*+g[e+20>>2]+r*+g[e+36>>2];r=O*+g[e+8>>2]+N*+g[e+24>>2]+r*+g[e+40>>2];g[v+9680+56>>2]=G*M+F*L+E*K;g[v+9680+60>>2]=M*D+L*C+K*B;g[v+9680+64>>2]=M*y+L*w+K*n;g[v+9680+68>>2]=0.0;g[v+9680+72>>2]=G*J+F*I+E*H;g[v+9680+76>>2]=J*D+I*C+H*B;g[v+9680+80>>2]=J*y+I*w+H*n;g[v+9680+84>>2]=0.0;g[v+9680+88>>2]=G*z+F*x+E*m;g[v+9680+92>>2]=z*D+x*C+m*B;g[v+9680+96>>2]=z*y+x*w+m*n;g[v+9680+100>>2]=0.0;g[v+9680+104>>2]=o;g[v+9680+108>>2]=s;g[v+9680+112>>2]=r;g[v+9680+116>>2]=0.0;c[v+9680+120>>2]=l?93:92;c[v+9680+124>>2]=0;c[v+9296+364>>2]=0;c[v+9296+128>>2]=0;c[v+9296+128+4>>2]=0;c[v+9296+128+8>>2]=0;c[v+9296+128+12>>2]=0;c[v+9296+376>>2]=2;c[v+9296+368>>2]=0;g[v+9296+144>>2]=0.0;r=-+g[i+4>>2];s=-+g[i+8>>2];g[v+9808>>2]=-+g[i>>2];g[v+9808+4>>2]=r;g[v+9808+8>>2]=s;g[v+9808+12>>2]=0.0;switch(Hc(v+9296|0,v+9680|0,v+9808|0)|0){case 1:{c[v+9280>>2]=0;c[v+9280+4>>2]=0;c[v+9280+8>>2]=0;c[v+9280+12>>2]=0;c[v>>2]=9;c[v+9276>>2]=0;c[v+40>>2]=0;c[v+40+4>>2]=0;c[v+40+8>>2]=0;c[v+40+12>>2]=0;c[v+40+16>>2]=0;b=0;do{f=128-b+-1|0;c[v+2108+(f*56|0)+44>>2]=0;h=c[v+9288>>2]|0;c[v+2108+(f*56|0)+48>>2]=h;if(h|0)c[h+44>>2]=v+2108+(f*56|0);c[v+9288>>2]=v+2108+(f*56|0);b=b+1|0}while((b|0)!=128);c[v+9292>>2]=128;o=+g[i>>2];r=+g[i+4>>2];n=+g[i+8>>2];t=c[v+9296+372>>2]|0;do if((c[t+32>>2]|0)>>>0>1?Wc(v+9296|0)|0:0){b=c[v+9280>>2]|0;if(b|0){p=c[v+9284>>2]|0;q=c[v+9292>>2]|0;do{f=b+44|0;l=b+48|0;h=c[l>>2]|0;if(h|0)c[h+44>>2]=c[f>>2];f=c[f>>2]|0;if(f|0)c[f+48>>2]=c[l>>2];if((c[v+9280>>2]|0)==(b|0))c[v+9280>>2]=c[l>>2];p=p+-1|0;c[b+44>>2]=0;c[l>>2]=c[v+9288>>2];f=c[v+9288>>2]|0;if(f|0)c[f+44>>2]=b;c[v+9288>>2]=b;q=q+1|0;b=c[v+9280>>2]|0}while((b|0)!=0);c[v+9284>>2]=p;c[v+9292>>2]=q}c[v>>2]=0;c[v+9276>>2]=0;b=c[t>>2]|0;f=c[t+12>>2]|0;O=+g[f+16>>2];G=+g[b+16>>2]-O;I=+g[f+20>>2];J=+g[b+20>>2]-I;L=+g[f+24>>2];M=+g[b+24>>2]-L;f=c[t+4>>2]|0;K=+g[f+16>>2]-O;N=+g[f+20>>2]-I;H=+g[f+24>>2]-L;h=c[t+8>>2]|0;O=+g[h+16>>2]-O;I=+g[h+20>>2]-I;L=+g[h+24>>2]-L;if(G*N*L+(J*H*O+M*K*I-G*H*I-J*K*L)-M*N*O<0.0){c[t>>2]=f;c[t+4>>2]=b;l=c[t+16>>2]|0;c[t+16>>2]=c[t+20>>2];c[t+20>>2]=l;l=f}else{l=b;b=f}l=bf(v,l,b,h,1)|0;p=bf(v,c[t+4>>2]|0,c[t>>2]|0,c[t+12>>2]|0,1)|0;q=bf(v,c[t+8>>2]|0,c[t+4>>2]|0,c[t+12>>2]|0,1)|0;i=bf(v,c[t>>2]|0,c[t+8>>2]|0,c[t+12>>2]|0,1)|0;if((c[v+9284>>2]|0)==4){f=c[v+9280>>2]|0;m=+g[f+16>>2];b=c[f+48>>2]|0;if(!b)b=f;else{n=m*m;while(1){m=+g[b+16>>2];h=m*m<n;f=h?b:f;b=c[b+48>>2]|0;if(!b)break;else n=h?m*m:n}b=f;m=+g[f+16>>2]}o=+g[b>>2];s=+g[b+4>>2];r=+g[b+8>>2];n=+g[b+12>>2];P=c[b+20>>2]|0;f=c[b+24>>2]|0;h=c[b+28>>2]|0;a[l+52>>0]=0;c[l+32>>2]=p;a[p+52>>0]=0;c[p+32>>2]=l;a[l+53>>0]=0;c[l+36>>2]=q;a[q+52>>0]=1;c[q+32>>2]=l;a[l+54>>0]=0;c[l+40>>2]=i;a[i+52>>0]=2;c[i+32>>2]=l;a[p+53>>0]=2;c[p+36>>2]=i;a[i+54>>0]=1;c[i+40>>2]=p;a[p+54>>0]=1;c[p+40>>2]=q;a[q+53>>0]=2;c[q+36>>2]=p;a[q+54>>0]=1;c[q+40>>2]=i;a[i+53>>0]=2;c[i+36>>2]=q;c[v>>2]=0;i=b;t=0;p=P;q=f;l=h;while(1){f=c[v+9276>>2]|0;if(f>>>0>=64){u=45;break}c[v+9808>>2]=0;c[v+9808+4>>2]=0;c[v+9808+8>>2]=0;c[v+9276>>2]=f+1;t=t+1|0;a[i+55>>0]=t;h=i+4|0;P=i+8|0;ci(v+9296|0,+g[i>>2],+g[h>>2],+g[P>>2],v+60+(f<<5)|0);if(!(+g[i>>2]*+g[v+60+(f<<5)+16>>2]+ +g[h>>2]*+g[v+60+(f<<5)+20>>2]+ +g[P>>2]*+g[v+60+(f<<5)+24>>2]-+g[i+16>>2]>9.999999747378752e-05)){b=7;u=44;break}b=0;do{h=Mh(v,t,v+60+(f<<5)|0,c[i+32+(b<<2)>>2]|0,d[i+52+b>>0]|0,v+9808|0)|0;b=b+1|0}while(h&b>>>0<3);if(!(h&(c[v+9808+8>>2]|0)>>>0>2)){b=4;u=44;break}h=c[v+9808>>2]|0;b=c[v+9808+4>>2]|0;a[h+53>>0]=2;c[h+36>>2]=b;a[b+54>>0]=1;c[b+40>>2]=h;b=i+44|0;h=i+48|0;f=c[h>>2]|0;if(f|0)c[f+44>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+48>>2]=c[h>>2];if((c[v+9280>>2]|0)==(i|0))c[v+9280>>2]=c[h>>2];c[v+9284>>2]=(c[v+9284>>2]|0)+-1;c[i+44>>2]=0;c[h>>2]=c[v+9288>>2];b=c[v+9288>>2]|0;if(b|0)c[b+44>>2]=i;c[v+9288>>2]=i;c[v+9292>>2]=(c[v+9292>>2]|0)+1;f=c[v+9280>>2]|0;m=+g[f+16>>2];b=c[f+48>>2]|0;if(b){n=m*m;h=f;while(1){m=+g[b+16>>2];f=m*m<n;h=f?b:h;b=c[b+48>>2]|0;if(!b)break;else n=f?m*m:n}f=h;m=+g[h+16>>2]}o=+g[f>>2];s=+g[f+4>>2];r=+g[f+8>>2];n=+g[f+12>>2];b=c[f+20>>2]|0;h=c[f+24>>2]|0;l=c[f+28>>2]|0;if(t>>>0>=255){f=l;break}else{i=f;p=b;q=h}}if((u|0)==44){c[v>>2]=b;b=p;h=q;f=l}else if((u|0)==45){c[v>>2]=6;b=p;h=q;f=l}K=o*m;I=s*m;O=r*m;g[v+40>>2]=o;g[v+44>>2]=s;g[v+48>>2]=r;g[v+52>>2]=n;g[v+56>>2]=m;c[v+36>>2]=3;c[v+4>>2]=b;c[v+8>>2]=h;c[v+12>>2]=f;P=h;L=+g[P+16>>2]-K;G=+g[P+20>>2]-I;J=+g[P+24>>2]-O;t=f;F=+g[t+16>>2]-K;H=+g[t+20>>2]-I;M=+g[t+24>>2]-O;M=+A(+((L*H-G*F)*(L*H-G*F)+((G*M-J*H)*(G*M-J*H)+(J*F-L*M)*(J*F-L*M))));g[v+20>>2]=M;L=+g[t+16>>2]-K;F=+g[t+20>>2]-I;J=+g[t+24>>2]-O;t=b;H=+g[t+16>>2]-K;G=+g[t+20>>2]-I;N=+g[t+24>>2]-O;N=+A(+((L*G-F*H)*(L*G-F*H)+((F*N-J*G)*(F*N-J*G)+(J*H-L*N)*(J*H-L*N))));g[v+24>>2]=N;L=+g[t+16>>2]-K;H=+g[t+20>>2]-I;J=+g[t+24>>2]-O;K=+g[P+16>>2]-K;I=+g[P+20>>2]-I;O=+g[P+24>>2]-O;O=+A(+((L*I-H*K)*(L*I-H*K)+((H*O-J*I)*(H*O-J*I)+(J*K-L*O)*(J*K-L*O))));g[v+20>>2]=M/(M+N+O);g[v+24>>2]=N/(M+N+O);g[v+28>>2]=O/(M+N+O);if((c[v>>2]|0)!=9)if(!(c[v+36>>2]|0)){o=0.0;n=0.0;m=0.0;break}else{l=v+36|0;u=54;break}c[j>>2]=3;P=0;k=v;return P|0}else u=48}else u=48;while(0);if((u|0)==48){c[v>>2]=8;g[v+40>>2]=o;g[v+44>>2]=r;g[v+48>>2]=n;g[v+52>>2]=0.0;m=+A(+(o*o+r*r+n*n));if(m>0.0){g[v+40>>2]=1.0/m*o;g[v+44>>2]=1.0/m*r;g[v+48>>2]=1.0/m*n}else{c[v+40>>2]=1065353216;c[v+44>>2]=0;c[v+48>>2]=0}g[v+52>>2]=0.0;g[v+56>>2]=0.0;c[v+36>>2]=1;c[v+4>>2]=c[t>>2];g[v+20>>2]=1.0;l=v+36|0;u=54}if((u|0)==54){h=0;m=0.0;n=0.0;o=0.0;do{b=c[v+9680+120>>2]|0;P=c[v+9680+124>>2]|0;f=(c[v+9680>>2]|0)+(1?P>>1:P)|0;if(P&1)b=c[(c[f>>2]|0)+b>>2]|0;Nb[b&127](v+9808|0,f,c[v+4+(h<<2)>>2]|0);O=+g[v+20+(h<<2)>>2];m=m+ +g[v+9808>>2]*O;n=n+O*+g[v+9808+4>>2];o=o+O*+g[v+9808+8>>2];h=h+1|0}while(h>>>0<(c[l>>2]|0)>>>0)}c[j>>2]=1;O=m*+g[e+16>>2]+n*+g[e+20>>2]+o*+g[e+24>>2]+ +g[e+52>>2];L=m*+g[e+32>>2]+n*+g[e+36>>2]+o*+g[e+40>>2]+ +g[e+56>>2];g[j+4>>2]=m*+g[e>>2]+n*+g[e+4>>2]+o*+g[e+8>>2]+ +g[e+48>>2];g[j+8>>2]=O;g[j+12>>2]=L;g[j+16>>2]=0.0;L=+g[v+40>>2];O=+g[v+56>>2];M=+g[v+44>>2];N=+g[v+48>>2];G=m-L*O;H=n-O*M;I=o-O*N;J=G*+g[e+16>>2]+H*+g[e+20>>2]+I*+g[e+24>>2]+ +g[e+52>>2];K=G*+g[e+32>>2]+H*+g[e+36>>2]+I*+g[e+40>>2]+ +g[e+56>>2];g[j+20>>2]=G*+g[e>>2]+H*+g[e+4>>2]+I*+g[e+8>>2]+ +g[e+48>>2];g[j+24>>2]=J;g[j+28>>2]=K;g[j+32>>2]=0.0;g[j+36>>2]=-L;g[j+40>>2]=-M;g[j+44>>2]=-N;g[j+48>>2]=0.0;g[j+52>>2]=-O;P=1;k=v;return P|0}case 2:{c[j>>2]=2;P=0;k=v;return P|0}default:{P=0;k=v;return P|0}}return 0}function Fc(b){b=b|0;var d=0.0,e=0,f=0,h=0.0,i=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0;u=k;k=k+176|0;if(!(a[b+738>>0]|0)){k=u;return}g[b+36>>2]=0.0;g[b+744>>2]=0.0;if(!(a[b+736>>0]|0)){e=c[b+28>>2]|0;i=+g[b+600>>2];l=+g[b+604>>2];q=+g[b+608>>2];s=i*+g[e+20>>2]+l*+g[e+24>>2]+q*+g[e+28>>2]+ +g[e+56>>2];f=c[b+32>>2]|0;m=+g[b+664>>2];n=+g[b+668>>2];r=+g[b+672>>2];t=m*+g[f+20>>2]+n*+g[f+24>>2]+r*+g[f+28>>2]+ +g[f+56>>2];o=m*+g[f+36>>2]+n*+g[f+40>>2]+r*+g[f+44>>2]+ +g[f+60>>2];p=i*+g[e+4>>2]+l*+g[e+8>>2]+q*+g[e+12>>2]+ +g[e+52>>2];q=i*+g[e+36>>2]+l*+g[e+40>>2]+q*+g[e+44>>2]+ +g[e+60>>2];r=m*+g[f+4>>2]+n*+g[f+8>>2]+r*+g[f+12>>2]+ +g[f+52>>2];if((r-p)*(r-p)+(t-s)*(t-s)+(o-q)*(o-q)>1.1920928955078125e-07){h=1.0/+A(+((r-p)*(r-p)+(t-s)*(t-s)+(o-q)*(o-q)));g[u>>2]=(r-p)*h;g[u+4>>2]=(t-s)*h;g[u+8>>2]=(o-q)*h;c[u+12>>2]=0;i=(o-q)*h;d=(t-s)*h;h=(r-p)*h}else{c[u>>2]=1065353216;c[u+4>>2]=0;c[u+8>>2]=0;g[u+12>>2]=0.0;i=0.0;d=0.0;h=1.0}if(+z(+i)>.7071067690849304){w=i*i+d*d;v=1.0/+A(+w);i=-(i*v);l=d*v;n=-(h*l);m=h*i;d=w*v;h=l;l=0.0}else{v=h*h+d*d;m=1.0/+A(+v);l=-(d*m);w=h*m;n=i*l;m=v*m;d=-(i*w);h=0.0;i=w}g[u+16>>2]=l;g[u+20>>2]=i;g[u+24>>2]=h;g[u+32>>2]=d;g[u+36>>2]=n;g[u+40>>2]=m;e=c[b+28>>2]|0;c[u+128>>2]=c[e+4>>2];c[u+128+4>>2]=c[e+20>>2];c[u+128+8>>2]=c[e+36>>2];g[u+128+12>>2]=0.0;c[u+128+16>>2]=c[e+8>>2];c[u+128+20>>2]=c[e+24>>2];c[u+128+24>>2]=c[e+40>>2];g[u+128+28>>2]=0.0;c[u+128+32>>2]=c[e+12>>2];c[u+128+36>>2]=c[e+28>>2];c[u+128+40>>2]=c[e+44>>2];g[u+128+44>>2]=0.0;f=c[b+32>>2]|0;c[u+80>>2]=c[f+4>>2];c[u+80+4>>2]=c[f+20>>2];c[u+80+8>>2]=c[f+36>>2];g[u+80+12>>2]=0.0;c[u+80+16>>2]=c[f+8>>2];c[u+80+20>>2]=c[f+24>>2];c[u+80+24>>2]=c[f+40>>2];g[u+80+28>>2]=0.0;c[u+80+32>>2]=c[f+12>>2];c[u+80+36>>2]=c[f+28>>2];c[u+80+40>>2]=c[f+44>>2];g[u+80+44>>2]=0.0;w=s-+g[e+56>>2];v=q-+g[e+60>>2];g[u+64>>2]=p-+g[e+52>>2];g[u+64+4>>2]=w;g[u+64+8>>2]=v;g[u+64+12>>2]=0.0;v=t-+g[f+56>>2];w=o-+g[f+60>>2];g[u+48>>2]=r-+g[f+52>>2];g[u+48+4>>2]=v;g[u+48+8>>2]=w;g[u+48+12>>2]=0.0;kh(b+48|0,u+128|0,u+80|0,u+64|0,u+48|0,u,e+396|0,+g[e+344>>2],f+396|0,+g[f+344>>2]);f=c[b+28>>2]|0;c[u+128>>2]=c[f+4>>2];c[u+128+4>>2]=c[f+20>>2];c[u+128+8>>2]=c[f+36>>2];g[u+128+12>>2]=0.0;c[u+128+16>>2]=c[f+8>>2];c[u+128+20>>2]=c[f+24>>2];c[u+128+24>>2]=c[f+40>>2];g[u+128+28>>2]=0.0;c[u+128+32>>2]=c[f+12>>2];c[u+128+36>>2]=c[f+28>>2];c[u+128+40>>2]=c[f+44>>2];g[u+128+44>>2]=0.0;e=c[b+32>>2]|0;c[u+80>>2]=c[e+4>>2];c[u+80+4>>2]=c[e+20>>2];c[u+80+8>>2]=c[e+36>>2];g[u+80+12>>2]=0.0;c[u+80+16>>2]=c[e+8>>2];c[u+80+20>>2]=c[e+24>>2];c[u+80+24>>2]=c[e+40>>2];g[u+80+28>>2]=0.0;c[u+80+32>>2]=c[e+12>>2];c[u+80+36>>2]=c[e+28>>2];c[u+80+40>>2]=c[e+44>>2];g[u+80+44>>2]=0.0;w=s-+g[f+56>>2];v=q-+g[f+60>>2];g[u+64>>2]=p-+g[f+52>>2];g[u+64+4>>2]=w;g[u+64+8>>2]=v;g[u+64+12>>2]=0.0;v=t-+g[e+56>>2];w=o-+g[e+60>>2];g[u+48>>2]=r-+g[e+52>>2];g[u+48+4>>2]=v;g[u+48+8>>2]=w;g[u+48+12>>2]=0.0;kh(b+132|0,u+128|0,u+80|0,u+64|0,u+48|0,u+16|0,f+396|0,+g[f+344>>2],e+396|0,+g[e+344>>2]);e=c[b+28>>2]|0;c[u+128>>2]=c[e+4>>2];c[u+128+4>>2]=c[e+20>>2];c[u+128+8>>2]=c[e+36>>2];g[u+128+12>>2]=0.0;c[u+128+16>>2]=c[e+8>>2];c[u+128+20>>2]=c[e+24>>2];c[u+128+24>>2]=c[e+40>>2];g[u+128+28>>2]=0.0;c[u+128+32>>2]=c[e+12>>2];c[u+128+36>>2]=c[e+28>>2];c[u+128+40>>2]=c[e+44>>2];g[u+128+44>>2]=0.0;f=c[b+32>>2]|0;c[u+80>>2]=c[f+4>>2];c[u+80+4>>2]=c[f+20>>2];c[u+80+8>>2]=c[f+36>>2];g[u+80+12>>2]=0.0;c[u+80+16>>2]=c[f+8>>2];c[u+80+20>>2]=c[f+24>>2];c[u+80+24>>2]=c[f+40>>2];g[u+80+28>>2]=0.0;c[u+80+32>>2]=c[f+12>>2];c[u+80+36>>2]=c[f+28>>2];c[u+80+40>>2]=c[f+44>>2];g[u+80+44>>2]=0.0;w=s-+g[e+56>>2];v=q-+g[e+60>>2];g[u+64>>2]=p-+g[e+52>>2];g[u+64+4>>2]=w;g[u+64+8>>2]=v;g[u+64+12>>2]=0.0;v=t-+g[f+56>>2];w=o-+g[f+60>>2];g[u+48>>2]=r-+g[f+52>>2];g[u+48+4>>2]=v;g[u+48+8>>2]=w;g[u+48+12>>2]=0.0;kh(b+216|0,u+128|0,u+80|0,u+64|0,u+48|0,u+32|0,e+396|0,+g[e+344>>2],f+396|0,+g[f+344>>2])}e=c[b+560>>2]|0;f=c[b+576>>2]|0;q=+g[b+592>>2];if(+z(+q)>.7071067690849304){w=(c[j>>2]=f,+g[j>>2]);p=1.0/+A(+(q*q+w*w));o=(c[j>>2]=e,+g[j>>2]);d=o;h=w;i=o*-(q*p);l=(q*q+w*w)*p;m=0.0;n=p*w;o=-(p*w*o);p=-(q*p)}else{p=(c[j>>2]=e,+g[j>>2]);o=(c[j>>2]=f,+g[j>>2]);w=1.0/+A(+(p*p+o*o));d=p;h=o;i=(p*p+o*o)*w;l=-(q*w*p);m=-(w*o);n=0.0;o=q*-(w*o);p=w*p}e=c[b+28>>2]|0;R=+g[e+4>>2];L=+g[e+8>>2];E=+g[e+12>>2];I=m*R+p*L+n*E;Q=+g[e+20>>2];C=+g[e+24>>2];J=+g[e+28>>2];y=m*Q+p*C+n*J;P=+g[e+36>>2];r=+g[e+40>>2];G=+g[e+44>>2];N=m*P+p*r+n*G;F=l*R+o*L+i*E;H=l*Q+o*C+i*J;K=l*P+o*r+i*G;s=R*d+L*h+q*E;v=Q*d+C*h+q*J;h=P*d+r*h+q*G;f=c[b+32>>2]|0;B=+g[f+4>>2];x=+g[f+20>>2];i=+g[f+36>>2];o=+g[f+8>>2];p=+g[f+24>>2];t=+g[f+40>>2];m=+g[f+12>>2];q=+g[f+28>>2];M=+g[f+44>>2];c[b+300>>2]=0;c[b+300+4>>2]=0;c[b+300+8>>2]=0;c[b+300+12>>2]=0;g[b+316>>2]=I*R+y*Q+N*P;g[b+320>>2]=I*L+y*C+N*r;g[b+324>>2]=I*E+y*J+N*G;g[b+328>>2]=0.0;g[b+332>>2]=B*-I+x*-y+i*-N;g[b+336>>2]=o*-I+p*-y+t*-N;g[b+340>>2]=m*-I+q*-y+M*-N;g[b+344>>2]=0.0;l=(I*R+y*Q+N*P)*+g[e+396>>2];d=(I*L+y*C+N*r)*+g[e+400>>2];D=(I*E+y*J+N*G)*+g[e+404>>2];g[b+348>>2]=l;g[b+352>>2]=d;g[b+356>>2]=D;g[b+360>>2]=0.0;n=(B*-I+x*-y+i*-N)*+g[f+396>>2];w=(o*-I+p*-y+t*-N)*+g[f+400>>2];O=(m*-I+q*-y+M*-N)*+g[f+404>>2];g[b+364>>2]=n;g[b+368>>2]=w;g[b+372>>2]=O;g[b+376>>2]=0.0;g[b+380>>2]=(I*R+y*Q+N*P)*l+(I*L+y*C+N*r)*d+(I*E+y*J+N*G)*D+((B*-I+x*-y+i*-N)*n+(o*-I+p*-y+t*-N)*w+(m*-I+q*-y+M*-N)*O);O=+g[e+4>>2];N=+g[e+20>>2];M=+g[e+36>>2];q=+g[e+8>>2];m=+g[e+24>>2];y=+g[e+40>>2];I=+g[e+12>>2];w=+g[e+28>>2];t=+g[e+44>>2];p=+g[f+4>>2];o=+g[f+20>>2];n=+g[f+36>>2];i=+g[f+8>>2];x=+g[f+24>>2];B=+g[f+40>>2];D=+g[f+12>>2];G=+g[f+28>>2];J=+g[f+44>>2];c[b+384>>2]=0;c[b+384+4>>2]=0;c[b+384+8>>2]=0;c[b+384+12>>2]=0;g[b+400>>2]=F*O+H*N+K*M;g[b+404>>2]=F*q+H*m+K*y;g[b+408>>2]=F*I+H*w+K*t;g[b+412>>2]=0.0;g[b+416>>2]=p*-F+o*-H+n*-K;g[b+420>>2]=i*-F+x*-H+B*-K;g[b+424>>2]=D*-F+G*-H+J*-K;g[b+428>>2]=0.0;d=(F*O+H*N+K*M)*+g[e+396>>2];E=(F*q+H*m+K*y)*+g[e+400>>2];r=(F*I+H*w+K*t)*+g[e+404>>2];g[b+432>>2]=d;g[b+436>>2]=E;g[b+440>>2]=r;g[b+444>>2]=0.0;l=(p*-F+o*-H+n*-K)*+g[f+396>>2];C=(i*-F+x*-H+B*-K)*+g[f+400>>2];L=(D*-F+G*-H+J*-K)*+g[f+404>>2];g[b+448>>2]=l;g[b+452>>2]=C;g[b+456>>2]=L;g[b+460>>2]=0.0;g[b+464>>2]=(F*O+H*N+K*M)*d+(F*q+H*m+K*y)*E+(F*I+H*w+K*t)*r+((p*-F+o*-H+n*-K)*l+(i*-F+x*-H+B*-K)*C+(D*-F+G*-H+J*-K)*L);L=+g[e+4>>2];K=+g[e+20>>2];J=+g[e+36>>2];H=+g[e+8>>2];G=+g[e+24>>2];F=+g[e+40>>2];D=+g[e+12>>2];C=+g[e+28>>2];B=+g[e+44>>2];x=+g[f+4>>2];i=+g[f+20>>2];l=+g[f+36>>2];n=+g[f+8>>2];o=+g[f+24>>2];p=+g[f+40>>2];r=+g[f+12>>2];t=+g[f+28>>2];w=+g[f+44>>2];c[b+468>>2]=0;c[b+468+4>>2]=0;c[b+468+8>>2]=0;c[b+468+12>>2]=0;g[b+484>>2]=s*L+v*K+h*J;g[b+488>>2]=s*H+v*G+h*F;g[b+492>>2]=s*D+v*C+h*B;g[b+496>>2]=0.0;g[b+500>>2]=x*-s+i*-v+l*-h;g[b+504>>2]=n*-s+o*-v+p*-h;g[b+508>>2]=r*-s+t*-v+w*-h;g[b+512>>2]=0.0;I=(s*L+v*K+h*J)*+g[e+396>>2];E=(s*H+v*G+h*F)*+g[e+400>>2];y=(s*D+v*C+h*B)*+g[e+404>>2];g[b+516>>2]=I;g[b+520>>2]=E;g[b+524>>2]=y;g[b+528>>2]=0.0;m=(x*-s+i*-v+l*-h)*+g[f+396>>2];q=(n*-s+o*-v+p*-h)*+g[f+400>>2];d=(r*-s+t*-v+w*-h)*+g[f+404>>2];g[b+532>>2]=m;g[b+536>>2]=q;g[b+540>>2]=d;g[b+544>>2]=0.0;g[b+548>>2]=(s*L+v*K+h*J)*I+(s*H+v*G+h*F)*E+(s*D+v*C+h*B)*y+((x*-s+i*-v+l*-h)*m+(n*-s+o*-v+p*-h)*q+(r*-s+t*-v+w*-h)*d);g[b+724>>2]=0.0;d=+Gj(b,e+4|0,f+4|0);g[b+728>>2]=d;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;h=+g[b+692>>2];do if(h>=0.0){d=(d-+g[b+688>>2])%6.2831854820251465;if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;if(d<-h){a[b+716>>0]=1;g[b+708>>2]=-(h+d);g[b+712>>2]=1.0;break}if(d>h){a[b+716>>0]=1;g[b+708>>2]=h-d;g[b+712>>2]=-1.0}}while(0);e=c[b+28>>2]|0;N=+g[b+560>>2];O=+g[b+576>>2];R=+g[b+592>>2];P=N*+g[e+4>>2]+O*+g[e+8>>2]+R*+g[e+12>>2];Q=N*+g[e+20>>2]+O*+g[e+24>>2]+R*+g[e+28>>2];R=N*+g[e+36>>2]+O*+g[e+40>>2]+R*+g[e+44>>2];f=c[b+32>>2]|0;g[b+720>>2]=1.0/(P*(P*+g[e+264>>2]+Q*+g[e+280>>2]+R*+g[e+296>>2])+Q*(P*+g[e+268>>2]+Q*+g[e+284>>2]+R*+g[e+300>>2])+R*(P*+g[e+272>>2]+Q*+g[e+288>>2]+R*+g[e+304>>2])+(P*(P*+g[f+264>>2]+Q*+g[f+280>>2]+R*+g[f+296>>2])+Q*(P*+g[f+268>>2]+Q*+g[f+284>>2]+R*+g[f+300>>2])+R*(P*+g[f+272>>2]+Q*+g[f+288>>2]+R*+g[f+304>>2])));k=u;return}function Gc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=k;k=k+16|0;Wj(17636);j=c[b+212>>2]|0;i=c[b+180>>2]|0;if((i|0)<(j|0)){if((c[b+184>>2]|0)<(j|0)){if(!j){e=0;h=i}else{c[7584]=(c[7584]|0)+1;e=lc((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+180>>2]|0}if((h|0)>0){f=0;do{c[e+(f<<2)>>2]=c[(c[b+188>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[b+188>>2]|0;if(f|0){if(a[b+192>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[b+188>>2]=0}a[b+192>>0]=1;c[b+188>>2]=e;c[b+184>>2]=j;f=b+188|0}else f=b+188|0;e=i;do{c[(c[f>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(j|0))}else f=b+188|0;c[b+180>>2]=j;e=0;while(1){if((e|0)>=(tb[c[(c[b>>2]|0)+104>>2]&255](b)|0))break;c[(c[f>>2]|0)+(e<<2)>>2]=c[(c[b+220>>2]|0)+(e<<2)>>2];e=e+1|0}e=c[b+180>>2]|0;if((e|0)>1)mh(b+176|0,0,e+-1|0);if(!(tb[c[(c[b>>2]|0)+104>>2]&255](b)|0))e=0;else e=c[f>>2]|0;h=c[b+196>>2]|0;s=c[b+180>>2]|0;t=tb[c[(c[b>>2]|0)+20>>2]&255](b)|0;c[h+4>>2]=d;c[h+12>>2]=e;c[h+16>>2]=s;c[h+20>>2]=t;e=c[h+32>>2]|0;if((e|0)<0){if((c[h+36>>2]|0)<0){f=c[h+40>>2]|0;if(f|0){if(a[h+44>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[h+40>>2]=0}a[h+44>>0]=1;c[h+40>>2]=0;c[h+36>>2]=0}do{c[(c[h+40>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+32>>2]=0;e=c[h+52>>2]|0;if((e|0)<0){if((c[h+56>>2]|0)<0){f=c[h+60>>2]|0;if(f|0){if(a[h+64>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[h+60>>2]=0}a[h+64>>0]=1;c[h+60>>2]=0;c[h+56>>2]=0}do{c[(c[h+60>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+52>>2]=0;e=c[h+72>>2]|0;if((e|0)<0){if((c[h+76>>2]|0)<0){f=c[h+80>>2]|0;if(f|0){if(a[h+84>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[h+80>>2]=0}a[h+84>>0]=1;c[h+80>>2]=0;c[h+76>>2]=0}do{c[(c[h+80>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+72>>2]=0;t=c[b+200>>2]|0;e=c[(c[t>>2]|0)+8>>2]|0;q=c[b+8>>2]|0;s=c[b+24>>2]|0;s=tb[c[(c[s>>2]|0)+36>>2]&255](s)|0;Nb[e&127](t,q,s);s=c[b+204>>2]|0;q=c[b+24>>2]|0;t=c[b+196>>2]|0;Wj(19468);e=c[s+28>>2]|0;if((e|0)<0){if((c[s+32>>2]|0)<0){f=c[s+36>>2]|0;if(f|0){if(a[s+40>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[s+36>>2]=0}a[s+40>>0]=1;c[s+36>>2]=0;c[s+32>>2]=0}do{c[(c[s+36>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[s+28>>2]=0;j=c[s+8>>2]|0;if((j|0)>0){l=c[s+16>>2]|0;i=0;do{m=l+(i<<3)|0;e=c[m>>2]|0;if((e|0)!=(i|0)){c[m>>2]=c[l+(e<<3)>>2];e=c[l+(e<<3)>>2]|0;f=c[l+(e<<3)>>2]|0;if((e|0)!=(f|0)){h=l+(e<<3)|0;do{e=l+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=l+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}}else e=i;c[m>>2]=e;i=i+1|0}while((i|0)!=(j|0));if((j|0)>1){bk(s+4|0,0,j+-1|0);n=c[s+8>>2]|0}else n=j;if((n|0)>0){o=c[s+16>>2]|0;l=0;while(1){p=c[o+(l<<3)>>2]|0;e=l+1|0;a:do if((e|0)<(n|0)){f=l;h=e;while(1){if((c[o+(h<<3)>>2]|0)!=(p|0)){e=h;break a}e=h+1|0;if((e|0)<(n|0)){f=h;h=e}else{f=h;break}}}else f=l;while(0);b:do if((l|0)<=(f|0)){m=c[b+16>>2]|0;h=1;j=l;while(1){i=c[m+(c[o+(j<<3)+4>>2]<<2)>>2]|0;if((c[i+208>>2]|0)==(p|0)){i=c[i+216>>2]|0;h=(i|0)!=4&(h&(i|0)!=1)}if((j|0)<(f|0))j=j+1|0;else break}if(h){h=l;while(1){i=c[m+(c[o+(h<<3)+4>>2]<<2)>>2]|0;do if((c[i+208>>2]|0)==(p|0)){if((c[i+216>>2]&-2|0)==4)break;c[i+216>>2]=2}while(0);if((h|0)>=(f|0))break b;h=h+1|0}}else{h=l;while(1){i=c[m+(c[o+(h<<3)+4>>2]<<2)>>2]|0;do if((c[i+208>>2]|0)==(p|0)){if((c[i+216>>2]|0)!=2)break;c[i+216>>2]=3;g[i+220>>2]=0.0}while(0);if((h|0)>=(f|0))break b;h=h+1|0}}}while(0);if((e|0)<(n|0))l=e;else break}}}l=tb[c[(c[q>>2]|0)+36>>2]&255](q)|0;if((l|0)>0){j=0;do{m=vb[c[(c[q>>2]|0)+40>>2]&31](q,j)|0;h=c[m+740>>2]|0;i=c[m+744>>2]|0;if((h|0)!=0?(c[h+216>>2]|0)!=2:0){e=c[h+204>>2]|0;if(!(e&2))f=111;else f=106}else f=101;if(((f|0)==101?(f=0,i|0):0)?(c[i+216>>2]|0)!=2:0){e=c[h+204>>2]|0;if((e&2|0)!=0?(c[h+216>>2]|0)!=2:0)f=106;else f=111}if((f|0)==106)if((e&4|0)==0?(c[i+204>>2]&3|0)==0:0){if((c[i+216>>2]&-2|0)!=4)c[i+216>>2]=1;g[i+220>>2]=0.0;f=111}else f=111;if((f|0)==111){p=c[i+204>>2]|0;if(p&2|0?((p&4|e&3|0)==0?(c[i+216>>2]|0)!=2:0):0){if((c[h+216>>2]&-2|0)!=4)c[h+216>>2]=1;g[h+220>>2]=0.0}if(a[s+64>>0]|0?xb[c[(c[q>>2]|0)+28>>2]&63](q,h,i)|0:0){f=c[s+28>>2]|0;if((f|0)==(c[s+32>>2]|0)?(r=(f|0)==0?1:f<<1,(f|0)<(r|0)):0){if(!r)e=0;else{c[7584]=(c[7584]|0)+1;e=lc((r<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[s+28>>2]|0}if((f|0)>0){h=0;do{c[e+(h<<2)>>2]=c[(c[s+36>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[s+36>>2]|0;if(h){if(a[s+40>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[h+-4>>2]|0);f=c[s+28>>2]|0}c[s+36>>2]=0}a[s+40>>0]=1;c[s+36>>2]=e;c[s+32>>2]=r;e=f}else e=f;c[(c[s+36>>2]|0)+(e<<2)>>2]=m;c[s+28>>2]=e+1}}j=j+1|0}while((j|0)<(l|0))}e=c[3369]|0;r=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=r;do if(!r){if(c[e+4>>2]|0){bb(u|0,0)|0;r=c[7583]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[u+4>>2]|0)-(c[r+4>>2]|0)+(((c[u>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[3369]|0}c[3369]=c[e+20>>2]}while(0);r=c[s+8>>2]|0;Wj(19496);if(a[s+64>>0]|0){q=c[s+28>>2]|0;if((q|0)>1)gh(s+24|0,0,q+-1|0);if((r|0)>0){e=0;j=1;p=0;while(1){f=c[s+16>>2]|0;o=c[f+(e<<3)>>2]|0;c:do if((e|0)<(r|0)){n=1;l=c[s+48>>2]|0;h=c[s+52>>2]|0;while(1){m=c[(c[b+16>>2]|0)+(c[f+(e<<3)+4>>2]<<2)>>2]|0;do if((l|0)==(h|0)){l=(h|0)==0?1:h<<1;if((h|0)>=(l|0)){f=h;break}if(!l)f=0;else{c[7584]=(c[7584]|0)+1;f=lc((l<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[s+48>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[s+56>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[s+56>>2]|0;if(i){if(a[s+60>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[i+-4>>2]|0);h=c[s+48>>2]|0}c[s+56>>2]=0}a[s+60>>0]=1;c[s+56>>2]=f;c[s+52>>2]=l;f=h;h=l}else f=l;while(0);c[(c[s+56>>2]|0)+(f<<2)>>2]=m;l=f+1|0;c[s+48>>2]=l;i=c[m+216>>2]|0;i=n&((i|0)==5|(i|0)==2);e=e+1|0;if((e|0)>=(r|0)){n=e;break c}f=c[s+16>>2]|0;if((c[f+(e<<3)>>2]|0)!=(o|0)){n=e;break}else n=i}}else{n=e;i=1}while(0);if((p|0)<(q|0)){l=c[s+36>>2]|0;m=l+(p<<2)|0;f=c[m>>2]|0;e=c[(c[f+740>>2]|0)+208>>2]|0;if((e|0)<=-1)e=c[(c[f+744>>2]|0)+208>>2]|0;if((e|0)==(o|0)){e=p+1|0;d:do if((e|0)<(q|0))do{h=c[l+(e<<2)>>2]|0;f=c[(c[h+740>>2]|0)+208>>2]|0;if((f|0)<=-1)f=c[(c[h+744>>2]|0)+208>>2]|0;if((o|0)!=(f|0))break d;e=e+1|0}while((e|0)<(q|0));while(0);f=m;h=e-p|0;j=e}else{f=0;h=0}}else{f=0;h=0}if(!i)Wb[c[(c[t>>2]|0)+8>>2]&7](t,c[s+56>>2]|0,c[s+48>>2]|0,f,h,o);p=(h|0)==0?p:j;e=c[s+48>>2]|0;if((e|0)<0){if((c[s+52>>2]|0)<0){f=c[s+56>>2]|0;if(f|0){if(a[s+60>>0]|0){c[7585]=(c[7585]|0)+1;Bd(c[f+-4>>2]|0)}c[s+56>>2]=0}a[s+60>>0]=1;c[s+56>>2]=0;c[s+52>>2]=0}do{c[(c[s+56>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[s+48>>2]=0;if((n|0)>=(r|0))break;else e=n}}}else{r=tb[c[(c[q>>2]|0)+44>>2]&255](q)|0;s=tb[c[(c[q>>2]|0)+36>>2]&255](q)|0;Wb[c[(c[t>>2]|0)+8>>2]&7](t,c[b+16>>2]|0,c[b+8>>2]|0,r,s,-1)}e=c[3369]|0;t=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=t;do if(!t){if(c[e+4>>2]|0){bb(u|0,0)|0;t=c[7583]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[u+4>>2]|0)-(c[t+4>>2]|0)+(((c[u>>2]|0)-(c[t>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[3369]|0}c[3369]=c[e+20>>2]}while(0);Bh(c[b+196>>2]|0);e=c[b+200>>2]|0;Nb[c[(c[e>>2]|0)+16>>2]&127](e,d,c[b+72>>2]|0);e=c[3369]|0;d=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=d;if(d|0){k=u;return}do if(c[e+4>>2]|0){bb(u|0,0)|0;d=c[7583]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[u+4>>2]|0)-(c[d+4>>2]|0)+(((c[u>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[3369]|0;break}else{k=u;return}}while(0);c[3369]=c[e+20>>2];k=u;return}
|
|
function uI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Q(31)}function vI(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Q(28)}function wI(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;Q(25)}function xI(a){a=a|0;return a+32|0}function yI(a){a=a|0;return 24}function zI(a){a=a|0;c[a>>2]=6084;return}function AI(a,b){a=a|0;b=+b;return}function BI(a){a=a|0;return a+788|0}function CI(a){a=a|0;return c[a>>2]|0}function DI(a,b){a=a|0;b=b|0;return Xv(a,b)|0}function EI(a){a=a|0;return a+68|0}function FI(a){a=a|0;Gz(a);return}function GI(a){a=a|0;zK(a+-4|0);return}function HI(a){a=a|0;Oi(a);return}function II(a){a=a|0;return DK(a)|0}function JI(a){a=a|0;return a+708|0}function KI(a,b){a=a|0;b=b|0;return 0}function LI(a){a=a|0;return 488}function MI(a,b,c){a=a|0;b=b|0;c=c|0;Q(14);return 0}function NI(a){a=a|0;return 32}function OI(a){a=a|0;return a+328|0}function PI(a){a=a|0;return 60}function QI(a){a=a|0;return 428}function RI(a){a=a|0;c[a>>2]=6116;return}function SI(a,b,c){a=a|0;b=b|0;c=c|0;Q(3);return 0.0}function TI(a){a=a|0;return a+288|0}function UI(){return zt(1)|0}function VI(a){a=+a;return +(+iC(a)*2.0)}function WI(a){a=a|0;return a+312|0}function XI(a){a=a|0;c[a>>2]=7784;return}function YI(a){a=a|0;c[a>>2]=8244;return}function ZI(a){a=a|0;return (a&255)<<8|a>>8&255|0}function _I(a){a=a|0;return 16660}function $I(a){a=a|0;return a+92|0}function aJ(a){a=a|0;c[a>>2]=0;return}function bJ(a,b,c){a=a|0;b=b|0;c=+c;Q(13);return 0}function cJ(a){a=a|0;return 4}function dJ(a){a=a|0;return 25}function eJ(a){a=a|0;return 23389}function fJ(a){a=a|0;return 23105}function gJ(a){a=a|0;c[a>>2]=5872;return}function hJ(){return Lu()|0}function iJ(a){a=a|0;return 16548}function jJ(a){a=a|0;c[a>>2]=5596;return}function kJ(a){a=a|0;return a+76|0}function lJ(a){a=a|0;return a+28|0}function mJ(a){a=a|0;return 24435}function nJ(a){a=a|0;return 22251}function oJ(a){a=a|0;return a+380|0}function pJ(a){a=a|0;return a+40|0}function qJ(a){a=a|0;return a+24|0}function rJ(a){a=a|0;return a+72|0}function sJ(a){a=a|0;return a+56|0}function tJ(a,b,c){a=a|0;b=b|0;c=c|0;Q(30)}function uJ(a){a=a|0;return 22635}function vJ(a){a=a|0;return 0}function wJ(a,b){a=+a;b=b|0;return +(+fn(a,b))}function xJ(){return zt(64)|0}function yJ(a){a=a|0;return 22693}function zJ(a){a=a|0;return 24504}function AJ(a){a=a|0;return a+48|0}function BJ(a){a=a|0;return 22891}function CJ(a){a=a|0;return 1}function DJ(a,b,c){a=a|0;b=b|0;c=+c;Q(27)}function EJ(a,b,c){a=a|0;b=+b;c=c|0;Q(24)}function FJ(a){a=a|0;return 23506}function GJ(a){a=a|0;return 23477}function HJ(a){a=a|0;return 24273}function IJ(a){a=a|0;return 3}function JJ(a){a=a|0;return Dn(a,30388)|0}function KJ(a){a=a|0;return (a+-48|0)>>>0<10|0}function LJ(a){a=a|0;return 16927}function MJ(a){a=+a;return +a}function NJ(a){a=a|0;return 23449}function OJ(a){a=a|0;return 21966}function PJ(a){a=a|0;return 23049}function QJ(a){a=a|0;return 23022}function RJ(a){a=a|0;return 22992}function SJ(a){a=a|0;return 8}function TJ(a){a=+a;return +(a%6.2831854820251465)}function UJ(a,b,c){a=a|0;b=+b;c=+c;Q(22)}function VJ(a){a=a|0;return 22070}function WJ(a,b){a=a|0;b=b|0;Q(12);return 0}function XJ(a){a=a|0;return 22028}function YJ(a){a=a|0;return 22049}function ZJ(a){a=a|0;return 6}function _J(a){a=a|0;return 12}function $J(){return 4}function aK(a){a=a|0;return 22009}function bK(a){a=a|0;return 2}function cK(a){a=a|0;return 23164}function dK(a,b){a=a|0;b=+b;Q(1);return 0.0}function eK(){c[7104]=1805;c[7105]=0;return}function fK(a){a=a|0;return a+12|0}function gK(a){a=a|0;return a+8|0}function hK(a){a=a|0;return a+4|0}function iK(a){a=a|0;Cb[a&3]()}function jK(){return 2}function kK(a){a=a|0;cb()}function lK(){return 5}function mK(){return 3}function nK(){return 0}function oK(){Oa()}function pK(a){a=+a;return +(+A(+a))}function qK(a){a=+a;return +(+z(+a))}function rK(a){a=+a;return +(+D(+a))}function sK(a){a=+a;return +(+C(+a))}function tK(a,b){a=a|0;b=b|0;Q(26)}function uK(a,b){a=a|0;b=+b;Q(21)}function vK(a){a=a|0;return zt(a)|0}function wK(a){a=a|0;zK(a);return}function xK(a){a=a|0;return}function yK(a){a=a|0;k=a}function zK(a){a=a|0;Bd(a);return}function AK(a){a=a|0;x=a}function BK(a){a=a|0;Q(10);return 0}function CK(a){a=a|0;Q(0);return 0.0}function DK(a){a=a|0;return a|0}function EK(){return x|0}function FK(){return k|0}function GK(a){a=a|0;Q(20)}function HK(){return 1}function IK(){Q(19)}
|
|
|
|
// EMSCRIPTEN_END_FUNCS
|
|
var jb=[CK,Sp,hI,sB,TH,_H,hF,Gr,Fr,Gr,YG,CK,CK,CK,CK,CK];var kb=[dK,gy];var lb=[PE,Ok,Ok,PE];var mb=[SI,gk,Pk,Vi,rG,El,hp,Bk,yn,po,di,vn,hn,$m,SI,SI];var nb=[nC,cl,al,nC];var ob=[MG,Uc];var pb=[gE,Yv,qe,Yv,Yv,re,Yv,Yv,kg,Kf,Yu,Yv,Yv,Yv,gE,gE];var qb=[py,hr];var rb=[cx,pc,gj,cx];var sb=[aw,Ej,Sc,aw];var tb=[BK,yG,LH,_J,dJ,CJ,wC,vJ,CJ,dH,LF,LF,tH,hG,QI,bK,Ss,iJ,fK,_I,jI,vJ,NI,LJ,bK,IJ,IJ,CJ,rH,RF,$F,cJ,LI,bK,jI,iH,GG,lI,NH,yH,YH,CJ,ZA,$w,ZH,HG,Fw,DF,DF,kJ,OJ,yI,aK,PI,XJ,YJ,VJ,zF,nJ,PI,uJ,EI,yJ,jI,BJ,kI,zH,zH,vJ,RJ,PI,QJ,PJ,IE,fJ,vJ,vJ,vJ,cK,ZJ,SJ,_J,ZJ,lI,xH,eJ,NJ,PI,GJ,FJ,hG,xE,pH,gH,gH,tH,tH,hK,vJ,CJ,tH,tH,hK,LF,vJ,uG,uG,HJ,gH,Rt,NA,MH,mJ,CJ,qH,iG,vJ,CJ,vJ,zJ,XH,bK,vJ,vJ,vJ,vJ,vJ,tH,Ku,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK,BK];var ub=[lH,Mg];var vb=[WJ,Is,Qs,Js,FH,FH,FH,$b,yA,yA,_c,Om,Qn,vz,Jo,zu,Yl,as,rr,vl,_i,qp,Zr,KI,Zu,us,ss,KI,KI,KI,KI,WJ];var wb=[bJ,Rf,sF,sF,Fn,sF,bJ,bJ];var xb=[MI,Bo,tp,dj,gc,_l,Cg,ri,Ah,Pf,$n,pi,ii,Jf,uf,Mf,_n,Pr,Nk,Wf,Ql,Wg,$l,Bi,Ol,Se,Ml,Od,LD,LD,Cf,Fk,Pl,Gg,Xg,Wi,xp,Ul,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI,MI];var yb=[JG,Xn,jq,yp,_k,Zk,ti,qo,mm,km,Gm,Fg,Em,Gq,zn,Cm,wm,rj,Hm,Mc,hx,My,If,Ap,JG,JG,JG,JG,JG,JG,JG,JG];var zb=[QB,id,Ed,Xd];var Ab=[_w,pd,cg,_w];var Bb=[Zv,Nc,Lh,Zv];var Cb=[IK,oK,Yk,av];var Db=[GK,xK,wK,xK,kK,xK,wK,xK,kK,xK,wK,xK,kK,xK,wK,xK,kK,xK,FI,xK,kK,hC,kK,ld,VG,xK,xK,xK,wK,xK,kK,xK,kK,xK,wK,xK,kK,Bq,Or,To,lk,mA,xK,wK,wK,wK,wK,zd,vx,xK,wK,xK,wK,xK,Gz,wK,wK,xK,Gz,wK,wK,xK,wK,rA,Yy,xK,wK,xK,wK,fr,yq,zj,ED,Hk,Sv,Hj,yl,dc,mi,xg,to,Me,om,xK,wK,xK,wK,_p,fp,eh,$v,fc,wK,Vk,hD,XI,ax,xK,XI,ax,Af,Nn,ax,ax,We,kK,ax,ax,qd,ax,Fc,Ag,Pu,bG,Qi,AG,wK,eq,kp,yu,wK,xK,wK,YI,bx,Wp,ap,nm,Tv,Fq,Vr,xK,wK,rf,uC,wK,wK,wK,wK,wK,wK,wK,wK,wK,wK,Wk,PD,Yr,Oq,Aq,dq,wK,kr,Zq,cs,Rq,xK,wK,ok,CG,me,wK,wK,wK,wK,wK,xK,wK,xK,GI,wK,wK,wK,wK,wK,wK,Rr,Mq,xK,wK,fs,Uq,wK,wK,wK,rl,UC,wK,ik,kB,wK,Vm,Hw,Jj,Gz,Gz,Gz,Gz,Pq,Yp,xK,wK,wK,wK,xK,Gz,wK,xK,wK,xK,Gz,kK,kK,dn,Wm,Gz,Gz,Gz,yq,wK,yq,HI,Rw,wK,wK,PH,yw,Gz,Gz,Gz,Ni,Qw,Yj,ww,xK,ww,Jq,_r,Uk,TC,wK,wK,vq,BG,xK,wK,wK,wK,Oi,Rw,vm,Wn,yq,yq,xK,wK,wK,wK,wK,wK,Eq,vp,Go,Op,Ck,tw,Kh,Ip,xK,xK,kK,xK,wK,wK,wK,wK,wK,wK,xK,wK,xK,wK,Ur,Nq,wK,wK,Xk,yE,Mi,uw,wq,pp,xK,wK,xK,xK,wK,wK,Jt,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK,GK];var Eb=[uK,lp,hc,Xc,Ln,bH,vG,AI,vG,nl,Zc,qg,De,Ig,Jk,sf,Oc,Ee,Dc,dG,vG,sm,sm,sm,tx,ep,Sj,uK,uK,uK,uK,uK];var Fb=[UJ,he,Tg,ak,rg,$f,UJ,UJ];var Gb=[TD,ff,ef,Md];var Hb=[EJ,sh,IC,IC,vv,yk,wj,hq,vv,vv,Oj,Tl,Jm,vv,Gk,Xh,pm,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ,EJ];var Ib=[wI,$k];var Jb=[tK,DB,yC,Wr,vt,gr,rs,Yo,OH,_C,NC,OH,Uo,Dl,OH,Cc,ue,Vq,OH,OH,OH,OH,JC,Kg,Hg,Wh,wk,sn,qk,lt,Ih,jj,Dq,Py,wy,Py,wy,Gc,OH,Pj,jv,Oo,ir,vi,Ey,Td,Bj,Mk,Zh,pv,Hf,wf,vc,Al,rd,rk,sc,uj,OH,dm,kl,xl,zm,bC,ll,nB,ro,uk,Pj,Zj,Pj,hl,ys,Xq,Pj,Rj,xo,ks,Tn,oe,lo,em,Bv,yv,zv,Yh,Cn,An,rh,jt,pr,zl,It,Cq,zl,Ad,wd,Rs,zl,It,OH,OH,fi,hi,xe,wo,OH,OH,OH,pz,JC,Df,od,wi,Cv,gv,gv,$j,Fp,dr,pn,OH,Pj,OH,OH,tK,tK,tK];var Kb=[DJ,Ng,Hx,Kw,it,Gl,wc,DJ];var Lb=[vI,Wq,zE,Qk,Kp,vj,Bn,Un];var Mb=[mG,Jh];var Nb=[tJ,yy,cG,ck,zp,Pm,bj,Re,sx,Li,gp,cG,pk,Xu,cG,Vd,xd,cG,Fl,Dm,sl,Ar,Cj,zf,Di,cG,cG,ij,Ii,gf,Ly,Ky,cG,cG,cG,cG,Fd,Ci,xk,fl,Iu,_h,ov,pf,Ge,Ge,Nh,Fl,Dk,wp,$h,Fl,Ai,cG,Sm,ip,Zm,Fm,lm,Ak,Jn,Kn,In,Ao,So,vd,Xo,cG,cG,cG,cG,Qq,Vp,Xp,bn,mk,Ei,Pp,xr,dh,cG,cG,cG,cG,cG,cG,cG,cG,cG,cG,cG,$i,Hd,zi,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ,tJ];var Ob=[uI,OA,kc,ke,Oe,OA,hk,Je,_m,Hn,uI,uI,uI,uI,uI,uI];var Pb=[yD,St];var Qb=[QH,Dw,sg,Vf,nn,xC,xC,xC,xf,xC,xC,xC,hg,bg,_u,ml,As,Kv,ql,Ic,Ac,of,Cu,Ph,Yf,ec,Lv,ln,Wl,Tp,bg,mf,ch,lg,Ne,gw,Wt,Rg,Th,_u,Pi,ym,ru,Sh,ce,Im,Vj,fk,pq,Lg,lh,ki,hj,ul,xC,si,nh,Yi,xC,xC,Tj,Xj,Tm,pl,Lk,te,Fe,Si,Bc,Xj,bm,Vl,am,ed,Fo,ek,Fo,fm,Ff,xu,Pe,xC,_g,qi,Ue,op,xC,mp,Yq,Vo,Il,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH,QH];var Rb=[lG,Pw];var Sb=[lv,Ce];var Tb=[hw,og];var Ub=[FF,Ru,Yd,xm,th,um,yg,Lq,Qc,lf,ig,dg,ac,dd,zc,Te,ie,lj,ry,Kc,ry,Jg,jc,Zd,Hl,Gi,vf,FF,FF,FF,FF,FF];var Vb=[xD,Up];var Wb=[VC,be,jm,en,bq,io,sj,VC];var Xb=[eB,qh];var Yb=[$x,ds];var Zb=[Qx,gi];var _b=[vw,Um,Um,vw];return{__GLOBAL__sub_I_btQuickprof_cpp:Mr,___cxa_can_catch:Jr,___cxa_is_pointer_type:kA,___muldi3:$t,___udivdi3:EC,_bitshift64Lshr:Jv,_bitshift64Shl:uv,_emscripten_bind_Anchor___destroy___0:_E,_emscripten_bind_Anchor_get_m_body_0:KH,_emscripten_bind_Anchor_get_m_c0_0:lJ,_emscripten_bind_Anchor_get_m_c1_0:kJ,_emscripten_bind_Anchor_get_m_c2_0:SH,_emscripten_bind_Anchor_get_m_influence_0:cI,_emscripten_bind_Anchor_get_m_local_0:hK,_emscripten_bind_Anchor_get_m_node_0:CI,_emscripten_bind_Anchor_set_m_body_1:pF,_emscripten_bind_Anchor_set_m_c0_1:$C,_emscripten_bind_Anchor_set_m_c1_1:yt,_emscripten_bind_Anchor_set_m_c2_1:MF,_emscripten_bind_Anchor_set_m_influence_1:VF,_emscripten_bind_Anchor_set_m_local_1:At,_emscripten_bind_Anchor_set_m_node_1:_F,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:ku,_emscripten_bind_ClosestConvexResultCallback___destroy___0:fy,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:dI,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:$D,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:_D,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:fK,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:lJ,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:CF,_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:QF,_emscripten_bind_ClosestConvexResultCallback_hasHit_0:Fz,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:CH,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:uB,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:tB,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:Gs,_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:Ns,_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:Hs,_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:Ms,_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:Hu,_emscripten_bind_ClosestRayResultCallback___destroy___0:fy,_emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0:dI,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:kE,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:rE,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:LF,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:LH,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:EI,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:xG,_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:RH,_emscripten_bind_ClosestRayResultCallback_hasHit_0:eA,_emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1:CH,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:JB,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:PB,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:NC,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:ct,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:jt,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:Us,_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:kt,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:fv,_emscripten_bind_ConcreteContactResultCallback___destroy___0:fy,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:os,_emscripten_bind_Config___destroy___0:GA,_emscripten_bind_Config_get_citerations_0:zH,_emscripten_bind_Config_get_collisions_0:hH,_emscripten_bind_Config_get_diterations_0:gH,_emscripten_bind_Config_get_kAHR_0:WH,_emscripten_bind_Config_get_kCHR_0:VH,_emscripten_bind_Config_get_kDF_0:iI,_emscripten_bind_Config_get_kDG_0:hI,_emscripten_bind_Config_get_kDP_0:qI,_emscripten_bind_Config_get_kKHR_0:UH,_emscripten_bind_Config_get_kLF_0:gI,_emscripten_bind_Config_get_kMT_0:fI,_emscripten_bind_Config_get_kPR_0:eI,_emscripten_bind_Config_get_kSHR_0:TH,_emscripten_bind_Config_get_kSKHR_CL_0:wH,_emscripten_bind_Config_get_kSK_SPLT_CL_0:$G,_emscripten_bind_Config_get_kSRHR_CL_0:vH,_emscripten_bind_Config_get_kSR_SPLT_CL_0:_G,_emscripten_bind_Config_get_kSSHR_CL_0:uH,_emscripten_bind_Config_get_kSS_SPLT_CL_0:_H,_emscripten_bind_Config_get_kVCF_0:dI,_emscripten_bind_Config_get_kVC_0:cI,_emscripten_bind_Config_get_maxvolume_0:oH,_emscripten_bind_Config_get_piterations_0:fH,_emscripten_bind_Config_get_timescale_0:nH,_emscripten_bind_Config_get_viterations_0:eH,_emscripten_bind_Config_set_citerations_1:wE,_emscripten_bind_Config_set_collisions_1:vE,_emscripten_bind_Config_set_diterations_1:uE,_emscripten_bind_Config_set_kAHR_1:PF,_emscripten_bind_Config_set_kCHR_1:OF,_emscripten_bind_Config_set_kDF_1:ZF,_emscripten_bind_Config_set_kDG_1:bH,_emscripten_bind_Config_set_kDP_1:BH,_emscripten_bind_Config_set_kKHR_1:NF,_emscripten_bind_Config_set_kLF_1:YF,_emscripten_bind_Config_set_kMT_1:XF,_emscripten_bind_Config_set_kPR_1:WF,_emscripten_bind_Config_set_kSHR_1:vG,_emscripten_bind_Config_set_kSKHR_CL_1:oF,_emscripten_bind_Config_set_kSK_SPLT_CL_1:ZE,_emscripten_bind_Config_set_kSRHR_CL_1:nF,_emscripten_bind_Config_set_kSR_SPLT_CL_1:YE,_emscripten_bind_Config_set_kSSHR_CL_1:mF,_emscripten_bind_Config_set_kSS_SPLT_CL_1:dG,_emscripten_bind_Config_set_kVCF_1:CH,_emscripten_bind_Config_set_kVC_1:VF,_emscripten_bind_Config_set_maxvolume_1:gF,_emscripten_bind_Config_set_piterations_1:tE,_emscripten_bind_Config_set_timescale_1:fF,_emscripten_bind_Config_set_viterations_1:sE,_emscripten_bind_ContactResultCallback___destroy___0:fy,_emscripten_bind_ContactResultCallback_addSingleResult_7:os,_emscripten_bind_ConvexResultCallback___destroy___0:fy,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:dI,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:$D,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:_D,_emscripten_bind_ConvexResultCallback_hasHit_0:Fz,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:CH,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:uB,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:tB,_emscripten_bind_DebugDrawer_DebugDrawer_0:VA,_emscripten_bind_DebugDrawer___destroy___0:fy,_emscripten_bind_DebugDrawer_draw3dText_2:kx,_emscripten_bind_DebugDrawer_drawContactPoint_5:Qt,_emscripten_bind_DebugDrawer_drawLine_3:gw,_emscripten_bind_DebugDrawer_getDebugMode_0:ZA,_emscripten_bind_DebugDrawer_reportErrorWarning_1:ny,_emscripten_bind_DebugDrawer_setDebugMode_1:Uy,_emscripten_bind_GImpactCollisionAlgorithm_GImpactCollisionAlgorithm_0:UI,_emscripten_bind_GImpactCollisionAlgorithm___destroy___0:_E,_emscripten_bind_GImpactCollisionAlgorithm_registerAlgorithm_1:Vw,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:is,_emscripten_bind_LocalConvexResult___destroy___0:_E,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:CI,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:UH,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:gK,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:qJ,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:dH,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:_F,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:NF,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:Kt,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:Dt,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:_C,_emscripten_bind_LocalShapeInfo___destroy___0:_E,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:CI,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:dH,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:_F,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:_C,_emscripten_bind_Material___destroy___0:_E,_emscripten_bind_Material_get_m_flags_0:tH,_emscripten_bind_Material_get_m_kAST_0:qI,_emscripten_bind_Material_get_m_kLST_0:dI,_emscripten_bind_Material_get_m_kVST_0:hI,_emscripten_bind_Material_set_m_flags_1:XE,_emscripten_bind_Material_set_m_kAST_1:BH,_emscripten_bind_Material_set_m_kLST_1:CH,_emscripten_bind_Material_set_m_kVST_1:bH,_emscripten_bind_Node___destroy___0:_E,_emscripten_bind_Node_get_m_area_0:SH,_emscripten_bind_Node_get_m_f_0:sJ,_emscripten_bind_Node_get_m_im_0:pI,_emscripten_bind_Node_get_m_n_0:rJ,_emscripten_bind_Node_get_m_q_0:qJ,_emscripten_bind_Node_get_m_v_0:pJ,_emscripten_bind_Node_get_m_x_0:gK,_emscripten_bind_Node_set_m_area_1:MF,_emscripten_bind_Node_set_m_f_1:Ft,_emscripten_bind_Node_set_m_im_1:gG,_emscripten_bind_Node_set_m_n_1:Et,_emscripten_bind_Node_set_m_q_1:Dt,_emscripten_bind_Node_set_m_v_1:Ct,_emscripten_bind_Node_set_m_x_1:Kt,_emscripten_bind_RayResultCallback___destroy___0:fy,_emscripten_bind_RayResultCallback_get_m_closestHitFraction_0:dI,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:kE,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:rE,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:LF,_emscripten_bind_RayResultCallback_hasHit_0:eA,_emscripten_bind_RayResultCallback_set_m_closestHitFraction_1:CH,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:JB,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:PB,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:NC,_emscripten_bind_RaycastInfo___destroy___0:_E,_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0:DK,_emscripten_bind_RaycastInfo_get_m_contactPointWS_0:DH,_emscripten_bind_RaycastInfo_get_m_groundObject_0:fH,_emscripten_bind_RaycastInfo_get_m_hardPointWS_0:RH,_emscripten_bind_RaycastInfo_get_m_isInContact_0:eF,_emscripten_bind_RaycastInfo_get_m_suspensionLength_0:fI,_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0:EI,_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0:LH,_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1:Bt,_emscripten_bind_RaycastInfo_set_m_contactPointWS_1:ht,_emscripten_bind_RaycastInfo_set_m_groundObject_1:tE,_emscripten_bind_RaycastInfo_set_m_hardPointWS_1:kt,_emscripten_bind_RaycastInfo_set_m_isInContact_1:SC,_emscripten_bind_RaycastInfo_set_m_suspensionLength_1:XF,_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1:jt,_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1:ct,_emscripten_bind_VoidPtr___destroy___0:_E,_emscripten_bind_btActionInterface___destroy___0:fy,_emscripten_bind_btActionInterface_updateAction_2:fx,_emscripten_bind_btAxisSweep3___destroy___0:fy,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:gu,_emscripten_bind_btAxisSweep3_btAxisSweep3_3:xt,_emscripten_bind_btAxisSweep3_btAxisSweep3_4:bt,_emscripten_bind_btAxisSweep3_btAxisSweep3_5:Ds,_emscripten_bind_btBoxShape___destroy___0:fy,_emscripten_bind_btBoxShape_btBoxShape_1:mj,_emscripten_bind_btBoxShape_calculateLocalInertia_2:Ow,_emscripten_bind_btBoxShape_getLocalScaling_0:TA,_emscripten_bind_btBoxShape_getMargin_0:sB,_emscripten_bind_btBoxShape_setLocalScaling_1:Jy,_emscripten_bind_btBoxShape_setMargin_1:Cz,_emscripten_bind_btBroadphaseInterface___destroy___0:fy,_emscripten_bind_btBvhTriangleMeshShape___destroy___0:fy,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:uu,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:Mt,_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:Ow,_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0:TA,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:Jy,_emscripten_bind_btCapsuleShapeX___destroy___0:fy,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:no,_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:Ow,_emscripten_bind_btCapsuleShapeX_getHalfHeight_0:vD,_emscripten_bind_btCapsuleShapeX_getLocalScaling_0:TA,_emscripten_bind_btCapsuleShapeX_getMargin_0:sB,_emscripten_bind_btCapsuleShapeX_getRadius_0:WE,_emscripten_bind_btCapsuleShapeX_getUpAxis_0:yF,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:Jy,_emscripten_bind_btCapsuleShapeX_setMargin_1:Cz,_emscripten_bind_btCapsuleShapeZ___destroy___0:fy,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:mo,_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:Ow,_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0:vD,_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0:TA,_emscripten_bind_btCapsuleShapeZ_getMargin_0:sB,_emscripten_bind_btCapsuleShapeZ_getRadius_0:WE,_emscripten_bind_btCapsuleShapeZ_getUpAxis_0:yF,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:Jy,_emscripten_bind_btCapsuleShapeZ_setMargin_1:Cz,_emscripten_bind_btCapsuleShape___destroy___0:fy,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:oo,_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:Ow,_emscripten_bind_btCapsuleShape_getHalfHeight_0:vD,_emscripten_bind_btCapsuleShape_getLocalScaling_0:TA,_emscripten_bind_btCapsuleShape_getMargin_0:sB,_emscripten_bind_btCapsuleShape_getRadius_0:WE,_emscripten_bind_btCapsuleShape_getUpAxis_0:yF,_emscripten_bind_btCapsuleShape_setLocalScaling_1:Jy,_emscripten_bind_btCapsuleShape_setMargin_1:Cz,_emscripten_bind_btCollisionConfiguration___destroy___0:fy,_emscripten_bind_btCollisionDispatcher___destroy___0:fy,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:Ll,_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:Fx,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:vB,_emscripten_bind_btCollisionObject___destroy___0:dy,_emscripten_bind_btCollisionObject_activate_0:dv,_emscripten_bind_btCollisionObject_activate_1:Vt,_emscripten_bind_btCollisionObject_forceActivationState_1:QC,_emscripten_bind_btCollisionObject_getCollisionFlags_0:TE,_emscripten_bind_btCollisionObject_getCollisionShape_0:SE,_emscripten_bind_btCollisionObject_getUserIndex_0:MD,_emscripten_bind_btCollisionObject_getUserPointer_0:kF,_emscripten_bind_btCollisionObject_getWorldTransform_0:oG,_emscripten_bind_btCollisionObject_isActive_0:fC,_emscripten_bind_btCollisionObject_isKinematicObject_0:Wz,_emscripten_bind_btCollisionObject_isStaticObject_0:PA,_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0:Ay,_emscripten_bind_btCollisionObject_setActivationState_1:Ax,_emscripten_bind_btCollisionObject_setAnisotropicFriction_2:Lw,_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:Rz,_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:Az,_emscripten_bind_btCollisionObject_setCollisionFlags_1:BA,_emscripten_bind_btCollisionObject_setCollisionShape_1:ty,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:Zz,_emscripten_bind_btCollisionObject_setFriction_1:eC,_emscripten_bind_btCollisionObject_setRestitution_1:qB,_emscripten_bind_btCollisionObject_setRollingFriction_1:JA,_emscripten_bind_btCollisionObject_setUserIndex_1:yB,_emscripten_bind_btCollisionObject_setUserPointer_1:yB,_emscripten_bind_btCollisionObject_setWorldTransform_1:fz,_emscripten_bind_btCollisionShape___destroy___0:fy,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:Ow,_emscripten_bind_btCollisionShape_getLocalScaling_0:TA,_emscripten_bind_btCollisionShape_getMargin_0:sB,_emscripten_bind_btCollisionShape_setLocalScaling_1:Jy,_emscripten_bind_btCollisionShape_setMargin_1:Cz,_emscripten_bind_btCollisionWorld___destroy___0:fy,_emscripten_bind_btCollisionWorld_addCollisionObject_1:rx,_emscripten_bind_btCollisionWorld_addCollisionObject_2:nw,_emscripten_bind_btCollisionWorld_addCollisionObject_3:rv,_emscripten_bind_btCollisionWorld_contactPairTest_3:sk,_emscripten_bind_btCollisionWorld_contactTest_2:Yn,_emscripten_bind_btCollisionWorld_convexSweepTest_5:Ws,_emscripten_bind_btCollisionWorld_debugDrawObject_3:Av,_emscripten_bind_btCollisionWorld_debugDrawWorld_0:EA,_emscripten_bind_btCollisionWorld_getBroadphase_0:VE,_emscripten_bind_btCollisionWorld_getDebugDrawer_0:pA,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:CD,_emscripten_bind_btCollisionWorld_getDispatcher_0:UE,_emscripten_bind_btCollisionWorld_getPairCache_0:YA,_emscripten_bind_btCollisionWorld_rayTest_3:_v,_emscripten_bind_btCollisionWorld_removeCollisionObject_1:Sx,_emscripten_bind_btCollisionWorld_setDebugDrawer_1:my,_emscripten_bind_btCollisionWorld_updateSingleAabb_1:vy,_emscripten_bind_btCompoundShape___destroy___0:fy,_emscripten_bind_btCompoundShape_addChildShape_2:Ud,_emscripten_bind_btCompoundShape_btCompoundShape_0:dk,_emscripten_bind_btCompoundShape_btCompoundShape_1:Uj,_emscripten_bind_btCompoundShape_calculateLocalInertia_2:Ow,_emscripten_bind_btCompoundShape_getChildShape_1:UA,_emscripten_bind_btCompoundShape_getLocalScaling_0:TA,_emscripten_bind_btCompoundShape_getMargin_0:sB,_emscripten_bind_btCompoundShape_getNumChildShapes_0:mC,_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1:bz,_emscripten_bind_btCompoundShape_setLocalScaling_1:Jy,_emscripten_bind_btCompoundShape_setMargin_1:Cz,_emscripten_bind_btConcaveShape___destroy___0:fy,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:Ow,_emscripten_bind_btConcaveShape_getLocalScaling_0:TA,_emscripten_bind_btConcaveShape_setLocalScaling_1:Jy,_emscripten_bind_btConeShapeX___destroy___0:fy,_emscripten_bind_btConeShapeX_btConeShapeX_2:Ym,_emscripten_bind_btConeShapeX_calculateLocalInertia_2:Ow,_emscripten_bind_btConeShapeX_getLocalScaling_0:TA,_emscripten_bind_btConeShapeX_setLocalScaling_1:Jy,_emscripten_bind_btConeShapeZ___destroy___0:fy,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:Xm,_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:Ow,_emscripten_bind_btConeShapeZ_getLocalScaling_0:TA,_emscripten_bind_btConeShapeZ_setLocalScaling_1:Jy,_emscripten_bind_btConeShape___destroy___0:fy,_emscripten_bind_btConeShape_btConeShape_2:gn,_emscripten_bind_btConeShape_calculateLocalInertia_2:Ow,_emscripten_bind_btConeShape_getLocalScaling_0:TA,_emscripten_bind_btConeShape_setLocalScaling_1:Jy,_emscripten_bind_btConeTwistConstraint___destroy___0:fy,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:ph,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:Qg,_emscripten_bind_btConeTwistConstraint_enableFeedback_1:sA,_emscripten_bind_btConeTwistConstraint_enableMotor_1:jA,_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:wz,_emscripten_bind_btConeTwistConstraint_getParam_2:Sw,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:Bz,_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:gA,_emscripten_bind_btConeTwistConstraint_setDamping_1:SA,_emscripten_bind_btConeTwistConstraint_setLimit_2:Xy,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:Ex,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:hz,_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:fw,_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:Fi,_emscripten_bind_btConeTwistConstraint_setParam_3:ew,_emscripten_bind_btConstraintSetting___destroy___0:_E,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:FA,_emscripten_bind_btConstraintSetting_get_m_damping_0:dI,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:qI,_emscripten_bind_btConstraintSetting_get_m_tau_0:TG,_emscripten_bind_btConstraintSetting_set_m_damping_1:CH,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:BH,_emscripten_bind_btConstraintSetting_set_m_tau_1:$H,_emscripten_bind_btConstraintSolver___destroy___0:fy,_emscripten_bind_btContactSolverInfo___destroy___0:_E,_emscripten_bind_btContactSolverInfo_get_m_numIterations_0:KH,_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:aC,_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:DD,_emscripten_bind_btContactSolverInfo_set_m_numIterations_1:pF,_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1:sz,_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:UB,_emscripten_bind_btConvexHullShape___destroy___0:fy,_emscripten_bind_btConvexHullShape_addPoint_1:iA,_emscripten_bind_btConvexHullShape_addPoint_2:qy,_emscripten_bind_btConvexHullShape_btConvexHullShape_0:by,_emscripten_bind_btConvexHullShape_btConvexHullShape_1:Nw,_emscripten_bind_btConvexHullShape_btConvexHullShape_2:Wv,_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:Ow,_emscripten_bind_btConvexHullShape_getLocalScaling_0:TA,_emscripten_bind_btConvexHullShape_getMargin_0:sB,_emscripten_bind_btConvexHullShape_getNumVertices_0:dA,_emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1:ex,_emscripten_bind_btConvexHullShape_setLocalScaling_1:Jy,_emscripten_bind_btConvexHullShape_setMargin_1:Cz,_emscripten_bind_btConvexShape___destroy___0:fy,_emscripten_bind_btConvexShape_calculateLocalInertia_2:Ow,_emscripten_bind_btConvexShape_getLocalScaling_0:TA,_emscripten_bind_btConvexShape_getMargin_0:sB,_emscripten_bind_btConvexShape_setLocalScaling_1:Jy,_emscripten_bind_btConvexShape_setMargin_1:Cz,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:fy,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:rm,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:Xl,_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:Ow,_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0:TA,_emscripten_bind_btConvexTriangleMeshShape_getMargin_0:sB,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:Jy,_emscripten_bind_btConvexTriangleMeshShape_setMargin_1:Cz,_emscripten_bind_btCylinderShapeX___destroy___0:fy,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:Ou,_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:Ow,_emscripten_bind_btCylinderShapeX_getLocalScaling_0:TA,_emscripten_bind_btCylinderShapeX_getMargin_0:sB,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:Jy,_emscripten_bind_btCylinderShapeX_setMargin_1:Cz,_emscripten_bind_btCylinderShapeZ___destroy___0:fy,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:Nu,_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:Ow,_emscripten_bind_btCylinderShapeZ_getLocalScaling_0:TA,_emscripten_bind_btCylinderShapeZ_getMargin_0:sB,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:Jy,_emscripten_bind_btCylinderShapeZ_setMargin_1:Cz,_emscripten_bind_btCylinderShape___destroy___0:fy,_emscripten_bind_btCylinderShape_btCylinderShape_1:Px,_emscripten_bind_btCylinderShape_calculateLocalInertia_2:Ow,_emscripten_bind_btCylinderShape_getLocalScaling_0:TA,_emscripten_bind_btCylinderShape_getMargin_0:sB,_emscripten_bind_btCylinderShape_setLocalScaling_1:Jy,_emscripten_bind_btCylinderShape_setMargin_1:Cz,_emscripten_bind_btDbvtBroadphase___destroy___0:fy,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:Iy,_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:fy,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:zr,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:wu,_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:_E,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:Jw,_emscripten_bind_btDefaultMotionState___destroy___0:fy,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:ot,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:Tt,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:Vu,_emscripten_bind_btDefaultMotionState_getWorldTransform_1:ly,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:hK,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:ty,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:Uz,_emscripten_bind_btDefaultSoftBodySolver___destroy___0:fy,_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0:lr,_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:fy,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:qw,_emscripten_bind_btDefaultVehicleRaycaster_castRay_3:Mv,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:fy,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:Py,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:Mw,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:Vv,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:rv,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:Dx,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:rw,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:Vx,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:nv,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:Sr,_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:sk,_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2:Yn,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:Ws,_emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3:Av,_emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0:EA,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:VE,_emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0:pA,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:CD,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:UE,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:Gp,_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:YA,_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:gD,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:_v,_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1:wy,_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1:Sx,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:Gx,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:Jx,_emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1:my,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:ay,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:pw,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:sv,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:xv,_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1:vy,_emscripten_bind_btDispatcherInfo___destroy___0:_E,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:iI,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:VH,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:LF,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:HE,_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:ID,_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:dH,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:hI,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:TG,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:ZD,_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:AB,_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:dF,_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:ZF,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:OF,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:NC,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:HC,_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:$B,_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:_C,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:bH,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:$H,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:lC,_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:cA,_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:RC,_emscripten_bind_btDispatcher___destroy___0:fy,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:Fx,_emscripten_bind_btDispatcher_getNumManifolds_0:vB,_emscripten_bind_btDynamicsWorld___destroy___0:fy,_emscripten_bind_btDynamicsWorld_addAction_1:Py,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:rx,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:nw,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:rv,_emscripten_bind_btDynamicsWorld_contactPairTest_3:sk,_emscripten_bind_btDynamicsWorld_contactTest_2:Yn,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:Ws,_emscripten_bind_btDynamicsWorld_debugDrawObject_3:Av,_emscripten_bind_btDynamicsWorld_debugDrawWorld_0:EA,_emscripten_bind_btDynamicsWorld_getBroadphase_0:VE,_emscripten_bind_btDynamicsWorld_getDebugDrawer_0:pA,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:CD,_emscripten_bind_btDynamicsWorld_getDispatcher_0:UE,_emscripten_bind_btDynamicsWorld_getPairCache_0:YA,_emscripten_bind_btDynamicsWorld_getSolverInfo_0:gD,_emscripten_bind_btDynamicsWorld_rayTest_3:_v,_emscripten_bind_btDynamicsWorld_removeAction_1:wy,_emscripten_bind_btDynamicsWorld_removeCollisionObject_1:Sx,_emscripten_bind_btDynamicsWorld_setDebugDrawer_1:my,_emscripten_bind_btDynamicsWorld_updateSingleAabb_1:vy,_emscripten_bind_btFixedConstraint___destroy___0:fy,_emscripten_bind_btFixedConstraint_btFixedConstraint_4:Ji,_emscripten_bind_btFixedConstraint_enableFeedback_1:sA,_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0:wz,_emscripten_bind_btFixedConstraint_getParam_2:Sw,_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1:gA,_emscripten_bind_btFixedConstraint_setParam_3:ew,_emscripten_bind_btGImpactCollisionAlgorithm___destroy___0:fy,_emscripten_bind_btGImpactCollisionAlgorithm_registerAlgorithm_1:Ew,_emscripten_bind_btGImpactMeshShape___destroy___0:fy,_emscripten_bind_btGImpactMeshShape_btGImpactMeshShape_1:dw,_emscripten_bind_btGImpactMeshShape_calculateLocalInertia_2:Ow,_emscripten_bind_btGImpactMeshShape_getLocalScaling_0:TA,_emscripten_bind_btGImpactMeshShape_setLocalScaling_1:Jy,_emscripten_bind_btGImpactMeshShape_updateBound_0:GC,_emscripten_bind_btGeneric6DofConstraint___destroy___0:fy,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:nt,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:$r,_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:sA,_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:wz,_emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0:JF,_emscripten_bind_btGeneric6DofConstraint_getParam_2:Sw,_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:qx,_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:px,_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:gA,_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:Cx,_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:Bx,_emscripten_bind_btGeneric6DofConstraint_setParam_3:ew,_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:fy,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:tm,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:Zl,_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:sA,_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:Ps,_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:wz,_emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0:JF,_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2:Sw,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:qx,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:px,_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:gA,_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:az,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:Cx,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:Bx,_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3:ew,_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:Ty,_emscripten_bind_btGhostObject___destroy___0:dy,_emscripten_bind_btGhostObject_activate_0:dv,_emscripten_bind_btGhostObject_activate_1:Vt,_emscripten_bind_btGhostObject_btGhostObject_0:tj,_emscripten_bind_btGhostObject_forceActivationState_1:QC,_emscripten_bind_btGhostObject_getCollisionFlags_0:TE,_emscripten_bind_btGhostObject_getCollisionShape_0:SE,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:fB,_emscripten_bind_btGhostObject_getOverlappingObject_1:Jz,_emscripten_bind_btGhostObject_getUserIndex_0:MD,_emscripten_bind_btGhostObject_getUserPointer_0:kF,_emscripten_bind_btGhostObject_getWorldTransform_0:oG,_emscripten_bind_btGhostObject_isActive_0:fC,_emscripten_bind_btGhostObject_isKinematicObject_0:Wz,_emscripten_bind_btGhostObject_isStaticObject_0:PA,_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0:Ay,_emscripten_bind_btGhostObject_setActivationState_1:Ax,_emscripten_bind_btGhostObject_setAnisotropicFriction_2:Lw,_emscripten_bind_btGhostObject_setCcdMotionThreshold_1:Rz,_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:Az,_emscripten_bind_btGhostObject_setCollisionFlags_1:BA,_emscripten_bind_btGhostObject_setCollisionShape_1:ty,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:Zz,_emscripten_bind_btGhostObject_setFriction_1:eC,_emscripten_bind_btGhostObject_setRestitution_1:qB,_emscripten_bind_btGhostObject_setRollingFriction_1:JA,_emscripten_bind_btGhostObject_setUserIndex_1:yB,_emscripten_bind_btGhostObject_setUserPointer_1:yB,_emscripten_bind_btGhostObject_setWorldTransform_1:fz,_emscripten_bind_btGhostPairCallback___destroy___0:fy,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:MA,_emscripten_bind_btHeightfieldTerrainShape___destroy___0:fy,_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9:fh,_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2:Ow,_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0:TA,_emscripten_bind_btHeightfieldTerrainShape_getMargin_0:sB,_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1:Jy,_emscripten_bind_btHeightfieldTerrainShape_setMargin_1:Cz,_emscripten_bind_btHingeConstraint___destroy___0:fy,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:wg,_emscripten_bind_btHingeConstraint_btHingeConstraint_3:ug,_emscripten_bind_btHingeConstraint_btHingeConstraint_4:Zg,_emscripten_bind_btHingeConstraint_btHingeConstraint_5:Vg,_emscripten_bind_btHingeConstraint_btHingeConstraint_6:Xr,_emscripten_bind_btHingeConstraint_btHingeConstraint_7:ur,_emscripten_bind_btHingeConstraint_enableAngularMotor_3:Aw,_emscripten_bind_btHingeConstraint_enableFeedback_1:sA,_emscripten_bind_btHingeConstraint_enableMotor_1:cB,_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:wz,_emscripten_bind_btHingeConstraint_getParam_2:Sw,_emscripten_bind_btHingeConstraint_setAngularOnly_1:xA,_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:gA,_emscripten_bind_btHingeConstraint_setLimit_4:xw,_emscripten_bind_btHingeConstraint_setLimit_5:Rv,_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1:Pz,_emscripten_bind_btHingeConstraint_setMotorTarget_2:qj,_emscripten_bind_btHingeConstraint_setParam_3:ew,_emscripten_bind_btIDebugDraw___destroy___0:fy,_emscripten_bind_btIDebugDraw_draw3dText_2:kx,_emscripten_bind_btIDebugDraw_drawContactPoint_5:Qt,_emscripten_bind_btIDebugDraw_drawLine_3:gw,_emscripten_bind_btIDebugDraw_getDebugMode_0:ZA,_emscripten_bind_btIDebugDraw_reportErrorWarning_1:ny,_emscripten_bind_btIDebugDraw_setDebugMode_1:Uy,_emscripten_bind_btKinematicCharacterController___destroy___0:fy,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:Rk,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:Kk,_emscripten_bind_btKinematicCharacterController_canJump_0:xz,_emscripten_bind_btKinematicCharacterController_getGhostObject_0:LF,_emscripten_bind_btKinematicCharacterController_getGravity_0:TH,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:VH,_emscripten_bind_btKinematicCharacterController_jump_0:Tz,_emscripten_bind_btKinematicCharacterController_onGround_0:ZA,_emscripten_bind_btKinematicCharacterController_playerStep_2:sw,_emscripten_bind_btKinematicCharacterController_preStep_1:Ox,_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:VF,_emscripten_bind_btKinematicCharacterController_setGravity_1:vG,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:ZF,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:XF,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:ey,_emscripten_bind_btKinematicCharacterController_setUpAxis_1:Wy,_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1:dx,_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:gx,_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:Iv,_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:my,_emscripten_bind_btKinematicCharacterController_updateAction_2:fx,_emscripten_bind_btKinematicCharacterController_warp_1:Xx,_emscripten_bind_btManifoldPoint___destroy___0:_E,_emscripten_bind_btManifoldPoint_getAppliedImpulse_0:LA,_emscripten_bind_btManifoldPoint_getDistance_0:mB,_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:JF,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:OB,_emscripten_bind_btManifoldPoint_get_m_localPointA_0:DK,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:DH,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:ZG,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:AJ,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:xI,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:Bt,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:ht,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:at,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:rt,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:Ys,_emscripten_bind_btMatrix3x3___destroy___0:_E,_emscripten_bind_btMatrix3x3_getRotation_1:RA,_emscripten_bind_btMatrix3x3_getRow_1:Cr,_emscripten_bind_btMatrix3x3_setEulerZYX_3:Dy,_emscripten_bind_btMotionState___destroy___0:fy,_emscripten_bind_btMotionState_getWorldTransform_1:ly,_emscripten_bind_btMotionState_setWorldTransform_1:ty,_emscripten_bind_btOverlappingPairCache___destroy___0:fy,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:Gx,_emscripten_bind_btOverlappingPairCallback___destroy___0:fy,_emscripten_bind_btPairCachingGhostObject___destroy___0:dy,_emscripten_bind_btPairCachingGhostObject_activate_0:dv,_emscripten_bind_btPairCachingGhostObject_activate_1:Vt,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:ui,_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:QC,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:TE,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:SE,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:fB,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:Jz,_emscripten_bind_btPairCachingGhostObject_getUserIndex_0:MD,_emscripten_bind_btPairCachingGhostObject_getUserPointer_0:kF,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:oG,_emscripten_bind_btPairCachingGhostObject_isActive_0:fC,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:Wz,_emscripten_bind_btPairCachingGhostObject_isStaticObject_0:PA,_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0:Ay,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:Ax,_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:Lw,_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:Rz,_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:Az,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:BA,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:ty,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:Zz,_emscripten_bind_btPairCachingGhostObject_setFriction_1:eC,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:qB,_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:JA,_emscripten_bind_btPairCachingGhostObject_setUserIndex_1:yB,_emscripten_bind_btPairCachingGhostObject_setUserPointer_1:yB,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:fz,_emscripten_bind_btPersistentManifold___destroy___0:BC,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:yj,_emscripten_bind_btPersistentManifold_getBody0_0:GE,_emscripten_bind_btPersistentManifold_getBody1_0:FE,_emscripten_bind_btPersistentManifold_getContactPoint_1:rz,_emscripten_bind_btPersistentManifold_getNumContacts_0:HD,_emscripten_bind_btPoint2PointConstraint___destroy___0:fy,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:zk,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:Tk,_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:sA,_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:wz,_emscripten_bind_btPoint2PointConstraint_getParam_2:Sw,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:NB,_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:MB,_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:SG,_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:gA,_emscripten_bind_btPoint2PointConstraint_setParam_3:ew,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:mz,_emscripten_bind_btPoint2PointConstraint_setPivotB_1:lz,_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:qu,_emscripten_bind_btQuadWord___destroy___0:_E,_emscripten_bind_btQuadWord_setW_1:cF,_emscripten_bind_btQuadWord_setX_1:vF,_emscripten_bind_btQuadWord_setY_1:uF,_emscripten_bind_btQuadWord_setZ_1:tF,_emscripten_bind_btQuadWord_w_0:IF,_emscripten_bind_btQuadWord_x_0:mH,_emscripten_bind_btQuadWord_y_0:HF,_emscripten_bind_btQuadWord_z_0:GF,_emscripten_bind_btQuaternion___destroy___0:_E,_emscripten_bind_btQuaternion_angleShortestPath_1:hA,_emscripten_bind_btQuaternion_angle_1:PC,_emscripten_bind_btQuaternion_btQuaternion_4:aq,_emscripten_bind_btQuaternion_dot_1:uD,_emscripten_bind_btQuaternion_getAngleShortestPath_0:kC,_emscripten_bind_btQuaternion_getAngle_0:MC,_emscripten_bind_btQuaternion_getAxis_0:sq,_emscripten_bind_btQuaternion_inverse_0:rq,_emscripten_bind_btQuaternion_length2_0:UF,_emscripten_bind_btQuaternion_length_0:pG,_emscripten_bind_btQuaternion_normalize_0:KF,_emscripten_bind_btQuaternion_normalized_0:gq,_emscripten_bind_btQuaternion_op_add_1:tD,_emscripten_bind_btQuaternion_op_div_1:YD,_emscripten_bind_btQuaternion_op_mul_1:Uu,_emscripten_bind_btQuaternion_op_mulq_1:fD,_emscripten_bind_btQuaternion_op_sub_1:sD,_emscripten_bind_btQuaternion_setEulerZYX_3:Wx,_emscripten_bind_btQuaternion_setRotation_2:Oy,_emscripten_bind_btQuaternion_setValue_4:Kq,_emscripten_bind_btQuaternion_setW_1:cF,_emscripten_bind_btQuaternion_setX_1:vF,_emscripten_bind_btQuaternion_setY_1:uF,_emscripten_bind_btQuaternion_setZ_1:tF,_emscripten_bind_btQuaternion_w_0:IF,_emscripten_bind_btQuaternion_x_0:mH,_emscripten_bind_btQuaternion_y_0:HF,_emscripten_bind_btQuaternion_z_0:GF,_emscripten_bind_btRaycastVehicle___destroy___0:fy,_emscripten_bind_btRaycastVehicle_addWheel_7:ae,_emscripten_bind_btRaycastVehicle_applyEngineForce_2:nx,_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:Kl,_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0:ZC,_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0:bA,_emscripten_bind_btRaycastVehicle_getForwardAxis_0:jE,_emscripten_bind_btRaycastVehicle_getForwardVector_0:np,_emscripten_bind_btRaycastVehicle_getNumWheels_0:YC,_emscripten_bind_btRaycastVehicle_getRightAxis_0:EE,_emscripten_bind_btRaycastVehicle_getRigidBody_0:DE,_emscripten_bind_btRaycastVehicle_getSteeringValue_1:Hy,_emscripten_bind_btRaycastVehicle_getUpAxis_0:bF,_emscripten_bind_btRaycastVehicle_getUserConstraintId_0:GD,_emscripten_bind_btRaycastVehicle_getUserConstraintType_0:rD,_emscripten_bind_btRaycastVehicle_getWheelInfo_1:bB,_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:Iz,_emscripten_bind_btRaycastVehicle_rayCast_1:KA,_emscripten_bind_btRaycastVehicle_resetSuspension_0:Bm,_emscripten_bind_btRaycastVehicle_setBrake_2:Ux,_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:mv,_emscripten_bind_btRaycastVehicle_setPitchControl_1:QA,_emscripten_bind_btRaycastVehicle_setSteeringValue_2:mx,_emscripten_bind_btRaycastVehicle_setUserConstraintId_1:Sz,_emscripten_bind_btRaycastVehicle_setUserConstraintType_1:Hz,_emscripten_bind_btRaycastVehicle_updateAction_2:fx,_emscripten_bind_btRaycastVehicle_updateFriction_1:Cy,_emscripten_bind_btRaycastVehicle_updateSuspension_1:gm,_emscripten_bind_btRaycastVehicle_updateVehicle_1:Gy,_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:Tu,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1:iw,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2:iv,_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:_E,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:Eo,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:ns,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:zB,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:XA,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:sC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:_B,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:aB,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:BD,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:jC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:iE,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:SH,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:rC,_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:ND,_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:eD,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:Ez,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:gz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:wA,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:DA,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:kz,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:rB,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:oA,_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:ZB,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:MF,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:vA,_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:IB,_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:ME,_emscripten_bind_btRigidBody___destroy___0:dy,_emscripten_bind_btRigidBody_activate_0:dv,_emscripten_bind_btRigidBody_activate_1:Vt,_emscripten_bind_btRigidBody_applyCentralForce_1:Nv,_emscripten_bind_btRigidBody_applyCentralImpulse_1:wv,_emscripten_bind_btRigidBody_applyCentralLocalForce_1:ev,_emscripten_bind_btRigidBody_applyForce_2:Sy,_emscripten_bind_btRigidBody_applyGravity_0:sp,_emscripten_bind_btRigidBody_applyImpulse_2:uy,_emscripten_bind_btRigidBody_applyLocalTorque_1:Qv,_emscripten_bind_btRigidBody_applyTorqueImpulse_1:Fv,_emscripten_bind_btRigidBody_applyTorque_1:mw,_emscripten_bind_btRigidBody_btRigidBody_1:fj,_emscripten_bind_btRigidBody_forceActivationState_1:QC,_emscripten_bind_btRigidBody_getAabb_2:vu,_emscripten_bind_btRigidBody_getAngularVelocity_0:OC,_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:oG,_emscripten_bind_btRigidBody_getCollisionFlags_0:TE,_emscripten_bind_btRigidBody_getCollisionShape_0:SE,_emscripten_bind_btRigidBody_getGravity_0:lF,_emscripten_bind_btRigidBody_getLinearVelocity_0:XC,_emscripten_bind_btRigidBody_getMotionState_0:aF,_emscripten_bind_btRigidBody_getUserIndex_0:MD,_emscripten_bind_btRigidBody_getUserPointer_0:kF,_emscripten_bind_btRigidBody_getWorldTransform_0:oG,_emscripten_bind_btRigidBody_isActive_0:fC,_emscripten_bind_btRigidBody_isKinematicObject_0:Wz,_emscripten_bind_btRigidBody_isStaticObject_0:PA,_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0:Ay,_emscripten_bind_btRigidBody_setActivationState_1:Ax,_emscripten_bind_btRigidBody_setAngularFactor_1:aA,_emscripten_bind_btRigidBody_setAngularVelocity_1:Dz,_emscripten_bind_btRigidBody_setAnisotropicFriction_2:Lw,_emscripten_bind_btRigidBody_setCcdMotionThreshold_1:Rz,_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:Az,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:ky,_emscripten_bind_btRigidBody_setCollisionFlags_1:BA,_emscripten_bind_btRigidBody_setCollisionShape_1:ty,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:Zz,_emscripten_bind_btRigidBody_setDamping_2:Mo,_emscripten_bind_btRigidBody_setFriction_1:eC,_emscripten_bind_btRigidBody_setGravity_1:On,_emscripten_bind_btRigidBody_setLinearFactor_1:nA,_emscripten_bind_btRigidBody_setLinearVelocity_1:Oz,_emscripten_bind_btRigidBody_setMassProps_2:vk,_emscripten_bind_btRigidBody_setMotionState_1:$z,_emscripten_bind_btRigidBody_setRestitution_1:qB,_emscripten_bind_btRigidBody_setRollingFriction_1:JA,_emscripten_bind_btRigidBody_setSleepingThresholds_2:By,_emscripten_bind_btRigidBody_setUserIndex_1:yB,_emscripten_bind_btRigidBody_setUserPointer_1:yB,_emscripten_bind_btRigidBody_setWorldTransform_1:fz,_emscripten_bind_btRigidBody_upcast_1:HB,_emscripten_bind_btRigidBody_updateInertiaTensor_0:nk,_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:fy,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:Ek,_emscripten_bind_btShapeHull___destroy___0:ai,_emscripten_bind_btShapeHull_btShapeHull_1:Iq,_emscripten_bind_btShapeHull_buildHull_1:yd,_emscripten_bind_btShapeHull_getVertexPointer_0:qD,_emscripten_bind_btShapeHull_numVertices_0:dH,_emscripten_bind_btSliderConstraint___destroy___0:fy,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:we,_emscripten_bind_btSliderConstraint_btSliderConstraint_5:Lf,_emscripten_bind_btSliderConstraint_enableFeedback_1:sA,_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:wz,_emscripten_bind_btSliderConstraint_getParam_2:Sw,_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:gA,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:_z,_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:Zz,_emscripten_bind_btSliderConstraint_setParam_3:ew,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:Yz,_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:Xz,_emscripten_bind_btSoftBodyArray___destroy___0:dz,_emscripten_bind_btSoftBodyArray_at_1:zx,_emscripten_bind_btSoftBodyArray_size_0:NG,_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4:yh,_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4:Nt,_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5:Qd,_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10:jd,_emscripten_bind_btSoftBodyHelpers_CreatePatch_9:td,_emscripten_bind_btSoftBodyHelpers_CreateRope_5:$g,_emscripten_bind_btSoftBodyHelpers___destroy___0:_E,_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0:UI,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0:fy,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0:Tq,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1:wt,_emscripten_bind_btSoftBodySolver___destroy___0:fy,_emscripten_bind_btSoftBodyWorldInfo___destroy___0:$y,_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0:uA,_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0:TG,_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0:xF,_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0:wF,_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0:pJ,_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0:hI,_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0:dI,_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0:DH,_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0:qI,_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1:$H,_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1:DC,_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1:CC,_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1:Ct,_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1:bH,_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1:CH,_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1:ht,_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1:BH,_emscripten_bind_btSoftBody___destroy___0:dy,_emscripten_bind_btSoftBody_activate_0:dv,_emscripten_bind_btSoftBody_activate_1:Vt,_emscripten_bind_btSoftBody_addAeroForceToNode_2:Tx,_emscripten_bind_btSoftBody_addForce_1:un,_emscripten_bind_btSoftBody_addForce_2:Ko,_emscripten_bind_btSoftBody_appendAnchor_4:mg,_emscripten_bind_btSoftBody_appendFace_4:cw,_emscripten_bind_btSoftBody_appendLink_4:bw,_emscripten_bind_btSoftBody_appendMaterial_0:qE,_emscripten_bind_btSoftBody_appendNode_2:$c,_emscripten_bind_btSoftBody_appendTetra_5:_f,_emscripten_bind_btSoftBody_btSoftBody_4:Ht,_emscripten_bind_btSoftBody_checkFace_3:tl,_emscripten_bind_btSoftBody_checkLink_2:Am,_emscripten_bind_btSoftBody_forceActivationState_1:QC,_emscripten_bind_btSoftBody_generateBendingConstraints_2:Yc,_emscripten_bind_btSoftBody_generateClusters_1:CA,_emscripten_bind_btSoftBody_generateClusters_2:Vy,_emscripten_bind_btSoftBody_getCollisionFlags_0:TE,_emscripten_bind_btSoftBody_getCollisionShape_0:SE,_emscripten_bind_btSoftBody_getTotalMass_0:cq,_emscripten_bind_btSoftBody_getUserIndex_0:MD,_emscripten_bind_btSoftBody_getUserPointer_0:kF,_emscripten_bind_btSoftBody_getWorldTransform_0:oG,_emscripten_bind_btSoftBody_get_m_anchors_0:BI,_emscripten_bind_btSoftBody_get_m_cfg_0:TI,_emscripten_bind_btSoftBody_get_m_materials_0:oI,_emscripten_bind_btSoftBody_get_m_nodes_0:JI,_emscripten_bind_btSoftBody_isActive_0:fC,_emscripten_bind_btSoftBody_isKinematicObject_0:Wz,_emscripten_bind_btSoftBody_isStaticObject_0:PA,_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0:Ay,_emscripten_bind_btSoftBody_rotate_1:Ik,_emscripten_bind_btSoftBody_scale_1:df,_emscripten_bind_btSoftBody_setActivationState_1:Ax,_emscripten_bind_btSoftBody_setAnisotropicFriction_2:Lw,_emscripten_bind_btSoftBody_setCcdMotionThreshold_1:Rz,_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1:Az,_emscripten_bind_btSoftBody_setCollisionFlags_1:BA,_emscripten_bind_btSoftBody_setCollisionShape_1:ty,_emscripten_bind_btSoftBody_setContactProcessingThreshold_1:Zz,_emscripten_bind_btSoftBody_setFriction_1:eC,_emscripten_bind_btSoftBody_setMass_2:Hv,_emscripten_bind_btSoftBody_setRestitution_1:qB,_emscripten_bind_btSoftBody_setRollingFriction_1:JA,_emscripten_bind_btSoftBody_setTotalMass_2:Fh,_emscripten_bind_btSoftBody_setUserIndex_1:yB,_emscripten_bind_btSoftBody_setUserPointer_1:yB,_emscripten_bind_btSoftBody_setWorldTransform_1:fz,_emscripten_bind_btSoftBody_set_m_anchors_1:Fy,_emscripten_bind_btSoftBody_set_m_cfg_1:GB,_emscripten_bind_btSoftBody_set_m_materials_1:iy,_emscripten_bind_btSoftBody_set_m_nodes_1:_y,_emscripten_bind_btSoftBody_transform_1:xB,_emscripten_bind_btSoftBody_translate_1:Mm,_emscripten_bind_btSoftBody_upcast_1:TB,_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0:fy,_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1:Py,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1:Mw,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2:Vv,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3:rv,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1:Dx,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2:rw,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1:Vx,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3:nv,_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3:Qj,_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5:Of,_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3:sk,_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2:Yn,_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5:Ws,_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3:Av,_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0:EA,_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0:VE,_emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0:pA,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0:CD,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0:UE,_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0:Ep,_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0:YA,_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0:IA,_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0:gD,_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0:pB,_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3:_v,_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1:wy,_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1:Sx,_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1:Gx,_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1:Jx,_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1:kj,_emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1:my,_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1:ay,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1:pw,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2:sv,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3:xv,_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1:vy,_emscripten_bind_btSphereShape___destroy___0:fy,_emscripten_bind_btSphereShape_btSphereShape_1:ez,_emscripten_bind_btSphereShape_calculateLocalInertia_2:Ow,_emscripten_bind_btSphereShape_getLocalScaling_0:TA,_emscripten_bind_btSphereShape_getMargin_0:sB,_emscripten_bind_btSphereShape_setLocalScaling_1:Jy,_emscripten_bind_btSphereShape_setMargin_1:Cz,_emscripten_bind_btStaticPlaneShape___destroy___0:fy,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:Km,_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:Ow,_emscripten_bind_btStaticPlaneShape_getLocalScaling_0:TA,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:Jy,_emscripten_bind_btStridingMeshInterface___destroy___0:fy,_emscripten_bind_btTransform___destroy___0:_E,_emscripten_bind_btTransform_btTransform_0:xJ,_emscripten_bind_btTransform_btTransform_2:Iw,_emscripten_bind_btTransform_getBasis_0:II,_emscripten_bind_btTransform_getOrigin_0:JF,_emscripten_bind_btTransform_getRotation_0:fq,_emscripten_bind_btTransform_setFromOpenGLMatrix_1:tA,_emscripten_bind_btTransform_setIdentity_0:rF,_emscripten_bind_btTransform_setOrigin_1:FB,_emscripten_bind_btTransform_setRotation_1:SB,_emscripten_bind_btTriangleMeshShape___destroy___0:fy,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:Ow,_emscripten_bind_btTriangleMeshShape_getLocalScaling_0:TA,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:Jy,_emscripten_bind_btTriangleMesh___destroy___0:fy,_emscripten_bind_btTriangleMesh_addTriangle_3:zo,_emscripten_bind_btTriangleMesh_addTriangle_4:ho,_emscripten_bind_btTriangleMesh_btTriangleMesh_0:zy,_emscripten_bind_btTriangleMesh_btTriangleMesh_1:lx,_emscripten_bind_btTriangleMesh_btTriangleMesh_2:lw,_emscripten_bind_btTypedConstraint___destroy___0:fy,_emscripten_bind_btTypedConstraint_enableFeedback_1:sA,_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:wz,_emscripten_bind_btTypedConstraint_getParam_2:Sw,_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:gA,_emscripten_bind_btTypedConstraint_setParam_3:ew,_emscripten_bind_btVector3___destroy___0:BC,_emscripten_bind_btVector3_btVector3_0:hJ,_emscripten_bind_btVector3_btVector3_3:or,_emscripten_bind_btVector3_dot_1:Gu,_emscripten_bind_btVector3_length_0:zz,_emscripten_bind_btVector3_normalize_0:KG,_emscripten_bind_btVector3_op_add_1:pE,_emscripten_bind_btVector3_op_mul_1:cv,_emscripten_bind_btVector3_op_sub_1:oE,_emscripten_bind_btVector3_rotate_2:Rp,_emscripten_bind_btVector3_setValue_3:bs,_emscripten_bind_btVector3_setX_1:vF,_emscripten_bind_btVector3_setY_1:uF,_emscripten_bind_btVector3_setZ_1:tF,_emscripten_bind_btVector3_x_0:mH,_emscripten_bind_btVector3_y_0:HF,_emscripten_bind_btVector3_z_0:GF,_emscripten_bind_btVector4___destroy___0:BC,_emscripten_bind_btVector4_btVector4_0:hJ,_emscripten_bind_btVector4_btVector4_4:$p,_emscripten_bind_btVector4_dot_1:Gu,_emscripten_bind_btVector4_length_0:zz,_emscripten_bind_btVector4_normalize_0:KG,_emscripten_bind_btVector4_op_add_1:pE,_emscripten_bind_btVector4_op_mul_1:cv,_emscripten_bind_btVector4_op_sub_1:oE,_emscripten_bind_btVector4_rotate_2:Qp,_emscripten_bind_btVector4_setValue_4:Kq,_emscripten_bind_btVector4_setX_1:vF,_emscripten_bind_btVector4_setY_1:uF,_emscripten_bind_btVector4_setZ_1:tF,_emscripten_bind_btVector4_w_0:IF,_emscripten_bind_btVector4_x_0:mH,_emscripten_bind_btVector4_y_0:HF,_emscripten_bind_btVector4_z_0:GF,_emscripten_bind_btVehicleRaycasterResult___destroy___0:_E,_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0:fI,_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0:DH,_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0:DK,_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1:XF,_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1:ht,_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1:Bt,_emscripten_bind_btVehicleRaycaster___destroy___0:fy,_emscripten_bind_btVehicleRaycaster_castRay_3:Mv,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:Nz,_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:gI,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:eI,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:hI,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:dI,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:qI,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:TG,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:YF,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:WF,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:bH,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:CH,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:BH,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:$H,_emscripten_bind_btWheelInfoConstructionInfo___destroy___0:_E,_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0:AC,_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0:DK,_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0:_H,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0:oH,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0:vH,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0:WH,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0:uH,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0:xI,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0:DH,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0:wH,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0:_G,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0:$G,_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1:$A,_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1:Bt,_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1:dG,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1:gF,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1:nF,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1:PF,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1:mF,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1:Ys,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1:ht,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1:oF,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1:YE,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1:ZE,_emscripten_bind_btWheelInfo___destroy___0:_E,_emscripten_bind_btWheelInfo_btWheelInfo_1:cy,_emscripten_bind_btWheelInfo_getSuspensionRestLength_0:qF,_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:CE,_emscripten_bind_btWheelInfo_get_m_brake_0:RG,_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:MH,_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0:pD,_emscripten_bind_btWheelInfo_get_m_deltaRotation_0:TF,_emscripten_bind_btWheelInfo_get_m_engineForce_0:nG,_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:fG,_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:jF,_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:RE,_emscripten_bind_btWheelInfo_get_m_raycastInfo_0:DK,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:SF,_emscripten_bind_btWheelInfo_get_m_rotation_0:FG,_emscripten_bind_btWheelInfo_get_m_skidInfo_0:EG,_emscripten_bind_btWheelInfo_get_m_steering_0:DG,_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0:XD,_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:qF,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:$E,_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0:JH,_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0:cH,_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:hE,_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:nE,_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:eG,_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:QE,_emscripten_bind_btWheelInfo_get_m_worldTransform_0:$I,_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:FC,_emscripten_bind_btWheelInfo_set_m_brake_1:mE,_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:Os,_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1:lB,_emscripten_bind_btWheelInfo_set_m_deltaRotation_1:dD,_emscripten_bind_btWheelInfo_set_m_engineForce_1:AD,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:oD,_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:mD,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:qC,_emscripten_bind_btWheelInfo_set_m_raycastInfo_1:Bu,_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:cD,_emscripten_bind_btWheelInfo_set_m_rotation_1:WD,_emscripten_bind_btWheelInfo_set_m_skidInfo_1:VD,_emscripten_bind_btWheelInfo_set_m_steering_1:UD,_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1:LB,_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:pC,_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:zC,_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1:dt,_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1:Xs,_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:YB,_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:dC,_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:nD,_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:oC,_emscripten_bind_btWheelInfo_set_m_worldTransform_1:jB,_emscripten_bind_btWheelInfo_updateWheel_2:Aj,_emscripten_bind_tAnchorArray___destroy___0:dz,_emscripten_bind_tAnchorArray_at_1:mt,_emscripten_bind_tAnchorArray_clear_0:zD,_emscripten_bind_tAnchorArray_pop_back_0:RB,_emscripten_bind_tAnchorArray_push_back_1:Zy,_emscripten_bind_tAnchorArray_size_0:NG,_emscripten_bind_tMaterialArray___destroy___0:dz,_emscripten_bind_tMaterialArray_at_1:zx,_emscripten_bind_tMaterialArray_size_0:NG,_emscripten_bind_tNodeArray___destroy___0:dz,_emscripten_bind_tNodeArray_at_1:Ry,_emscripten_bind_tNodeArray_size_0:NG,_emscripten_enum_PHY_ScalarType_PHY_DOUBLE:HK,_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88:$J,_emscripten_enum_PHY_ScalarType_PHY_FLOAT:nK,_emscripten_enum_PHY_ScalarType_PHY_INTEGER:jK,_emscripten_enum_PHY_ScalarType_PHY_SHORT:mK,_emscripten_enum_PHY_ScalarType_PHY_UCHAR:lK,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM:mK,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP:HK,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM:$J,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP:jK,_free:Bd,_i64Add:Rx,_i64Subtract:yx,_llvm_bswap_i16:ZI,_llvm_bswap_i32:WC,_malloc:lc,_memcpy:Ki,_memmove:Sq,_memset:Bl,_sbrk:Zp,dynCall_di:sH,dynCall_did:OE,dynCall_diidii:zw,dynCall_diii:AA,dynCall_diiidii:bv,dynCall_diiii:_x,dynCall_diiiii:kw,dynCall_diiiiiiii:gt,dynCall_diiiiiiiii:ls,dynCall_diiiiiiiiii:tr,dynCall_ii:WG,dynCall_iidid:Ny,dynCall_iii:bD,dynCall_iiid:WA,dynCall_iiii:fA,dynCall_iiiii:Nx,dynCall_iiiiiii:Mu,dynCall_iiiiiiiiii:hs,dynCall_iiiiiiiiiii:qr,dynCall_v:iK,dynCall_vi:tI,dynCall_vid:EF,dynCall_vidd:LC,dynCall_viddiii:Uv,dynCall_vidi:WB,dynCall_vidii:jz,dynCall_vii:NE,dynCall_viid:cC,dynCall_viidi:iz,dynCall_viidii:Zw,dynCall_viii:iB,dynCall_viiid:cz,dynCall_viiidii:Ev,dynCall_viiii:sy,dynCall_viiiid:Yw,dynCall_viiiidddddidi:_q,dynCall_viiiiddddiid:Er,dynCall_viiiii:Cw,dynCall_viiiiid:Dv,dynCall_viiiiii:kv,dynCall_viiiiiii:cu,dynCall_viiiiiiiid:Fs,dynCall_viiiiiiiii:zs,dynCall_viiiiiiiiii:Ir,establishStackSpace:IH,getTempRet0:EK,runPostSets:nq,setTempRet0:AK,setThrew:BE,stackAlloc:wB,stackRestore:yK,stackSave:FK}})
|
|
|
|
|
|
// EMSCRIPTEN_END_ASM
|
|
(c.$,c.aa,buffer),Xa=c.__GLOBAL__sub_I_btQuickprof_cpp=l.__GLOBAL__sub_I_btQuickprof_cpp;c.___cxa_can_catch=l.___cxa_can_catch;c.___cxa_is_pointer_type=l.___cxa_is_pointer_type;c.___muldi3=l.___muldi3;c.___udivdi3=l.___udivdi3;c._bitshift64Lshr=l._bitshift64Lshr;c._bitshift64Shl=l._bitshift64Shl;
|
|
var qb=c._emscripten_bind_Anchor___destroy___0=l._emscripten_bind_Anchor___destroy___0,rb=c._emscripten_bind_Anchor_get_m_body_0=l._emscripten_bind_Anchor_get_m_body_0,sb=c._emscripten_bind_Anchor_get_m_c0_0=l._emscripten_bind_Anchor_get_m_c0_0,tb=c._emscripten_bind_Anchor_get_m_c1_0=l._emscripten_bind_Anchor_get_m_c1_0,ub=c._emscripten_bind_Anchor_get_m_c2_0=l._emscripten_bind_Anchor_get_m_c2_0,vb=c._emscripten_bind_Anchor_get_m_influence_0=l._emscripten_bind_Anchor_get_m_influence_0,wb=c._emscripten_bind_Anchor_get_m_local_0=
|
|
l._emscripten_bind_Anchor_get_m_local_0,xb=c._emscripten_bind_Anchor_get_m_node_0=l._emscripten_bind_Anchor_get_m_node_0,yb=c._emscripten_bind_Anchor_set_m_body_1=l._emscripten_bind_Anchor_set_m_body_1,zb=c._emscripten_bind_Anchor_set_m_c0_1=l._emscripten_bind_Anchor_set_m_c0_1,Ab=c._emscripten_bind_Anchor_set_m_c1_1=l._emscripten_bind_Anchor_set_m_c1_1,Bb=c._emscripten_bind_Anchor_set_m_c2_1=l._emscripten_bind_Anchor_set_m_c2_1,Cb=c._emscripten_bind_Anchor_set_m_influence_1=l._emscripten_bind_Anchor_set_m_influence_1,
|
|
Db=c._emscripten_bind_Anchor_set_m_local_1=l._emscripten_bind_Anchor_set_m_local_1,Eb=c._emscripten_bind_Anchor_set_m_node_1=l._emscripten_bind_Anchor_set_m_node_1,Fb=c._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=l._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2,Gb=c._emscripten_bind_ClosestConvexResultCallback___destroy___0=l._emscripten_bind_ClosestConvexResultCallback___destroy___0,Hb=c._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=
|
|
l._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0,Ib=c._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=l._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0,Jb=c._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=l._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0,Kb=c._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=l._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0,
|
|
Lb=c._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=l._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0,Mb=c._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=l._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0,Nb=c._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=l._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0,Ob=c._emscripten_bind_ClosestConvexResultCallback_hasHit_0=l._emscripten_bind_ClosestConvexResultCallback_hasHit_0,
|
|
Pb=c._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=l._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1,Qb=c._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=l._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1,Rb=c._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=l._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1,Tb=c._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=
|
|
l._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1,Ub=c._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=l._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1,Vb=c._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=l._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1,Wb=c._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=l._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1,Xb=c._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=
|
|
l._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2,Yb=c._emscripten_bind_ClosestRayResultCallback___destroy___0=l._emscripten_bind_ClosestRayResultCallback___destroy___0,Zb=c._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0=l._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0,$b=c._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=l._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0,ac=c._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=
|
|
l._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0,bc=c._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=l._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0,cc=c._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=l._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0,dc=c._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=l._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0,ec=c._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=
|
|
l._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0,fc=c._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=l._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0,hc=c._emscripten_bind_ClosestRayResultCallback_hasHit_0=l._emscripten_bind_ClosestRayResultCallback_hasHit_0,ic=c._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1=l._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1,jc=c._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=
|
|
l._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1,kc=c._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=l._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1,lc=c._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=l._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1,mc=c._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=l._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1,nc=c._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=
|
|
l._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1,oc=c._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=l._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1,pc=c._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=l._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1,qc=c._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=l._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0,rc=c._emscripten_bind_ConcreteContactResultCallback___destroy___0=
|
|
l._emscripten_bind_ConcreteContactResultCallback___destroy___0,sc=c._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=l._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7,tc=c._emscripten_bind_Config___destroy___0=l._emscripten_bind_Config___destroy___0,uc=c._emscripten_bind_Config_get_citerations_0=l._emscripten_bind_Config_get_citerations_0,vc=c._emscripten_bind_Config_get_collisions_0=l._emscripten_bind_Config_get_collisions_0,xc=c._emscripten_bind_Config_get_diterations_0=
|
|
l._emscripten_bind_Config_get_diterations_0,yc=c._emscripten_bind_Config_get_kAHR_0=l._emscripten_bind_Config_get_kAHR_0,zc=c._emscripten_bind_Config_get_kCHR_0=l._emscripten_bind_Config_get_kCHR_0,Ac=c._emscripten_bind_Config_get_kDF_0=l._emscripten_bind_Config_get_kDF_0,Bc=c._emscripten_bind_Config_get_kDG_0=l._emscripten_bind_Config_get_kDG_0,Cc=c._emscripten_bind_Config_get_kDP_0=l._emscripten_bind_Config_get_kDP_0,Dc=c._emscripten_bind_Config_get_kKHR_0=l._emscripten_bind_Config_get_kKHR_0,Ec=
|
|
c._emscripten_bind_Config_get_kLF_0=l._emscripten_bind_Config_get_kLF_0,Fc=c._emscripten_bind_Config_get_kMT_0=l._emscripten_bind_Config_get_kMT_0,Gc=c._emscripten_bind_Config_get_kPR_0=l._emscripten_bind_Config_get_kPR_0,Hc=c._emscripten_bind_Config_get_kSHR_0=l._emscripten_bind_Config_get_kSHR_0,Ic=c._emscripten_bind_Config_get_kSKHR_CL_0=l._emscripten_bind_Config_get_kSKHR_CL_0,Jc=c._emscripten_bind_Config_get_kSK_SPLT_CL_0=l._emscripten_bind_Config_get_kSK_SPLT_CL_0,Kc=c._emscripten_bind_Config_get_kSRHR_CL_0=
|
|
l._emscripten_bind_Config_get_kSRHR_CL_0,Lc=c._emscripten_bind_Config_get_kSR_SPLT_CL_0=l._emscripten_bind_Config_get_kSR_SPLT_CL_0,Mc=c._emscripten_bind_Config_get_kSSHR_CL_0=l._emscripten_bind_Config_get_kSSHR_CL_0,Nc=c._emscripten_bind_Config_get_kSS_SPLT_CL_0=l._emscripten_bind_Config_get_kSS_SPLT_CL_0,Oc=c._emscripten_bind_Config_get_kVCF_0=l._emscripten_bind_Config_get_kVCF_0,Pc=c._emscripten_bind_Config_get_kVC_0=l._emscripten_bind_Config_get_kVC_0,Qc=c._emscripten_bind_Config_get_maxvolume_0=
|
|
l._emscripten_bind_Config_get_maxvolume_0,Rc=c._emscripten_bind_Config_get_piterations_0=l._emscripten_bind_Config_get_piterations_0,Sc=c._emscripten_bind_Config_get_timescale_0=l._emscripten_bind_Config_get_timescale_0,Tc=c._emscripten_bind_Config_get_viterations_0=l._emscripten_bind_Config_get_viterations_0,Uc=c._emscripten_bind_Config_set_citerations_1=l._emscripten_bind_Config_set_citerations_1,Vc=c._emscripten_bind_Config_set_collisions_1=l._emscripten_bind_Config_set_collisions_1,Wc=c._emscripten_bind_Config_set_diterations_1=
|
|
l._emscripten_bind_Config_set_diterations_1,Xc=c._emscripten_bind_Config_set_kAHR_1=l._emscripten_bind_Config_set_kAHR_1,Yc=c._emscripten_bind_Config_set_kCHR_1=l._emscripten_bind_Config_set_kCHR_1,Zc=c._emscripten_bind_Config_set_kDF_1=l._emscripten_bind_Config_set_kDF_1,$c=c._emscripten_bind_Config_set_kDG_1=l._emscripten_bind_Config_set_kDG_1,ad=c._emscripten_bind_Config_set_kDP_1=l._emscripten_bind_Config_set_kDP_1,bd=c._emscripten_bind_Config_set_kKHR_1=l._emscripten_bind_Config_set_kKHR_1,cd=
|
|
c._emscripten_bind_Config_set_kLF_1=l._emscripten_bind_Config_set_kLF_1,dd=c._emscripten_bind_Config_set_kMT_1=l._emscripten_bind_Config_set_kMT_1,ed=c._emscripten_bind_Config_set_kPR_1=l._emscripten_bind_Config_set_kPR_1,fd=c._emscripten_bind_Config_set_kSHR_1=l._emscripten_bind_Config_set_kSHR_1,gd=c._emscripten_bind_Config_set_kSKHR_CL_1=l._emscripten_bind_Config_set_kSKHR_CL_1,hd=c._emscripten_bind_Config_set_kSK_SPLT_CL_1=l._emscripten_bind_Config_set_kSK_SPLT_CL_1,id=c._emscripten_bind_Config_set_kSRHR_CL_1=
|
|
l._emscripten_bind_Config_set_kSRHR_CL_1,jd=c._emscripten_bind_Config_set_kSR_SPLT_CL_1=l._emscripten_bind_Config_set_kSR_SPLT_CL_1,kd=c._emscripten_bind_Config_set_kSSHR_CL_1=l._emscripten_bind_Config_set_kSSHR_CL_1,ld=c._emscripten_bind_Config_set_kSS_SPLT_CL_1=l._emscripten_bind_Config_set_kSS_SPLT_CL_1,md=c._emscripten_bind_Config_set_kVCF_1=l._emscripten_bind_Config_set_kVCF_1,nd=c._emscripten_bind_Config_set_kVC_1=l._emscripten_bind_Config_set_kVC_1,od=c._emscripten_bind_Config_set_maxvolume_1=
|
|
l._emscripten_bind_Config_set_maxvolume_1,pd=c._emscripten_bind_Config_set_piterations_1=l._emscripten_bind_Config_set_piterations_1,qd=c._emscripten_bind_Config_set_timescale_1=l._emscripten_bind_Config_set_timescale_1,rd=c._emscripten_bind_Config_set_viterations_1=l._emscripten_bind_Config_set_viterations_1,sd=c._emscripten_bind_ContactResultCallback___destroy___0=l._emscripten_bind_ContactResultCallback___destroy___0,td=c._emscripten_bind_ContactResultCallback_addSingleResult_7=l._emscripten_bind_ContactResultCallback_addSingleResult_7,
|
|
ud=c._emscripten_bind_ConvexResultCallback___destroy___0=l._emscripten_bind_ConvexResultCallback___destroy___0,vd=c._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=l._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0,wd=c._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=l._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0,xd=c._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=l._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0,
|
|
yd=c._emscripten_bind_ConvexResultCallback_hasHit_0=l._emscripten_bind_ConvexResultCallback_hasHit_0,zd=c._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=l._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1,Ad=c._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=l._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1,Bd=c._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=l._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1,
|
|
Cd=c._emscripten_bind_DebugDrawer_DebugDrawer_0=l._emscripten_bind_DebugDrawer_DebugDrawer_0,Dd=c._emscripten_bind_DebugDrawer___destroy___0=l._emscripten_bind_DebugDrawer___destroy___0,Ed=c._emscripten_bind_DebugDrawer_draw3dText_2=l._emscripten_bind_DebugDrawer_draw3dText_2,Fd=c._emscripten_bind_DebugDrawer_drawContactPoint_5=l._emscripten_bind_DebugDrawer_drawContactPoint_5,Gd=c._emscripten_bind_DebugDrawer_drawLine_3=l._emscripten_bind_DebugDrawer_drawLine_3,Hd=c._emscripten_bind_DebugDrawer_getDebugMode_0=
|
|
l._emscripten_bind_DebugDrawer_getDebugMode_0,Id=c._emscripten_bind_DebugDrawer_reportErrorWarning_1=l._emscripten_bind_DebugDrawer_reportErrorWarning_1,Jd=c._emscripten_bind_DebugDrawer_setDebugMode_1=l._emscripten_bind_DebugDrawer_setDebugMode_1,Kd=c._emscripten_bind_GImpactCollisionAlgorithm_GImpactCollisionAlgorithm_0=l._emscripten_bind_GImpactCollisionAlgorithm_GImpactCollisionAlgorithm_0,Ld=c._emscripten_bind_GImpactCollisionAlgorithm___destroy___0=l._emscripten_bind_GImpactCollisionAlgorithm___destroy___0,
|
|
Md=c._emscripten_bind_GImpactCollisionAlgorithm_registerAlgorithm_1=l._emscripten_bind_GImpactCollisionAlgorithm_registerAlgorithm_1,Nd=c._emscripten_bind_LocalConvexResult_LocalConvexResult_5=l._emscripten_bind_LocalConvexResult_LocalConvexResult_5,Od=c._emscripten_bind_LocalConvexResult___destroy___0=l._emscripten_bind_LocalConvexResult___destroy___0,Pd=c._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=l._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0,Qd=c._emscripten_bind_LocalConvexResult_get_m_hitFraction_0=
|
|
l._emscripten_bind_LocalConvexResult_get_m_hitFraction_0,Rd=c._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=l._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0,Sd=c._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=l._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0,Td=c._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=l._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0,Ud=c._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=l._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1,
|
|
Vd=c._emscripten_bind_LocalConvexResult_set_m_hitFraction_1=l._emscripten_bind_LocalConvexResult_set_m_hitFraction_1,Wd=c._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=l._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1,Xd=c._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=l._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1,Yd=c._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=l._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1,Zd=c._emscripten_bind_LocalShapeInfo___destroy___0=
|
|
l._emscripten_bind_LocalShapeInfo___destroy___0,$d=c._emscripten_bind_LocalShapeInfo_get_m_shapePart_0=l._emscripten_bind_LocalShapeInfo_get_m_shapePart_0,ae=c._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=l._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0,be=c._emscripten_bind_LocalShapeInfo_set_m_shapePart_1=l._emscripten_bind_LocalShapeInfo_set_m_shapePart_1,ce=c._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=l._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1,de=c._emscripten_bind_Material___destroy___0=
|
|
l._emscripten_bind_Material___destroy___0,ee=c._emscripten_bind_Material_get_m_flags_0=l._emscripten_bind_Material_get_m_flags_0,fe=c._emscripten_bind_Material_get_m_kAST_0=l._emscripten_bind_Material_get_m_kAST_0,ge=c._emscripten_bind_Material_get_m_kLST_0=l._emscripten_bind_Material_get_m_kLST_0,he=c._emscripten_bind_Material_get_m_kVST_0=l._emscripten_bind_Material_get_m_kVST_0,ie=c._emscripten_bind_Material_set_m_flags_1=l._emscripten_bind_Material_set_m_flags_1,je=c._emscripten_bind_Material_set_m_kAST_1=
|
|
l._emscripten_bind_Material_set_m_kAST_1,ke=c._emscripten_bind_Material_set_m_kLST_1=l._emscripten_bind_Material_set_m_kLST_1,le=c._emscripten_bind_Material_set_m_kVST_1=l._emscripten_bind_Material_set_m_kVST_1,me=c._emscripten_bind_Node___destroy___0=l._emscripten_bind_Node___destroy___0,ne=c._emscripten_bind_Node_get_m_area_0=l._emscripten_bind_Node_get_m_area_0,oe=c._emscripten_bind_Node_get_m_f_0=l._emscripten_bind_Node_get_m_f_0,pe=c._emscripten_bind_Node_get_m_im_0=l._emscripten_bind_Node_get_m_im_0,
|
|
qe=c._emscripten_bind_Node_get_m_n_0=l._emscripten_bind_Node_get_m_n_0,re=c._emscripten_bind_Node_get_m_q_0=l._emscripten_bind_Node_get_m_q_0,se=c._emscripten_bind_Node_get_m_v_0=l._emscripten_bind_Node_get_m_v_0,te=c._emscripten_bind_Node_get_m_x_0=l._emscripten_bind_Node_get_m_x_0,ue=c._emscripten_bind_Node_set_m_area_1=l._emscripten_bind_Node_set_m_area_1,ve=c._emscripten_bind_Node_set_m_f_1=l._emscripten_bind_Node_set_m_f_1,we=c._emscripten_bind_Node_set_m_im_1=l._emscripten_bind_Node_set_m_im_1,
|
|
xe=c._emscripten_bind_Node_set_m_n_1=l._emscripten_bind_Node_set_m_n_1,ye=c._emscripten_bind_Node_set_m_q_1=l._emscripten_bind_Node_set_m_q_1,ze=c._emscripten_bind_Node_set_m_v_1=l._emscripten_bind_Node_set_m_v_1,Ae=c._emscripten_bind_Node_set_m_x_1=l._emscripten_bind_Node_set_m_x_1,Be=c._emscripten_bind_RayResultCallback___destroy___0=l._emscripten_bind_RayResultCallback___destroy___0,Ce=c._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0=l._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0,
|
|
De=c._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=l._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0,Ee=c._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=l._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0,Fe=c._emscripten_bind_RayResultCallback_get_m_collisionObject_0=l._emscripten_bind_RayResultCallback_get_m_collisionObject_0,Ge=c._emscripten_bind_RayResultCallback_hasHit_0=l._emscripten_bind_RayResultCallback_hasHit_0,He=c._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1=
|
|
l._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1,Ie=c._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=l._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1,Je=c._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=l._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1,Ke=c._emscripten_bind_RayResultCallback_set_m_collisionObject_1=l._emscripten_bind_RayResultCallback_set_m_collisionObject_1,Le=c._emscripten_bind_RaycastInfo___destroy___0=
|
|
l._emscripten_bind_RaycastInfo___destroy___0,Me=c._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0=l._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0,Ne=c._emscripten_bind_RaycastInfo_get_m_contactPointWS_0=l._emscripten_bind_RaycastInfo_get_m_contactPointWS_0,Oe=c._emscripten_bind_RaycastInfo_get_m_groundObject_0=l._emscripten_bind_RaycastInfo_get_m_groundObject_0,Pe=c._emscripten_bind_RaycastInfo_get_m_hardPointWS_0=l._emscripten_bind_RaycastInfo_get_m_hardPointWS_0,Qe=c._emscripten_bind_RaycastInfo_get_m_isInContact_0=
|
|
l._emscripten_bind_RaycastInfo_get_m_isInContact_0,Re=c._emscripten_bind_RaycastInfo_get_m_suspensionLength_0=l._emscripten_bind_RaycastInfo_get_m_suspensionLength_0,Se=c._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=l._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0,Te=c._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=l._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0,Ue=c._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=l._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1,Ve=
|
|
c._emscripten_bind_RaycastInfo_set_m_contactPointWS_1=l._emscripten_bind_RaycastInfo_set_m_contactPointWS_1,We=c._emscripten_bind_RaycastInfo_set_m_groundObject_1=l._emscripten_bind_RaycastInfo_set_m_groundObject_1,Xe=c._emscripten_bind_RaycastInfo_set_m_hardPointWS_1=l._emscripten_bind_RaycastInfo_set_m_hardPointWS_1,Ye=c._emscripten_bind_RaycastInfo_set_m_isInContact_1=l._emscripten_bind_RaycastInfo_set_m_isInContact_1,Ze=c._emscripten_bind_RaycastInfo_set_m_suspensionLength_1=l._emscripten_bind_RaycastInfo_set_m_suspensionLength_1,
|
|
$e=c._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=l._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1,af=c._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=l._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1,bf=c._emscripten_bind_VoidPtr___destroy___0=l._emscripten_bind_VoidPtr___destroy___0,cf=c._emscripten_bind_btActionInterface___destroy___0=l._emscripten_bind_btActionInterface___destroy___0,df=c._emscripten_bind_btActionInterface_updateAction_2=l._emscripten_bind_btActionInterface_updateAction_2,
|
|
ef=c._emscripten_bind_btAxisSweep3___destroy___0=l._emscripten_bind_btAxisSweep3___destroy___0,ff=c._emscripten_bind_btAxisSweep3_btAxisSweep3_2=l._emscripten_bind_btAxisSweep3_btAxisSweep3_2,gf=c._emscripten_bind_btAxisSweep3_btAxisSweep3_3=l._emscripten_bind_btAxisSweep3_btAxisSweep3_3,hf=c._emscripten_bind_btAxisSweep3_btAxisSweep3_4=l._emscripten_bind_btAxisSweep3_btAxisSweep3_4,jf=c._emscripten_bind_btAxisSweep3_btAxisSweep3_5=l._emscripten_bind_btAxisSweep3_btAxisSweep3_5,kf=c._emscripten_bind_btBoxShape___destroy___0=
|
|
l._emscripten_bind_btBoxShape___destroy___0,lf=c._emscripten_bind_btBoxShape_btBoxShape_1=l._emscripten_bind_btBoxShape_btBoxShape_1,mf=c._emscripten_bind_btBoxShape_calculateLocalInertia_2=l._emscripten_bind_btBoxShape_calculateLocalInertia_2,nf=c._emscripten_bind_btBoxShape_getLocalScaling_0=l._emscripten_bind_btBoxShape_getLocalScaling_0,of=c._emscripten_bind_btBoxShape_getMargin_0=l._emscripten_bind_btBoxShape_getMargin_0,pf=c._emscripten_bind_btBoxShape_setLocalScaling_1=l._emscripten_bind_btBoxShape_setLocalScaling_1,
|
|
qf=c._emscripten_bind_btBoxShape_setMargin_1=l._emscripten_bind_btBoxShape_setMargin_1,rf=c._emscripten_bind_btBroadphaseInterface___destroy___0=l._emscripten_bind_btBroadphaseInterface___destroy___0,sf=c._emscripten_bind_btBvhTriangleMeshShape___destroy___0=l._emscripten_bind_btBvhTriangleMeshShape___destroy___0,tf=c._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=l._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2,uf=c._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=
|
|
l._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3,vf=c._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=l._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2,wf=c._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0=l._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0,xf=c._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=l._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1,yf=c._emscripten_bind_btCapsuleShapeX___destroy___0=l._emscripten_bind_btCapsuleShapeX___destroy___0,
|
|
zf=c._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=l._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2,Af=c._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=l._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2,Bf=c._emscripten_bind_btCapsuleShapeX_getHalfHeight_0=l._emscripten_bind_btCapsuleShapeX_getHalfHeight_0,Cf=c._emscripten_bind_btCapsuleShapeX_getLocalScaling_0=l._emscripten_bind_btCapsuleShapeX_getLocalScaling_0,Df=c._emscripten_bind_btCapsuleShapeX_getMargin_0=l._emscripten_bind_btCapsuleShapeX_getMargin_0,
|
|
Ef=c._emscripten_bind_btCapsuleShapeX_getRadius_0=l._emscripten_bind_btCapsuleShapeX_getRadius_0,Ff=c._emscripten_bind_btCapsuleShapeX_getUpAxis_0=l._emscripten_bind_btCapsuleShapeX_getUpAxis_0,Gf=c._emscripten_bind_btCapsuleShapeX_setLocalScaling_1=l._emscripten_bind_btCapsuleShapeX_setLocalScaling_1,Hf=c._emscripten_bind_btCapsuleShapeX_setMargin_1=l._emscripten_bind_btCapsuleShapeX_setMargin_1,If=c._emscripten_bind_btCapsuleShapeZ___destroy___0=l._emscripten_bind_btCapsuleShapeZ___destroy___0,
|
|
Jf=c._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=l._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2,Kf=c._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=l._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2,Lf=c._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0=l._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0,Mf=c._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0=l._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0,Nf=c._emscripten_bind_btCapsuleShapeZ_getMargin_0=l._emscripten_bind_btCapsuleShapeZ_getMargin_0,
|
|
Of=c._emscripten_bind_btCapsuleShapeZ_getRadius_0=l._emscripten_bind_btCapsuleShapeZ_getRadius_0,Pf=c._emscripten_bind_btCapsuleShapeZ_getUpAxis_0=l._emscripten_bind_btCapsuleShapeZ_getUpAxis_0,Qf=c._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=l._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1,Rf=c._emscripten_bind_btCapsuleShapeZ_setMargin_1=l._emscripten_bind_btCapsuleShapeZ_setMargin_1,Sf=c._emscripten_bind_btCapsuleShape___destroy___0=l._emscripten_bind_btCapsuleShape___destroy___0,Tf=
|
|
c._emscripten_bind_btCapsuleShape_btCapsuleShape_2=l._emscripten_bind_btCapsuleShape_btCapsuleShape_2,Uf=c._emscripten_bind_btCapsuleShape_calculateLocalInertia_2=l._emscripten_bind_btCapsuleShape_calculateLocalInertia_2,Vf=c._emscripten_bind_btCapsuleShape_getHalfHeight_0=l._emscripten_bind_btCapsuleShape_getHalfHeight_0,Wf=c._emscripten_bind_btCapsuleShape_getLocalScaling_0=l._emscripten_bind_btCapsuleShape_getLocalScaling_0,Xf=c._emscripten_bind_btCapsuleShape_getMargin_0=l._emscripten_bind_btCapsuleShape_getMargin_0,
|
|
Yf=c._emscripten_bind_btCapsuleShape_getRadius_0=l._emscripten_bind_btCapsuleShape_getRadius_0,Zf=c._emscripten_bind_btCapsuleShape_getUpAxis_0=l._emscripten_bind_btCapsuleShape_getUpAxis_0,$f=c._emscripten_bind_btCapsuleShape_setLocalScaling_1=l._emscripten_bind_btCapsuleShape_setLocalScaling_1,ag=c._emscripten_bind_btCapsuleShape_setMargin_1=l._emscripten_bind_btCapsuleShape_setMargin_1,bg=c._emscripten_bind_btCollisionConfiguration___destroy___0=l._emscripten_bind_btCollisionConfiguration___destroy___0,
|
|
cg=c._emscripten_bind_btCollisionDispatcher___destroy___0=l._emscripten_bind_btCollisionDispatcher___destroy___0,dg=c._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=l._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1,eg=c._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=l._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1,fg=c._emscripten_bind_btCollisionDispatcher_getNumManifolds_0=l._emscripten_bind_btCollisionDispatcher_getNumManifolds_0,
|
|
gg=c._emscripten_bind_btCollisionObject___destroy___0=l._emscripten_bind_btCollisionObject___destroy___0,hg=c._emscripten_bind_btCollisionObject_activate_0=l._emscripten_bind_btCollisionObject_activate_0,ig=c._emscripten_bind_btCollisionObject_activate_1=l._emscripten_bind_btCollisionObject_activate_1,jg=c._emscripten_bind_btCollisionObject_forceActivationState_1=l._emscripten_bind_btCollisionObject_forceActivationState_1,kg=c._emscripten_bind_btCollisionObject_getCollisionFlags_0=l._emscripten_bind_btCollisionObject_getCollisionFlags_0,
|
|
lg=c._emscripten_bind_btCollisionObject_getCollisionShape_0=l._emscripten_bind_btCollisionObject_getCollisionShape_0,mg=c._emscripten_bind_btCollisionObject_getUserIndex_0=l._emscripten_bind_btCollisionObject_getUserIndex_0,ng=c._emscripten_bind_btCollisionObject_getUserPointer_0=l._emscripten_bind_btCollisionObject_getUserPointer_0,og=c._emscripten_bind_btCollisionObject_getWorldTransform_0=l._emscripten_bind_btCollisionObject_getWorldTransform_0,pg=c._emscripten_bind_btCollisionObject_isActive_0=
|
|
l._emscripten_bind_btCollisionObject_isActive_0,qg=c._emscripten_bind_btCollisionObject_isKinematicObject_0=l._emscripten_bind_btCollisionObject_isKinematicObject_0,rg=c._emscripten_bind_btCollisionObject_isStaticObject_0=l._emscripten_bind_btCollisionObject_isStaticObject_0,sg=c._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0=l._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0,tg=c._emscripten_bind_btCollisionObject_setActivationState_1=l._emscripten_bind_btCollisionObject_setActivationState_1,
|
|
ug=c._emscripten_bind_btCollisionObject_setAnisotropicFriction_2=l._emscripten_bind_btCollisionObject_setAnisotropicFriction_2,vg=c._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=l._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1,wg=c._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=l._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1,xg=c._emscripten_bind_btCollisionObject_setCollisionFlags_1=l._emscripten_bind_btCollisionObject_setCollisionFlags_1,yg=
|
|
c._emscripten_bind_btCollisionObject_setCollisionShape_1=l._emscripten_bind_btCollisionObject_setCollisionShape_1,zg=c._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=l._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1,Ag=c._emscripten_bind_btCollisionObject_setFriction_1=l._emscripten_bind_btCollisionObject_setFriction_1,Bg=c._emscripten_bind_btCollisionObject_setRestitution_1=l._emscripten_bind_btCollisionObject_setRestitution_1,Cg=c._emscripten_bind_btCollisionObject_setRollingFriction_1=
|
|
l._emscripten_bind_btCollisionObject_setRollingFriction_1,Dg=c._emscripten_bind_btCollisionObject_setUserIndex_1=l._emscripten_bind_btCollisionObject_setUserIndex_1,Eg=c._emscripten_bind_btCollisionObject_setUserPointer_1=l._emscripten_bind_btCollisionObject_setUserPointer_1,Fg=c._emscripten_bind_btCollisionObject_setWorldTransform_1=l._emscripten_bind_btCollisionObject_setWorldTransform_1,Gg=c._emscripten_bind_btCollisionShape___destroy___0=l._emscripten_bind_btCollisionShape___destroy___0,Hg=c._emscripten_bind_btCollisionShape_calculateLocalInertia_2=
|
|
l._emscripten_bind_btCollisionShape_calculateLocalInertia_2,Ig=c._emscripten_bind_btCollisionShape_getLocalScaling_0=l._emscripten_bind_btCollisionShape_getLocalScaling_0,Jg=c._emscripten_bind_btCollisionShape_getMargin_0=l._emscripten_bind_btCollisionShape_getMargin_0,Kg=c._emscripten_bind_btCollisionShape_setLocalScaling_1=l._emscripten_bind_btCollisionShape_setLocalScaling_1,Lg=c._emscripten_bind_btCollisionShape_setMargin_1=l._emscripten_bind_btCollisionShape_setMargin_1,Mg=c._emscripten_bind_btCollisionWorld___destroy___0=
|
|
l._emscripten_bind_btCollisionWorld___destroy___0,Ng=c._emscripten_bind_btCollisionWorld_addCollisionObject_1=l._emscripten_bind_btCollisionWorld_addCollisionObject_1,Og=c._emscripten_bind_btCollisionWorld_addCollisionObject_2=l._emscripten_bind_btCollisionWorld_addCollisionObject_2,Pg=c._emscripten_bind_btCollisionWorld_addCollisionObject_3=l._emscripten_bind_btCollisionWorld_addCollisionObject_3,Qg=c._emscripten_bind_btCollisionWorld_contactPairTest_3=l._emscripten_bind_btCollisionWorld_contactPairTest_3,
|
|
Rg=c._emscripten_bind_btCollisionWorld_contactTest_2=l._emscripten_bind_btCollisionWorld_contactTest_2,Sg=c._emscripten_bind_btCollisionWorld_convexSweepTest_5=l._emscripten_bind_btCollisionWorld_convexSweepTest_5,Tg=c._emscripten_bind_btCollisionWorld_debugDrawObject_3=l._emscripten_bind_btCollisionWorld_debugDrawObject_3,Ug=c._emscripten_bind_btCollisionWorld_debugDrawWorld_0=l._emscripten_bind_btCollisionWorld_debugDrawWorld_0,Vg=c._emscripten_bind_btCollisionWorld_getBroadphase_0=l._emscripten_bind_btCollisionWorld_getBroadphase_0,
|
|
Wg=c._emscripten_bind_btCollisionWorld_getDebugDrawer_0=l._emscripten_bind_btCollisionWorld_getDebugDrawer_0,Xg=c._emscripten_bind_btCollisionWorld_getDispatchInfo_0=l._emscripten_bind_btCollisionWorld_getDispatchInfo_0,Yg=c._emscripten_bind_btCollisionWorld_getDispatcher_0=l._emscripten_bind_btCollisionWorld_getDispatcher_0,Zg=c._emscripten_bind_btCollisionWorld_getPairCache_0=l._emscripten_bind_btCollisionWorld_getPairCache_0,$g=c._emscripten_bind_btCollisionWorld_rayTest_3=l._emscripten_bind_btCollisionWorld_rayTest_3,
|
|
ah=c._emscripten_bind_btCollisionWorld_removeCollisionObject_1=l._emscripten_bind_btCollisionWorld_removeCollisionObject_1,bh=c._emscripten_bind_btCollisionWorld_setDebugDrawer_1=l._emscripten_bind_btCollisionWorld_setDebugDrawer_1,ch=c._emscripten_bind_btCollisionWorld_updateSingleAabb_1=l._emscripten_bind_btCollisionWorld_updateSingleAabb_1,dh=c._emscripten_bind_btCompoundShape___destroy___0=l._emscripten_bind_btCompoundShape___destroy___0,eh=c._emscripten_bind_btCompoundShape_addChildShape_2=l._emscripten_bind_btCompoundShape_addChildShape_2,
|
|
fh=c._emscripten_bind_btCompoundShape_btCompoundShape_0=l._emscripten_bind_btCompoundShape_btCompoundShape_0,gh=c._emscripten_bind_btCompoundShape_btCompoundShape_1=l._emscripten_bind_btCompoundShape_btCompoundShape_1,hh=c._emscripten_bind_btCompoundShape_calculateLocalInertia_2=l._emscripten_bind_btCompoundShape_calculateLocalInertia_2,ih=c._emscripten_bind_btCompoundShape_getChildShape_1=l._emscripten_bind_btCompoundShape_getChildShape_1,jh=c._emscripten_bind_btCompoundShape_getLocalScaling_0=l._emscripten_bind_btCompoundShape_getLocalScaling_0,
|
|
kh=c._emscripten_bind_btCompoundShape_getMargin_0=l._emscripten_bind_btCompoundShape_getMargin_0,lh=c._emscripten_bind_btCompoundShape_getNumChildShapes_0=l._emscripten_bind_btCompoundShape_getNumChildShapes_0,mh=c._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=l._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1,nh=c._emscripten_bind_btCompoundShape_setLocalScaling_1=l._emscripten_bind_btCompoundShape_setLocalScaling_1,oh=c._emscripten_bind_btCompoundShape_setMargin_1=l._emscripten_bind_btCompoundShape_setMargin_1,
|
|
ph=c._emscripten_bind_btConcaveShape___destroy___0=l._emscripten_bind_btConcaveShape___destroy___0,qh=c._emscripten_bind_btConcaveShape_calculateLocalInertia_2=l._emscripten_bind_btConcaveShape_calculateLocalInertia_2,rh=c._emscripten_bind_btConcaveShape_getLocalScaling_0=l._emscripten_bind_btConcaveShape_getLocalScaling_0,sh=c._emscripten_bind_btConcaveShape_setLocalScaling_1=l._emscripten_bind_btConcaveShape_setLocalScaling_1,th=c._emscripten_bind_btConeShapeX___destroy___0=l._emscripten_bind_btConeShapeX___destroy___0,
|
|
uh=c._emscripten_bind_btConeShapeX_btConeShapeX_2=l._emscripten_bind_btConeShapeX_btConeShapeX_2,vh=c._emscripten_bind_btConeShapeX_calculateLocalInertia_2=l._emscripten_bind_btConeShapeX_calculateLocalInertia_2,wh=c._emscripten_bind_btConeShapeX_getLocalScaling_0=l._emscripten_bind_btConeShapeX_getLocalScaling_0,xh=c._emscripten_bind_btConeShapeX_setLocalScaling_1=l._emscripten_bind_btConeShapeX_setLocalScaling_1,yh=c._emscripten_bind_btConeShapeZ___destroy___0=l._emscripten_bind_btConeShapeZ___destroy___0,
|
|
zh=c._emscripten_bind_btConeShapeZ_btConeShapeZ_2=l._emscripten_bind_btConeShapeZ_btConeShapeZ_2,Ah=c._emscripten_bind_btConeShapeZ_calculateLocalInertia_2=l._emscripten_bind_btConeShapeZ_calculateLocalInertia_2,Bh=c._emscripten_bind_btConeShapeZ_getLocalScaling_0=l._emscripten_bind_btConeShapeZ_getLocalScaling_0,Ch=c._emscripten_bind_btConeShapeZ_setLocalScaling_1=l._emscripten_bind_btConeShapeZ_setLocalScaling_1,Dh=c._emscripten_bind_btConeShape___destroy___0=l._emscripten_bind_btConeShape___destroy___0,
|
|
Eh=c._emscripten_bind_btConeShape_btConeShape_2=l._emscripten_bind_btConeShape_btConeShape_2,Fh=c._emscripten_bind_btConeShape_calculateLocalInertia_2=l._emscripten_bind_btConeShape_calculateLocalInertia_2,Gh=c._emscripten_bind_btConeShape_getLocalScaling_0=l._emscripten_bind_btConeShape_getLocalScaling_0,Hh=c._emscripten_bind_btConeShape_setLocalScaling_1=l._emscripten_bind_btConeShape_setLocalScaling_1,Ih=c._emscripten_bind_btConeTwistConstraint___destroy___0=l._emscripten_bind_btConeTwistConstraint___destroy___0,
|
|
Jh=c._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=l._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2,Kh=c._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=l._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4,Lh=c._emscripten_bind_btConeTwistConstraint_enableFeedback_1=l._emscripten_bind_btConeTwistConstraint_enableFeedback_1,Mh=c._emscripten_bind_btConeTwistConstraint_enableMotor_1=l._emscripten_bind_btConeTwistConstraint_enableMotor_1,Nh=
|
|
c._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=l._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0,Oh=c._emscripten_bind_btConeTwistConstraint_getParam_2=l._emscripten_bind_btConeTwistConstraint_getParam_2,Ph=c._emscripten_bind_btConeTwistConstraint_setAngularOnly_1=l._emscripten_bind_btConeTwistConstraint_setAngularOnly_1,Qh=c._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=l._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1,
|
|
Rh=c._emscripten_bind_btConeTwistConstraint_setDamping_1=l._emscripten_bind_btConeTwistConstraint_setDamping_1,Sh=c._emscripten_bind_btConeTwistConstraint_setLimit_2=l._emscripten_bind_btConeTwistConstraint_setLimit_2,Th=c._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=l._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1,Uh=c._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=l._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1,Vh=c._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1=
|
|
l._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1,Wh=c._emscripten_bind_btConeTwistConstraint_setMotorTarget_1=l._emscripten_bind_btConeTwistConstraint_setMotorTarget_1,Xh=c._emscripten_bind_btConeTwistConstraint_setParam_3=l._emscripten_bind_btConeTwistConstraint_setParam_3,Yh=c._emscripten_bind_btConstraintSetting___destroy___0=l._emscripten_bind_btConstraintSetting___destroy___0,Zh=c._emscripten_bind_btConstraintSetting_btConstraintSetting_0=l._emscripten_bind_btConstraintSetting_btConstraintSetting_0,
|
|
$h=c._emscripten_bind_btConstraintSetting_get_m_damping_0=l._emscripten_bind_btConstraintSetting_get_m_damping_0,ai=c._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=l._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0,bi=c._emscripten_bind_btConstraintSetting_get_m_tau_0=l._emscripten_bind_btConstraintSetting_get_m_tau_0,ci=c._emscripten_bind_btConstraintSetting_set_m_damping_1=l._emscripten_bind_btConstraintSetting_set_m_damping_1,di=c._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=
|
|
l._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1,ei=c._emscripten_bind_btConstraintSetting_set_m_tau_1=l._emscripten_bind_btConstraintSetting_set_m_tau_1,fi=c._emscripten_bind_btConstraintSolver___destroy___0=l._emscripten_bind_btConstraintSolver___destroy___0,gi=c._emscripten_bind_btContactSolverInfo___destroy___0=l._emscripten_bind_btContactSolverInfo___destroy___0,hi=c._emscripten_bind_btContactSolverInfo_get_m_numIterations_0=l._emscripten_bind_btContactSolverInfo_get_m_numIterations_0,
|
|
ii=c._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=l._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0,ji=c._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=l._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0,ki=c._emscripten_bind_btContactSolverInfo_set_m_numIterations_1=l._emscripten_bind_btContactSolverInfo_set_m_numIterations_1,li=c._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=l._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1,
|
|
mi=c._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=l._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1,ni=c._emscripten_bind_btConvexHullShape___destroy___0=l._emscripten_bind_btConvexHullShape___destroy___0,oi=c._emscripten_bind_btConvexHullShape_addPoint_1=l._emscripten_bind_btConvexHullShape_addPoint_1,pi=c._emscripten_bind_btConvexHullShape_addPoint_2=l._emscripten_bind_btConvexHullShape_addPoint_2,qi=c._emscripten_bind_btConvexHullShape_btConvexHullShape_0=l._emscripten_bind_btConvexHullShape_btConvexHullShape_0,
|
|
ri=c._emscripten_bind_btConvexHullShape_btConvexHullShape_1=l._emscripten_bind_btConvexHullShape_btConvexHullShape_1,si=c._emscripten_bind_btConvexHullShape_btConvexHullShape_2=l._emscripten_bind_btConvexHullShape_btConvexHullShape_2,ti=c._emscripten_bind_btConvexHullShape_calculateLocalInertia_2=l._emscripten_bind_btConvexHullShape_calculateLocalInertia_2,ui=c._emscripten_bind_btConvexHullShape_getLocalScaling_0=l._emscripten_bind_btConvexHullShape_getLocalScaling_0,vi=c._emscripten_bind_btConvexHullShape_getMargin_0=
|
|
l._emscripten_bind_btConvexHullShape_getMargin_0,wi=c._emscripten_bind_btConvexHullShape_getNumVertices_0=l._emscripten_bind_btConvexHullShape_getNumVertices_0,xi=c._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1=l._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1,yi=c._emscripten_bind_btConvexHullShape_setLocalScaling_1=l._emscripten_bind_btConvexHullShape_setLocalScaling_1,zi=c._emscripten_bind_btConvexHullShape_setMargin_1=l._emscripten_bind_btConvexHullShape_setMargin_1,
|
|
Ai=c._emscripten_bind_btConvexShape___destroy___0=l._emscripten_bind_btConvexShape___destroy___0,Bi=c._emscripten_bind_btConvexShape_calculateLocalInertia_2=l._emscripten_bind_btConvexShape_calculateLocalInertia_2,Ci=c._emscripten_bind_btConvexShape_getLocalScaling_0=l._emscripten_bind_btConvexShape_getLocalScaling_0,Di=c._emscripten_bind_btConvexShape_getMargin_0=l._emscripten_bind_btConvexShape_getMargin_0,Ei=c._emscripten_bind_btConvexShape_setLocalScaling_1=l._emscripten_bind_btConvexShape_setLocalScaling_1,
|
|
Fi=c._emscripten_bind_btConvexShape_setMargin_1=l._emscripten_bind_btConvexShape_setMargin_1,Gi=c._emscripten_bind_btConvexTriangleMeshShape___destroy___0=l._emscripten_bind_btConvexTriangleMeshShape___destroy___0,Hi=c._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=l._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1,Ii=c._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=l._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2,
|
|
Ji=c._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=l._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2,Ki=c._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0=l._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0,Li=c._emscripten_bind_btConvexTriangleMeshShape_getMargin_0=l._emscripten_bind_btConvexTriangleMeshShape_getMargin_0,Mi=c._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=l._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1,
|
|
Ni=c._emscripten_bind_btConvexTriangleMeshShape_setMargin_1=l._emscripten_bind_btConvexTriangleMeshShape_setMargin_1,Oi=c._emscripten_bind_btCylinderShapeX___destroy___0=l._emscripten_bind_btCylinderShapeX___destroy___0,Pi=c._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=l._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1,Qi=c._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=l._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2,Ri=c._emscripten_bind_btCylinderShapeX_getLocalScaling_0=
|
|
l._emscripten_bind_btCylinderShapeX_getLocalScaling_0,Si=c._emscripten_bind_btCylinderShapeX_getMargin_0=l._emscripten_bind_btCylinderShapeX_getMargin_0,Ti=c._emscripten_bind_btCylinderShapeX_setLocalScaling_1=l._emscripten_bind_btCylinderShapeX_setLocalScaling_1,Ui=c._emscripten_bind_btCylinderShapeX_setMargin_1=l._emscripten_bind_btCylinderShapeX_setMargin_1,Vi=c._emscripten_bind_btCylinderShapeZ___destroy___0=l._emscripten_bind_btCylinderShapeZ___destroy___0,Wi=c._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=
|
|
l._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1,Xi=c._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=l._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2,Yi=c._emscripten_bind_btCylinderShapeZ_getLocalScaling_0=l._emscripten_bind_btCylinderShapeZ_getLocalScaling_0,Zi=c._emscripten_bind_btCylinderShapeZ_getMargin_0=l._emscripten_bind_btCylinderShapeZ_getMargin_0,$i=c._emscripten_bind_btCylinderShapeZ_setLocalScaling_1=l._emscripten_bind_btCylinderShapeZ_setLocalScaling_1,aj=
|
|
c._emscripten_bind_btCylinderShapeZ_setMargin_1=l._emscripten_bind_btCylinderShapeZ_setMargin_1,bj=c._emscripten_bind_btCylinderShape___destroy___0=l._emscripten_bind_btCylinderShape___destroy___0,cj=c._emscripten_bind_btCylinderShape_btCylinderShape_1=l._emscripten_bind_btCylinderShape_btCylinderShape_1,dj=c._emscripten_bind_btCylinderShape_calculateLocalInertia_2=l._emscripten_bind_btCylinderShape_calculateLocalInertia_2,ej=c._emscripten_bind_btCylinderShape_getLocalScaling_0=l._emscripten_bind_btCylinderShape_getLocalScaling_0,
|
|
fj=c._emscripten_bind_btCylinderShape_getMargin_0=l._emscripten_bind_btCylinderShape_getMargin_0,gj=c._emscripten_bind_btCylinderShape_setLocalScaling_1=l._emscripten_bind_btCylinderShape_setLocalScaling_1,hj=c._emscripten_bind_btCylinderShape_setMargin_1=l._emscripten_bind_btCylinderShape_setMargin_1,ij=c._emscripten_bind_btDbvtBroadphase___destroy___0=l._emscripten_bind_btDbvtBroadphase___destroy___0,jj=c._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=l._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0,
|
|
kj=c._emscripten_bind_btDefaultCollisionConfiguration___destroy___0=l._emscripten_bind_btDefaultCollisionConfiguration___destroy___0,lj=c._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=l._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0,mj=c._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=l._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1,nj=c._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=
|
|
l._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0,oj=c._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=l._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0,pj=c._emscripten_bind_btDefaultMotionState___destroy___0=l._emscripten_bind_btDefaultMotionState___destroy___0,qj=c._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=l._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0,rj=c._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=
|
|
l._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1,sj=c._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=l._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2,tj=c._emscripten_bind_btDefaultMotionState_getWorldTransform_1=l._emscripten_bind_btDefaultMotionState_getWorldTransform_1,uj=c._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=l._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0,vj=c._emscripten_bind_btDefaultMotionState_setWorldTransform_1=
|
|
l._emscripten_bind_btDefaultMotionState_setWorldTransform_1,wj=c._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=l._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1,xj=c._emscripten_bind_btDefaultSoftBodySolver___destroy___0=l._emscripten_bind_btDefaultSoftBodySolver___destroy___0,yj=c._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0=l._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0,zj=c._emscripten_bind_btDefaultVehicleRaycaster___destroy___0=
|
|
l._emscripten_bind_btDefaultVehicleRaycaster___destroy___0,Aj=c._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=l._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1,Bj=c._emscripten_bind_btDefaultVehicleRaycaster_castRay_3=l._emscripten_bind_btDefaultVehicleRaycaster_castRay_3,Cj=c._emscripten_bind_btDiscreteDynamicsWorld___destroy___0=l._emscripten_bind_btDiscreteDynamicsWorld___destroy___0,Dj=c._emscripten_bind_btDiscreteDynamicsWorld_addAction_1=l._emscripten_bind_btDiscreteDynamicsWorld_addAction_1,
|
|
Ej=c._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=l._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1,Fj=c._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=l._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2,Gj=c._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=l._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3,Hj=c._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=l._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1,
|
|
Ij=c._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=l._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2,Jj=c._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=l._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1,Kj=c._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=l._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3,Lj=c._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=l._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4,Mj=
|
|
c._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=l._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3,Nj=c._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=l._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2,Oj=c._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=l._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5,Pj=c._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3=l._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3,Qj=c._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0=
|
|
l._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0,Rj=c._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=l._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0,Sj=c._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0=l._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0,Tj=c._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=l._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0,Uj=c._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=l._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0,
|
|
Vj=c._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=l._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0,Wj=c._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=l._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0,Xj=c._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=l._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0,Yj=c._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=l._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3,Zj=c._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=
|
|
l._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1,ak=c._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1=l._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1,bk=c._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=l._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1,ck=c._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=l._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1,dk=c._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1=
|
|
l._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1,ek=c._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=l._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1,fk=c._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=l._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1,gk=c._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=l._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2,hk=c._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=l._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3,
|
|
ik=c._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1=l._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1,jk=c._emscripten_bind_btDispatcherInfo___destroy___0=l._emscripten_bind_btDispatcherInfo___destroy___0,kk=c._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=l._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0,lk=c._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=l._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0,
|
|
mk=c._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=l._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0,nk=c._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=l._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0,ok=c._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=l._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0,pk=c._emscripten_bind_btDispatcherInfo_get_m_stepCount_0=l._emscripten_bind_btDispatcherInfo_get_m_stepCount_0,qk=c._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=
|
|
l._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0,rk=c._emscripten_bind_btDispatcherInfo_get_m_timeStep_0=l._emscripten_bind_btDispatcherInfo_get_m_timeStep_0,sk=c._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=l._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0,tk=c._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=l._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0,uk=c._emscripten_bind_btDispatcherInfo_get_m_useEpa_0=l._emscripten_bind_btDispatcherInfo_get_m_useEpa_0,
|
|
vk=c._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=l._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1,wk=c._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=l._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1,xk=c._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=l._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1,yk=c._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=l._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1,
|
|
zk=c._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=l._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1,Ak=c._emscripten_bind_btDispatcherInfo_set_m_stepCount_1=l._emscripten_bind_btDispatcherInfo_set_m_stepCount_1,Bk=c._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=l._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1,Ck=c._emscripten_bind_btDispatcherInfo_set_m_timeStep_1=l._emscripten_bind_btDispatcherInfo_set_m_timeStep_1,Dk=c._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=
|
|
l._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1,Ek=c._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=l._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1,Fk=c._emscripten_bind_btDispatcherInfo_set_m_useEpa_1=l._emscripten_bind_btDispatcherInfo_set_m_useEpa_1,Gk=c._emscripten_bind_btDispatcher___destroy___0=l._emscripten_bind_btDispatcher___destroy___0,Hk=c._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=l._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1,
|
|
Ik=c._emscripten_bind_btDispatcher_getNumManifolds_0=l._emscripten_bind_btDispatcher_getNumManifolds_0,Jk=c._emscripten_bind_btDynamicsWorld___destroy___0=l._emscripten_bind_btDynamicsWorld___destroy___0,Kk=c._emscripten_bind_btDynamicsWorld_addAction_1=l._emscripten_bind_btDynamicsWorld_addAction_1,Lk=c._emscripten_bind_btDynamicsWorld_addCollisionObject_1=l._emscripten_bind_btDynamicsWorld_addCollisionObject_1,Mk=c._emscripten_bind_btDynamicsWorld_addCollisionObject_2=l._emscripten_bind_btDynamicsWorld_addCollisionObject_2,
|
|
Nk=c._emscripten_bind_btDynamicsWorld_addCollisionObject_3=l._emscripten_bind_btDynamicsWorld_addCollisionObject_3,Ok=c._emscripten_bind_btDynamicsWorld_contactPairTest_3=l._emscripten_bind_btDynamicsWorld_contactPairTest_3,Pk=c._emscripten_bind_btDynamicsWorld_contactTest_2=l._emscripten_bind_btDynamicsWorld_contactTest_2,Qk=c._emscripten_bind_btDynamicsWorld_convexSweepTest_5=l._emscripten_bind_btDynamicsWorld_convexSweepTest_5,Rk=c._emscripten_bind_btDynamicsWorld_debugDrawObject_3=l._emscripten_bind_btDynamicsWorld_debugDrawObject_3,
|
|
Sk=c._emscripten_bind_btDynamicsWorld_debugDrawWorld_0=l._emscripten_bind_btDynamicsWorld_debugDrawWorld_0,Tk=c._emscripten_bind_btDynamicsWorld_getBroadphase_0=l._emscripten_bind_btDynamicsWorld_getBroadphase_0,Uk=c._emscripten_bind_btDynamicsWorld_getDebugDrawer_0=l._emscripten_bind_btDynamicsWorld_getDebugDrawer_0,Vk=c._emscripten_bind_btDynamicsWorld_getDispatchInfo_0=l._emscripten_bind_btDynamicsWorld_getDispatchInfo_0,Wk=c._emscripten_bind_btDynamicsWorld_getDispatcher_0=l._emscripten_bind_btDynamicsWorld_getDispatcher_0,
|
|
Xk=c._emscripten_bind_btDynamicsWorld_getPairCache_0=l._emscripten_bind_btDynamicsWorld_getPairCache_0,Yk=c._emscripten_bind_btDynamicsWorld_getSolverInfo_0=l._emscripten_bind_btDynamicsWorld_getSolverInfo_0,Zk=c._emscripten_bind_btDynamicsWorld_rayTest_3=l._emscripten_bind_btDynamicsWorld_rayTest_3,$k=c._emscripten_bind_btDynamicsWorld_removeAction_1=l._emscripten_bind_btDynamicsWorld_removeAction_1,al=c._emscripten_bind_btDynamicsWorld_removeCollisionObject_1=l._emscripten_bind_btDynamicsWorld_removeCollisionObject_1,
|
|
bl=c._emscripten_bind_btDynamicsWorld_setDebugDrawer_1=l._emscripten_bind_btDynamicsWorld_setDebugDrawer_1,cl=c._emscripten_bind_btDynamicsWorld_updateSingleAabb_1=l._emscripten_bind_btDynamicsWorld_updateSingleAabb_1,dl=c._emscripten_bind_btFixedConstraint___destroy___0=l._emscripten_bind_btFixedConstraint___destroy___0,el=c._emscripten_bind_btFixedConstraint_btFixedConstraint_4=l._emscripten_bind_btFixedConstraint_btFixedConstraint_4,fl=c._emscripten_bind_btFixedConstraint_enableFeedback_1=l._emscripten_bind_btFixedConstraint_enableFeedback_1,
|
|
gl=c._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0=l._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0,hl=c._emscripten_bind_btFixedConstraint_getParam_2=l._emscripten_bind_btFixedConstraint_getParam_2,il=c._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1=l._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1,jl=c._emscripten_bind_btFixedConstraint_setParam_3=l._emscripten_bind_btFixedConstraint_setParam_3,kl=c._emscripten_bind_btGImpactCollisionAlgorithm___destroy___0=
|
|
l._emscripten_bind_btGImpactCollisionAlgorithm___destroy___0,ll=c._emscripten_bind_btGImpactCollisionAlgorithm_registerAlgorithm_1=l._emscripten_bind_btGImpactCollisionAlgorithm_registerAlgorithm_1,ml=c._emscripten_bind_btGImpactMeshShape___destroy___0=l._emscripten_bind_btGImpactMeshShape___destroy___0,nl=c._emscripten_bind_btGImpactMeshShape_btGImpactMeshShape_1=l._emscripten_bind_btGImpactMeshShape_btGImpactMeshShape_1,ol=c._emscripten_bind_btGImpactMeshShape_calculateLocalInertia_2=l._emscripten_bind_btGImpactMeshShape_calculateLocalInertia_2,
|
|
pl=c._emscripten_bind_btGImpactMeshShape_getLocalScaling_0=l._emscripten_bind_btGImpactMeshShape_getLocalScaling_0,ql=c._emscripten_bind_btGImpactMeshShape_setLocalScaling_1=l._emscripten_bind_btGImpactMeshShape_setLocalScaling_1,rl=c._emscripten_bind_btGImpactMeshShape_updateBound_0=l._emscripten_bind_btGImpactMeshShape_updateBound_0,sl=c._emscripten_bind_btGeneric6DofConstraint___destroy___0=l._emscripten_bind_btGeneric6DofConstraint___destroy___0,tl=c._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=
|
|
l._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3,ul=c._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=l._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5,vl=c._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1=l._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1,wl=c._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=l._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0,xl=c._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0=
|
|
l._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0,yl=c._emscripten_bind_btGeneric6DofConstraint_getParam_2=l._emscripten_bind_btGeneric6DofConstraint_getParam_2,zl=c._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=l._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1,Al=c._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=l._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1,Bl=c._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=
|
|
l._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1,Cl=c._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=l._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1,Dl=c._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=l._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1,El=c._emscripten_bind_btGeneric6DofConstraint_setParam_3=l._emscripten_bind_btGeneric6DofConstraint_setParam_3,Fl=c._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=
|
|
l._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0,Gl=c._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=l._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3,Hl=c._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=l._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5,Il=c._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=l._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1,
|
|
Jl=c._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=l._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2,Kl=c._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=l._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0,Ll=c._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0=l._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0,Ml=c._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2=l._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2,
|
|
Nl=c._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=l._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1,Ol=c._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=l._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1,Pl=c._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=l._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1,Ql=c._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=
|
|
l._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2,Rl=c._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=l._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1,Sl=c._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=l._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1,Tl=c._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3=l._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3,Ul=c._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=
|
|
l._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2,Vl=c._emscripten_bind_btGhostObject___destroy___0=l._emscripten_bind_btGhostObject___destroy___0,Wl=c._emscripten_bind_btGhostObject_activate_0=l._emscripten_bind_btGhostObject_activate_0,Xl=c._emscripten_bind_btGhostObject_activate_1=l._emscripten_bind_btGhostObject_activate_1,Yl=c._emscripten_bind_btGhostObject_btGhostObject_0=l._emscripten_bind_btGhostObject_btGhostObject_0,Zl=c._emscripten_bind_btGhostObject_forceActivationState_1=
|
|
l._emscripten_bind_btGhostObject_forceActivationState_1,$l=c._emscripten_bind_btGhostObject_getCollisionFlags_0=l._emscripten_bind_btGhostObject_getCollisionFlags_0,am=c._emscripten_bind_btGhostObject_getCollisionShape_0=l._emscripten_bind_btGhostObject_getCollisionShape_0,bm=c._emscripten_bind_btGhostObject_getNumOverlappingObjects_0=l._emscripten_bind_btGhostObject_getNumOverlappingObjects_0,cm=c._emscripten_bind_btGhostObject_getOverlappingObject_1=l._emscripten_bind_btGhostObject_getOverlappingObject_1,
|
|
dm=c._emscripten_bind_btGhostObject_getUserIndex_0=l._emscripten_bind_btGhostObject_getUserIndex_0,em=c._emscripten_bind_btGhostObject_getUserPointer_0=l._emscripten_bind_btGhostObject_getUserPointer_0,fm=c._emscripten_bind_btGhostObject_getWorldTransform_0=l._emscripten_bind_btGhostObject_getWorldTransform_0,gm=c._emscripten_bind_btGhostObject_isActive_0=l._emscripten_bind_btGhostObject_isActive_0,hm=c._emscripten_bind_btGhostObject_isKinematicObject_0=l._emscripten_bind_btGhostObject_isKinematicObject_0,
|
|
im=c._emscripten_bind_btGhostObject_isStaticObject_0=l._emscripten_bind_btGhostObject_isStaticObject_0,jm=c._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0=l._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0,km=c._emscripten_bind_btGhostObject_setActivationState_1=l._emscripten_bind_btGhostObject_setActivationState_1,lm=c._emscripten_bind_btGhostObject_setAnisotropicFriction_2=l._emscripten_bind_btGhostObject_setAnisotropicFriction_2,mm=c._emscripten_bind_btGhostObject_setCcdMotionThreshold_1=
|
|
l._emscripten_bind_btGhostObject_setCcdMotionThreshold_1,nm=c._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=l._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1,om=c._emscripten_bind_btGhostObject_setCollisionFlags_1=l._emscripten_bind_btGhostObject_setCollisionFlags_1,pm=c._emscripten_bind_btGhostObject_setCollisionShape_1=l._emscripten_bind_btGhostObject_setCollisionShape_1,qm=c._emscripten_bind_btGhostObject_setContactProcessingThreshold_1=l._emscripten_bind_btGhostObject_setContactProcessingThreshold_1,
|
|
rm=c._emscripten_bind_btGhostObject_setFriction_1=l._emscripten_bind_btGhostObject_setFriction_1,sm=c._emscripten_bind_btGhostObject_setRestitution_1=l._emscripten_bind_btGhostObject_setRestitution_1,tm=c._emscripten_bind_btGhostObject_setRollingFriction_1=l._emscripten_bind_btGhostObject_setRollingFriction_1,um=c._emscripten_bind_btGhostObject_setUserIndex_1=l._emscripten_bind_btGhostObject_setUserIndex_1,wm=c._emscripten_bind_btGhostObject_setUserPointer_1=l._emscripten_bind_btGhostObject_setUserPointer_1,
|
|
xm=c._emscripten_bind_btGhostObject_setWorldTransform_1=l._emscripten_bind_btGhostObject_setWorldTransform_1,ym=c._emscripten_bind_btGhostPairCallback___destroy___0=l._emscripten_bind_btGhostPairCallback___destroy___0,zm=c._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=l._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0,Am=c._emscripten_bind_btHeightfieldTerrainShape___destroy___0=l._emscripten_bind_btHeightfieldTerrainShape___destroy___0,Bm=c._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=
|
|
l._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9,Cm=c._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=l._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2,Dm=c._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0=l._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0,Em=c._emscripten_bind_btHeightfieldTerrainShape_getMargin_0=l._emscripten_bind_btHeightfieldTerrainShape_getMargin_0,Fm=c._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=
|
|
l._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1,Gm=c._emscripten_bind_btHeightfieldTerrainShape_setMargin_1=l._emscripten_bind_btHeightfieldTerrainShape_setMargin_1,Hm=c._emscripten_bind_btHingeConstraint___destroy___0=l._emscripten_bind_btHingeConstraint___destroy___0,Im=c._emscripten_bind_btHingeConstraint_btHingeConstraint_2=l._emscripten_bind_btHingeConstraint_btHingeConstraint_2,Jm=c._emscripten_bind_btHingeConstraint_btHingeConstraint_3=l._emscripten_bind_btHingeConstraint_btHingeConstraint_3,
|
|
Km=c._emscripten_bind_btHingeConstraint_btHingeConstraint_4=l._emscripten_bind_btHingeConstraint_btHingeConstraint_4,Lm=c._emscripten_bind_btHingeConstraint_btHingeConstraint_5=l._emscripten_bind_btHingeConstraint_btHingeConstraint_5,Mm=c._emscripten_bind_btHingeConstraint_btHingeConstraint_6=l._emscripten_bind_btHingeConstraint_btHingeConstraint_6,Nm=c._emscripten_bind_btHingeConstraint_btHingeConstraint_7=l._emscripten_bind_btHingeConstraint_btHingeConstraint_7,Om=c._emscripten_bind_btHingeConstraint_enableAngularMotor_3=
|
|
l._emscripten_bind_btHingeConstraint_enableAngularMotor_3,Pm=c._emscripten_bind_btHingeConstraint_enableFeedback_1=l._emscripten_bind_btHingeConstraint_enableFeedback_1,Qm=c._emscripten_bind_btHingeConstraint_enableMotor_1=l._emscripten_bind_btHingeConstraint_enableMotor_1,Rm=c._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=l._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0,Sm=c._emscripten_bind_btHingeConstraint_getParam_2=l._emscripten_bind_btHingeConstraint_getParam_2,
|
|
Tm=c._emscripten_bind_btHingeConstraint_setAngularOnly_1=l._emscripten_bind_btHingeConstraint_setAngularOnly_1,Um=c._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=l._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1,Vm=c._emscripten_bind_btHingeConstraint_setLimit_4=l._emscripten_bind_btHingeConstraint_setLimit_4,Wm=c._emscripten_bind_btHingeConstraint_setLimit_5=l._emscripten_bind_btHingeConstraint_setLimit_5,Xm=c._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=
|
|
l._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1,Ym=c._emscripten_bind_btHingeConstraint_setMotorTarget_2=l._emscripten_bind_btHingeConstraint_setMotorTarget_2,Zm=c._emscripten_bind_btHingeConstraint_setParam_3=l._emscripten_bind_btHingeConstraint_setParam_3,$m=c._emscripten_bind_btIDebugDraw___destroy___0=l._emscripten_bind_btIDebugDraw___destroy___0,an=c._emscripten_bind_btIDebugDraw_draw3dText_2=l._emscripten_bind_btIDebugDraw_draw3dText_2,bn=c._emscripten_bind_btIDebugDraw_drawContactPoint_5=
|
|
l._emscripten_bind_btIDebugDraw_drawContactPoint_5,cn=c._emscripten_bind_btIDebugDraw_drawLine_3=l._emscripten_bind_btIDebugDraw_drawLine_3,dn=c._emscripten_bind_btIDebugDraw_getDebugMode_0=l._emscripten_bind_btIDebugDraw_getDebugMode_0,en=c._emscripten_bind_btIDebugDraw_reportErrorWarning_1=l._emscripten_bind_btIDebugDraw_reportErrorWarning_1,fn=c._emscripten_bind_btIDebugDraw_setDebugMode_1=l._emscripten_bind_btIDebugDraw_setDebugMode_1,gn=c._emscripten_bind_btKinematicCharacterController___destroy___0=
|
|
l._emscripten_bind_btKinematicCharacterController___destroy___0,hn=c._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=l._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3,jn=c._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=l._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4,kn=c._emscripten_bind_btKinematicCharacterController_canJump_0=l._emscripten_bind_btKinematicCharacterController_canJump_0,
|
|
ln=c._emscripten_bind_btKinematicCharacterController_getGhostObject_0=l._emscripten_bind_btKinematicCharacterController_getGhostObject_0,mn=c._emscripten_bind_btKinematicCharacterController_getGravity_0=l._emscripten_bind_btKinematicCharacterController_getGravity_0,nn=c._emscripten_bind_btKinematicCharacterController_getMaxSlope_0=l._emscripten_bind_btKinematicCharacterController_getMaxSlope_0,on=c._emscripten_bind_btKinematicCharacterController_jump_0=l._emscripten_bind_btKinematicCharacterController_jump_0,
|
|
pn=c._emscripten_bind_btKinematicCharacterController_onGround_0=l._emscripten_bind_btKinematicCharacterController_onGround_0,qn=c._emscripten_bind_btKinematicCharacterController_playerStep_2=l._emscripten_bind_btKinematicCharacterController_playerStep_2,rn=c._emscripten_bind_btKinematicCharacterController_preStep_1=l._emscripten_bind_btKinematicCharacterController_preStep_1,sn=c._emscripten_bind_btKinematicCharacterController_setFallSpeed_1=l._emscripten_bind_btKinematicCharacterController_setFallSpeed_1,
|
|
tn=c._emscripten_bind_btKinematicCharacterController_setGravity_1=l._emscripten_bind_btKinematicCharacterController_setGravity_1,un=c._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=l._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1,vn=c._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=l._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1,wn=c._emscripten_bind_btKinematicCharacterController_setMaxSlope_1=l._emscripten_bind_btKinematicCharacterController_setMaxSlope_1,
|
|
xn=c._emscripten_bind_btKinematicCharacterController_setUpAxis_1=l._emscripten_bind_btKinematicCharacterController_setUpAxis_1,yn=c._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1=l._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1,zn=c._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=l._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1,An=c._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=l._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2,
|
|
Bn=c._emscripten_bind_btKinematicCharacterController_setWalkDirection_1=l._emscripten_bind_btKinematicCharacterController_setWalkDirection_1,Cn=c._emscripten_bind_btKinematicCharacterController_updateAction_2=l._emscripten_bind_btKinematicCharacterController_updateAction_2,Dn=c._emscripten_bind_btKinematicCharacterController_warp_1=l._emscripten_bind_btKinematicCharacterController_warp_1,En=c._emscripten_bind_btManifoldPoint___destroy___0=l._emscripten_bind_btManifoldPoint___destroy___0,Fn=c._emscripten_bind_btManifoldPoint_getAppliedImpulse_0=
|
|
l._emscripten_bind_btManifoldPoint_getAppliedImpulse_0,Gn=c._emscripten_bind_btManifoldPoint_getDistance_0=l._emscripten_bind_btManifoldPoint_getDistance_0,Hn=c._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=l._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0,In=c._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=l._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0,Jn=c._emscripten_bind_btManifoldPoint_get_m_localPointA_0=l._emscripten_bind_btManifoldPoint_get_m_localPointA_0,
|
|
Kn=c._emscripten_bind_btManifoldPoint_get_m_localPointB_0=l._emscripten_bind_btManifoldPoint_get_m_localPointB_0,Ln=c._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=l._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0,Mn=c._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=l._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0,Nn=c._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=l._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0,On=c._emscripten_bind_btManifoldPoint_set_m_localPointA_1=
|
|
l._emscripten_bind_btManifoldPoint_set_m_localPointA_1,Pn=c._emscripten_bind_btManifoldPoint_set_m_localPointB_1=l._emscripten_bind_btManifoldPoint_set_m_localPointB_1,Qn=c._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=l._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1,Rn=c._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=l._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1,Sn=c._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=l._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1,
|
|
Tn=c._emscripten_bind_btMatrix3x3___destroy___0=l._emscripten_bind_btMatrix3x3___destroy___0,Un=c._emscripten_bind_btMatrix3x3_getRotation_1=l._emscripten_bind_btMatrix3x3_getRotation_1,Vn=c._emscripten_bind_btMatrix3x3_getRow_1=l._emscripten_bind_btMatrix3x3_getRow_1,Wn=c._emscripten_bind_btMatrix3x3_setEulerZYX_3=l._emscripten_bind_btMatrix3x3_setEulerZYX_3,Xn=c._emscripten_bind_btMotionState___destroy___0=l._emscripten_bind_btMotionState___destroy___0,Yn=c._emscripten_bind_btMotionState_getWorldTransform_1=
|
|
l._emscripten_bind_btMotionState_getWorldTransform_1,Zn=c._emscripten_bind_btMotionState_setWorldTransform_1=l._emscripten_bind_btMotionState_setWorldTransform_1,$n=c._emscripten_bind_btOverlappingPairCache___destroy___0=l._emscripten_bind_btOverlappingPairCache___destroy___0,ao=c._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=l._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1,bo=c._emscripten_bind_btOverlappingPairCallback___destroy___0=l._emscripten_bind_btOverlappingPairCallback___destroy___0,
|
|
co=c._emscripten_bind_btPairCachingGhostObject___destroy___0=l._emscripten_bind_btPairCachingGhostObject___destroy___0,eo=c._emscripten_bind_btPairCachingGhostObject_activate_0=l._emscripten_bind_btPairCachingGhostObject_activate_0,fo=c._emscripten_bind_btPairCachingGhostObject_activate_1=l._emscripten_bind_btPairCachingGhostObject_activate_1,go=c._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=l._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0,ho=c._emscripten_bind_btPairCachingGhostObject_forceActivationState_1=
|
|
l._emscripten_bind_btPairCachingGhostObject_forceActivationState_1,io=c._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=l._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0,jo=c._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=l._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0,ko=c._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=l._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0,lo=c._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=
|
|
l._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1,mo=c._emscripten_bind_btPairCachingGhostObject_getUserIndex_0=l._emscripten_bind_btPairCachingGhostObject_getUserIndex_0,no=c._emscripten_bind_btPairCachingGhostObject_getUserPointer_0=l._emscripten_bind_btPairCachingGhostObject_getUserPointer_0,oo=c._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=l._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0,po=c._emscripten_bind_btPairCachingGhostObject_isActive_0=
|
|
l._emscripten_bind_btPairCachingGhostObject_isActive_0,qo=c._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=l._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0,ro=c._emscripten_bind_btPairCachingGhostObject_isStaticObject_0=l._emscripten_bind_btPairCachingGhostObject_isStaticObject_0,so=c._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0=l._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0,to=c._emscripten_bind_btPairCachingGhostObject_setActivationState_1=
|
|
l._emscripten_bind_btPairCachingGhostObject_setActivationState_1,uo=c._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=l._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2,vo=c._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=l._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1,wo=c._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=l._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1,xo=c._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=
|
|
l._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1,yo=c._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=l._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1,zo=c._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=l._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1,Ao=c._emscripten_bind_btPairCachingGhostObject_setFriction_1=l._emscripten_bind_btPairCachingGhostObject_setFriction_1,Bo=c._emscripten_bind_btPairCachingGhostObject_setRestitution_1=
|
|
l._emscripten_bind_btPairCachingGhostObject_setRestitution_1,Co=c._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=l._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1,Do=c._emscripten_bind_btPairCachingGhostObject_setUserIndex_1=l._emscripten_bind_btPairCachingGhostObject_setUserIndex_1,Eo=c._emscripten_bind_btPairCachingGhostObject_setUserPointer_1=l._emscripten_bind_btPairCachingGhostObject_setUserPointer_1,Fo=c._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=
|
|
l._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1,Go=c._emscripten_bind_btPersistentManifold___destroy___0=l._emscripten_bind_btPersistentManifold___destroy___0,Ho=c._emscripten_bind_btPersistentManifold_btPersistentManifold_0=l._emscripten_bind_btPersistentManifold_btPersistentManifold_0,Io=c._emscripten_bind_btPersistentManifold_getBody0_0=l._emscripten_bind_btPersistentManifold_getBody0_0,Jo=c._emscripten_bind_btPersistentManifold_getBody1_0=l._emscripten_bind_btPersistentManifold_getBody1_0,
|
|
Ko=c._emscripten_bind_btPersistentManifold_getContactPoint_1=l._emscripten_bind_btPersistentManifold_getContactPoint_1,Lo=c._emscripten_bind_btPersistentManifold_getNumContacts_0=l._emscripten_bind_btPersistentManifold_getNumContacts_0,Mo=c._emscripten_bind_btPoint2PointConstraint___destroy___0=l._emscripten_bind_btPoint2PointConstraint___destroy___0,No=c._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=l._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2,Oo=c._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=
|
|
l._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4,Po=c._emscripten_bind_btPoint2PointConstraint_enableFeedback_1=l._emscripten_bind_btPoint2PointConstraint_enableFeedback_1,Qo=c._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=l._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0,Ro=c._emscripten_bind_btPoint2PointConstraint_getParam_2=l._emscripten_bind_btPoint2PointConstraint_getParam_2,So=c._emscripten_bind_btPoint2PointConstraint_getPivotInA_0=
|
|
l._emscripten_bind_btPoint2PointConstraint_getPivotInA_0,To=c._emscripten_bind_btPoint2PointConstraint_getPivotInB_0=l._emscripten_bind_btPoint2PointConstraint_getPivotInB_0,Uo=c._emscripten_bind_btPoint2PointConstraint_get_m_setting_0=l._emscripten_bind_btPoint2PointConstraint_get_m_setting_0,Vo=c._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=l._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1,Wo=c._emscripten_bind_btPoint2PointConstraint_setParam_3=
|
|
l._emscripten_bind_btPoint2PointConstraint_setParam_3,Xo=c._emscripten_bind_btPoint2PointConstraint_setPivotA_1=l._emscripten_bind_btPoint2PointConstraint_setPivotA_1,Yo=c._emscripten_bind_btPoint2PointConstraint_setPivotB_1=l._emscripten_bind_btPoint2PointConstraint_setPivotB_1,Zo=c._emscripten_bind_btPoint2PointConstraint_set_m_setting_1=l._emscripten_bind_btPoint2PointConstraint_set_m_setting_1,$o=c._emscripten_bind_btQuadWord___destroy___0=l._emscripten_bind_btQuadWord___destroy___0,ap=c._emscripten_bind_btQuadWord_setW_1=
|
|
l._emscripten_bind_btQuadWord_setW_1,bp=c._emscripten_bind_btQuadWord_setX_1=l._emscripten_bind_btQuadWord_setX_1,cp=c._emscripten_bind_btQuadWord_setY_1=l._emscripten_bind_btQuadWord_setY_1,dp=c._emscripten_bind_btQuadWord_setZ_1=l._emscripten_bind_btQuadWord_setZ_1,ep=c._emscripten_bind_btQuadWord_w_0=l._emscripten_bind_btQuadWord_w_0,fp=c._emscripten_bind_btQuadWord_x_0=l._emscripten_bind_btQuadWord_x_0,gp=c._emscripten_bind_btQuadWord_y_0=l._emscripten_bind_btQuadWord_y_0,hp=c._emscripten_bind_btQuadWord_z_0=
|
|
l._emscripten_bind_btQuadWord_z_0,ip=c._emscripten_bind_btQuaternion___destroy___0=l._emscripten_bind_btQuaternion___destroy___0,jp=c._emscripten_bind_btQuaternion_angleShortestPath_1=l._emscripten_bind_btQuaternion_angleShortestPath_1,kp=c._emscripten_bind_btQuaternion_angle_1=l._emscripten_bind_btQuaternion_angle_1,lp=c._emscripten_bind_btQuaternion_btQuaternion_4=l._emscripten_bind_btQuaternion_btQuaternion_4,mp=c._emscripten_bind_btQuaternion_dot_1=l._emscripten_bind_btQuaternion_dot_1,np=c._emscripten_bind_btQuaternion_getAngleShortestPath_0=
|
|
l._emscripten_bind_btQuaternion_getAngleShortestPath_0,op=c._emscripten_bind_btQuaternion_getAngle_0=l._emscripten_bind_btQuaternion_getAngle_0,pp=c._emscripten_bind_btQuaternion_getAxis_0=l._emscripten_bind_btQuaternion_getAxis_0,qp=c._emscripten_bind_btQuaternion_inverse_0=l._emscripten_bind_btQuaternion_inverse_0,rp=c._emscripten_bind_btQuaternion_length2_0=l._emscripten_bind_btQuaternion_length2_0,sp=c._emscripten_bind_btQuaternion_length_0=l._emscripten_bind_btQuaternion_length_0,tp=c._emscripten_bind_btQuaternion_normalize_0=
|
|
l._emscripten_bind_btQuaternion_normalize_0,up=c._emscripten_bind_btQuaternion_normalized_0=l._emscripten_bind_btQuaternion_normalized_0,vp=c._emscripten_bind_btQuaternion_op_add_1=l._emscripten_bind_btQuaternion_op_add_1,wp=c._emscripten_bind_btQuaternion_op_div_1=l._emscripten_bind_btQuaternion_op_div_1,xp=c._emscripten_bind_btQuaternion_op_mul_1=l._emscripten_bind_btQuaternion_op_mul_1,yp=c._emscripten_bind_btQuaternion_op_mulq_1=l._emscripten_bind_btQuaternion_op_mulq_1,zp=c._emscripten_bind_btQuaternion_op_sub_1=
|
|
l._emscripten_bind_btQuaternion_op_sub_1,Ap=c._emscripten_bind_btQuaternion_setEulerZYX_3=l._emscripten_bind_btQuaternion_setEulerZYX_3,Bp=c._emscripten_bind_btQuaternion_setRotation_2=l._emscripten_bind_btQuaternion_setRotation_2,Cp=c._emscripten_bind_btQuaternion_setValue_4=l._emscripten_bind_btQuaternion_setValue_4,Dp=c._emscripten_bind_btQuaternion_setW_1=l._emscripten_bind_btQuaternion_setW_1,Ep=c._emscripten_bind_btQuaternion_setX_1=l._emscripten_bind_btQuaternion_setX_1,Fp=c._emscripten_bind_btQuaternion_setY_1=
|
|
l._emscripten_bind_btQuaternion_setY_1,Gp=c._emscripten_bind_btQuaternion_setZ_1=l._emscripten_bind_btQuaternion_setZ_1,Hp=c._emscripten_bind_btQuaternion_w_0=l._emscripten_bind_btQuaternion_w_0,Ip=c._emscripten_bind_btQuaternion_x_0=l._emscripten_bind_btQuaternion_x_0,Jp=c._emscripten_bind_btQuaternion_y_0=l._emscripten_bind_btQuaternion_y_0,Kp=c._emscripten_bind_btQuaternion_z_0=l._emscripten_bind_btQuaternion_z_0,Lp=c._emscripten_bind_btRaycastVehicle___destroy___0=l._emscripten_bind_btRaycastVehicle___destroy___0,
|
|
Mp=c._emscripten_bind_btRaycastVehicle_addWheel_7=l._emscripten_bind_btRaycastVehicle_addWheel_7,Np=c._emscripten_bind_btRaycastVehicle_applyEngineForce_2=l._emscripten_bind_btRaycastVehicle_applyEngineForce_2,Op=c._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=l._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3,Pp=c._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0=l._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0,Qp=c._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=
|
|
l._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0,Rp=c._emscripten_bind_btRaycastVehicle_getForwardAxis_0=l._emscripten_bind_btRaycastVehicle_getForwardAxis_0,Sp=c._emscripten_bind_btRaycastVehicle_getForwardVector_0=l._emscripten_bind_btRaycastVehicle_getForwardVector_0,Tp=c._emscripten_bind_btRaycastVehicle_getNumWheels_0=l._emscripten_bind_btRaycastVehicle_getNumWheels_0,Up=c._emscripten_bind_btRaycastVehicle_getRightAxis_0=l._emscripten_bind_btRaycastVehicle_getRightAxis_0,Vp=c._emscripten_bind_btRaycastVehicle_getRigidBody_0=
|
|
l._emscripten_bind_btRaycastVehicle_getRigidBody_0,Wp=c._emscripten_bind_btRaycastVehicle_getSteeringValue_1=l._emscripten_bind_btRaycastVehicle_getSteeringValue_1,Xp=c._emscripten_bind_btRaycastVehicle_getUpAxis_0=l._emscripten_bind_btRaycastVehicle_getUpAxis_0,Yp=c._emscripten_bind_btRaycastVehicle_getUserConstraintId_0=l._emscripten_bind_btRaycastVehicle_getUserConstraintId_0,Zp=c._emscripten_bind_btRaycastVehicle_getUserConstraintType_0=l._emscripten_bind_btRaycastVehicle_getUserConstraintType_0,
|
|
$p=c._emscripten_bind_btRaycastVehicle_getWheelInfo_1=l._emscripten_bind_btRaycastVehicle_getWheelInfo_1,aq=c._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=l._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1,bq=c._emscripten_bind_btRaycastVehicle_rayCast_1=l._emscripten_bind_btRaycastVehicle_rayCast_1,cq=c._emscripten_bind_btRaycastVehicle_resetSuspension_0=l._emscripten_bind_btRaycastVehicle_resetSuspension_0,dq=c._emscripten_bind_btRaycastVehicle_setBrake_2=l._emscripten_bind_btRaycastVehicle_setBrake_2,
|
|
eq=c._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=l._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3,fq=c._emscripten_bind_btRaycastVehicle_setPitchControl_1=l._emscripten_bind_btRaycastVehicle_setPitchControl_1,gq=c._emscripten_bind_btRaycastVehicle_setSteeringValue_2=l._emscripten_bind_btRaycastVehicle_setSteeringValue_2,hq=c._emscripten_bind_btRaycastVehicle_setUserConstraintId_1=l._emscripten_bind_btRaycastVehicle_setUserConstraintId_1,iq=c._emscripten_bind_btRaycastVehicle_setUserConstraintType_1=
|
|
l._emscripten_bind_btRaycastVehicle_setUserConstraintType_1,jq=c._emscripten_bind_btRaycastVehicle_updateAction_2=l._emscripten_bind_btRaycastVehicle_updateAction_2,kq=c._emscripten_bind_btRaycastVehicle_updateFriction_1=l._emscripten_bind_btRaycastVehicle_updateFriction_1,lq=c._emscripten_bind_btRaycastVehicle_updateSuspension_1=l._emscripten_bind_btRaycastVehicle_updateSuspension_1,mq=c._emscripten_bind_btRaycastVehicle_updateVehicle_1=l._emscripten_bind_btRaycastVehicle_updateVehicle_1,nq=c._emscripten_bind_btRaycastVehicle_updateWheelTransform_2=
|
|
l._emscripten_bind_btRaycastVehicle_updateWheelTransform_2,oq=c._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=l._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1,pq=c._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=l._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2,qq=c._emscripten_bind_btRigidBodyConstructionInfo___destroy___0=l._emscripten_bind_btRigidBodyConstructionInfo___destroy___0,rq=c._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=
|
|
l._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3,sq=c._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=l._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4,tq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=l._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0,uq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=
|
|
l._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0,vq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=l._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0,wq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=l._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0,xq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=l._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0,
|
|
yq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=l._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0,zq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=l._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0,Aq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=l._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0,Bq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=
|
|
l._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0,Cq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=l._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0,Dq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=l._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0,Eq=c._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=l._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0,
|
|
Fq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=l._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1,Gq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=l._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1,Hq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=l._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1,
|
|
Iq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=l._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1,Jq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=l._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1,Kq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=l._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1,Lq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=
|
|
l._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1,Mq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=l._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1,Nq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=l._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1,Oq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=l._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1,
|
|
Pq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=l._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1,Qq=c._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=l._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1,Rq=c._emscripten_bind_btRigidBody___destroy___0=l._emscripten_bind_btRigidBody___destroy___0,Sq=c._emscripten_bind_btRigidBody_activate_0=l._emscripten_bind_btRigidBody_activate_0,Tq=c._emscripten_bind_btRigidBody_activate_1=
|
|
l._emscripten_bind_btRigidBody_activate_1,Uq=c._emscripten_bind_btRigidBody_applyCentralForce_1=l._emscripten_bind_btRigidBody_applyCentralForce_1,Vq=c._emscripten_bind_btRigidBody_applyCentralImpulse_1=l._emscripten_bind_btRigidBody_applyCentralImpulse_1,Wq=c._emscripten_bind_btRigidBody_applyCentralLocalForce_1=l._emscripten_bind_btRigidBody_applyCentralLocalForce_1,Xq=c._emscripten_bind_btRigidBody_applyForce_2=l._emscripten_bind_btRigidBody_applyForce_2,Yq=c._emscripten_bind_btRigidBody_applyGravity_0=
|
|
l._emscripten_bind_btRigidBody_applyGravity_0,Zq=c._emscripten_bind_btRigidBody_applyImpulse_2=l._emscripten_bind_btRigidBody_applyImpulse_2,$q=c._emscripten_bind_btRigidBody_applyLocalTorque_1=l._emscripten_bind_btRigidBody_applyLocalTorque_1,ar=c._emscripten_bind_btRigidBody_applyTorqueImpulse_1=l._emscripten_bind_btRigidBody_applyTorqueImpulse_1,br=c._emscripten_bind_btRigidBody_applyTorque_1=l._emscripten_bind_btRigidBody_applyTorque_1,cr=c._emscripten_bind_btRigidBody_btRigidBody_1=l._emscripten_bind_btRigidBody_btRigidBody_1,
|
|
dr=c._emscripten_bind_btRigidBody_forceActivationState_1=l._emscripten_bind_btRigidBody_forceActivationState_1,er=c._emscripten_bind_btRigidBody_getAabb_2=l._emscripten_bind_btRigidBody_getAabb_2,fr=c._emscripten_bind_btRigidBody_getAngularVelocity_0=l._emscripten_bind_btRigidBody_getAngularVelocity_0,gr=c._emscripten_bind_btRigidBody_getCenterOfMassTransform_0=l._emscripten_bind_btRigidBody_getCenterOfMassTransform_0,hr=c._emscripten_bind_btRigidBody_getCollisionFlags_0=l._emscripten_bind_btRigidBody_getCollisionFlags_0,
|
|
ir=c._emscripten_bind_btRigidBody_getCollisionShape_0=l._emscripten_bind_btRigidBody_getCollisionShape_0,jr=c._emscripten_bind_btRigidBody_getGravity_0=l._emscripten_bind_btRigidBody_getGravity_0,kr=c._emscripten_bind_btRigidBody_getLinearVelocity_0=l._emscripten_bind_btRigidBody_getLinearVelocity_0,lr=c._emscripten_bind_btRigidBody_getMotionState_0=l._emscripten_bind_btRigidBody_getMotionState_0,mr=c._emscripten_bind_btRigidBody_getUserIndex_0=l._emscripten_bind_btRigidBody_getUserIndex_0,nr=c._emscripten_bind_btRigidBody_getUserPointer_0=
|
|
l._emscripten_bind_btRigidBody_getUserPointer_0,or=c._emscripten_bind_btRigidBody_getWorldTransform_0=l._emscripten_bind_btRigidBody_getWorldTransform_0,pr=c._emscripten_bind_btRigidBody_isActive_0=l._emscripten_bind_btRigidBody_isActive_0,qr=c._emscripten_bind_btRigidBody_isKinematicObject_0=l._emscripten_bind_btRigidBody_isKinematicObject_0,rr=c._emscripten_bind_btRigidBody_isStaticObject_0=l._emscripten_bind_btRigidBody_isStaticObject_0,sr=c._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0=
|
|
l._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0,tr=c._emscripten_bind_btRigidBody_setActivationState_1=l._emscripten_bind_btRigidBody_setActivationState_1,ur=c._emscripten_bind_btRigidBody_setAngularFactor_1=l._emscripten_bind_btRigidBody_setAngularFactor_1,vr=c._emscripten_bind_btRigidBody_setAngularVelocity_1=l._emscripten_bind_btRigidBody_setAngularVelocity_1,wr=c._emscripten_bind_btRigidBody_setAnisotropicFriction_2=l._emscripten_bind_btRigidBody_setAnisotropicFriction_2,xr=c._emscripten_bind_btRigidBody_setCcdMotionThreshold_1=
|
|
l._emscripten_bind_btRigidBody_setCcdMotionThreshold_1,yr=c._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=l._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1,zr=c._emscripten_bind_btRigidBody_setCenterOfMassTransform_1=l._emscripten_bind_btRigidBody_setCenterOfMassTransform_1,Ar=c._emscripten_bind_btRigidBody_setCollisionFlags_1=l._emscripten_bind_btRigidBody_setCollisionFlags_1,Br=c._emscripten_bind_btRigidBody_setCollisionShape_1=l._emscripten_bind_btRigidBody_setCollisionShape_1,
|
|
Cr=c._emscripten_bind_btRigidBody_setContactProcessingThreshold_1=l._emscripten_bind_btRigidBody_setContactProcessingThreshold_1,Dr=c._emscripten_bind_btRigidBody_setDamping_2=l._emscripten_bind_btRigidBody_setDamping_2,Er=c._emscripten_bind_btRigidBody_setFriction_1=l._emscripten_bind_btRigidBody_setFriction_1,Fr=c._emscripten_bind_btRigidBody_setGravity_1=l._emscripten_bind_btRigidBody_setGravity_1,Gr=c._emscripten_bind_btRigidBody_setLinearFactor_1=l._emscripten_bind_btRigidBody_setLinearFactor_1,
|
|
Hr=c._emscripten_bind_btRigidBody_setLinearVelocity_1=l._emscripten_bind_btRigidBody_setLinearVelocity_1,Ir=c._emscripten_bind_btRigidBody_setMassProps_2=l._emscripten_bind_btRigidBody_setMassProps_2,Jr=c._emscripten_bind_btRigidBody_setMotionState_1=l._emscripten_bind_btRigidBody_setMotionState_1,Kr=c._emscripten_bind_btRigidBody_setRestitution_1=l._emscripten_bind_btRigidBody_setRestitution_1,Lr=c._emscripten_bind_btRigidBody_setRollingFriction_1=l._emscripten_bind_btRigidBody_setRollingFriction_1,
|
|
Mr=c._emscripten_bind_btRigidBody_setSleepingThresholds_2=l._emscripten_bind_btRigidBody_setSleepingThresholds_2,Nr=c._emscripten_bind_btRigidBody_setUserIndex_1=l._emscripten_bind_btRigidBody_setUserIndex_1,Or=c._emscripten_bind_btRigidBody_setUserPointer_1=l._emscripten_bind_btRigidBody_setUserPointer_1,Pr=c._emscripten_bind_btRigidBody_setWorldTransform_1=l._emscripten_bind_btRigidBody_setWorldTransform_1,Qr=c._emscripten_bind_btRigidBody_upcast_1=l._emscripten_bind_btRigidBody_upcast_1,Rr=c._emscripten_bind_btRigidBody_updateInertiaTensor_0=
|
|
l._emscripten_bind_btRigidBody_updateInertiaTensor_0,Sr=c._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=l._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0,Tr=c._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=l._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0,Ur=c._emscripten_bind_btShapeHull___destroy___0=l._emscripten_bind_btShapeHull___destroy___0,Vr=c._emscripten_bind_btShapeHull_btShapeHull_1=
|
|
l._emscripten_bind_btShapeHull_btShapeHull_1,Wr=c._emscripten_bind_btShapeHull_buildHull_1=l._emscripten_bind_btShapeHull_buildHull_1,Xr=c._emscripten_bind_btShapeHull_getVertexPointer_0=l._emscripten_bind_btShapeHull_getVertexPointer_0,Yr=c._emscripten_bind_btShapeHull_numVertices_0=l._emscripten_bind_btShapeHull_numVertices_0,Zr=c._emscripten_bind_btSliderConstraint___destroy___0=l._emscripten_bind_btSliderConstraint___destroy___0,$r=c._emscripten_bind_btSliderConstraint_btSliderConstraint_3=l._emscripten_bind_btSliderConstraint_btSliderConstraint_3,
|
|
as=c._emscripten_bind_btSliderConstraint_btSliderConstraint_5=l._emscripten_bind_btSliderConstraint_btSliderConstraint_5,bs=c._emscripten_bind_btSliderConstraint_enableFeedback_1=l._emscripten_bind_btSliderConstraint_enableFeedback_1,cs=c._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=l._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0,ds=c._emscripten_bind_btSliderConstraint_getParam_2=l._emscripten_bind_btSliderConstraint_getParam_2,es=c._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=
|
|
l._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1,gs=c._emscripten_bind_btSliderConstraint_setLowerAngLimit_1=l._emscripten_bind_btSliderConstraint_setLowerAngLimit_1,hs=c._emscripten_bind_btSliderConstraint_setLowerLinLimit_1=l._emscripten_bind_btSliderConstraint_setLowerLinLimit_1,is=c._emscripten_bind_btSliderConstraint_setParam_3=l._emscripten_bind_btSliderConstraint_setParam_3,js=c._emscripten_bind_btSliderConstraint_setUpperAngLimit_1=l._emscripten_bind_btSliderConstraint_setUpperAngLimit_1,
|
|
ks=c._emscripten_bind_btSliderConstraint_setUpperLinLimit_1=l._emscripten_bind_btSliderConstraint_setUpperLinLimit_1,ls=c._emscripten_bind_btSoftBodyArray___destroy___0=l._emscripten_bind_btSoftBodyArray___destroy___0,ms=c._emscripten_bind_btSoftBodyArray_at_1=l._emscripten_bind_btSoftBodyArray_at_1,ns=c._emscripten_bind_btSoftBodyArray_size_0=l._emscripten_bind_btSoftBodyArray_size_0,ps=c._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=l._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4,
|
|
qs=c._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=l._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4,rs=c._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=l._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5,ss=c._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=l._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10,ts=c._emscripten_bind_btSoftBodyHelpers_CreatePatch_9=l._emscripten_bind_btSoftBodyHelpers_CreatePatch_9,us=c._emscripten_bind_btSoftBodyHelpers_CreateRope_5=
|
|
l._emscripten_bind_btSoftBodyHelpers_CreateRope_5,vs=c._emscripten_bind_btSoftBodyHelpers___destroy___0=l._emscripten_bind_btSoftBodyHelpers___destroy___0,xs=c._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0=l._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0,ys=c._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0=l._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0,zs=c._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=
|
|
l._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0,As=c._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1=l._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1,Bs=c._emscripten_bind_btSoftBodySolver___destroy___0=l._emscripten_bind_btSoftBodySolver___destroy___0,Cs=c._emscripten_bind_btSoftBodyWorldInfo___destroy___0=l._emscripten_bind_btSoftBodyWorldInfo___destroy___0,
|
|
Ds=c._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=l._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0,Es=c._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0=l._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0,Fs=c._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0=l._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0,Gs=c._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0=l._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0,Hs=c._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=
|
|
l._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0,Is=c._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0=l._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0,Js=c._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=l._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0,Ks=c._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=l._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0,Ls=c._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=l._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0,
|
|
Ms=c._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=l._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1,Ns=c._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=l._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1,Os=c._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1=l._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1,Ps=c._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1=l._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1,Qs=c._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=
|
|
l._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1,Rs=c._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1=l._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1,Ss=c._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1=l._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1,Ts=c._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=l._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1,Us=c._emscripten_bind_btSoftBody___destroy___0=l._emscripten_bind_btSoftBody___destroy___0,
|
|
Vs=c._emscripten_bind_btSoftBody_activate_0=l._emscripten_bind_btSoftBody_activate_0,Ws=c._emscripten_bind_btSoftBody_activate_1=l._emscripten_bind_btSoftBody_activate_1,Xs=c._emscripten_bind_btSoftBody_addAeroForceToNode_2=l._emscripten_bind_btSoftBody_addAeroForceToNode_2,Ys=c._emscripten_bind_btSoftBody_addForce_1=l._emscripten_bind_btSoftBody_addForce_1,Zs=c._emscripten_bind_btSoftBody_addForce_2=l._emscripten_bind_btSoftBody_addForce_2,$s=c._emscripten_bind_btSoftBody_appendAnchor_4=l._emscripten_bind_btSoftBody_appendAnchor_4,
|
|
at=c._emscripten_bind_btSoftBody_appendFace_4=l._emscripten_bind_btSoftBody_appendFace_4,bt=c._emscripten_bind_btSoftBody_appendLink_4=l._emscripten_bind_btSoftBody_appendLink_4,ct=c._emscripten_bind_btSoftBody_appendMaterial_0=l._emscripten_bind_btSoftBody_appendMaterial_0,dt=c._emscripten_bind_btSoftBody_appendNode_2=l._emscripten_bind_btSoftBody_appendNode_2,et=c._emscripten_bind_btSoftBody_appendTetra_5=l._emscripten_bind_btSoftBody_appendTetra_5,ft=c._emscripten_bind_btSoftBody_btSoftBody_4=
|
|
l._emscripten_bind_btSoftBody_btSoftBody_4,gt=c._emscripten_bind_btSoftBody_checkFace_3=l._emscripten_bind_btSoftBody_checkFace_3,ht=c._emscripten_bind_btSoftBody_checkLink_2=l._emscripten_bind_btSoftBody_checkLink_2,it=c._emscripten_bind_btSoftBody_forceActivationState_1=l._emscripten_bind_btSoftBody_forceActivationState_1,jt=c._emscripten_bind_btSoftBody_generateBendingConstraints_2=l._emscripten_bind_btSoftBody_generateBendingConstraints_2,kt=c._emscripten_bind_btSoftBody_generateClusters_1=l._emscripten_bind_btSoftBody_generateClusters_1,
|
|
lt=c._emscripten_bind_btSoftBody_generateClusters_2=l._emscripten_bind_btSoftBody_generateClusters_2,mt=c._emscripten_bind_btSoftBody_getCollisionFlags_0=l._emscripten_bind_btSoftBody_getCollisionFlags_0,nt=c._emscripten_bind_btSoftBody_getCollisionShape_0=l._emscripten_bind_btSoftBody_getCollisionShape_0,ot=c._emscripten_bind_btSoftBody_getTotalMass_0=l._emscripten_bind_btSoftBody_getTotalMass_0,pt=c._emscripten_bind_btSoftBody_getUserIndex_0=l._emscripten_bind_btSoftBody_getUserIndex_0,qt=c._emscripten_bind_btSoftBody_getUserPointer_0=
|
|
l._emscripten_bind_btSoftBody_getUserPointer_0,rt=c._emscripten_bind_btSoftBody_getWorldTransform_0=l._emscripten_bind_btSoftBody_getWorldTransform_0,st=c._emscripten_bind_btSoftBody_get_m_anchors_0=l._emscripten_bind_btSoftBody_get_m_anchors_0,tt=c._emscripten_bind_btSoftBody_get_m_cfg_0=l._emscripten_bind_btSoftBody_get_m_cfg_0,ut=c._emscripten_bind_btSoftBody_get_m_materials_0=l._emscripten_bind_btSoftBody_get_m_materials_0,vt=c._emscripten_bind_btSoftBody_get_m_nodes_0=l._emscripten_bind_btSoftBody_get_m_nodes_0,
|
|
wt=c._emscripten_bind_btSoftBody_isActive_0=l._emscripten_bind_btSoftBody_isActive_0,xt=c._emscripten_bind_btSoftBody_isKinematicObject_0=l._emscripten_bind_btSoftBody_isKinematicObject_0,yt=c._emscripten_bind_btSoftBody_isStaticObject_0=l._emscripten_bind_btSoftBody_isStaticObject_0,zt=c._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0=l._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0,At=c._emscripten_bind_btSoftBody_rotate_1=l._emscripten_bind_btSoftBody_rotate_1,Bt=c._emscripten_bind_btSoftBody_scale_1=
|
|
l._emscripten_bind_btSoftBody_scale_1,Ct=c._emscripten_bind_btSoftBody_setActivationState_1=l._emscripten_bind_btSoftBody_setActivationState_1,Dt=c._emscripten_bind_btSoftBody_setAnisotropicFriction_2=l._emscripten_bind_btSoftBody_setAnisotropicFriction_2,Et=c._emscripten_bind_btSoftBody_setCcdMotionThreshold_1=l._emscripten_bind_btSoftBody_setCcdMotionThreshold_1,Ft=c._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=l._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1,Gt=c._emscripten_bind_btSoftBody_setCollisionFlags_1=
|
|
l._emscripten_bind_btSoftBody_setCollisionFlags_1,Ht=c._emscripten_bind_btSoftBody_setCollisionShape_1=l._emscripten_bind_btSoftBody_setCollisionShape_1,It=c._emscripten_bind_btSoftBody_setContactProcessingThreshold_1=l._emscripten_bind_btSoftBody_setContactProcessingThreshold_1,Jt=c._emscripten_bind_btSoftBody_setFriction_1=l._emscripten_bind_btSoftBody_setFriction_1,Kt=c._emscripten_bind_btSoftBody_setMass_2=l._emscripten_bind_btSoftBody_setMass_2,Lt=c._emscripten_bind_btSoftBody_setRestitution_1=
|
|
l._emscripten_bind_btSoftBody_setRestitution_1,Mt=c._emscripten_bind_btSoftBody_setRollingFriction_1=l._emscripten_bind_btSoftBody_setRollingFriction_1,Nt=c._emscripten_bind_btSoftBody_setTotalMass_2=l._emscripten_bind_btSoftBody_setTotalMass_2,Ot=c._emscripten_bind_btSoftBody_setUserIndex_1=l._emscripten_bind_btSoftBody_setUserIndex_1,Pt=c._emscripten_bind_btSoftBody_setUserPointer_1=l._emscripten_bind_btSoftBody_setUserPointer_1,Qt=c._emscripten_bind_btSoftBody_setWorldTransform_1=l._emscripten_bind_btSoftBody_setWorldTransform_1,
|
|
Rt=c._emscripten_bind_btSoftBody_set_m_anchors_1=l._emscripten_bind_btSoftBody_set_m_anchors_1,St=c._emscripten_bind_btSoftBody_set_m_cfg_1=l._emscripten_bind_btSoftBody_set_m_cfg_1,Tt=c._emscripten_bind_btSoftBody_set_m_materials_1=l._emscripten_bind_btSoftBody_set_m_materials_1,Ut=c._emscripten_bind_btSoftBody_set_m_nodes_1=l._emscripten_bind_btSoftBody_set_m_nodes_1,Vt=c._emscripten_bind_btSoftBody_transform_1=l._emscripten_bind_btSoftBody_transform_1,Wt=c._emscripten_bind_btSoftBody_translate_1=
|
|
l._emscripten_bind_btSoftBody_translate_1,Xt=c._emscripten_bind_btSoftBody_upcast_1=l._emscripten_bind_btSoftBody_upcast_1,Yt=c._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=l._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0,Zt=c._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1=l._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1,$t=c._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=l._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1,au=c._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2=
|
|
l._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2,bu=c._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=l._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3,cu=c._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1=l._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1,du=c._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=l._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2,eu=c._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=
|
|
l._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1,fu=c._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=l._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3,gu=c._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=l._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3,hu=c._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=l._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5,iu=c._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=
|
|
l._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3,ju=c._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=l._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2,ku=c._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5=l._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5,lu=c._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3=l._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3,mu=c._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0=l._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0,
|
|
nu=c._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=l._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0,ou=c._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0=l._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0,pu=c._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=l._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0,qu=c._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=l._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0,ru=
|
|
c._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0=l._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0,su=c._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0=l._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0,tu=c._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0=l._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0,uu=c._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=l._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0,vu=c._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=
|
|
l._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0,wu=c._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=l._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3,xu=c._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1=l._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1,yu=c._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=l._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1,zu=c._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1=l._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1,
|
|
Au=c._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1=l._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1,Bu=c._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1=l._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1,Cu=c._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1=l._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1,Du=c._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=l._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1,Eu=c._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=
|
|
l._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1,Fu=c._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=l._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2,Gu=c._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3=l._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3,Hu=c._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1=l._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1,Iu=c._emscripten_bind_btSphereShape___destroy___0=l._emscripten_bind_btSphereShape___destroy___0,
|
|
Ju=c._emscripten_bind_btSphereShape_btSphereShape_1=l._emscripten_bind_btSphereShape_btSphereShape_1,Ku=c._emscripten_bind_btSphereShape_calculateLocalInertia_2=l._emscripten_bind_btSphereShape_calculateLocalInertia_2,Lu=c._emscripten_bind_btSphereShape_getLocalScaling_0=l._emscripten_bind_btSphereShape_getLocalScaling_0,Mu=c._emscripten_bind_btSphereShape_getMargin_0=l._emscripten_bind_btSphereShape_getMargin_0,Nu=c._emscripten_bind_btSphereShape_setLocalScaling_1=l._emscripten_bind_btSphereShape_setLocalScaling_1,
|
|
Ou=c._emscripten_bind_btSphereShape_setMargin_1=l._emscripten_bind_btSphereShape_setMargin_1,Pu=c._emscripten_bind_btStaticPlaneShape___destroy___0=l._emscripten_bind_btStaticPlaneShape___destroy___0,Qu=c._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=l._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2,Ru=c._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=l._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2,Su=c._emscripten_bind_btStaticPlaneShape_getLocalScaling_0=
|
|
l._emscripten_bind_btStaticPlaneShape_getLocalScaling_0,Tu=c._emscripten_bind_btStaticPlaneShape_setLocalScaling_1=l._emscripten_bind_btStaticPlaneShape_setLocalScaling_1,Uu=c._emscripten_bind_btStridingMeshInterface___destroy___0=l._emscripten_bind_btStridingMeshInterface___destroy___0,Vu=c._emscripten_bind_btTransform___destroy___0=l._emscripten_bind_btTransform___destroy___0,Wu=c._emscripten_bind_btTransform_btTransform_0=l._emscripten_bind_btTransform_btTransform_0,Xu=c._emscripten_bind_btTransform_btTransform_2=
|
|
l._emscripten_bind_btTransform_btTransform_2,Yu=c._emscripten_bind_btTransform_getBasis_0=l._emscripten_bind_btTransform_getBasis_0,Zu=c._emscripten_bind_btTransform_getOrigin_0=l._emscripten_bind_btTransform_getOrigin_0,$u=c._emscripten_bind_btTransform_getRotation_0=l._emscripten_bind_btTransform_getRotation_0,av=c._emscripten_bind_btTransform_setFromOpenGLMatrix_1=l._emscripten_bind_btTransform_setFromOpenGLMatrix_1,bv=c._emscripten_bind_btTransform_setIdentity_0=l._emscripten_bind_btTransform_setIdentity_0,
|
|
cv=c._emscripten_bind_btTransform_setOrigin_1=l._emscripten_bind_btTransform_setOrigin_1,dv=c._emscripten_bind_btTransform_setRotation_1=l._emscripten_bind_btTransform_setRotation_1,ev=c._emscripten_bind_btTriangleMeshShape___destroy___0=l._emscripten_bind_btTriangleMeshShape___destroy___0,fv=c._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=l._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2,gv=c._emscripten_bind_btTriangleMeshShape_getLocalScaling_0=l._emscripten_bind_btTriangleMeshShape_getLocalScaling_0,
|
|
hv=c._emscripten_bind_btTriangleMeshShape_setLocalScaling_1=l._emscripten_bind_btTriangleMeshShape_setLocalScaling_1,iv=c._emscripten_bind_btTriangleMesh___destroy___0=l._emscripten_bind_btTriangleMesh___destroy___0,jv=c._emscripten_bind_btTriangleMesh_addTriangle_3=l._emscripten_bind_btTriangleMesh_addTriangle_3,kv=c._emscripten_bind_btTriangleMesh_addTriangle_4=l._emscripten_bind_btTriangleMesh_addTriangle_4,lv=c._emscripten_bind_btTriangleMesh_btTriangleMesh_0=l._emscripten_bind_btTriangleMesh_btTriangleMesh_0,
|
|
mv=c._emscripten_bind_btTriangleMesh_btTriangleMesh_1=l._emscripten_bind_btTriangleMesh_btTriangleMesh_1,nv=c._emscripten_bind_btTriangleMesh_btTriangleMesh_2=l._emscripten_bind_btTriangleMesh_btTriangleMesh_2,ov=c._emscripten_bind_btTypedConstraint___destroy___0=l._emscripten_bind_btTypedConstraint___destroy___0,pv=c._emscripten_bind_btTypedConstraint_enableFeedback_1=l._emscripten_bind_btTypedConstraint_enableFeedback_1,qv=c._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=l._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0,
|
|
rv=c._emscripten_bind_btTypedConstraint_getParam_2=l._emscripten_bind_btTypedConstraint_getParam_2,sv=c._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=l._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1,tv=c._emscripten_bind_btTypedConstraint_setParam_3=l._emscripten_bind_btTypedConstraint_setParam_3,uv=c._emscripten_bind_btVector3___destroy___0=l._emscripten_bind_btVector3___destroy___0,vv=c._emscripten_bind_btVector3_btVector3_0=l._emscripten_bind_btVector3_btVector3_0,
|
|
wv=c._emscripten_bind_btVector3_btVector3_3=l._emscripten_bind_btVector3_btVector3_3,xv=c._emscripten_bind_btVector3_dot_1=l._emscripten_bind_btVector3_dot_1,yv=c._emscripten_bind_btVector3_length_0=l._emscripten_bind_btVector3_length_0,zv=c._emscripten_bind_btVector3_normalize_0=l._emscripten_bind_btVector3_normalize_0,Av=c._emscripten_bind_btVector3_op_add_1=l._emscripten_bind_btVector3_op_add_1,Bv=c._emscripten_bind_btVector3_op_mul_1=l._emscripten_bind_btVector3_op_mul_1,Cv=c._emscripten_bind_btVector3_op_sub_1=
|
|
l._emscripten_bind_btVector3_op_sub_1,Dv=c._emscripten_bind_btVector3_rotate_2=l._emscripten_bind_btVector3_rotate_2,Ev=c._emscripten_bind_btVector3_setValue_3=l._emscripten_bind_btVector3_setValue_3,Fv=c._emscripten_bind_btVector3_setX_1=l._emscripten_bind_btVector3_setX_1,Gv=c._emscripten_bind_btVector3_setY_1=l._emscripten_bind_btVector3_setY_1,Hv=c._emscripten_bind_btVector3_setZ_1=l._emscripten_bind_btVector3_setZ_1,Iv=c._emscripten_bind_btVector3_x_0=l._emscripten_bind_btVector3_x_0,Jv=c._emscripten_bind_btVector3_y_0=
|
|
l._emscripten_bind_btVector3_y_0,Kv=c._emscripten_bind_btVector3_z_0=l._emscripten_bind_btVector3_z_0,Lv=c._emscripten_bind_btVector4___destroy___0=l._emscripten_bind_btVector4___destroy___0,Mv=c._emscripten_bind_btVector4_btVector4_0=l._emscripten_bind_btVector4_btVector4_0,Nv=c._emscripten_bind_btVector4_btVector4_4=l._emscripten_bind_btVector4_btVector4_4,Ov=c._emscripten_bind_btVector4_dot_1=l._emscripten_bind_btVector4_dot_1,Pv=c._emscripten_bind_btVector4_length_0=l._emscripten_bind_btVector4_length_0,
|
|
Qv=c._emscripten_bind_btVector4_normalize_0=l._emscripten_bind_btVector4_normalize_0,Rv=c._emscripten_bind_btVector4_op_add_1=l._emscripten_bind_btVector4_op_add_1,Sv=c._emscripten_bind_btVector4_op_mul_1=l._emscripten_bind_btVector4_op_mul_1,Tv=c._emscripten_bind_btVector4_op_sub_1=l._emscripten_bind_btVector4_op_sub_1,Uv=c._emscripten_bind_btVector4_rotate_2=l._emscripten_bind_btVector4_rotate_2,Vv=c._emscripten_bind_btVector4_setValue_4=l._emscripten_bind_btVector4_setValue_4,Wv=c._emscripten_bind_btVector4_setX_1=
|
|
l._emscripten_bind_btVector4_setX_1,Xv=c._emscripten_bind_btVector4_setY_1=l._emscripten_bind_btVector4_setY_1,Yv=c._emscripten_bind_btVector4_setZ_1=l._emscripten_bind_btVector4_setZ_1,Zv=c._emscripten_bind_btVector4_w_0=l._emscripten_bind_btVector4_w_0,$v=c._emscripten_bind_btVector4_x_0=l._emscripten_bind_btVector4_x_0,aw=c._emscripten_bind_btVector4_y_0=l._emscripten_bind_btVector4_y_0,bw=c._emscripten_bind_btVector4_z_0=l._emscripten_bind_btVector4_z_0,cw=c._emscripten_bind_btVehicleRaycasterResult___destroy___0=
|
|
l._emscripten_bind_btVehicleRaycasterResult___destroy___0,dw=c._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0=l._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0,ew=c._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=l._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0,fw=c._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=l._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0,gw=c._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=
|
|
l._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1,hw=c._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=l._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1,iw=c._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=l._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1,jw=c._emscripten_bind_btVehicleRaycaster___destroy___0=l._emscripten_bind_btVehicleRaycaster___destroy___0,kw=c._emscripten_bind_btVehicleRaycaster_castRay_3=
|
|
l._emscripten_bind_btVehicleRaycaster_castRay_3,lw=c._emscripten_bind_btVehicleTuning_btVehicleTuning_0=l._emscripten_bind_btVehicleTuning_btVehicleTuning_0,mw=c._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0=l._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0,nw=c._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=l._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0,ow=c._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=l._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0,
|
|
pw=c._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=l._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0,qw=c._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=l._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0,rw=c._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=l._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0,sw=c._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=l._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1,
|
|
tw=c._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=l._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1,uw=c._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=l._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1,vw=c._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=l._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1,ww=c._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=l._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1,
|
|
xw=c._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=l._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1,yw=c._emscripten_bind_btWheelInfoConstructionInfo___destroy___0=l._emscripten_bind_btWheelInfoConstructionInfo___destroy___0,zw=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=l._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0,Aw=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=l._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0,
|
|
Bw=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=l._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0,Cw=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0=l._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0,Dw=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=l._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0,Ew=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=
|
|
l._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0,Fw=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=l._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0,Gw=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=l._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0,Hw=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=l._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0,
|
|
Iw=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0=l._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0,Jw=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0=l._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0,Kw=c._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=l._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0,Lw=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=
|
|
l._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1,Mw=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=l._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1,Nw=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=l._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1,Ow=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=l._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1,
|
|
Pw=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=l._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1,Qw=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1=l._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1,Rw=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=l._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1,Sw=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1=
|
|
l._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1,Tw=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=l._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1,Uw=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=l._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1,Vw=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1=l._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1,
|
|
Ww=c._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1=l._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1,Xw=c._emscripten_bind_btWheelInfo___destroy___0=l._emscripten_bind_btWheelInfo___destroy___0,Yw=c._emscripten_bind_btWheelInfo_btWheelInfo_1=l._emscripten_bind_btWheelInfo_btWheelInfo_1,Zw=c._emscripten_bind_btWheelInfo_getSuspensionRestLength_0=l._emscripten_bind_btWheelInfo_getSuspensionRestLength_0,$w=c._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=
|
|
l._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0,ax=c._emscripten_bind_btWheelInfo_get_m_brake_0=l._emscripten_bind_btWheelInfo_get_m_brake_0,bx=c._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=l._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0,cx=c._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=l._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0,dx=c._emscripten_bind_btWheelInfo_get_m_deltaRotation_0=l._emscripten_bind_btWheelInfo_get_m_deltaRotation_0,
|
|
ex=c._emscripten_bind_btWheelInfo_get_m_engineForce_0=l._emscripten_bind_btWheelInfo_get_m_engineForce_0,fx=c._emscripten_bind_btWheelInfo_get_m_frictionSlip_0=l._emscripten_bind_btWheelInfo_get_m_frictionSlip_0,gx=c._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=l._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0,hx=c._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=l._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0,ix=c._emscripten_bind_btWheelInfo_get_m_raycastInfo_0=
|
|
l._emscripten_bind_btWheelInfo_get_m_raycastInfo_0,jx=c._emscripten_bind_btWheelInfo_get_m_rollInfluence_0=l._emscripten_bind_btWheelInfo_get_m_rollInfluence_0,kx=c._emscripten_bind_btWheelInfo_get_m_rotation_0=l._emscripten_bind_btWheelInfo_get_m_rotation_0,lx=c._emscripten_bind_btWheelInfo_get_m_skidInfo_0=l._emscripten_bind_btWheelInfo_get_m_skidInfo_0,mx=c._emscripten_bind_btWheelInfo_get_m_steering_0=l._emscripten_bind_btWheelInfo_get_m_steering_0,nx=c._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=
|
|
l._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0,ox=c._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=l._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0,px=c._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=l._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0,qx=c._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=l._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0,rx=c._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=l._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0,
|
|
sx=c._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=l._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0,tx=c._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=l._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0,ux=c._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=l._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0,vx=c._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=l._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0,wx=c._emscripten_bind_btWheelInfo_get_m_worldTransform_0=
|
|
l._emscripten_bind_btWheelInfo_get_m_worldTransform_0,xx=c._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=l._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1,yx=c._emscripten_bind_btWheelInfo_set_m_brake_1=l._emscripten_bind_btWheelInfo_set_m_brake_1,zx=c._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=l._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1,Ax=c._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1=l._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1,
|
|
Bx=c._emscripten_bind_btWheelInfo_set_m_deltaRotation_1=l._emscripten_bind_btWheelInfo_set_m_deltaRotation_1,Cx=c._emscripten_bind_btWheelInfo_set_m_engineForce_1=l._emscripten_bind_btWheelInfo_set_m_engineForce_1,Dx=c._emscripten_bind_btWheelInfo_set_m_frictionSlip_1=l._emscripten_bind_btWheelInfo_set_m_frictionSlip_1,Ex=c._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=l._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1,Fx=c._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=
|
|
l._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1,Gx=c._emscripten_bind_btWheelInfo_set_m_raycastInfo_1=l._emscripten_bind_btWheelInfo_set_m_raycastInfo_1,Hx=c._emscripten_bind_btWheelInfo_set_m_rollInfluence_1=l._emscripten_bind_btWheelInfo_set_m_rollInfluence_1,Ix=c._emscripten_bind_btWheelInfo_set_m_rotation_1=l._emscripten_bind_btWheelInfo_set_m_rotation_1,Jx=c._emscripten_bind_btWheelInfo_set_m_skidInfo_1=l._emscripten_bind_btWheelInfo_set_m_skidInfo_1,Kx=c._emscripten_bind_btWheelInfo_set_m_steering_1=
|
|
l._emscripten_bind_btWheelInfo_set_m_steering_1,Lx=c._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=l._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1,Mx=c._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=l._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1,Nx=c._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=l._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1,Ox=c._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=l._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1,
|
|
Px=c._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=l._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1,Qx=c._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=l._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1,Rx=c._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=l._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1,Sx=c._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=l._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1,Tx=c._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=
|
|
l._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1,Ux=c._emscripten_bind_btWheelInfo_set_m_worldTransform_1=l._emscripten_bind_btWheelInfo_set_m_worldTransform_1,Vx=c._emscripten_bind_btWheelInfo_updateWheel_2=l._emscripten_bind_btWheelInfo_updateWheel_2,Wx=c._emscripten_bind_tAnchorArray___destroy___0=l._emscripten_bind_tAnchorArray___destroy___0,Xx=c._emscripten_bind_tAnchorArray_at_1=l._emscripten_bind_tAnchorArray_at_1,Yx=c._emscripten_bind_tAnchorArray_clear_0=l._emscripten_bind_tAnchorArray_clear_0,
|
|
Zx=c._emscripten_bind_tAnchorArray_pop_back_0=l._emscripten_bind_tAnchorArray_pop_back_0,$x=c._emscripten_bind_tAnchorArray_push_back_1=l._emscripten_bind_tAnchorArray_push_back_1,ay=c._emscripten_bind_tAnchorArray_size_0=l._emscripten_bind_tAnchorArray_size_0,by=c._emscripten_bind_tMaterialArray___destroy___0=l._emscripten_bind_tMaterialArray___destroy___0,cy=c._emscripten_bind_tMaterialArray_at_1=l._emscripten_bind_tMaterialArray_at_1,dy=c._emscripten_bind_tMaterialArray_size_0=l._emscripten_bind_tMaterialArray_size_0,
|
|
ey=c._emscripten_bind_tNodeArray___destroy___0=l._emscripten_bind_tNodeArray___destroy___0,fy=c._emscripten_bind_tNodeArray_at_1=l._emscripten_bind_tNodeArray_at_1,gy=c._emscripten_bind_tNodeArray_size_0=l._emscripten_bind_tNodeArray_size_0,hy=c._emscripten_enum_PHY_ScalarType_PHY_DOUBLE=l._emscripten_enum_PHY_ScalarType_PHY_DOUBLE,iy=c._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=l._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88,jy=c._emscripten_enum_PHY_ScalarType_PHY_FLOAT=l._emscripten_enum_PHY_ScalarType_PHY_FLOAT,
|
|
ky=c._emscripten_enum_PHY_ScalarType_PHY_INTEGER=l._emscripten_enum_PHY_ScalarType_PHY_INTEGER,ly=c._emscripten_enum_PHY_ScalarType_PHY_SHORT=l._emscripten_enum_PHY_ScalarType_PHY_SHORT,my=c._emscripten_enum_PHY_ScalarType_PHY_UCHAR=l._emscripten_enum_PHY_ScalarType_PHY_UCHAR,ny=c._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM=l._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM,oy=c._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP=l._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP,
|
|
py=c._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM=l._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM,qy=c._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP=l._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP;c._free=l._free;c._i64Add=l._i64Add;c._i64Subtract=l._i64Subtract;c._llvm_bswap_i16=l._llvm_bswap_i16;c._llvm_bswap_i32=l._llvm_bswap_i32;var eb=c._malloc=l._malloc;c._memcpy=l._memcpy;c._memmove=l._memmove;c._memset=l._memset;c._sbrk=l._sbrk;
|
|
c.establishStackSpace=l.establishStackSpace;c.getTempRet0=l.getTempRet0;c.runPostSets=l.runPostSets;var db=c.setTempRet0=l.setTempRet0;c.setThrew=l.setThrew;c.stackAlloc=l.stackAlloc;var k=c.stackRestore=l.stackRestore,d=c.stackSave=l.stackSave;c.dynCall_di=l.dynCall_di;c.dynCall_did=l.dynCall_did;c.dynCall_diidii=l.dynCall_diidii;c.dynCall_diii=l.dynCall_diii;c.dynCall_diiidii=l.dynCall_diiidii;c.dynCall_diiii=l.dynCall_diiii;c.dynCall_diiiii=l.dynCall_diiiii;c.dynCall_diiiiiiii=l.dynCall_diiiiiiii;
|
|
c.dynCall_diiiiiiiii=l.dynCall_diiiiiiiii;c.dynCall_diiiiiiiiii=l.dynCall_diiiiiiiiii;c.dynCall_ii=l.dynCall_ii;c.dynCall_iidid=l.dynCall_iidid;c.dynCall_iii=l.dynCall_iii;c.dynCall_iiid=l.dynCall_iiid;c.dynCall_iiii=l.dynCall_iiii;c.dynCall_iiiii=l.dynCall_iiiii;c.dynCall_iiiiiii=l.dynCall_iiiiiii;c.dynCall_iiiiiiiiii=l.dynCall_iiiiiiiiii;c.dynCall_iiiiiiiiiii=l.dynCall_iiiiiiiiiii;c.dynCall_v=l.dynCall_v;c.dynCall_vi=l.dynCall_vi;c.dynCall_vid=l.dynCall_vid;c.dynCall_vidd=l.dynCall_vidd;
|
|
c.dynCall_viddiii=l.dynCall_viddiii;c.dynCall_vidi=l.dynCall_vidi;c.dynCall_vidii=l.dynCall_vidii;c.dynCall_vii=l.dynCall_vii;c.dynCall_viid=l.dynCall_viid;c.dynCall_viidi=l.dynCall_viidi;c.dynCall_viidii=l.dynCall_viidii;c.dynCall_viii=l.dynCall_viii;c.dynCall_viiid=l.dynCall_viiid;c.dynCall_viiidii=l.dynCall_viiidii;c.dynCall_viiii=l.dynCall_viiii;c.dynCall_viiiid=l.dynCall_viiiid;c.dynCall_viiiidddddidi=l.dynCall_viiiidddddidi;c.dynCall_viiiiddddiid=l.dynCall_viiiiddddiid;c.dynCall_viiiii=l.dynCall_viiiii;
|
|
c.dynCall_viiiiid=l.dynCall_viiiiid;c.dynCall_viiiiii=l.dynCall_viiiiii;c.dynCall_viiiiiii=l.dynCall_viiiiiii;c.dynCall_viiiiiiiid=l.dynCall_viiiiiiiid;c.dynCall_viiiiiiiii=l.dynCall_viiiiiiiii;c.dynCall_viiiiiiiiii=l.dynCall_viiiiiiiiii;c.asm=l;
|
|
c.Pointer_stringify=function(a,b){if(0===b||!a)return"";for(var e=0,f,g=0;;){f=wa[a+g>>0];e|=f;if(0==f&&!b)break;g++;if(b&&g==b)break}b||(b=g);f="";if(128>e){for(;0<b;)e=String.fromCharCode.apply(String,wa.subarray(a,a+Math.min(b,1024))),f=f?f+e:e,a+=1024,b-=1024;return f}return ua(wa,a)};
|
|
if(Ua){if(String.prototype.startsWith?!Ua.startsWith(Va):0!==Ua.indexOf(Va)){var ry=Ua;Ua=c.locateFile?c.locateFile(ry,ja):ja+ry}if(ha||ia){var sy=c.readBinary(Ua);wa.set(sy,8)}else{var uy=function(){c.readAsync(Ua,ty,function(){throw"could not load memory initializer "+Ua;})};Ra++;c.monitorRunDependencies&&c.monitorRunDependencies(Ra);var ty=function(a){a.byteLength&&(a=new Uint8Array(a));wa.set(a,8);c.memoryInitializerRequest&&delete c.memoryInitializerRequest.response;Ra--;c.monitorRunDependencies&&
|
|
c.monitorRunDependencies(Ra);0==Ra&&(null!==Sa&&(clearInterval(Sa),Sa=null),Ta&&(a=Ta,Ta=null,a()))},vy=ma(Ua);if(vy)ty(vy.buffer);else if(c.memoryInitializerRequest){var wy=function(){var a=c.memoryInitializerRequest,b=a.response;if(200!==a.status&&0!==a.status)if(b=ma(c.memoryInitializerRequestURL))b=b.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+a.status+", retrying "+Ua);uy();return}ty(b)};c.memoryInitializerRequest.response?setTimeout(wy,
|
|
0):c.memoryInitializerRequest.addEventListener("load",wy)}else uy()}}c.then=function(a){if(c.calledRun)a(c);else{var b=c.onRuntimeInitialized;c.onRuntimeInitialized=function(){b&&b();a(c)}}return c};Ta=function xy(){c.calledRun||yy();c.calledRun||(Ta=xy)};
|
|
function yy(){function a(){if(!c.calledRun&&(c.calledRun=!0,!sa)){Pa||(Pa=!0,Ka(Ma));Ka(Na);if(c.onRuntimeInitialized)c.onRuntimeInitialized();if(c.postRun)for("function"==typeof c.postRun&&(c.postRun=[c.postRun]);c.postRun.length;){var a=c.postRun.shift();Oa.unshift(a)}Ka(Oa)}}if(!(0<Ra)){if(c.preRun)for("function"==typeof c.preRun&&(c.preRun=[c.preRun]);c.preRun.length;)Qa();Ka(La);0<Ra||c.calledRun||(c.setStatus?(c.setStatus("Running..."),setTimeout(function(){setTimeout(function(){c.setStatus("")},
|
|
1);a()},1)):a())}}c.run=yy;function na(a){if(c.onAbort)c.onAbort(a);void 0!==a?(pa(a),qa(a),a=JSON.stringify(a)):a="";sa=!0;throw"abort("+a+"). Build with -s ASSERTIONS=1 for more info.";}c.abort=na;if(c.preInit)for("function"==typeof c.preInit&&(c.preInit=[c.preInit]);0<c.preInit.length;)c.preInit.pop()();c.noExitRuntime=!0;yy();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.b=WrapperObject;
|
|
WrapperObject.c={};c.WrapperObject=WrapperObject;function getCache(a){return(a||WrapperObject).c}c.getCache=getCache;function wrapPointer(a,b){var e=getCache(b),f=e[a];if(f)return f;f=Object.create((b||WrapperObject).prototype);f.a=a;return e[a]=f}c.wrapPointer=wrapPointer;function castObject(a,b){return wrapPointer(a.a,b)}c.castObject=castObject;c.NULL=wrapPointer(0);
|
|
function destroy(a){if(!a.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";a.__destroy__();delete getCache(a.b)[a.a]}c.destroy=destroy;function compare(a,b){return a.a===b.a}c.compare=compare;function getPointer(a){return a.a}c.getPointer=getPointer;function getClass(a){return a.b}c.getClass=getClass;var zy=0,Ay=0,By=0,Cy=[],Dy=0;
|
|
function Ey(){if(Dy){for(var a=0;a<Cy.length;a++)c._free(Cy[a]);Cy.length=0;c._free(zy);zy=0;Ay+=Dy;Dy=0}zy||(Ay+=128,zy=c._malloc(Ay),assert(zy));By=0}function Fy(a,b){assert(zy);a=a.length*b.BYTES_PER_ELEMENT;a=a+7&-8;By+a>=Ay?(assert(0<a),Dy+=a,b=c._malloc(a),Cy.push(b)):(b=zy+By,By+=a);return b}function Gy(a,b,e){switch(b.BYTES_PER_ELEMENT){case 2:e>>=1;break;case 4:e>>=2;break;case 8:e>>=3}for(var f=0;f<a.length;f++)b[e+f]=a[f]}
|
|
function ensureString(a){if("string"===typeof a){for(var b=0,e=0;e<a.length;++e){var f=a.charCodeAt(e);55296<=f&&57343>=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++e)&1023);127>=f?++b:b=2047>=f?b+2:65535>=f?b+3:2097151>=f?b+4:67108863>=f?b+5:b+6}b=Array(b+1);f=b.length;e=0;if(0<f){f=e+f-1;for(var g=0;g<a.length;++g){var h=a.charCodeAt(g);if(55296<=h&&57343>=h){var m=a.charCodeAt(++g);h=65536+((h&1023)<<10)|m&1023}if(127>=h){if(e>=f)break;b[e++]=h}else{if(2047>=h){if(e+1>=f)break;b[e++]=192|h>>6}else{if(65535>=
|
|
h){if(e+2>=f)break;b[e++]=224|h>>12}else{if(2097151>=h){if(e+3>=f)break;b[e++]=240|h>>18}else{if(67108863>=h){if(e+4>=f)break;b[e++]=248|h>>24}else{if(e+5>=f)break;b[e++]=252|h>>30;b[e++]=128|h>>24&63}b[e++]=128|h>>18&63}b[e++]=128|h>>12&63}b[e++]=128|h>>6&63}b[e++]=128|h&63}}b[e]=0}a=Fy(b,va);Gy(b,va,a)}return a}function ensureFloat32(a){if("object"===typeof a){var b=Fy(a,za);Gy(a,za,b);return b}return a}function Hy(){throw"cannot construct a btCollisionWorld, no constructor in IDL";}
|
|
Hy.prototype=Object.create(WrapperObject.prototype);Hy.prototype.constructor=Hy;Hy.prototype.b=Hy;Hy.c={};c.btCollisionWorld=Hy;Hy.prototype.getDispatcher=function(){return wrapPointer(Yg(this.a),Iy)};Hy.prototype.rayTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);$g(f,a,b,e)};Hy.prototype.getPairCache=function(){return wrapPointer(Zg(this.a),Jy)};
|
|
Hy.prototype.getDispatchInfo=function(){return wrapPointer(Xg(this.a),n)};Hy.prototype.addCollisionObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?Ng(f,a):void 0===e?Og(f,a,b):Pg(f,a,b,e)};Hy.prototype.removeCollisionObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ah(b,a)};Hy.prototype.getBroadphase=function(){return wrapPointer(Vg(this.a),Ky)};
|
|
Hy.prototype.convexSweepTest=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);Sg(h,a,b,e,f,g)};Hy.prototype.contactPairTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Qg(f,a,b,e)};
|
|
Hy.prototype.contactTest=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Rg(e,a,b)};Hy.prototype.updateSingleAabb=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ch(b,a)};Hy.prototype.setDebugDrawer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bh(b,a)};Hy.prototype.getDebugDrawer=function(){return wrapPointer(Wg(this.a),Ly)};Hy.prototype.debugDrawWorld=function(){Ug(this.a)};
|
|
Hy.prototype.debugDrawObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Tg(f,a,b,e)};Hy.prototype.__destroy__=function(){Mg(this.a)};function p(){throw"cannot construct a btCollisionShape, no constructor in IDL";}p.prototype=Object.create(WrapperObject.prototype);p.prototype.constructor=p;p.prototype.b=p;p.c={};c.btCollisionShape=p;
|
|
p.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kg(b,a)};p.prototype.getLocalScaling=function(){return wrapPointer(Ig(this.a),q)};p.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Hg(e,a,b)};p.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lg(b,a)};p.prototype.getMargin=function(){return Jg(this.a)};p.prototype.__destroy__=function(){Gg(this.a)};
|
|
function r(){throw"cannot construct a btCollisionObject, no constructor in IDL";}r.prototype=Object.create(WrapperObject.prototype);r.prototype.constructor=r;r.prototype.b=r;r.c={};c.btCollisionObject=r;r.prototype.setAnisotropicFriction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ug(e,a,b)};r.prototype.getCollisionShape=function(){return wrapPointer(lg(this.a),p)};
|
|
r.prototype.setContactProcessingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zg(b,a)};r.prototype.setActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);tg(b,a)};r.prototype.forceActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);jg(b,a)};r.prototype.activate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);void 0===a?hg(b):ig(b,a)};r.prototype.isActive=function(){return!!pg(this.a)};r.prototype.isKinematicObject=function(){return!!qg(this.a)};
|
|
r.prototype.isStaticObject=function(){return!!rg(this.a)};r.prototype.isStaticOrKinematicObject=function(){return!!sg(this.a)};r.prototype.setRestitution=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bg(b,a)};r.prototype.setFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ag(b,a)};r.prototype.setRollingFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Cg(b,a)};r.prototype.getWorldTransform=function(){return wrapPointer(og(this.a),u)};
|
|
r.prototype.getCollisionFlags=function(){return kg(this.a)};r.prototype.setCollisionFlags=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xg(b,a)};r.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fg(b,a)};r.prototype.setCollisionShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yg(b,a)};r.prototype.setCcdMotionThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vg(b,a)};
|
|
r.prototype.setCcdSweptSphereRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);wg(b,a)};r.prototype.getUserIndex=function(){return mg(this.a)};r.prototype.setUserIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Dg(b,a)};r.prototype.getUserPointer=function(){return wrapPointer(ng(this.a),VoidPtr)};r.prototype.setUserPointer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Eg(b,a)};r.prototype.__destroy__=function(){gg(this.a)};
|
|
function w(){throw"cannot construct a btDynamicsWorld, no constructor in IDL";}w.prototype=Object.create(Hy.prototype);w.prototype.constructor=w;w.prototype.b=w;w.c={};c.btDynamicsWorld=w;w.prototype.addAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kk(b,a)};w.prototype.removeAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$k(b,a)};w.prototype.getSolverInfo=function(){return wrapPointer(Yk(this.a),x)};
|
|
w.prototype.getDispatcher=function(){return wrapPointer(Wk(this.a),Iy)};w.prototype.rayTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Zk(f,a,b,e)};w.prototype.getPairCache=function(){return wrapPointer(Xk(this.a),Jy)};w.prototype.getDispatchInfo=function(){return wrapPointer(Vk(this.a),n)};
|
|
w.prototype.addCollisionObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?Lk(f,a):void 0===e?Mk(f,a,b):Nk(f,a,b,e)};w.prototype.removeCollisionObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);al(b,a)};w.prototype.getBroadphase=function(){return wrapPointer(Tk(this.a),Ky)};
|
|
w.prototype.convexSweepTest=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);Qk(h,a,b,e,f,g)};w.prototype.contactPairTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Ok(f,a,b,e)};
|
|
w.prototype.contactTest=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Pk(e,a,b)};w.prototype.updateSingleAabb=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);cl(b,a)};w.prototype.setDebugDrawer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bl(b,a)};w.prototype.getDebugDrawer=function(){return wrapPointer(Uk(this.a),Ly)};w.prototype.debugDrawWorld=function(){Sk(this.a)};
|
|
w.prototype.debugDrawObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Rk(f,a,b,e)};w.prototype.__destroy__=function(){Jk(this.a)};function My(){throw"cannot construct a btTypedConstraint, no constructor in IDL";}My.prototype=Object.create(WrapperObject.prototype);My.prototype.constructor=My;My.prototype.b=My;My.c={};c.btTypedConstraint=My;
|
|
My.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);pv(b,a)};My.prototype.getBreakingImpulseThreshold=function(){return qv(this.a)};My.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sv(b,a)};My.prototype.getParam=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return rv(e,a,b)};
|
|
My.prototype.setParam=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);tv(f,a,b,e)};My.prototype.__destroy__=function(){ov(this.a)};function Ny(){throw"cannot construct a btConcaveShape, no constructor in IDL";}Ny.prototype=Object.create(p.prototype);Ny.prototype.constructor=Ny;Ny.prototype.b=Ny;Ny.c={};c.btConcaveShape=Ny;Ny.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sh(b,a)};
|
|
Ny.prototype.getLocalScaling=function(){return wrapPointer(rh(this.a),q)};Ny.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);qh(e,a,b)};Ny.prototype.__destroy__=function(){ph(this.a)};function Oy(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=Tf(a,b);getCache(Oy)[this.a]=this}Oy.prototype=Object.create(p.prototype);Oy.prototype.constructor=Oy;Oy.prototype.b=Oy;Oy.c={};c.btCapsuleShape=Oy;
|
|
Oy.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ag(b,a)};Oy.prototype.getMargin=function(){return Xf(this.a)};Oy.prototype.getUpAxis=function(){return Zf(this.a)};Oy.prototype.getRadius=function(){return Yf(this.a)};Oy.prototype.getHalfHeight=function(){return Vf(this.a)};Oy.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$f(b,a)};Oy.prototype.getLocalScaling=function(){return wrapPointer(Wf(this.a),q)};
|
|
Oy.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Uf(e,a,b)};Oy.prototype.__destroy__=function(){Sf(this.a)};function Ly(){throw"cannot construct a btIDebugDraw, no constructor in IDL";}Ly.prototype=Object.create(WrapperObject.prototype);Ly.prototype.constructor=Ly;Ly.prototype.b=Ly;Ly.c={};c.btIDebugDraw=Ly;
|
|
Ly.prototype.drawLine=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);cn(f,a,b,e)};Ly.prototype.drawContactPoint=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);bn(h,a,b,e,f,g)};
|
|
Ly.prototype.reportErrorWarning=function(a){var b=this.a;Ey();a=a&&"object"===typeof a?a.a:ensureString(a);en(b,a)};Ly.prototype.draw3dText=function(a,b){var e=this.a;Ey();a&&"object"===typeof a&&(a=a.a);b=b&&"object"===typeof b?b.a:ensureString(b);an(e,a,b)};Ly.prototype.setDebugMode=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);fn(b,a)};Ly.prototype.getDebugMode=function(){return dn(this.a)};Ly.prototype.__destroy__=function(){$m(this.a)};
|
|
function Py(a){a&&"object"===typeof a&&(a=a.a);this.a=void 0===a?lj():mj(a);getCache(Py)[this.a]=this}Py.prototype=Object.create(WrapperObject.prototype);Py.prototype.constructor=Py;Py.prototype.b=Py;Py.c={};c.btDefaultCollisionConfiguration=Py;Py.prototype.__destroy__=function(){kj(this.a)};function y(){throw"cannot construct a ConvexResultCallback, no constructor in IDL";}y.prototype=Object.create(WrapperObject.prototype);y.prototype.constructor=y;y.prototype.b=y;y.c={};c.ConvexResultCallback=y;
|
|
y.prototype.hasHit=function(){return!!yd(this.a)};y.prototype.get_m_collisionFilterGroup=y.prototype.g=function(){return wd(this.a)};y.prototype.set_m_collisionFilterGroup=y.prototype.j=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ad(b,a)};Object.defineProperty(y.prototype,"m_collisionFilterGroup",{get:y.prototype.g,set:y.prototype.j});y.prototype.get_m_collisionFilterMask=y.prototype.h=function(){return xd(this.a)};
|
|
y.prototype.set_m_collisionFilterMask=y.prototype.l=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bd(b,a)};Object.defineProperty(y.prototype,"m_collisionFilterMask",{get:y.prototype.h,set:y.prototype.l});y.prototype.get_m_closestHitFraction=y.prototype.f=function(){return vd(this.a)};y.prototype.set_m_closestHitFraction=y.prototype.i=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zd(b,a)};Object.defineProperty(y.prototype,"m_closestHitFraction",{get:y.prototype.f,set:y.prototype.i});
|
|
y.prototype.__destroy__=function(){ud(this.a)};function Qy(){throw"cannot construct a btTriangleMeshShape, no constructor in IDL";}Qy.prototype=Object.create(Ny.prototype);Qy.prototype.constructor=Qy;Qy.prototype.b=Qy;Qy.c={};c.btTriangleMeshShape=Qy;Qy.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hv(b,a)};Qy.prototype.getLocalScaling=function(){return wrapPointer(gv(this.a),q)};
|
|
Qy.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);fv(e,a,b)};Qy.prototype.__destroy__=function(){ev(this.a)};function z(){this.a=Yl();getCache(z)[this.a]=this}z.prototype=Object.create(r.prototype);z.prototype.constructor=z;z.prototype.b=z;z.c={};c.btGhostObject=z;z.prototype.getNumOverlappingObjects=function(){return bm(this.a)};
|
|
z.prototype.getOverlappingObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(cm(b,a),r)};z.prototype.setAnisotropicFriction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);lm(e,a,b)};z.prototype.getCollisionShape=function(){return wrapPointer(am(this.a),p)};z.prototype.setContactProcessingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);qm(b,a)};
|
|
z.prototype.setActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);km(b,a)};z.prototype.forceActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zl(b,a)};z.prototype.activate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);void 0===a?Wl(b):Xl(b,a)};z.prototype.isActive=function(){return!!gm(this.a)};z.prototype.isKinematicObject=function(){return!!hm(this.a)};z.prototype.isStaticObject=function(){return!!im(this.a)};
|
|
z.prototype.isStaticOrKinematicObject=function(){return!!jm(this.a)};z.prototype.setRestitution=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sm(b,a)};z.prototype.setFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rm(b,a)};z.prototype.setRollingFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);tm(b,a)};z.prototype.getWorldTransform=function(){return wrapPointer(fm(this.a),u)};z.prototype.getCollisionFlags=function(){return $l(this.a)};
|
|
z.prototype.setCollisionFlags=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);om(b,a)};z.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xm(b,a)};z.prototype.setCollisionShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);pm(b,a)};z.prototype.setCcdMotionThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);mm(b,a)};z.prototype.setCcdSweptSphereRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);nm(b,a)};
|
|
z.prototype.getUserIndex=function(){return dm(this.a)};z.prototype.setUserIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);um(b,a)};z.prototype.getUserPointer=function(){return wrapPointer(em(this.a),VoidPtr)};z.prototype.setUserPointer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);wm(b,a)};z.prototype.__destroy__=function(){Vl(this.a)};function Ry(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=Eh(a,b);getCache(Ry)[this.a]=this}Ry.prototype=Object.create(p.prototype);
|
|
Ry.prototype.constructor=Ry;Ry.prototype.b=Ry;Ry.c={};c.btConeShape=Ry;Ry.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hh(b,a)};Ry.prototype.getLocalScaling=function(){return wrapPointer(Gh(this.a),q)};Ry.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Fh(e,a,b)};Ry.prototype.__destroy__=function(){Dh(this.a)};
|
|
function Sy(){throw"cannot construct a btActionInterface, no constructor in IDL";}Sy.prototype=Object.create(WrapperObject.prototype);Sy.prototype.constructor=Sy;Sy.prototype.b=Sy;Sy.c={};c.btActionInterface=Sy;Sy.prototype.updateAction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);df(e,a,b)};Sy.prototype.__destroy__=function(){cf(this.a)};
|
|
function q(a,b,e){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);this.a=void 0===a?vv():void 0===b?_emscripten_bind_btVector3_btVector3_1(a):void 0===e?_emscripten_bind_btVector3_btVector3_2(a,b):wv(a,b,e);getCache(q)[this.a]=this}q.prototype=Object.create(WrapperObject.prototype);q.prototype.constructor=q;q.prototype.b=q;q.c={};c.btVector3=q;q.prototype.length=q.prototype.length=function(){return yv(this.a)};q.prototype.x=q.prototype.x=function(){return Iv(this.a)};
|
|
q.prototype.y=q.prototype.y=function(){return Jv(this.a)};q.prototype.z=q.prototype.z=function(){return Kv(this.a)};q.prototype.setX=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fv(b,a)};q.prototype.setY=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gv(b,a)};q.prototype.setZ=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hv(b,a)};
|
|
q.prototype.setValue=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Ev(f,a,b,e)};q.prototype.normalize=q.prototype.normalize=function(){zv(this.a)};q.prototype.rotate=q.prototype.rotate=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return wrapPointer(Dv(e,a,b),q)};q.prototype.dot=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return xv(b,a)};
|
|
q.prototype.op_mul=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Bv(b,a),q)};q.prototype.op_add=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Av(b,a),q)};q.prototype.op_sub=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Cv(b,a),q)};q.prototype.__destroy__=function(){uv(this.a)};function Ty(){throw"cannot construct a btVehicleRaycaster, no constructor in IDL";}Ty.prototype=Object.create(WrapperObject.prototype);
|
|
Ty.prototype.constructor=Ty;Ty.prototype.b=Ty;Ty.c={};c.btVehicleRaycaster=Ty;Ty.prototype.castRay=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);kw(f,a,b,e)};Ty.prototype.__destroy__=function(){jw(this.a)};function Uy(){throw"cannot construct a btQuadWord, no constructor in IDL";}Uy.prototype=Object.create(WrapperObject.prototype);Uy.prototype.constructor=Uy;Uy.prototype.b=Uy;Uy.c={};c.btQuadWord=Uy;
|
|
Uy.prototype.x=Uy.prototype.x=function(){return fp(this.a)};Uy.prototype.y=Uy.prototype.y=function(){return gp(this.a)};Uy.prototype.z=Uy.prototype.z=function(){return hp(this.a)};Uy.prototype.w=function(){return ep(this.a)};Uy.prototype.setX=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bp(b,a)};Uy.prototype.setY=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);cp(b,a)};Uy.prototype.setZ=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);dp(b,a)};
|
|
Uy.prototype.setW=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ap(b,a)};Uy.prototype.__destroy__=function(){$o(this.a)};function Vy(a){a&&"object"===typeof a&&(a=a.a);this.a=cj(a);getCache(Vy)[this.a]=this}Vy.prototype=Object.create(p.prototype);Vy.prototype.constructor=Vy;Vy.prototype.b=Vy;Vy.c={};c.btCylinderShape=Vy;Vy.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hj(b,a)};Vy.prototype.getMargin=function(){return fj(this.a)};
|
|
Vy.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);gj(b,a)};Vy.prototype.getLocalScaling=function(){return wrapPointer(ej(this.a),q)};Vy.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);dj(e,a,b)};Vy.prototype.__destroy__=function(){bj(this.a)};
|
|
function A(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=Lj(a,b,e,f);getCache(A)[this.a]=this}A.prototype=Object.create(w.prototype);A.prototype.constructor=A;A.prototype.b=A;A.c={};c.btDiscreteDynamicsWorld=A;A.prototype.setGravity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ek(b,a)};A.prototype.getGravity=function(){return wrapPointer(Vj(this.a),q)};
|
|
A.prototype.addRigidBody=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?Jj(f,a):void 0===e?_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(f,a,b):Kj(f,a,b,e)};A.prototype.removeRigidBody=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ck(b,a)};A.prototype.addConstraint=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);void 0===b?Hj(e,a):Ij(e,a,b)};
|
|
A.prototype.removeConstraint=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bk(b,a)};A.prototype.stepSimulation=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);return void 0===b?fk(f,a):void 0===e?gk(f,a,b):hk(f,a,b,e)};A.prototype.getDispatcher=function(){return wrapPointer(Uj(this.a),Iy)};
|
|
A.prototype.rayTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Yj(f,a,b,e)};A.prototype.getPairCache=function(){return wrapPointer(Wj(this.a),Jy)};A.prototype.getDispatchInfo=function(){return wrapPointer(Tj(this.a),n)};
|
|
A.prototype.addCollisionObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?Ej(f,a):void 0===e?Fj(f,a,b):Gj(f,a,b,e)};A.prototype.removeCollisionObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ak(b,a)};A.prototype.getBroadphase=function(){return wrapPointer(Rj(this.a),Ky)};
|
|
A.prototype.convexSweepTest=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);Oj(h,a,b,e,f,g)};A.prototype.contactPairTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Mj(f,a,b,e)};
|
|
A.prototype.contactTest=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Nj(e,a,b)};A.prototype.updateSingleAabb=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ik(b,a)};A.prototype.setDebugDrawer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);dk(b,a)};A.prototype.getDebugDrawer=function(){return wrapPointer(Sj(this.a),Ly)};A.prototype.debugDrawWorld=function(){Qj(this.a)};
|
|
A.prototype.debugDrawObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Pj(f,a,b,e)};A.prototype.addAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Dj(b,a)};A.prototype.removeAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zj(b,a)};A.prototype.getSolverInfo=function(){return wrapPointer(Xj(this.a),x)};A.prototype.__destroy__=function(){Cj(this.a)};
|
|
function Wy(){throw"cannot construct a btConvexShape, no constructor in IDL";}Wy.prototype=Object.create(p.prototype);Wy.prototype.constructor=Wy;Wy.prototype.b=Wy;Wy.c={};c.btConvexShape=Wy;Wy.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ei(b,a)};Wy.prototype.getLocalScaling=function(){return wrapPointer(Ci(this.a),q)};Wy.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Bi(e,a,b)};
|
|
Wy.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fi(b,a)};Wy.prototype.getMargin=function(){return Di(this.a)};Wy.prototype.__destroy__=function(){Ai(this.a)};function Iy(){throw"cannot construct a btDispatcher, no constructor in IDL";}Iy.prototype=Object.create(WrapperObject.prototype);Iy.prototype.constructor=Iy;Iy.prototype.b=Iy;Iy.c={};c.btDispatcher=Iy;Iy.prototype.getNumManifolds=function(){return Ik(this.a)};
|
|
Iy.prototype.getManifoldByIndexInternal=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Hk(b,a),Xy)};Iy.prototype.__destroy__=function(){Gk(this.a)};
|
|
function Yy(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=void 0===f?tl(a,b,e):void 0===g?_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4(a,b,e,f):ul(a,b,e,f,g);getCache(Yy)[this.a]=this}Yy.prototype=Object.create(My.prototype);Yy.prototype.constructor=Yy;Yy.prototype.b=Yy;Yy.c={};c.btGeneric6DofConstraint=Yy;
|
|
Yy.prototype.setLinearLowerLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Cl(b,a)};Yy.prototype.setLinearUpperLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Dl(b,a)};Yy.prototype.setAngularLowerLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zl(b,a)};Yy.prototype.setAngularUpperLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Al(b,a)};Yy.prototype.getFrameOffsetA=function(){return wrapPointer(xl(this.a),u)};
|
|
Yy.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vl(b,a)};Yy.prototype.getBreakingImpulseThreshold=function(){return wl(this.a)};Yy.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bl(b,a)};Yy.prototype.getParam=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return yl(e,a,b)};
|
|
Yy.prototype.setParam=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);El(f,a,b,e)};Yy.prototype.__destroy__=function(){sl(this.a)};function Zy(){throw"cannot construct a btStridingMeshInterface, no constructor in IDL";}Zy.prototype=Object.create(WrapperObject.prototype);Zy.prototype.constructor=Zy;Zy.prototype.b=Zy;Zy.c={};c.btStridingMeshInterface=Zy;Zy.prototype.__destroy__=function(){Uu(this.a)};
|
|
function $y(){throw"cannot construct a btMotionState, no constructor in IDL";}$y.prototype=Object.create(WrapperObject.prototype);$y.prototype.constructor=$y;$y.prototype.b=$y;$y.c={};c.btMotionState=$y;$y.prototype.getWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Yn(b,a)};$y.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zn(b,a)};$y.prototype.__destroy__=function(){Xn(this.a)};
|
|
function az(){throw"cannot construct a ContactResultCallback, no constructor in IDL";}az.prototype=Object.create(WrapperObject.prototype);az.prototype.constructor=az;az.prototype.b=az;az.c={};c.ContactResultCallback=az;
|
|
az.prototype.addSingleResult=function(a,b,e,f,g,h,m){var t=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);m&&"object"===typeof m&&(m=m.a);return td(t,a,b,e,f,g,h,m)};az.prototype.__destroy__=function(){sd(this.a)};function bz(){throw"cannot construct a btSoftBodySolver, no constructor in IDL";}bz.prototype=Object.create(WrapperObject.prototype);
|
|
bz.prototype.constructor=bz;bz.prototype.b=bz;bz.c={};c.btSoftBodySolver=bz;bz.prototype.__destroy__=function(){Bs(this.a)};function B(){throw"cannot construct a RayResultCallback, no constructor in IDL";}B.prototype=Object.create(WrapperObject.prototype);B.prototype.constructor=B;B.prototype.b=B;B.c={};c.RayResultCallback=B;B.prototype.hasHit=function(){return!!Ge(this.a)};B.prototype.get_m_collisionFilterGroup=B.prototype.g=function(){return De(this.a)};
|
|
B.prototype.set_m_collisionFilterGroup=B.prototype.j=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ie(b,a)};Object.defineProperty(B.prototype,"m_collisionFilterGroup",{get:B.prototype.g,set:B.prototype.j});B.prototype.get_m_collisionFilterMask=B.prototype.h=function(){return Ee(this.a)};B.prototype.set_m_collisionFilterMask=B.prototype.l=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Je(b,a)};Object.defineProperty(B.prototype,"m_collisionFilterMask",{get:B.prototype.h,set:B.prototype.l});
|
|
B.prototype.get_m_closestHitFraction=B.prototype.f=function(){return Ce(this.a)};B.prototype.set_m_closestHitFraction=B.prototype.i=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);He(b,a)};Object.defineProperty(B.prototype,"m_closestHitFraction",{get:B.prototype.f,set:B.prototype.i});B.prototype.get_m_collisionObject=B.prototype.G=function(){return wrapPointer(Fe(this.a),r)};B.prototype.set_m_collisionObject=B.prototype.P=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ke(b,a)};
|
|
Object.defineProperty(B.prototype,"m_collisionObject",{get:B.prototype.G,set:B.prototype.P});B.prototype.__destroy__=function(){Be(this.a)};function cz(){throw"cannot construct a btMatrix3x3, no constructor in IDL";}cz.prototype=Object.create(WrapperObject.prototype);cz.prototype.constructor=cz;cz.prototype.b=cz;cz.c={};c.btMatrix3x3=cz;cz.prototype.setEulerZYX=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Wn(f,a,b,e)};
|
|
cz.prototype.getRotation=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Un(b,a)};cz.prototype.getRow=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Vn(b,a),q)};cz.prototype.__destroy__=function(){Tn(this.a)};function n(){throw"cannot construct a btDispatcherInfo, no constructor in IDL";}n.prototype=Object.create(WrapperObject.prototype);n.prototype.constructor=n;n.prototype.b=n;n.c={};c.btDispatcherInfo=n;n.prototype.get_m_timeStep=n.prototype.nc=function(){return rk(this.a)};
|
|
n.prototype.set_m_timeStep=n.prototype.Qe=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ck(b,a)};Object.defineProperty(n.prototype,"m_timeStep",{get:n.prototype.nc,set:n.prototype.Qe});n.prototype.get_m_stepCount=n.prototype.dc=function(){return pk(this.a)};n.prototype.set_m_stepCount=n.prototype.He=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ak(b,a)};Object.defineProperty(n.prototype,"m_stepCount",{get:n.prototype.dc,set:n.prototype.He});
|
|
n.prototype.get_m_dispatchFunc=n.prototype.ab=function(){return mk(this.a)};n.prototype.set_m_dispatchFunc=n.prototype.Fd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xk(b,a)};Object.defineProperty(n.prototype,"m_dispatchFunc",{get:n.prototype.ab,set:n.prototype.Fd});n.prototype.get_m_timeOfImpact=n.prototype.mc=function(){return qk(this.a)};n.prototype.set_m_timeOfImpact=n.prototype.Pe=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bk(b,a)};
|
|
Object.defineProperty(n.prototype,"m_timeOfImpact",{get:n.prototype.mc,set:n.prototype.Pe});n.prototype.get_m_useContinuous=n.prototype.pc=function(){return!!sk(this.a)};n.prototype.set_m_useContinuous=n.prototype.Se=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Dk(b,a)};Object.defineProperty(n.prototype,"m_useContinuous",{get:n.prototype.pc,set:n.prototype.Se});n.prototype.get_m_enableSatConvex=n.prototype.fb=function(){return!!ok(this.a)};
|
|
n.prototype.set_m_enableSatConvex=n.prototype.Jd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zk(b,a)};Object.defineProperty(n.prototype,"m_enableSatConvex",{get:n.prototype.fb,set:n.prototype.Jd});n.prototype.get_m_enableSPU=n.prototype.eb=function(){return!!nk(this.a)};n.prototype.set_m_enableSPU=n.prototype.Id=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yk(b,a)};Object.defineProperty(n.prototype,"m_enableSPU",{get:n.prototype.eb,set:n.prototype.Id});
|
|
n.prototype.get_m_useEpa=n.prototype.rc=function(){return!!uk(this.a)};n.prototype.set_m_useEpa=n.prototype.Ue=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fk(b,a)};Object.defineProperty(n.prototype,"m_useEpa",{get:n.prototype.rc,set:n.prototype.Ue});n.prototype.get_m_allowedCcdPenetration=n.prototype.Fa=function(){return kk(this.a)};n.prototype.set_m_allowedCcdPenetration=n.prototype.jd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vk(b,a)};
|
|
Object.defineProperty(n.prototype,"m_allowedCcdPenetration",{get:n.prototype.Fa,set:n.prototype.jd});n.prototype.get_m_useConvexConservativeDistanceUtil=n.prototype.qc=function(){return!!tk(this.a)};n.prototype.set_m_useConvexConservativeDistanceUtil=n.prototype.Te=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ek(b,a)};Object.defineProperty(n.prototype,"m_useConvexConservativeDistanceUtil",{get:n.prototype.qc,set:n.prototype.Te});
|
|
n.prototype.get_m_convexConservativeDistanceThreshold=n.prototype.Wa=function(){return lk(this.a)};n.prototype.set_m_convexConservativeDistanceThreshold=n.prototype.Ad=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);wk(b,a)};Object.defineProperty(n.prototype,"m_convexConservativeDistanceThreshold",{get:n.prototype.Wa,set:n.prototype.Ad});n.prototype.__destroy__=function(){jk(this.a)};function C(){throw"cannot construct a Material, no constructor in IDL";}C.prototype=Object.create(WrapperObject.prototype);
|
|
C.prototype.constructor=C;C.prototype.b=C;C.c={};c.Material=C;C.prototype.get_m_kLST=C.prototype.zb=function(){return ge(this.a)};C.prototype.set_m_kLST=C.prototype.ce=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ke(b,a)};Object.defineProperty(C.prototype,"m_kLST",{get:C.prototype.zb,set:C.prototype.ce});C.prototype.get_m_kAST=C.prototype.yb=function(){return fe(this.a)};C.prototype.set_m_kAST=C.prototype.be=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);je(b,a)};
|
|
Object.defineProperty(C.prototype,"m_kAST",{get:C.prototype.yb,set:C.prototype.be});C.prototype.get_m_kVST=C.prototype.Ab=function(){return he(this.a)};C.prototype.set_m_kVST=C.prototype.de=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);le(b,a)};Object.defineProperty(C.prototype,"m_kVST",{get:C.prototype.Ab,set:C.prototype.de});C.prototype.get_m_flags=C.prototype.ib=function(){return ee(this.a)};
|
|
C.prototype.set_m_flags=C.prototype.Md=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ie(b,a)};Object.defineProperty(C.prototype,"m_flags",{get:C.prototype.ib,set:C.prototype.Md});C.prototype.__destroy__=function(){de(this.a)};function D(){throw"cannot construct a btWheelInfoConstructionInfo, no constructor in IDL";}D.prototype=Object.create(WrapperObject.prototype);D.prototype.constructor=D;D.prototype.b=D;D.c={};c.btWheelInfoConstructionInfo=D;
|
|
D.prototype.get_m_chassisConnectionCS=D.prototype.Ra=function(){return wrapPointer(Aw(this.a),q)};D.prototype.set_m_chassisConnectionCS=D.prototype.vd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mw(b,a)};Object.defineProperty(D.prototype,"m_chassisConnectionCS",{get:D.prototype.Ra,set:D.prototype.vd});D.prototype.get_m_wheelDirectionCS=D.prototype.K=function(){return wrapPointer(Hw(this.a),q)};
|
|
D.prototype.set_m_wheelDirectionCS=D.prototype.U=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tw(b,a)};Object.defineProperty(D.prototype,"m_wheelDirectionCS",{get:D.prototype.K,set:D.prototype.U});D.prototype.get_m_wheelAxleCS=D.prototype.J=function(){return wrapPointer(Gw(this.a),q)};D.prototype.set_m_wheelAxleCS=D.prototype.T=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Sw(b,a)};Object.defineProperty(D.prototype,"m_wheelAxleCS",{get:D.prototype.J,set:D.prototype.T});
|
|
D.prototype.get_m_suspensionRestLength=D.prototype.jc=function(){return Ew(this.a)};D.prototype.set_m_suspensionRestLength=D.prototype.Me=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qw(b,a)};Object.defineProperty(D.prototype,"m_suspensionRestLength",{get:D.prototype.jc,set:D.prototype.Me});D.prototype.get_m_maxSuspensionTravelCm=D.prototype.s=function(){return Dw(this.a)};
|
|
D.prototype.set_m_maxSuspensionTravelCm=D.prototype.B=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Pw(b,a)};Object.defineProperty(D.prototype,"m_maxSuspensionTravelCm",{get:D.prototype.s,set:D.prototype.B});D.prototype.get_m_wheelRadius=D.prototype.vc=function(){return Iw(this.a)};D.prototype.set_m_wheelRadius=D.prototype.Ye=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Uw(b,a)};Object.defineProperty(D.prototype,"m_wheelRadius",{get:D.prototype.vc,set:D.prototype.Ye});
|
|
D.prototype.get_m_suspensionStiffness=D.prototype.u=function(){return Fw(this.a)};D.prototype.set_m_suspensionStiffness=D.prototype.C=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rw(b,a)};Object.defineProperty(D.prototype,"m_suspensionStiffness",{get:D.prototype.u,set:D.prototype.C});D.prototype.get_m_wheelsDampingCompression=D.prototype.L=function(){return Jw(this.a)};
|
|
D.prototype.set_m_wheelsDampingCompression=D.prototype.V=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vw(b,a)};Object.defineProperty(D.prototype,"m_wheelsDampingCompression",{get:D.prototype.L,set:D.prototype.V});D.prototype.get_m_wheelsDampingRelaxation=D.prototype.M=function(){return Kw(this.a)};D.prototype.set_m_wheelsDampingRelaxation=D.prototype.W=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ww(b,a)};
|
|
Object.defineProperty(D.prototype,"m_wheelsDampingRelaxation",{get:D.prototype.M,set:D.prototype.W});D.prototype.get_m_frictionSlip=D.prototype.m=function(){return Bw(this.a)};D.prototype.set_m_frictionSlip=D.prototype.v=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Nw(b,a)};Object.defineProperty(D.prototype,"m_frictionSlip",{get:D.prototype.m,set:D.prototype.v});D.prototype.get_m_maxSuspensionForce=D.prototype.o=function(){return Cw(this.a)};
|
|
D.prototype.set_m_maxSuspensionForce=D.prototype.A=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ow(b,a)};Object.defineProperty(D.prototype,"m_maxSuspensionForce",{get:D.prototype.o,set:D.prototype.A});D.prototype.get_m_bIsFrontWheel=D.prototype.F=function(){return!!zw(this.a)};D.prototype.set_m_bIsFrontWheel=D.prototype.O=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lw(b,a)};Object.defineProperty(D.prototype,"m_bIsFrontWheel",{get:D.prototype.F,set:D.prototype.O});
|
|
D.prototype.__destroy__=function(){yw(this.a)};function dz(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=void 0===b?Hi(a):Ii(a,b);getCache(dz)[this.a]=this}dz.prototype=Object.create(Wy.prototype);dz.prototype.constructor=dz;dz.prototype.b=dz;dz.c={};c.btConvexTriangleMeshShape=dz;dz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mi(b,a)};dz.prototype.getLocalScaling=function(){return wrapPointer(Ki(this.a),q)};
|
|
dz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ji(e,a,b)};dz.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ni(b,a)};dz.prototype.getMargin=function(){return Li(this.a)};dz.prototype.__destroy__=function(){Gi(this.a)};function Ky(){throw"cannot construct a btBroadphaseInterface, no constructor in IDL";}Ky.prototype=Object.create(WrapperObject.prototype);Ky.prototype.constructor=Ky;
|
|
Ky.prototype.b=Ky;Ky.c={};c.btBroadphaseInterface=Ky;Ky.prototype.__destroy__=function(){rf(this.a)};function E(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=void 0===f?rq(a,b,e):sq(a,b,e,f);getCache(E)[this.a]=this}E.prototype=Object.create(WrapperObject.prototype);E.prototype.constructor=E;E.prototype.b=E;E.c={};c.btRigidBodyConstructionInfo=E;E.prototype.get_m_linearDamping=E.prototype.Bb=function(){return Bq(this.a)};
|
|
E.prototype.set_m_linearDamping=E.prototype.ee=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Nq(b,a)};Object.defineProperty(E.prototype,"m_linearDamping",{get:E.prototype.Bb,set:E.prototype.ee});E.prototype.get_m_angularDamping=E.prototype.Ha=function(){return yq(this.a)};E.prototype.set_m_angularDamping=E.prototype.ld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kq(b,a)};Object.defineProperty(E.prototype,"m_angularDamping",{get:E.prototype.Ha,set:E.prototype.ld});
|
|
E.prototype.get_m_friction=E.prototype.jb=function(){return Aq(this.a)};E.prototype.set_m_friction=E.prototype.Nd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mq(b,a)};Object.defineProperty(E.prototype,"m_friction",{get:E.prototype.jb,set:E.prototype.Nd});E.prototype.get_m_rollingFriction=E.prototype.Wb=function(){return Eq(this.a)};E.prototype.set_m_rollingFriction=E.prototype.ze=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qq(b,a)};
|
|
Object.defineProperty(E.prototype,"m_rollingFriction",{get:E.prototype.Wb,set:E.prototype.ze});E.prototype.get_m_restitution=E.prototype.Ub=function(){return Dq(this.a)};E.prototype.set_m_restitution=E.prototype.xe=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Pq(b,a)};Object.defineProperty(E.prototype,"m_restitution",{get:E.prototype.Ub,set:E.prototype.xe});E.prototype.get_m_linearSleepingThreshold=E.prototype.Cb=function(){return Cq(this.a)};
|
|
E.prototype.set_m_linearSleepingThreshold=E.prototype.fe=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Oq(b,a)};Object.defineProperty(E.prototype,"m_linearSleepingThreshold",{get:E.prototype.Cb,set:E.prototype.fe});E.prototype.get_m_angularSleepingThreshold=E.prototype.Ia=function(){return zq(this.a)};E.prototype.set_m_angularSleepingThreshold=E.prototype.md=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lq(b,a)};
|
|
Object.defineProperty(E.prototype,"m_angularSleepingThreshold",{get:E.prototype.Ia,set:E.prototype.md});E.prototype.get_m_additionalDamping=E.prototype.Ca=function(){return!!wq(this.a)};E.prototype.set_m_additionalDamping=E.prototype.fd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Iq(b,a)};Object.defineProperty(E.prototype,"m_additionalDamping",{get:E.prototype.Ca,set:E.prototype.fd});E.prototype.get_m_additionalDampingFactor=E.prototype.Da=function(){return vq(this.a)};
|
|
E.prototype.set_m_additionalDampingFactor=E.prototype.gd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hq(b,a)};Object.defineProperty(E.prototype,"m_additionalDampingFactor",{get:E.prototype.Da,set:E.prototype.gd});E.prototype.get_m_additionalLinearDampingThresholdSqr=E.prototype.Ea=function(){return xq(this.a)};E.prototype.set_m_additionalLinearDampingThresholdSqr=E.prototype.hd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Jq(b,a)};
|
|
Object.defineProperty(E.prototype,"m_additionalLinearDampingThresholdSqr",{get:E.prototype.Ea,set:E.prototype.hd});E.prototype.get_m_additionalAngularDampingThresholdSqr=E.prototype.Ba=function(){return uq(this.a)};E.prototype.set_m_additionalAngularDampingThresholdSqr=E.prototype.ed=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gq(b,a)};Object.defineProperty(E.prototype,"m_additionalAngularDampingThresholdSqr",{get:E.prototype.Ba,set:E.prototype.ed});
|
|
E.prototype.get_m_additionalAngularDampingFactor=E.prototype.Aa=function(){return tq(this.a)};E.prototype.set_m_additionalAngularDampingFactor=E.prototype.dd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fq(b,a)};Object.defineProperty(E.prototype,"m_additionalAngularDampingFactor",{get:E.prototype.Aa,set:E.prototype.dd});E.prototype.__destroy__=function(){qq(this.a)};function ez(){throw"cannot construct a btCollisionConfiguration, no constructor in IDL";}ez.prototype=Object.create(WrapperObject.prototype);
|
|
ez.prototype.constructor=ez;ez.prototype.b=ez;ez.c={};c.btCollisionConfiguration=ez;ez.prototype.__destroy__=function(){bg(this.a)};function Xy(){this.a=Ho();getCache(Xy)[this.a]=this}Xy.prototype=Object.create(WrapperObject.prototype);Xy.prototype.constructor=Xy;Xy.prototype.b=Xy;Xy.c={};c.btPersistentManifold=Xy;Xy.prototype.getBody0=function(){return wrapPointer(Io(this.a),r)};Xy.prototype.getBody1=function(){return wrapPointer(Jo(this.a),r)};Xy.prototype.getNumContacts=function(){return Lo(this.a)};
|
|
Xy.prototype.getContactPoint=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Ko(b,a),F)};Xy.prototype.__destroy__=function(){Go(this.a)};function fz(a){a&&"object"===typeof a&&(a=a.a);this.a=void 0===a?fh():gh(a);getCache(fz)[this.a]=this}fz.prototype=Object.create(p.prototype);fz.prototype.constructor=fz;fz.prototype.b=fz;fz.c={};c.btCompoundShape=fz;
|
|
fz.prototype.addChildShape=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);eh(e,a,b)};fz.prototype.removeChildShapeByIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);mh(b,a)};fz.prototype.getNumChildShapes=function(){return lh(this.a)};fz.prototype.getChildShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(ih(b,a),p)};fz.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);oh(b,a)};
|
|
fz.prototype.getMargin=function(){return kh(this.a)};fz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);nh(b,a)};fz.prototype.getLocalScaling=function(){return wrapPointer(jh(this.a),q)};fz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);hh(e,a,b)};fz.prototype.__destroy__=function(){dh(this.a)};
|
|
function G(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=Fb(a,b);getCache(G)[this.a]=this}G.prototype=Object.create(y.prototype);G.prototype.constructor=G;G.prototype.b=G;G.c={};c.ClosestConvexResultCallback=G;G.prototype.hasHit=function(){return!!Ob(this.a)};G.prototype.get_m_convexFromWorld=G.prototype.Xa=function(){return wrapPointer(Kb(this.a),q)};G.prototype.set_m_convexFromWorld=G.prototype.Bd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tb(b,a)};
|
|
Object.defineProperty(G.prototype,"m_convexFromWorld",{get:G.prototype.Xa,set:G.prototype.Bd});G.prototype.get_m_convexToWorld=G.prototype.Ya=function(){return wrapPointer(Lb(this.a),q)};G.prototype.set_m_convexToWorld=G.prototype.Cd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ub(b,a)};Object.defineProperty(G.prototype,"m_convexToWorld",{get:G.prototype.Ya,set:G.prototype.Cd});G.prototype.get_m_hitNormalWorld=G.prototype.H=function(){return wrapPointer(Mb(this.a),q)};
|
|
G.prototype.set_m_hitNormalWorld=G.prototype.R=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vb(b,a)};Object.defineProperty(G.prototype,"m_hitNormalWorld",{get:G.prototype.H,set:G.prototype.R});G.prototype.get_m_hitPointWorld=G.prototype.I=function(){return wrapPointer(Nb(this.a),q)};G.prototype.set_m_hitPointWorld=G.prototype.S=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wb(b,a)};Object.defineProperty(G.prototype,"m_hitPointWorld",{get:G.prototype.I,set:G.prototype.S});
|
|
G.prototype.get_m_collisionFilterGroup=G.prototype.g=function(){return Ib(this.a)};G.prototype.set_m_collisionFilterGroup=G.prototype.j=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qb(b,a)};Object.defineProperty(G.prototype,"m_collisionFilterGroup",{get:G.prototype.g,set:G.prototype.j});G.prototype.get_m_collisionFilterMask=G.prototype.h=function(){return Jb(this.a)};G.prototype.set_m_collisionFilterMask=G.prototype.l=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rb(b,a)};
|
|
Object.defineProperty(G.prototype,"m_collisionFilterMask",{get:G.prototype.h,set:G.prototype.l});G.prototype.get_m_closestHitFraction=G.prototype.f=function(){return Hb(this.a)};G.prototype.set_m_closestHitFraction=G.prototype.i=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Pb(b,a)};Object.defineProperty(G.prototype,"m_closestHitFraction",{get:G.prototype.f,set:G.prototype.i});G.prototype.__destroy__=function(){Gb(this.a)};
|
|
function gz(){throw"cannot construct a tMaterialArray, no constructor in IDL";}gz.prototype=Object.create(WrapperObject.prototype);gz.prototype.constructor=gz;gz.prototype.b=gz;gz.c={};c.tMaterialArray=gz;gz.prototype.size=gz.prototype.size=function(){return dy(this.a)};gz.prototype.at=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(cy(b,a),C)};gz.prototype.__destroy__=function(){by(this.a)};
|
|
function hz(a){a&&"object"===typeof a&&(a=a.a);this.a=Aj(a);getCache(hz)[this.a]=this}hz.prototype=Object.create(Ty.prototype);hz.prototype.constructor=hz;hz.prototype.b=hz;hz.c={};c.btDefaultVehicleRaycaster=hz;hz.prototype.castRay=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Bj(f,a,b,e)};hz.prototype.__destroy__=function(){zj(this.a)};function H(){this.a=Zh();getCache(H)[this.a]=this}H.prototype=Object.create(WrapperObject.prototype);
|
|
H.prototype.constructor=H;H.prototype.b=H;H.c={};c.btConstraintSetting=H;H.prototype.get_m_tau=H.prototype.lc=function(){return bi(this.a)};H.prototype.set_m_tau=H.prototype.Oe=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ei(b,a)};Object.defineProperty(H.prototype,"m_tau",{get:H.prototype.lc,set:H.prototype.Oe});H.prototype.get_m_damping=H.prototype.Za=function(){return $h(this.a)};H.prototype.set_m_damping=H.prototype.Dd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ci(b,a)};
|
|
Object.defineProperty(H.prototype,"m_damping",{get:H.prototype.Za,set:H.prototype.Dd});H.prototype.get_m_impulseClamp=H.prototype.vb=function(){return ai(this.a)};H.prototype.set_m_impulseClamp=H.prototype.Zd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);di(b,a)};Object.defineProperty(H.prototype,"m_impulseClamp",{get:H.prototype.vb,set:H.prototype.Zd});H.prototype.__destroy__=function(){Yh(this.a)};function iz(){throw"cannot construct a LocalShapeInfo, no constructor in IDL";}
|
|
iz.prototype=Object.create(WrapperObject.prototype);iz.prototype.constructor=iz;iz.prototype.b=iz;iz.c={};c.LocalShapeInfo=iz;iz.prototype.get_m_shapePart=iz.prototype.Zb=function(){return $d(this.a)};iz.prototype.set_m_shapePart=iz.prototype.Ce=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);be(b,a)};Object.defineProperty(iz.prototype,"m_shapePart",{get:iz.prototype.Zb,set:iz.prototype.Ce});iz.prototype.get_m_triangleIndex=iz.prototype.oc=function(){return ae(this.a)};
|
|
iz.prototype.set_m_triangleIndex=iz.prototype.Re=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ce(b,a)};Object.defineProperty(iz.prototype,"m_triangleIndex",{get:iz.prototype.oc,set:iz.prototype.Re});iz.prototype.__destroy__=function(){Zd(this.a)};function I(a){a&&"object"===typeof a&&(a=a.a);this.a=cr(a);getCache(I)[this.a]=this}I.prototype=Object.create(r.prototype);I.prototype.constructor=I;I.prototype.b=I;I.c={};c.btRigidBody=I;
|
|
I.prototype.getCenterOfMassTransform=function(){return wrapPointer(gr(this.a),u)};I.prototype.setCenterOfMassTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zr(b,a)};I.prototype.setSleepingThresholds=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Mr(e,a,b)};I.prototype.setDamping=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Dr(e,a,b)};
|
|
I.prototype.setMassProps=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ir(e,a,b)};I.prototype.setLinearFactor=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gr(b,a)};I.prototype.applyTorque=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);br(b,a)};I.prototype.applyLocalTorque=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$q(b,a)};
|
|
I.prototype.applyForce=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Xq(e,a,b)};I.prototype.applyCentralForce=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Uq(b,a)};I.prototype.applyCentralLocalForce=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wq(b,a)};I.prototype.applyTorqueImpulse=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ar(b,a)};
|
|
I.prototype.applyImpulse=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Zq(e,a,b)};I.prototype.applyCentralImpulse=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vq(b,a)};I.prototype.updateInertiaTensor=function(){Rr(this.a)};I.prototype.getLinearVelocity=function(){return wrapPointer(kr(this.a),q)};I.prototype.getAngularVelocity=function(){return wrapPointer(fr(this.a),q)};
|
|
I.prototype.setLinearVelocity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hr(b,a)};I.prototype.setAngularVelocity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vr(b,a)};I.prototype.getMotionState=function(){return wrapPointer(lr(this.a),$y)};I.prototype.setMotionState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Jr(b,a)};I.prototype.setAngularFactor=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ur(b,a)};
|
|
I.prototype.upcast=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Qr(b,a),I)};I.prototype.getAabb=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);er(e,a,b)};I.prototype.applyGravity=function(){Yq(this.a)};I.prototype.getGravity=function(){return wrapPointer(jr(this.a),q)};I.prototype.setGravity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fr(b,a)};
|
|
I.prototype.setAnisotropicFriction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);wr(e,a,b)};I.prototype.getCollisionShape=function(){return wrapPointer(ir(this.a),p)};I.prototype.setContactProcessingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Cr(b,a)};I.prototype.setActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);tr(b,a)};
|
|
I.prototype.forceActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);dr(b,a)};I.prototype.activate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);void 0===a?Sq(b):Tq(b,a)};I.prototype.isActive=function(){return!!pr(this.a)};I.prototype.isKinematicObject=function(){return!!qr(this.a)};I.prototype.isStaticObject=function(){return!!rr(this.a)};I.prototype.isStaticOrKinematicObject=function(){return!!sr(this.a)};
|
|
I.prototype.setRestitution=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kr(b,a)};I.prototype.setFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Er(b,a)};I.prototype.setRollingFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lr(b,a)};I.prototype.getWorldTransform=function(){return wrapPointer(or(this.a),u)};I.prototype.getCollisionFlags=function(){return hr(this.a)};
|
|
I.prototype.setCollisionFlags=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ar(b,a)};I.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Pr(b,a)};I.prototype.setCollisionShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Br(b,a)};I.prototype.setCcdMotionThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xr(b,a)};I.prototype.setCcdSweptSphereRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yr(b,a)};
|
|
I.prototype.getUserIndex=function(){return mr(this.a)};I.prototype.setUserIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Nr(b,a)};I.prototype.getUserPointer=function(){return wrapPointer(nr(this.a),VoidPtr)};I.prototype.setUserPointer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Or(b,a)};I.prototype.__destroy__=function(){Rq(this.a)};function jz(){this.a=jj();getCache(jz)[this.a]=this}jz.prototype=Object.create(WrapperObject.prototype);jz.prototype.constructor=jz;
|
|
jz.prototype.b=jz;jz.c={};c.btDbvtBroadphase=jz;jz.prototype.__destroy__=function(){ij(this.a)};function kz(){this.a=yj();getCache(kz)[this.a]=this}kz.prototype=Object.create(bz.prototype);kz.prototype.constructor=kz;kz.prototype.b=kz;kz.c={};c.btDefaultSoftBodySolver=kz;kz.prototype.__destroy__=function(){xj(this.a)};function lz(a){a&&"object"===typeof a&&(a=a.a);this.a=dg(a);getCache(lz)[this.a]=this}lz.prototype=Object.create(Iy.prototype);lz.prototype.constructor=lz;lz.prototype.b=lz;lz.c={};
|
|
c.btCollisionDispatcher=lz;lz.prototype.getNumManifolds=function(){return fg(this.a)};lz.prototype.getManifoldByIndexInternal=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(eg(b,a),Xy)};lz.prototype.__destroy__=function(){cg(this.a)};
|
|
function mz(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=void 0===e?ff(a,b):void 0===f?gf(a,b,e):void 0===g?hf(a,b,e,f):jf(a,b,e,f,g);getCache(mz)[this.a]=this}mz.prototype=Object.create(WrapperObject.prototype);mz.prototype.constructor=mz;mz.prototype.b=mz;mz.c={};c.btAxisSweep3=mz;mz.prototype.__destroy__=function(){ef(this.a)};
|
|
function J(){this.a=Ds();getCache(J)[this.a]=this}J.prototype=Object.create(WrapperObject.prototype);J.prototype.constructor=J;J.prototype.b=J;J.c={};c.btSoftBodyWorldInfo=J;J.prototype.get_air_density=J.prototype.ea=function(){return Es(this.a)};J.prototype.set_air_density=J.prototype.Ic=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ms(b,a)};Object.defineProperty(J.prototype,"air_density",{get:J.prototype.ea,set:J.prototype.Ic});J.prototype.get_water_density=J.prototype.Ec=function(){return Js(this.a)};
|
|
J.prototype.set_water_density=J.prototype.gf=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rs(b,a)};Object.defineProperty(J.prototype,"water_density",{get:J.prototype.Ec,set:J.prototype.gf});J.prototype.get_water_offset=J.prototype.Gc=function(){return Ls(this.a)};J.prototype.set_water_offset=J.prototype.jf=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ts(b,a)};Object.defineProperty(J.prototype,"water_offset",{get:J.prototype.Gc,set:J.prototype.jf});
|
|
J.prototype.get_m_maxDisplacement=J.prototype.Ib=function(){return Is(this.a)};J.prototype.set_m_maxDisplacement=J.prototype.le=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qs(b,a)};Object.defineProperty(J.prototype,"m_maxDisplacement",{get:J.prototype.Ib,set:J.prototype.le});J.prototype.get_water_normal=J.prototype.Fc=function(){return wrapPointer(Ks(this.a),q)};J.prototype.set_water_normal=J.prototype.hf=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ss(b,a)};
|
|
Object.defineProperty(J.prototype,"water_normal",{get:J.prototype.Fc,set:J.prototype.hf});J.prototype.get_m_broadphase=J.prototype.Ma=function(){return wrapPointer(Fs(this.a),Ky)};J.prototype.set_m_broadphase=J.prototype.qd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ns(b,a)};Object.defineProperty(J.prototype,"m_broadphase",{get:J.prototype.Ma,set:J.prototype.qd});J.prototype.get_m_dispatcher=J.prototype.bb=function(){return wrapPointer(Gs(this.a),Iy)};
|
|
J.prototype.set_m_dispatcher=J.prototype.Gd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Os(b,a)};Object.defineProperty(J.prototype,"m_dispatcher",{get:J.prototype.bb,set:J.prototype.Gd});J.prototype.get_m_gravity=J.prototype.lb=function(){return wrapPointer(Hs(this.a),q)};J.prototype.set_m_gravity=J.prototype.Pd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ps(b,a)};Object.defineProperty(J.prototype,"m_gravity",{get:J.prototype.lb,set:J.prototype.Pd});
|
|
J.prototype.__destroy__=function(){Cs(this.a)};function nz(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=void 0===e?Jh(a,b):void 0===f?_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3(a,b,e):Kh(a,b,e,f);getCache(nz)[this.a]=this}nz.prototype=Object.create(My.prototype);nz.prototype.constructor=nz;nz.prototype.b=nz;nz.c={};c.btConeTwistConstraint=nz;
|
|
nz.prototype.setLimit=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Sh(e,a,b)};nz.prototype.setAngularOnly=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ph(b,a)};nz.prototype.setDamping=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rh(b,a)};nz.prototype.enableMotor=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mh(b,a)};nz.prototype.setMaxMotorImpulse=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Uh(b,a)};
|
|
nz.prototype.setMaxMotorImpulseNormalized=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Th(b,a)};nz.prototype.setMotorTarget=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wh(b,a)};nz.prototype.setMotorTargetInConstraintSpace=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vh(b,a)};nz.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lh(b,a)};nz.prototype.getBreakingImpulseThreshold=function(){return Nh(this.a)};
|
|
nz.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qh(b,a)};nz.prototype.getParam=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return Oh(e,a,b)};nz.prototype.setParam=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Xh(f,a,b,e)};nz.prototype.__destroy__=function(){Ih(this.a)};
|
|
function oz(a,b,e,f,g,h,m){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);m&&"object"===typeof m&&(m=m.a);this.a=void 0===e?Im(a,b):void 0===f?Jm(a,b,e):void 0===g?Km(a,b,e,f):void 0===h?Lm(a,b,e,f,g):void 0===m?Mm(a,b,e,f,g,h):Nm(a,b,e,f,g,h,m);getCache(oz)[this.a]=this}oz.prototype=Object.create(My.prototype);oz.prototype.constructor=oz;
|
|
oz.prototype.b=oz;oz.c={};c.btHingeConstraint=oz;oz.prototype.setLimit=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);void 0===g?Vm(h,a,b,e,f):Wm(h,a,b,e,f,g)};oz.prototype.enableAngularMotor=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Om(f,a,b,e)};
|
|
oz.prototype.setAngularOnly=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tm(b,a)};oz.prototype.enableMotor=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qm(b,a)};oz.prototype.setMaxMotorImpulse=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xm(b,a)};oz.prototype.setMotorTarget=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ym(e,a,b)};
|
|
oz.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Pm(b,a)};oz.prototype.getBreakingImpulseThreshold=function(){return Rm(this.a)};oz.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Um(b,a)};oz.prototype.getParam=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return Sm(e,a,b)};
|
|
oz.prototype.setParam=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Zm(f,a,b,e)};oz.prototype.__destroy__=function(){Hm(this.a)};function pz(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=zh(a,b);getCache(pz)[this.a]=this}pz.prototype=Object.create(Ry.prototype);pz.prototype.constructor=pz;pz.prototype.b=pz;pz.c={};c.btConeShapeZ=pz;
|
|
pz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ch(b,a)};pz.prototype.getLocalScaling=function(){return wrapPointer(Bh(this.a),q)};pz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ah(e,a,b)};pz.prototype.__destroy__=function(){yh(this.a)};function qz(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=uh(a,b);getCache(qz)[this.a]=this}qz.prototype=Object.create(Ry.prototype);
|
|
qz.prototype.constructor=qz;qz.prototype.b=qz;qz.c={};c.btConeShapeX=qz;qz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xh(b,a)};qz.prototype.getLocalScaling=function(){return wrapPointer(wh(this.a),q)};qz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);vh(e,a,b)};qz.prototype.__destroy__=function(){th(this.a)};
|
|
function rz(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=void 0===a?lv():void 0===b?mv(a):nv(a,b);getCache(rz)[this.a]=this}rz.prototype=Object.create(Zy.prototype);rz.prototype.constructor=rz;rz.prototype.b=rz;rz.c={};c.btTriangleMesh=rz;rz.prototype.addTriangle=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);void 0===f?jv(g,a,b,e):kv(g,a,b,e,f)};
|
|
rz.prototype.__destroy__=function(){iv(this.a)};function sz(a,b){Ey();"object"==typeof a&&(a=ensureFloat32(a));b&&"object"===typeof b&&(b=b.a);this.a=void 0===a?qi():void 0===b?ri(a):si(a,b);getCache(sz)[this.a]=this}sz.prototype=Object.create(p.prototype);sz.prototype.constructor=sz;sz.prototype.b=sz;sz.c={};c.btConvexHullShape=sz;sz.prototype.addPoint=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);void 0===b?oi(e,a):pi(e,a,b)};
|
|
sz.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zi(b,a)};sz.prototype.getMargin=function(){return vi(this.a)};sz.prototype.getNumVertices=function(){return wi(this.a)};sz.prototype.initializePolyhedralFeatures=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return!!xi(b,a)};sz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yi(b,a)};sz.prototype.getLocalScaling=function(){return wrapPointer(ui(this.a),q)};
|
|
sz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ti(e,a,b)};sz.prototype.__destroy__=function(){ni(this.a)};function K(){this.a=lw();getCache(K)[this.a]=this}K.prototype=Object.create(WrapperObject.prototype);K.prototype.constructor=K;K.prototype.b=K;K.c={};c.btVehicleTuning=K;K.prototype.get_m_suspensionStiffness=K.prototype.u=function(){return rw(this.a)};
|
|
K.prototype.set_m_suspensionStiffness=K.prototype.C=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xw(b,a)};Object.defineProperty(K.prototype,"m_suspensionStiffness",{get:K.prototype.u,set:K.prototype.C});K.prototype.get_m_suspensionCompression=K.prototype.ec=function(){return pw(this.a)};K.prototype.set_m_suspensionCompression=K.prototype.Ie=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vw(b,a)};
|
|
Object.defineProperty(K.prototype,"m_suspensionCompression",{get:K.prototype.ec,set:K.prototype.Ie});K.prototype.get_m_suspensionDamping=K.prototype.fc=function(){return qw(this.a)};K.prototype.set_m_suspensionDamping=K.prototype.Je=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ww(b,a)};Object.defineProperty(K.prototype,"m_suspensionDamping",{get:K.prototype.fc,set:K.prototype.Je});K.prototype.get_m_maxSuspensionTravelCm=K.prototype.s=function(){return ow(this.a)};
|
|
K.prototype.set_m_maxSuspensionTravelCm=K.prototype.B=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);uw(b,a)};Object.defineProperty(K.prototype,"m_maxSuspensionTravelCm",{get:K.prototype.s,set:K.prototype.B});K.prototype.get_m_frictionSlip=K.prototype.m=function(){return mw(this.a)};K.prototype.set_m_frictionSlip=K.prototype.v=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sw(b,a)};Object.defineProperty(K.prototype,"m_frictionSlip",{get:K.prototype.m,set:K.prototype.v});
|
|
K.prototype.get_m_maxSuspensionForce=K.prototype.o=function(){return nw(this.a)};K.prototype.set_m_maxSuspensionForce=K.prototype.A=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);tw(b,a)};Object.defineProperty(K.prototype,"m_maxSuspensionForce",{get:K.prototype.o,set:K.prototype.A});function tz(){throw"cannot construct a btCollisionObjectWrapper, no constructor in IDL";}tz.prototype=Object.create(WrapperObject.prototype);tz.prototype.constructor=tz;tz.prototype.b=tz;tz.c={};
|
|
c.btCollisionObjectWrapper=tz;function uz(a){a&&"object"===typeof a&&(a=a.a);this.a=nl(a);getCache(uz)[this.a]=this}uz.prototype=Object.create(Ny.prototype);uz.prototype.constructor=uz;uz.prototype.b=uz;uz.c={};c.btGImpactMeshShape=uz;uz.prototype.updateBound=function(){rl(this.a)};uz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ql(b,a)};uz.prototype.getLocalScaling=function(){return wrapPointer(pl(this.a),q)};
|
|
uz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ol(e,a,b)};uz.prototype.__destroy__=function(){ml(this.a)};function vz(a){a&&"object"===typeof a&&(a=a.a);this.a=Vr(a);getCache(vz)[this.a]=this}vz.prototype=Object.create(WrapperObject.prototype);vz.prototype.constructor=vz;vz.prototype.b=vz;vz.c={};c.btShapeHull=vz;vz.prototype.buildHull=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return!!Wr(b,a)};
|
|
vz.prototype.numVertices=function(){return Yr(this.a)};vz.prototype.getVertexPointer=function(){return wrapPointer(Xr(this.a),q)};vz.prototype.__destroy__=function(){Ur(this.a)};function wz(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=void 0===a?qj():void 0===b?rj(a):sj(a,b);getCache(wz)[this.a]=this}wz.prototype=Object.create($y.prototype);wz.prototype.constructor=wz;wz.prototype.b=wz;wz.c={};c.btDefaultMotionState=wz;
|
|
wz.prototype.getWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);tj(b,a)};wz.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vj(b,a)};wz.prototype.get_m_graphicsWorldTrans=wz.prototype.kb=function(){return wrapPointer(uj(this.a),u)};wz.prototype.set_m_graphicsWorldTrans=wz.prototype.Od=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);wj(b,a)};Object.defineProperty(wz.prototype,"m_graphicsWorldTrans",{get:wz.prototype.kb,set:wz.prototype.Od});
|
|
wz.prototype.__destroy__=function(){pj(this.a)};function L(a){a&&"object"===typeof a&&(a=a.a);this.a=Yw(a);getCache(L)[this.a]=this}L.prototype=Object.create(WrapperObject.prototype);L.prototype.constructor=L;L.prototype.b=L;L.c={};c.btWheelInfo=L;L.prototype.getSuspensionRestLength=function(){return Zw(this.a)};L.prototype.updateWheel=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Vx(e,a,b)};L.prototype.get_m_suspensionStiffness=L.prototype.u=function(){return px(this.a)};
|
|
L.prototype.set_m_suspensionStiffness=L.prototype.C=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Nx(b,a)};Object.defineProperty(L.prototype,"m_suspensionStiffness",{get:L.prototype.u,set:L.prototype.C});L.prototype.get_m_frictionSlip=L.prototype.m=function(){return fx(this.a)};L.prototype.set_m_frictionSlip=L.prototype.v=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Dx(b,a)};Object.defineProperty(L.prototype,"m_frictionSlip",{get:L.prototype.m,set:L.prototype.v});
|
|
L.prototype.get_m_engineForce=L.prototype.gb=function(){return ex(this.a)};L.prototype.set_m_engineForce=L.prototype.Kd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Cx(b,a)};Object.defineProperty(L.prototype,"m_engineForce",{get:L.prototype.gb,set:L.prototype.Kd});L.prototype.get_m_rollInfluence=L.prototype.Vb=function(){return jx(this.a)};L.prototype.set_m_rollInfluence=L.prototype.ye=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hx(b,a)};
|
|
Object.defineProperty(L.prototype,"m_rollInfluence",{get:L.prototype.Vb,set:L.prototype.ye});L.prototype.get_m_suspensionRestLength1=L.prototype.kc=function(){return ox(this.a)};L.prototype.set_m_suspensionRestLength1=L.prototype.Ne=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mx(b,a)};Object.defineProperty(L.prototype,"m_suspensionRestLength1",{get:L.prototype.kc,set:L.prototype.Ne});L.prototype.get_m_wheelsRadius=L.prototype.wc=function(){return ux(this.a)};
|
|
L.prototype.set_m_wheelsRadius=L.prototype.Ze=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Sx(b,a)};Object.defineProperty(L.prototype,"m_wheelsRadius",{get:L.prototype.wc,set:L.prototype.Ze});L.prototype.get_m_wheelsDampingCompression=L.prototype.L=function(){return sx(this.a)};L.prototype.set_m_wheelsDampingCompression=L.prototype.V=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qx(b,a)};Object.defineProperty(L.prototype,"m_wheelsDampingCompression",{get:L.prototype.L,set:L.prototype.V});
|
|
L.prototype.get_m_wheelsDampingRelaxation=L.prototype.M=function(){return tx(this.a)};L.prototype.set_m_wheelsDampingRelaxation=L.prototype.W=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rx(b,a)};Object.defineProperty(L.prototype,"m_wheelsDampingRelaxation",{get:L.prototype.M,set:L.prototype.W});L.prototype.get_m_steering=L.prototype.cc=function(){return mx(this.a)};L.prototype.set_m_steering=L.prototype.Ge=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Kx(b,a)};
|
|
Object.defineProperty(L.prototype,"m_steering",{get:L.prototype.cc,set:L.prototype.Ge});L.prototype.get_m_maxSuspensionForce=L.prototype.o=function(){return gx(this.a)};L.prototype.set_m_maxSuspensionForce=L.prototype.A=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ex(b,a)};Object.defineProperty(L.prototype,"m_maxSuspensionForce",{get:L.prototype.o,set:L.prototype.A});L.prototype.get_m_maxSuspensionTravelCm=L.prototype.s=function(){return hx(this.a)};
|
|
L.prototype.set_m_maxSuspensionTravelCm=L.prototype.B=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fx(b,a)};Object.defineProperty(L.prototype,"m_maxSuspensionTravelCm",{get:L.prototype.s,set:L.prototype.B});L.prototype.get_m_wheelsSuspensionForce=L.prototype.xc=function(){return vx(this.a)};L.prototype.set_m_wheelsSuspensionForce=L.prototype.$e=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tx(b,a)};
|
|
Object.defineProperty(L.prototype,"m_wheelsSuspensionForce",{get:L.prototype.xc,set:L.prototype.$e});L.prototype.get_m_bIsFrontWheel=L.prototype.F=function(){return!!$w(this.a)};L.prototype.set_m_bIsFrontWheel=L.prototype.O=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xx(b,a)};Object.defineProperty(L.prototype,"m_bIsFrontWheel",{get:L.prototype.F,set:L.prototype.O});L.prototype.get_m_raycastInfo=L.prototype.Tb=function(){return wrapPointer(ix(this.a),M)};
|
|
L.prototype.set_m_raycastInfo=L.prototype.we=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gx(b,a)};Object.defineProperty(L.prototype,"m_raycastInfo",{get:L.prototype.Tb,set:L.prototype.we});L.prototype.get_m_chassisConnectionPointCS=L.prototype.Sa=function(){return wrapPointer(bx(this.a),q)};L.prototype.set_m_chassisConnectionPointCS=L.prototype.wd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zx(b,a)};
|
|
Object.defineProperty(L.prototype,"m_chassisConnectionPointCS",{get:L.prototype.Sa,set:L.prototype.wd});L.prototype.get_m_worldTransform=L.prototype.yc=function(){return wrapPointer(wx(this.a),u)};L.prototype.set_m_worldTransform=L.prototype.af=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ux(b,a)};Object.defineProperty(L.prototype,"m_worldTransform",{get:L.prototype.yc,set:L.prototype.af});L.prototype.get_m_wheelDirectionCS=L.prototype.K=function(){return wrapPointer(rx(this.a),q)};
|
|
L.prototype.set_m_wheelDirectionCS=L.prototype.U=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Px(b,a)};Object.defineProperty(L.prototype,"m_wheelDirectionCS",{get:L.prototype.K,set:L.prototype.U});L.prototype.get_m_wheelAxleCS=L.prototype.J=function(){return wrapPointer(qx(this.a),q)};L.prototype.set_m_wheelAxleCS=L.prototype.T=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ox(b,a)};Object.defineProperty(L.prototype,"m_wheelAxleCS",{get:L.prototype.J,set:L.prototype.T});
|
|
L.prototype.get_m_rotation=L.prototype.Xb=function(){return kx(this.a)};L.prototype.set_m_rotation=L.prototype.Ae=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ix(b,a)};Object.defineProperty(L.prototype,"m_rotation",{get:L.prototype.Xb,set:L.prototype.Ae});L.prototype.get_m_deltaRotation=L.prototype.$a=function(){return dx(this.a)};L.prototype.set_m_deltaRotation=L.prototype.Ed=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bx(b,a)};
|
|
Object.defineProperty(L.prototype,"m_deltaRotation",{get:L.prototype.$a,set:L.prototype.Ed});L.prototype.get_m_brake=L.prototype.La=function(){return ax(this.a)};L.prototype.set_m_brake=L.prototype.pd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yx(b,a)};Object.defineProperty(L.prototype,"m_brake",{get:L.prototype.La,set:L.prototype.pd});L.prototype.get_m_clippedInvContactDotSuspension=L.prototype.Ta=function(){return cx(this.a)};
|
|
L.prototype.set_m_clippedInvContactDotSuspension=L.prototype.xd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ax(b,a)};Object.defineProperty(L.prototype,"m_clippedInvContactDotSuspension",{get:L.prototype.Ta,set:L.prototype.xd});L.prototype.get_m_suspensionRelativeVelocity=L.prototype.ic=function(){return nx(this.a)};L.prototype.set_m_suspensionRelativeVelocity=L.prototype.Le=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lx(b,a)};
|
|
Object.defineProperty(L.prototype,"m_suspensionRelativeVelocity",{get:L.prototype.ic,set:L.prototype.Le});L.prototype.get_m_skidInfo=L.prototype.$b=function(){return lx(this.a)};L.prototype.set_m_skidInfo=L.prototype.De=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Jx(b,a)};Object.defineProperty(L.prototype,"m_skidInfo",{get:L.prototype.$b,set:L.prototype.De});L.prototype.__destroy__=function(){Xw(this.a)};
|
|
function N(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=void 0===a?Mv():void 0===b?_emscripten_bind_btVector4_btVector4_1(a):void 0===e?_emscripten_bind_btVector4_btVector4_2(a,b):void 0===f?_emscripten_bind_btVector4_btVector4_3(a,b,e):Nv(a,b,e,f);getCache(N)[this.a]=this}N.prototype=Object.create(q.prototype);N.prototype.constructor=N;N.prototype.b=N;N.c={};c.btVector4=N;N.prototype.w=function(){return Zv(this.a)};
|
|
N.prototype.setValue=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);Vv(g,a,b,e,f)};N.prototype.length=N.prototype.length=function(){return Pv(this.a)};N.prototype.x=N.prototype.x=function(){return $v(this.a)};N.prototype.y=N.prototype.y=function(){return aw(this.a)};N.prototype.z=N.prototype.z=function(){return bw(this.a)};
|
|
N.prototype.setX=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wv(b,a)};N.prototype.setY=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xv(b,a)};N.prototype.setZ=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Yv(b,a)};N.prototype.normalize=N.prototype.normalize=function(){Qv(this.a)};N.prototype.rotate=N.prototype.rotate=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return wrapPointer(Uv(e,a,b),q)};
|
|
N.prototype.dot=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return Ov(b,a)};N.prototype.op_mul=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Sv(b,a),q)};N.prototype.op_add=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Rv(b,a),q)};N.prototype.op_sub=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Tv(b,a),q)};N.prototype.__destroy__=function(){Lv(this.a)};
|
|
function xz(){this.a=oj();getCache(xz)[this.a]=this}xz.prototype=Object.create(WrapperObject.prototype);xz.prototype.constructor=xz;xz.prototype.b=xz;xz.c={};c.btDefaultCollisionConstructionInfo=xz;xz.prototype.__destroy__=function(){nj(this.a)};function O(){throw"cannot construct a Anchor, no constructor in IDL";}O.prototype=Object.create(WrapperObject.prototype);O.prototype.constructor=O;O.prototype.b=O;O.c={};c.Anchor=O;
|
|
O.prototype.get_m_node=O.prototype.Kb=function(){return wrapPointer(xb(this.a),Node)};O.prototype.set_m_node=O.prototype.ne=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Eb(b,a)};Object.defineProperty(O.prototype,"m_node",{get:O.prototype.Kb,set:O.prototype.ne});O.prototype.get_m_local=O.prototype.Db=function(){return wrapPointer(wb(this.a),q)};O.prototype.set_m_local=O.prototype.ge=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Db(b,a)};
|
|
Object.defineProperty(O.prototype,"m_local",{get:O.prototype.Db,set:O.prototype.ge});O.prototype.get_m_body=O.prototype.Ka=function(){return wrapPointer(rb(this.a),I)};O.prototype.set_m_body=O.prototype.od=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yb(b,a)};Object.defineProperty(O.prototype,"m_body",{get:O.prototype.Ka,set:O.prototype.od});O.prototype.get_m_influence=O.prototype.wb=function(){return vb(this.a)};
|
|
O.prototype.set_m_influence=O.prototype.$d=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Cb(b,a)};Object.defineProperty(O.prototype,"m_influence",{get:O.prototype.wb,set:O.prototype.$d});O.prototype.get_m_c0=O.prototype.Na=function(){return wrapPointer(sb(this.a),cz)};O.prototype.set_m_c0=O.prototype.rd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zb(b,a)};Object.defineProperty(O.prototype,"m_c0",{get:O.prototype.Na,set:O.prototype.rd});
|
|
O.prototype.get_m_c1=O.prototype.Oa=function(){return wrapPointer(tb(this.a),q)};O.prototype.set_m_c1=O.prototype.sd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ab(b,a)};Object.defineProperty(O.prototype,"m_c1",{get:O.prototype.Oa,set:O.prototype.sd});O.prototype.get_m_c2=O.prototype.Pa=function(){return ub(this.a)};O.prototype.set_m_c2=O.prototype.td=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bb(b,a)};Object.defineProperty(O.prototype,"m_c2",{get:O.prototype.Pa,set:O.prototype.td});
|
|
O.prototype.__destroy__=function(){qb(this.a)};function P(){throw"cannot construct a btVehicleRaycasterResult, no constructor in IDL";}P.prototype=Object.create(WrapperObject.prototype);P.prototype.constructor=P;P.prototype.b=P;P.c={};c.btVehicleRaycasterResult=P;P.prototype.get_m_hitPointInWorld=P.prototype.sb=function(){return wrapPointer(fw(this.a),q)};P.prototype.set_m_hitPointInWorld=P.prototype.Wd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);iw(b,a)};
|
|
Object.defineProperty(P.prototype,"m_hitPointInWorld",{get:P.prototype.sb,set:P.prototype.Wd});P.prototype.get_m_hitNormalInWorld=P.prototype.qb=function(){return wrapPointer(ew(this.a),q)};P.prototype.set_m_hitNormalInWorld=P.prototype.Ud=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hw(b,a)};Object.defineProperty(P.prototype,"m_hitNormalInWorld",{get:P.prototype.qb,set:P.prototype.Ud});P.prototype.get_m_distFraction=P.prototype.cb=function(){return dw(this.a)};
|
|
P.prototype.set_m_distFraction=P.prototype.Hd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);gw(b,a)};Object.defineProperty(P.prototype,"m_distFraction",{get:P.prototype.cb,set:P.prototype.Hd});P.prototype.__destroy__=function(){cw(this.a)};function yz(){throw"cannot construct a btConstraintSolver, no constructor in IDL";}yz.prototype=Object.create(WrapperObject.prototype);yz.prototype.constructor=yz;yz.prototype.b=yz;yz.c={};c.btConstraintSolver=yz;yz.prototype.__destroy__=function(){fi(this.a)};
|
|
function Q(a,b,e){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);this.a=Op(a,b,e);getCache(Q)[this.a]=this}Q.prototype=Object.create(Sy.prototype);Q.prototype.constructor=Q;Q.prototype.b=Q;Q.c={};c.btRaycastVehicle=Q;Q.prototype.applyEngineForce=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Np(e,a,b)};
|
|
Q.prototype.setSteeringValue=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);gq(e,a,b)};Q.prototype.getWheelTransformWS=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(aq(b,a),u)};Q.prototype.updateWheelTransform=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);nq(e,a,b)};
|
|
Q.prototype.addWheel=function(a,b,e,f,g,h,m){var t=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);m&&"object"===typeof m&&(m=m.a);return wrapPointer(Mp(t,a,b,e,f,g,h,m),L)};Q.prototype.getNumWheels=function(){return Tp(this.a)};Q.prototype.getRigidBody=function(){return wrapPointer(Vp(this.a),I)};
|
|
Q.prototype.getWheelInfo=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer($p(b,a),L)};Q.prototype.setBrake=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);dq(e,a,b)};Q.prototype.setCoordinateSystem=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);eq(f,a,b,e)};Q.prototype.getCurrentSpeedKmHour=function(){return Qp(this.a)};
|
|
Q.prototype.getChassisWorldTransform=function(){return wrapPointer(Pp(this.a),u)};Q.prototype.rayCast=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return bq(b,a)};Q.prototype.updateVehicle=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);mq(b,a)};Q.prototype.resetSuspension=function(){cq(this.a)};Q.prototype.getSteeringValue=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return Wp(b,a)};
|
|
Q.prototype.updateWheelTransformsWS=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);void 0===b?oq(e,a):pq(e,a,b)};Q.prototype.setPitchControl=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);fq(b,a)};Q.prototype.updateSuspension=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);lq(b,a)};Q.prototype.updateFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);kq(b,a)};Q.prototype.getRightAxis=function(){return Up(this.a)};
|
|
Q.prototype.getUpAxis=function(){return Xp(this.a)};Q.prototype.getForwardAxis=function(){return Rp(this.a)};Q.prototype.getForwardVector=function(){return wrapPointer(Sp(this.a),q)};Q.prototype.getUserConstraintType=function(){return Zp(this.a)};Q.prototype.setUserConstraintType=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);iq(b,a)};Q.prototype.setUserConstraintId=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hq(b,a)};Q.prototype.getUserConstraintId=function(){return Yp(this.a)};
|
|
Q.prototype.updateAction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);jq(e,a,b)};Q.prototype.__destroy__=function(){Lp(this.a)};function zz(a){a&&"object"===typeof a&&(a=a.a);this.a=Pi(a);getCache(zz)[this.a]=this}zz.prototype=Object.create(Vy.prototype);zz.prototype.constructor=zz;zz.prototype.b=zz;zz.c={};c.btCylinderShapeX=zz;zz.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ui(b,a)};zz.prototype.getMargin=function(){return Si(this.a)};
|
|
zz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ti(b,a)};zz.prototype.getLocalScaling=function(){return wrapPointer(Ri(this.a),q)};zz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Qi(e,a,b)};zz.prototype.__destroy__=function(){Oi(this.a)};function Az(a){a&&"object"===typeof a&&(a=a.a);this.a=Wi(a);getCache(Az)[this.a]=this}Az.prototype=Object.create(Vy.prototype);
|
|
Az.prototype.constructor=Az;Az.prototype.b=Az;Az.c={};c.btCylinderShapeZ=Az;Az.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);aj(b,a)};Az.prototype.getMargin=function(){return Zi(this.a)};Az.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$i(b,a)};Az.prototype.getLocalScaling=function(){return wrapPointer(Yi(this.a),q)};
|
|
Az.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Xi(e,a,b)};Az.prototype.__destroy__=function(){Vi(this.a)};function Bz(){this.a=Tr();getCache(Bz)[this.a]=this}Bz.prototype=Object.create(WrapperObject.prototype);Bz.prototype.constructor=Bz;Bz.prototype.b=Bz;Bz.c={};c.btSequentialImpulseConstraintSolver=Bz;Bz.prototype.__destroy__=function(){Sr(this.a)};
|
|
function Cz(){throw"cannot construct a tAnchorArray, no constructor in IDL";}Cz.prototype=Object.create(WrapperObject.prototype);Cz.prototype.constructor=Cz;Cz.prototype.b=Cz;Cz.c={};c.tAnchorArray=Cz;Cz.prototype.size=Cz.prototype.size=function(){return ay(this.a)};Cz.prototype.at=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Xx(b,a),O)};Cz.prototype.clear=Cz.prototype.clear=function(){Yx(this.a)};
|
|
Cz.prototype.push_back=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$x(b,a)};Cz.prototype.pop_back=function(){Zx(this.a)};Cz.prototype.__destroy__=function(){Wx(this.a)};function Dz(){throw"cannot construct a btGImpactCollisionAlgorithm, no constructor in IDL";}Dz.prototype=Object.create(WrapperObject.prototype);Dz.prototype.constructor=Dz;Dz.prototype.b=Dz;Dz.c={};c.btGImpactCollisionAlgorithm=Dz;
|
|
Dz.prototype.registerAlgorithm=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ll(b,a)};Dz.prototype.__destroy__=function(){kl(this.a)};function M(){throw"cannot construct a RaycastInfo, no constructor in IDL";}M.prototype=Object.create(WrapperObject.prototype);M.prototype.constructor=M;M.prototype.b=M;M.c={};c.RaycastInfo=M;M.prototype.get_m_contactNormalWS=M.prototype.Ua=function(){return wrapPointer(Me(this.a),q)};
|
|
M.prototype.set_m_contactNormalWS=M.prototype.yd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ue(b,a)};Object.defineProperty(M.prototype,"m_contactNormalWS",{get:M.prototype.Ua,set:M.prototype.yd});M.prototype.get_m_contactPointWS=M.prototype.Va=function(){return wrapPointer(Ne(this.a),q)};M.prototype.set_m_contactPointWS=M.prototype.zd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ve(b,a)};Object.defineProperty(M.prototype,"m_contactPointWS",{get:M.prototype.Va,set:M.prototype.zd});
|
|
M.prototype.get_m_suspensionLength=M.prototype.hc=function(){return Re(this.a)};M.prototype.set_m_suspensionLength=M.prototype.Ke=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ze(b,a)};Object.defineProperty(M.prototype,"m_suspensionLength",{get:M.prototype.hc,set:M.prototype.Ke});M.prototype.get_m_hardPointWS=M.prototype.nb=function(){return wrapPointer(Pe(this.a),q)};M.prototype.set_m_hardPointWS=M.prototype.Rd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xe(b,a)};
|
|
Object.defineProperty(M.prototype,"m_hardPointWS",{get:M.prototype.nb,set:M.prototype.Rd});M.prototype.get_m_wheelDirectionWS=M.prototype.uc=function(){return wrapPointer(Te(this.a),q)};M.prototype.set_m_wheelDirectionWS=M.prototype.Xe=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);af(b,a)};Object.defineProperty(M.prototype,"m_wheelDirectionWS",{get:M.prototype.uc,set:M.prototype.Xe});M.prototype.get_m_wheelAxleWS=M.prototype.tc=function(){return wrapPointer(Se(this.a),q)};
|
|
M.prototype.set_m_wheelAxleWS=M.prototype.We=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$e(b,a)};Object.defineProperty(M.prototype,"m_wheelAxleWS",{get:M.prototype.tc,set:M.prototype.We});M.prototype.get_m_isInContact=M.prototype.xb=function(){return!!Qe(this.a)};M.prototype.set_m_isInContact=M.prototype.ae=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ye(b,a)};Object.defineProperty(M.prototype,"m_isInContact",{get:M.prototype.xb,set:M.prototype.ae});
|
|
M.prototype.get_m_groundObject=M.prototype.mb=function(){return Oe(this.a)};M.prototype.set_m_groundObject=M.prototype.Qd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);We(b,a)};Object.defineProperty(M.prototype,"m_groundObject",{get:M.prototype.mb,set:M.prototype.Qd});M.prototype.__destroy__=function(){Le(this.a)};function Ez(){throw"cannot construct a tNodeArray, no constructor in IDL";}Ez.prototype=Object.create(WrapperObject.prototype);Ez.prototype.constructor=Ez;Ez.prototype.b=Ez;
|
|
Ez.c={};c.tNodeArray=Ez;Ez.prototype.size=Ez.prototype.size=function(){return gy(this.a)};Ez.prototype.at=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(fy(b,a),Node)};Ez.prototype.__destroy__=function(){ey(this.a)};function R(a,b,e,f){Ey();a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);"object"==typeof f&&(f=ensureFloat32(f));this.a=ft(a,b,e,f);getCache(R)[this.a]=this}R.prototype=Object.create(r.prototype);
|
|
R.prototype.constructor=R;R.prototype.b=R;R.c={};c.btSoftBody=R;R.prototype.checkLink=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return!!ht(e,a,b)};R.prototype.checkFace=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);return!!gt(f,a,b,e)};R.prototype.appendMaterial=function(){return wrapPointer(ct(this.a),C)};
|
|
R.prototype.appendNode=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);dt(e,a,b)};R.prototype.appendLink=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);bt(g,a,b,e,f)};
|
|
R.prototype.appendFace=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);at(g,a,b,e,f)};R.prototype.appendTetra=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);et(h,a,b,e,f,g)};
|
|
R.prototype.appendAnchor=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);$s(g,a,b,e,f)};R.prototype.addForce=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);void 0===b?Ys(e,a):Zs(e,a,b)};R.prototype.addAeroForceToNode=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Xs(e,a,b)};R.prototype.getTotalMass=function(){return ot(this.a)};
|
|
R.prototype.setTotalMass=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Nt(e,a,b)};R.prototype.setMass=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Kt(e,a,b)};R.prototype.transform=R.prototype.transform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vt(b,a)};R.prototype.translate=R.prototype.translate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wt(b,a)};
|
|
R.prototype.rotate=R.prototype.rotate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);At(b,a)};R.prototype.scale=R.prototype.scale=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bt(b,a)};R.prototype.generateClusters=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return void 0===b?kt(e,a):lt(e,a,b)};
|
|
R.prototype.generateBendingConstraints=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return jt(e,a,b)};R.prototype.upcast=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(Xt(b,a),R)};R.prototype.setAnisotropicFriction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Dt(e,a,b)};R.prototype.getCollisionShape=function(){return wrapPointer(nt(this.a),p)};
|
|
R.prototype.setContactProcessingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);It(b,a)};R.prototype.setActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ct(b,a)};R.prototype.forceActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);it(b,a)};R.prototype.activate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);void 0===a?Vs(b):Ws(b,a)};R.prototype.isActive=function(){return!!wt(this.a)};R.prototype.isKinematicObject=function(){return!!xt(this.a)};
|
|
R.prototype.isStaticObject=function(){return!!yt(this.a)};R.prototype.isStaticOrKinematicObject=function(){return!!zt(this.a)};R.prototype.setRestitution=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Lt(b,a)};R.prototype.setFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Jt(b,a)};R.prototype.setRollingFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Mt(b,a)};R.prototype.getWorldTransform=function(){return wrapPointer(rt(this.a),u)};
|
|
R.prototype.getCollisionFlags=function(){return mt(this.a)};R.prototype.setCollisionFlags=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gt(b,a)};R.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qt(b,a)};R.prototype.setCollisionShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ht(b,a)};R.prototype.setCcdMotionThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Et(b,a)};
|
|
R.prototype.setCcdSweptSphereRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ft(b,a)};R.prototype.getUserIndex=function(){return pt(this.a)};R.prototype.setUserIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ot(b,a)};R.prototype.getUserPointer=function(){return wrapPointer(qt(this.a),VoidPtr)};R.prototype.setUserPointer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Pt(b,a)};R.prototype.get_m_cfg=R.prototype.Qa=function(){return wrapPointer(tt(this.a),S)};
|
|
R.prototype.set_m_cfg=R.prototype.ud=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);St(b,a)};Object.defineProperty(R.prototype,"m_cfg",{get:R.prototype.Qa,set:R.prototype.ud});R.prototype.get_m_nodes=R.prototype.Lb=function(){return wrapPointer(vt(this.a),Ez)};R.prototype.set_m_nodes=R.prototype.oe=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ut(b,a)};Object.defineProperty(R.prototype,"m_nodes",{get:R.prototype.Lb,set:R.prototype.oe});
|
|
R.prototype.get_m_materials=R.prototype.Hb=function(){return wrapPointer(ut(this.a),gz)};R.prototype.set_m_materials=R.prototype.ke=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tt(b,a)};Object.defineProperty(R.prototype,"m_materials",{get:R.prototype.Hb,set:R.prototype.ke});R.prototype.get_m_anchors=R.prototype.Ga=function(){return wrapPointer(st(this.a),Cz)};R.prototype.set_m_anchors=R.prototype.kd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rt(b,a)};
|
|
Object.defineProperty(R.prototype,"m_anchors",{get:R.prototype.Ga,set:R.prototype.kd});R.prototype.__destroy__=function(){Us(this.a)};
|
|
function Fz(a,b,e,f,g,h,m,t,v){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);m&&"object"===typeof m&&(m=m.a);t&&"object"===typeof t&&(t=t.a);v&&"object"===typeof v&&(v=v.a);this.a=Bm(a,b,e,f,g,h,m,t,v);getCache(Fz)[this.a]=this}Fz.prototype=Object.create(Ny.prototype);Fz.prototype.constructor=Fz;Fz.prototype.b=Fz;Fz.c={};c.btHeightfieldTerrainShape=Fz;
|
|
Fz.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gm(b,a)};Fz.prototype.getMargin=function(){return Em(this.a)};Fz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fm(b,a)};Fz.prototype.getLocalScaling=function(){return wrapPointer(Dm(this.a),q)};Fz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Cm(e,a,b)};Fz.prototype.__destroy__=function(){Am(this.a)};
|
|
function S(){throw"cannot construct a Config, no constructor in IDL";}S.prototype=Object.create(WrapperObject.prototype);S.prototype.constructor=S;S.prototype.b=S;S.c={};c.Config=S;S.prototype.get_kVCF=S.prototype.za=function(){return Oc(this.a)};S.prototype.set_kVCF=S.prototype.cd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);md(b,a)};Object.defineProperty(S.prototype,"kVCF",{get:S.prototype.za,set:S.prototype.cd});S.prototype.get_kDP=S.prototype.ma=function(){return Cc(this.a)};
|
|
S.prototype.set_kDP=S.prototype.Qc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ad(b,a)};Object.defineProperty(S.prototype,"kDP",{get:S.prototype.ma,set:S.prototype.Qc});S.prototype.get_kDG=S.prototype.la=function(){return Bc(this.a)};S.prototype.set_kDG=S.prototype.Pc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);$c(b,a)};Object.defineProperty(S.prototype,"kDG",{get:S.prototype.la,set:S.prototype.Pc});S.prototype.get_kLF=S.prototype.oa=function(){return Ec(this.a)};
|
|
S.prototype.set_kLF=S.prototype.Sc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);cd(b,a)};Object.defineProperty(S.prototype,"kLF",{get:S.prototype.oa,set:S.prototype.Sc});S.prototype.get_kPR=S.prototype.qa=function(){return Gc(this.a)};S.prototype.set_kPR=S.prototype.Uc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ed(b,a)};Object.defineProperty(S.prototype,"kPR",{get:S.prototype.qa,set:S.prototype.Uc});S.prototype.get_kVC=S.prototype.ya=function(){return Pc(this.a)};
|
|
S.prototype.set_kVC=S.prototype.bd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);nd(b,a)};Object.defineProperty(S.prototype,"kVC",{get:S.prototype.ya,set:S.prototype.bd});S.prototype.get_kDF=S.prototype.ka=function(){return Ac(this.a)};S.prototype.set_kDF=S.prototype.Oc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zc(b,a)};Object.defineProperty(S.prototype,"kDF",{get:S.prototype.ka,set:S.prototype.Oc});S.prototype.get_kMT=S.prototype.pa=function(){return Fc(this.a)};
|
|
S.prototype.set_kMT=S.prototype.Tc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);dd(b,a)};Object.defineProperty(S.prototype,"kMT",{get:S.prototype.pa,set:S.prototype.Tc});S.prototype.get_kCHR=S.prototype.ja=function(){return zc(this.a)};S.prototype.set_kCHR=S.prototype.Nc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Yc(b,a)};Object.defineProperty(S.prototype,"kCHR",{get:S.prototype.ja,set:S.prototype.Nc});S.prototype.get_kKHR=S.prototype.na=function(){return Dc(this.a)};
|
|
S.prototype.set_kKHR=S.prototype.Rc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bd(b,a)};Object.defineProperty(S.prototype,"kKHR",{get:S.prototype.na,set:S.prototype.Rc});S.prototype.get_kSHR=S.prototype.ra=function(){return Hc(this.a)};S.prototype.set_kSHR=S.prototype.Vc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);fd(b,a)};Object.defineProperty(S.prototype,"kSHR",{get:S.prototype.ra,set:S.prototype.Vc});S.prototype.get_kAHR=S.prototype.ia=function(){return yc(this.a)};
|
|
S.prototype.set_kAHR=S.prototype.Mc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xc(b,a)};Object.defineProperty(S.prototype,"kAHR",{get:S.prototype.ia,set:S.prototype.Mc});S.prototype.get_kSRHR_CL=S.prototype.ua=function(){return Kc(this.a)};S.prototype.set_kSRHR_CL=S.prototype.Yc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);id(b,a)};Object.defineProperty(S.prototype,"kSRHR_CL",{get:S.prototype.ua,set:S.prototype.Yc});S.prototype.get_kSKHR_CL=S.prototype.sa=function(){return Ic(this.a)};
|
|
S.prototype.set_kSKHR_CL=S.prototype.Wc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);gd(b,a)};Object.defineProperty(S.prototype,"kSKHR_CL",{get:S.prototype.sa,set:S.prototype.Wc});S.prototype.get_kSSHR_CL=S.prototype.wa=function(){return Mc(this.a)};S.prototype.set_kSSHR_CL=S.prototype.$c=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);kd(b,a)};Object.defineProperty(S.prototype,"kSSHR_CL",{get:S.prototype.wa,set:S.prototype.$c});S.prototype.get_kSR_SPLT_CL=S.prototype.va=function(){return Lc(this.a)};
|
|
S.prototype.set_kSR_SPLT_CL=S.prototype.Zc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);jd(b,a)};Object.defineProperty(S.prototype,"kSR_SPLT_CL",{get:S.prototype.va,set:S.prototype.Zc});S.prototype.get_kSK_SPLT_CL=S.prototype.ta=function(){return Jc(this.a)};S.prototype.set_kSK_SPLT_CL=S.prototype.Xc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hd(b,a)};Object.defineProperty(S.prototype,"kSK_SPLT_CL",{get:S.prototype.ta,set:S.prototype.Xc});
|
|
S.prototype.get_kSS_SPLT_CL=S.prototype.xa=function(){return Nc(this.a)};S.prototype.set_kSS_SPLT_CL=S.prototype.ad=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ld(b,a)};Object.defineProperty(S.prototype,"kSS_SPLT_CL",{get:S.prototype.xa,set:S.prototype.ad});S.prototype.get_maxvolume=S.prototype.Ac=function(){return Qc(this.a)};S.prototype.set_maxvolume=S.prototype.cf=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);od(b,a)};
|
|
Object.defineProperty(S.prototype,"maxvolume",{get:S.prototype.Ac,set:S.prototype.cf});S.prototype.get_timescale=S.prototype.Cc=function(){return Sc(this.a)};S.prototype.set_timescale=S.prototype.ef=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);qd(b,a)};Object.defineProperty(S.prototype,"timescale",{get:S.prototype.Cc,set:S.prototype.ef});S.prototype.get_viterations=S.prototype.Dc=function(){return Tc(this.a)};
|
|
S.prototype.set_viterations=S.prototype.ff=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rd(b,a)};Object.defineProperty(S.prototype,"viterations",{get:S.prototype.Dc,set:S.prototype.ff});S.prototype.get_piterations=S.prototype.Bc=function(){return Rc(this.a)};S.prototype.set_piterations=S.prototype.df=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);pd(b,a)};Object.defineProperty(S.prototype,"piterations",{get:S.prototype.Bc,set:S.prototype.df});
|
|
S.prototype.get_diterations=S.prototype.ha=function(){return xc(this.a)};S.prototype.set_diterations=S.prototype.Lc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wc(b,a)};Object.defineProperty(S.prototype,"diterations",{get:S.prototype.ha,set:S.prototype.Lc});S.prototype.get_citerations=S.prototype.fa=function(){return uc(this.a)};S.prototype.set_citerations=S.prototype.Jc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Uc(b,a)};
|
|
Object.defineProperty(S.prototype,"citerations",{get:S.prototype.fa,set:S.prototype.Jc});S.prototype.get_collisions=S.prototype.ga=function(){return vc(this.a)};S.prototype.set_collisions=S.prototype.Kc=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vc(b,a)};Object.defineProperty(S.prototype,"collisions",{get:S.prototype.ga,set:S.prototype.Kc});S.prototype.__destroy__=function(){tc(this.a)};function Node(){throw"cannot construct a Node, no constructor in IDL";}Node.prototype=Object.create(WrapperObject.prototype);
|
|
Node.prototype.constructor=Node;Node.prototype.b=Node;Node.c={};c.Node=Node;Node.prototype.get_m_x=Node.prototype.zc=function(){return wrapPointer(te(this.a),q)};Node.prototype.set_m_x=Node.prototype.bf=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ae(b,a)};Object.defineProperty(Node.prototype,"m_x",{get:Node.prototype.zc,set:Node.prototype.bf});Node.prototype.get_m_q=Node.prototype.Qb=function(){return wrapPointer(re(this.a),q)};
|
|
Node.prototype.set_m_q=Node.prototype.te=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ye(b,a)};Object.defineProperty(Node.prototype,"m_q",{get:Node.prototype.Qb,set:Node.prototype.te});Node.prototype.get_m_v=Node.prototype.sc=function(){return wrapPointer(se(this.a),q)};Node.prototype.set_m_v=Node.prototype.Ve=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ze(b,a)};Object.defineProperty(Node.prototype,"m_v",{get:Node.prototype.sc,set:Node.prototype.Ve});
|
|
Node.prototype.get_m_f=Node.prototype.hb=function(){return wrapPointer(oe(this.a),q)};Node.prototype.set_m_f=Node.prototype.Ld=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ve(b,a)};Object.defineProperty(Node.prototype,"m_f",{get:Node.prototype.hb,set:Node.prototype.Ld});Node.prototype.get_m_n=Node.prototype.Jb=function(){return wrapPointer(qe(this.a),q)};Node.prototype.set_m_n=Node.prototype.me=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xe(b,a)};
|
|
Object.defineProperty(Node.prototype,"m_n",{get:Node.prototype.Jb,set:Node.prototype.me});Node.prototype.get_m_im=Node.prototype.ub=function(){return pe(this.a)};Node.prototype.set_m_im=Node.prototype.Yd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);we(b,a)};Object.defineProperty(Node.prototype,"m_im",{get:Node.prototype.ub,set:Node.prototype.Yd});Node.prototype.get_m_area=Node.prototype.Ja=function(){return ne(this.a)};
|
|
Node.prototype.set_m_area=Node.prototype.nd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ue(b,a)};Object.defineProperty(Node.prototype,"m_area",{get:Node.prototype.Ja,set:Node.prototype.nd});Node.prototype.__destroy__=function(){me(this.a)};function Gz(){this.a=zm();getCache(Gz)[this.a]=this}Gz.prototype=Object.create(WrapperObject.prototype);Gz.prototype.constructor=Gz;Gz.prototype.b=Gz;Gz.c={};c.btGhostPairCallback=Gz;Gz.prototype.__destroy__=function(){ym(this.a)};
|
|
function Hz(){throw"cannot construct a btOverlappingPairCallback, no constructor in IDL";}Hz.prototype=Object.create(WrapperObject.prototype);Hz.prototype.constructor=Hz;Hz.prototype.b=Hz;Hz.c={};c.btOverlappingPairCallback=Hz;Hz.prototype.__destroy__=function(){bo(this.a)};function U(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=void 0===f?hn(a,b,e):jn(a,b,e,f);getCache(U)[this.a]=this}U.prototype=Object.create(Sy.prototype);
|
|
U.prototype.constructor=U;U.prototype.b=U;U.c={};c.btKinematicCharacterController=U;U.prototype.setUpAxis=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xn(b,a)};U.prototype.setWalkDirection=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bn(b,a)};U.prototype.setVelocityForTimeInterval=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);An(e,a,b)};U.prototype.warp=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Dn(b,a)};
|
|
U.prototype.preStep=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);rn(b,a)};U.prototype.playerStep=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);qn(e,a,b)};U.prototype.setFallSpeed=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);sn(b,a)};U.prototype.setJumpSpeed=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);un(b,a)};U.prototype.setMaxJumpHeight=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vn(b,a)};
|
|
U.prototype.canJump=function(){return!!kn(this.a)};U.prototype.jump=function(){on(this.a)};U.prototype.setGravity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);tn(b,a)};U.prototype.getGravity=function(){return mn(this.a)};U.prototype.setMaxSlope=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);wn(b,a)};U.prototype.getMaxSlope=function(){return nn(this.a)};U.prototype.getGhostObject=function(){return wrapPointer(ln(this.a),V)};
|
|
U.prototype.setUseGhostSweepTest=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zn(b,a)};U.prototype.onGround=function(){return!!pn(this.a)};U.prototype.setUpInterpolate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yn(b,a)};U.prototype.updateAction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Cn(e,a,b)};U.prototype.__destroy__=function(){gn(this.a)};function Iz(){throw"cannot construct a btSoftBodyArray, no constructor in IDL";}
|
|
Iz.prototype=Object.create(WrapperObject.prototype);Iz.prototype.constructor=Iz;Iz.prototype.b=Iz;Iz.c={};c.btSoftBodyArray=Iz;Iz.prototype.size=Iz.prototype.size=function(){return ns(this.a)};Iz.prototype.at=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(ms(b,a),R)};Iz.prototype.__destroy__=function(){ls(this.a)};function Jz(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=Qu(a,b);getCache(Jz)[this.a]=this}Jz.prototype=Object.create(Ny.prototype);
|
|
Jz.prototype.constructor=Jz;Jz.prototype.b=Jz;Jz.c={};c.btStaticPlaneShape=Jz;Jz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Tu(b,a)};Jz.prototype.getLocalScaling=function(){return wrapPointer(Su(this.a),q)};Jz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ru(e,a,b)};Jz.prototype.__destroy__=function(){Pu(this.a)};
|
|
function Jy(){throw"cannot construct a btOverlappingPairCache, no constructor in IDL";}Jy.prototype=Object.create(WrapperObject.prototype);Jy.prototype.constructor=Jy;Jy.prototype.b=Jy;Jy.c={};c.btOverlappingPairCache=Jy;Jy.prototype.setInternalGhostPairCallback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ao(b,a)};Jy.prototype.__destroy__=function(){$n(this.a)};
|
|
function W(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=hu(a,b,e,f,g);getCache(W)[this.a]=this}W.prototype=Object.create(A.prototype);W.prototype.constructor=W;W.prototype.b=W;W.c={};c.btSoftRigidDynamicsWorld=W;
|
|
W.prototype.addSoftBody=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);gu(f,a,b,e)};W.prototype.removeSoftBody=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bu(b,a)};W.prototype.removeCollisionObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yu(b,a)};W.prototype.getWorldInfo=function(){return wrapPointer(vu(this.a),J)};W.prototype.getSoftBodyArray=function(){return wrapPointer(tu(this.a),Iz)};
|
|
W.prototype.getDispatcher=function(){return wrapPointer(qu(this.a),Iy)};W.prototype.rayTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);wu(f,a,b,e)};W.prototype.getPairCache=function(){return wrapPointer(su(this.a),Jy)};W.prototype.getDispatchInfo=function(){return wrapPointer(pu(this.a),n)};
|
|
W.prototype.addCollisionObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?$t(f,a):void 0===e?au(f,a,b):bu(f,a,b,e)};W.prototype.getBroadphase=function(){return wrapPointer(nu(this.a),Ky)};
|
|
W.prototype.convexSweepTest=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);ku(h,a,b,e,f,g)};W.prototype.contactPairTest=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);iu(f,a,b,e)};
|
|
W.prototype.contactTest=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);ju(e,a,b)};W.prototype.updateSingleAabb=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hu(b,a)};W.prototype.setDebugDrawer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Cu(b,a)};W.prototype.getDebugDrawer=function(){return wrapPointer(ou(this.a),Ly)};W.prototype.debugDrawWorld=function(){mu(this.a)};
|
|
W.prototype.debugDrawObject=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);lu(f,a,b,e)};W.prototype.setGravity=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Du(b,a)};W.prototype.getGravity=function(){return wrapPointer(ru(this.a),q)};
|
|
W.prototype.addRigidBody=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);void 0===b?eu(f,a):void 0===e?_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_2(f,a,b):fu(f,a,b,e)};W.prototype.removeRigidBody=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Au(b,a)};W.prototype.addConstraint=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);void 0===b?cu(e,a):du(e,a,b)};
|
|
W.prototype.removeConstraint=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zu(b,a)};W.prototype.stepSimulation=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);return void 0===b?Eu(f,a):void 0===e?Fu(f,a,b):Gu(f,a,b,e)};W.prototype.addAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zt(b,a)};W.prototype.removeAction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xu(b,a)};
|
|
W.prototype.getSolverInfo=function(){return wrapPointer(uu(this.a),x)};W.prototype.__destroy__=function(){Yt(this.a)};function Kz(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=el(a,b,e,f);getCache(Kz)[this.a]=this}Kz.prototype=Object.create(My.prototype);Kz.prototype.constructor=Kz;Kz.prototype.b=Kz;Kz.c={};c.btFixedConstraint=Kz;
|
|
Kz.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);fl(b,a)};Kz.prototype.getBreakingImpulseThreshold=function(){return gl(this.a)};Kz.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);il(b,a)};Kz.prototype.getParam=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return hl(e,a,b)};
|
|
Kz.prototype.setParam=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);jl(f,a,b,e)};Kz.prototype.__destroy__=function(){dl(this.a)};function u(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=void 0===a?Wu():void 0===b?_emscripten_bind_btTransform_btTransform_1(a):Xu(a,b);getCache(u)[this.a]=this}u.prototype=Object.create(WrapperObject.prototype);u.prototype.constructor=u;u.prototype.b=u;u.c={};
|
|
c.btTransform=u;u.prototype.setIdentity=function(){bv(this.a)};u.prototype.setOrigin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);cv(b,a)};u.prototype.setRotation=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);dv(b,a)};u.prototype.getOrigin=function(){return wrapPointer(Zu(this.a),q)};u.prototype.getRotation=function(){return wrapPointer($u(this.a),X)};u.prototype.getBasis=function(){return wrapPointer(Yu(this.a),cz)};
|
|
u.prototype.setFromOpenGLMatrix=function(a){var b=this.a;Ey();"object"==typeof a&&(a=ensureFloat32(a));av(b,a)};u.prototype.__destroy__=function(){Vu(this.a)};function Lz(){this.a=Kd();getCache(Lz)[this.a]=this}Lz.prototype=Object.create(WrapperObject.prototype);Lz.prototype.constructor=Lz;Lz.prototype.b=Lz;Lz.c={};c.GImpactCollisionAlgorithm=Lz;Lz.prototype.registerAlgorithm=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Md(b,a)};Lz.prototype.__destroy__=function(){Ld(this.a)};
|
|
function Y(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=Xb(a,b);getCache(Y)[this.a]=this}Y.prototype=Object.create(B.prototype);Y.prototype.constructor=Y;Y.prototype.b=Y;Y.c={};c.ClosestRayResultCallback=Y;Y.prototype.hasHit=function(){return!!hc(this.a)};Y.prototype.get_m_rayFromWorld=Y.prototype.Rb=function(){return wrapPointer(ec(this.a),q)};Y.prototype.set_m_rayFromWorld=Y.prototype.ue=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);oc(b,a)};
|
|
Object.defineProperty(Y.prototype,"m_rayFromWorld",{get:Y.prototype.Rb,set:Y.prototype.ue});Y.prototype.get_m_rayToWorld=Y.prototype.Sb=function(){return wrapPointer(fc(this.a),q)};Y.prototype.set_m_rayToWorld=Y.prototype.ve=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);pc(b,a)};Object.defineProperty(Y.prototype,"m_rayToWorld",{get:Y.prototype.Sb,set:Y.prototype.ve});Y.prototype.get_m_hitNormalWorld=Y.prototype.H=function(){return wrapPointer(cc(this.a),q)};
|
|
Y.prototype.set_m_hitNormalWorld=Y.prototype.R=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);mc(b,a)};Object.defineProperty(Y.prototype,"m_hitNormalWorld",{get:Y.prototype.H,set:Y.prototype.R});Y.prototype.get_m_hitPointWorld=Y.prototype.I=function(){return wrapPointer(dc(this.a),q)};Y.prototype.set_m_hitPointWorld=Y.prototype.S=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);nc(b,a)};Object.defineProperty(Y.prototype,"m_hitPointWorld",{get:Y.prototype.I,set:Y.prototype.S});
|
|
Y.prototype.get_m_collisionFilterGroup=Y.prototype.g=function(){return $b(this.a)};Y.prototype.set_m_collisionFilterGroup=Y.prototype.j=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);jc(b,a)};Object.defineProperty(Y.prototype,"m_collisionFilterGroup",{get:Y.prototype.g,set:Y.prototype.j});Y.prototype.get_m_collisionFilterMask=Y.prototype.h=function(){return ac(this.a)};Y.prototype.set_m_collisionFilterMask=Y.prototype.l=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);kc(b,a)};
|
|
Object.defineProperty(Y.prototype,"m_collisionFilterMask",{get:Y.prototype.h,set:Y.prototype.l});Y.prototype.get_m_closestHitFraction=Y.prototype.f=function(){return Zb(this.a)};Y.prototype.set_m_closestHitFraction=Y.prototype.i=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ic(b,a)};Object.defineProperty(Y.prototype,"m_closestHitFraction",{get:Y.prototype.f,set:Y.prototype.i});Y.prototype.get_m_collisionObject=Y.prototype.G=function(){return wrapPointer(bc(this.a),r)};
|
|
Y.prototype.set_m_collisionObject=Y.prototype.P=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);lc(b,a)};Object.defineProperty(Y.prototype,"m_collisionObject",{get:Y.prototype.G,set:Y.prototype.P});Y.prototype.__destroy__=function(){Yb(this.a)};function Mz(a){a&&"object"===typeof a&&(a=a.a);this.a=void 0===a?zs():As(a);getCache(Mz)[this.a]=this}Mz.prototype=Object.create(Py.prototype);Mz.prototype.constructor=Mz;Mz.prototype.b=Mz;Mz.c={};c.btSoftBodyRigidBodyCollisionConfiguration=Mz;
|
|
Mz.prototype.__destroy__=function(){ys(this.a)};function Nz(){this.a=qc();getCache(Nz)[this.a]=this}Nz.prototype=Object.create(az.prototype);Nz.prototype.constructor=Nz;Nz.prototype.b=Nz;Nz.c={};c.ConcreteContactResultCallback=Nz;
|
|
Nz.prototype.addSingleResult=function(a,b,e,f,g,h,m){var t=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);m&&"object"===typeof m&&(m=m.a);return sc(t,a,b,e,f,g,h,m)};Nz.prototype.__destroy__=function(){rc(this.a)};
|
|
function Oz(a,b,e){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);this.a=void 0===e?tf(a,b):uf(a,b,e);getCache(Oz)[this.a]=this}Oz.prototype=Object.create(Qy.prototype);Oz.prototype.constructor=Oz;Oz.prototype.b=Oz;Oz.c={};c.btBvhTriangleMeshShape=Oz;Oz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xf(b,a)};Oz.prototype.getLocalScaling=function(){return wrapPointer(wf(this.a),q)};
|
|
Oz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);vf(e,a,b)};Oz.prototype.__destroy__=function(){sf(this.a)};
|
|
function Pz(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=void 0===f?$r(a,b,e):void 0===g?_emscripten_bind_btSliderConstraint_btSliderConstraint_4(a,b,e,f):as(a,b,e,f,g);getCache(Pz)[this.a]=this}Pz.prototype=Object.create(My.prototype);Pz.prototype.constructor=Pz;Pz.prototype.b=Pz;Pz.c={};c.btSliderConstraint=Pz;
|
|
Pz.prototype.setLowerLinLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);hs(b,a)};Pz.prototype.setUpperLinLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ks(b,a)};Pz.prototype.setLowerAngLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);gs(b,a)};Pz.prototype.setUpperAngLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);js(b,a)};Pz.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);bs(b,a)};
|
|
Pz.prototype.getBreakingImpulseThreshold=function(){return cs(this.a)};Pz.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);es(b,a)};Pz.prototype.getParam=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return ds(e,a,b)};Pz.prototype.setParam=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);is(f,a,b,e)};Pz.prototype.__destroy__=function(){Zr(this.a)};
|
|
function V(){this.a=go();getCache(V)[this.a]=this}V.prototype=Object.create(z.prototype);V.prototype.constructor=V;V.prototype.b=V;V.c={};c.btPairCachingGhostObject=V;V.prototype.setAnisotropicFriction=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);uo(e,a,b)};V.prototype.getCollisionShape=function(){return wrapPointer(jo(this.a),p)};V.prototype.setContactProcessingThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);zo(b,a)};
|
|
V.prototype.setActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);to(b,a)};V.prototype.forceActivationState=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ho(b,a)};V.prototype.activate=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);void 0===a?eo(b):fo(b,a)};V.prototype.isActive=function(){return!!po(this.a)};V.prototype.isKinematicObject=function(){return!!qo(this.a)};V.prototype.isStaticObject=function(){return!!ro(this.a)};
|
|
V.prototype.isStaticOrKinematicObject=function(){return!!so(this.a)};V.prototype.setRestitution=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Bo(b,a)};V.prototype.setFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ao(b,a)};V.prototype.setRollingFriction=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Co(b,a)};V.prototype.getWorldTransform=function(){return wrapPointer(oo(this.a),u)};V.prototype.getCollisionFlags=function(){return io(this.a)};
|
|
V.prototype.setCollisionFlags=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);xo(b,a)};V.prototype.setWorldTransform=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fo(b,a)};V.prototype.setCollisionShape=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);yo(b,a)};V.prototype.setCcdMotionThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);vo(b,a)};V.prototype.setCcdSweptSphereRadius=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);wo(b,a)};
|
|
V.prototype.getUserIndex=function(){return mo(this.a)};V.prototype.setUserIndex=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Do(b,a)};V.prototype.getUserPointer=function(){return wrapPointer(no(this.a),VoidPtr)};V.prototype.setUserPointer=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Eo(b,a)};V.prototype.getNumOverlappingObjects=function(){return ko(this.a)};
|
|
V.prototype.getOverlappingObject=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(lo(b,a),r)};V.prototype.__destroy__=function(){co(this.a)};function F(){throw"cannot construct a btManifoldPoint, no constructor in IDL";}F.prototype=Object.create(WrapperObject.prototype);F.prototype.constructor=F;F.prototype.b=F;F.c={};c.btManifoldPoint=F;F.prototype.getPositionWorldOnA=function(){return wrapPointer(Hn(this.a),q)};
|
|
F.prototype.getPositionWorldOnB=function(){return wrapPointer(In(this.a),q)};F.prototype.getAppliedImpulse=function(){return Fn(this.a)};F.prototype.getDistance=function(){return Gn(this.a)};F.prototype.get_m_localPointA=F.prototype.Eb=function(){return wrapPointer(Jn(this.a),q)};F.prototype.set_m_localPointA=F.prototype.he=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);On(b,a)};Object.defineProperty(F.prototype,"m_localPointA",{get:F.prototype.Eb,set:F.prototype.he});
|
|
F.prototype.get_m_localPointB=F.prototype.Fb=function(){return wrapPointer(Kn(this.a),q)};F.prototype.set_m_localPointB=F.prototype.ie=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Pn(b,a)};Object.defineProperty(F.prototype,"m_localPointB",{get:F.prototype.Fb,set:F.prototype.ie});F.prototype.get_m_positionWorldOnB=F.prototype.Pb=function(){return wrapPointer(Nn(this.a),q)};F.prototype.set_m_positionWorldOnB=F.prototype.se=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Sn(b,a)};
|
|
Object.defineProperty(F.prototype,"m_positionWorldOnB",{get:F.prototype.Pb,set:F.prototype.se});F.prototype.get_m_positionWorldOnA=F.prototype.Ob=function(){return wrapPointer(Mn(this.a),q)};F.prototype.set_m_positionWorldOnA=F.prototype.re=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rn(b,a)};Object.defineProperty(F.prototype,"m_positionWorldOnA",{get:F.prototype.Ob,set:F.prototype.re});F.prototype.get_m_normalWorldOnB=F.prototype.Mb=function(){return wrapPointer(Ln(this.a),q)};
|
|
F.prototype.set_m_normalWorldOnB=F.prototype.pe=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qn(b,a)};Object.defineProperty(F.prototype,"m_normalWorldOnB",{get:F.prototype.Mb,set:F.prototype.pe});F.prototype.__destroy__=function(){En(this.a)};
|
|
function Qz(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=void 0===e?No(a,b):void 0===f?_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3(a,b,e):Oo(a,b,e,f);getCache(Qz)[this.a]=this}Qz.prototype=Object.create(My.prototype);Qz.prototype.constructor=Qz;Qz.prototype.b=Qz;Qz.c={};c.btPoint2PointConstraint=Qz;
|
|
Qz.prototype.setPivotA=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xo(b,a)};Qz.prototype.setPivotB=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Yo(b,a)};Qz.prototype.getPivotInA=function(){return wrapPointer(So(this.a),q)};Qz.prototype.getPivotInB=function(){return wrapPointer(To(this.a),q)};Qz.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Po(b,a)};Qz.prototype.getBreakingImpulseThreshold=function(){return Qo(this.a)};
|
|
Qz.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vo(b,a)};Qz.prototype.getParam=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return Ro(e,a,b)};Qz.prototype.setParam=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Wo(f,a,b,e)};Qz.prototype.get_m_setting=Qz.prototype.Yb=function(){return wrapPointer(Uo(this.a),H)};
|
|
Qz.prototype.set_m_setting=Qz.prototype.Be=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Zo(b,a)};Object.defineProperty(Qz.prototype,"m_setting",{get:Qz.prototype.Yb,set:Qz.prototype.Be});Qz.prototype.__destroy__=function(){Mo(this.a)};function Rz(){this.a=xs();getCache(Rz)[this.a]=this}Rz.prototype=Object.create(WrapperObject.prototype);Rz.prototype.constructor=Rz;Rz.prototype.b=Rz;Rz.c={};c.btSoftBodyHelpers=Rz;
|
|
Rz.prototype.CreateRope=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);return wrapPointer(us(h,a,b,e,f,g),R)};
|
|
Rz.prototype.CreatePatch=function(a,b,e,f,g,h,m,t,v){var T=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);m&&"object"===typeof m&&(m=m.a);t&&"object"===typeof t&&(t=t.a);v&&"object"===typeof v&&(v=v.a);return wrapPointer(ts(T,a,b,e,f,g,h,m,t,v),R)};
|
|
Rz.prototype.CreatePatchUV=function(a,b,e,f,g,h,m,t,v,T){var da=this.a;Ey();a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);h&&"object"===typeof h&&(h=h.a);m&&"object"===typeof m&&(m=m.a);t&&"object"===typeof t&&(t=t.a);v&&"object"===typeof v&&(v=v.a);"object"==typeof T&&(T=ensureFloat32(T));return wrapPointer(ss(da,a,b,e,f,g,h,m,t,v,T),R)};
|
|
Rz.prototype.CreateEllipsoid=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);return wrapPointer(ps(g,a,b,e,f),R)};
|
|
Rz.prototype.CreateFromTriMesh=function(a,b,e,f,g){var h=this.a;Ey();a&&"object"===typeof a&&(a=a.a);"object"==typeof b&&(b=ensureFloat32(b));if("object"==typeof e&&"object"===typeof e){var m=Fy(e,xa);Gy(e,xa,m);e=m}f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);return wrapPointer(rs(h,a,b,e,f,g),R)};
|
|
Rz.prototype.CreateFromConvexHull=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);return wrapPointer(qs(g,a,b,e,f),R)};Rz.prototype.__destroy__=function(){vs(this.a)};function VoidPtr(){throw"cannot construct a VoidPtr, no constructor in IDL";}VoidPtr.prototype=Object.create(WrapperObject.prototype);VoidPtr.prototype.constructor=VoidPtr;VoidPtr.prototype.b=VoidPtr;VoidPtr.c={};
|
|
c.VoidPtr=VoidPtr;VoidPtr.prototype.__destroy__=function(){bf(this.a)};function Sz(a){a&&"object"===typeof a&&(a=a.a);this.a=lf(a);getCache(Sz)[this.a]=this}Sz.prototype=Object.create(p.prototype);Sz.prototype.constructor=Sz;Sz.prototype.b=Sz;Sz.c={};c.btBoxShape=Sz;Sz.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);qf(b,a)};Sz.prototype.getMargin=function(){return of(this.a)};Sz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);pf(b,a)};
|
|
Sz.prototype.getLocalScaling=function(){return wrapPointer(nf(this.a),q)};Sz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);mf(e,a,b)};Sz.prototype.__destroy__=function(){kf(this.a)};function Tz(){this.a=Cd();getCache(Tz)[this.a]=this}Tz.prototype=Object.create(Ly.prototype);Tz.prototype.constructor=Tz;Tz.prototype.b=Tz;Tz.c={};c.DebugDrawer=Tz;
|
|
Tz.prototype.drawLine=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Gd(f,a,b,e)};Tz.prototype.drawContactPoint=function(a,b,e,f,g){var h=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);Fd(h,a,b,e,f,g)};
|
|
Tz.prototype.reportErrorWarning=function(a){var b=this.a;Ey();a=a&&"object"===typeof a?a.a:ensureString(a);Id(b,a)};Tz.prototype.draw3dText=function(a,b){var e=this.a;Ey();a&&"object"===typeof a&&(a=a.a);b=b&&"object"===typeof b?b.a:ensureString(b);Ed(e,a,b)};Tz.prototype.setDebugMode=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Jd(b,a)};Tz.prototype.getDebugMode=function(){return Hd(this.a)};Tz.prototype.__destroy__=function(){Dd(this.a)};
|
|
function Uz(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=zf(a,b);getCache(Uz)[this.a]=this}Uz.prototype=Object.create(Oy.prototype);Uz.prototype.constructor=Uz;Uz.prototype.b=Uz;Uz.c={};c.btCapsuleShapeX=Uz;Uz.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Hf(b,a)};Uz.prototype.getMargin=function(){return Df(this.a)};Uz.prototype.getUpAxis=function(){return Ff(this.a)};Uz.prototype.getRadius=function(){return Ef(this.a)};
|
|
Uz.prototype.getHalfHeight=function(){return Bf(this.a)};Uz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gf(b,a)};Uz.prototype.getLocalScaling=function(){return wrapPointer(Cf(this.a),q)};Uz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Af(e,a,b)};Uz.prototype.__destroy__=function(){yf(this.a)};
|
|
function X(a,b,e,f){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);this.a=lp(a,b,e,f);getCache(X)[this.a]=this}X.prototype=Object.create(Uy.prototype);X.prototype.constructor=X;X.prototype.b=X;X.c={};c.btQuaternion=X;X.prototype.setValue=function(a,b,e,f){var g=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);Cp(g,a,b,e,f)};
|
|
X.prototype.setEulerZYX=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Ap(f,a,b,e)};X.prototype.setRotation=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Bp(e,a,b)};X.prototype.normalize=X.prototype.normalize=function(){tp(this.a)};X.prototype.length2=function(){return rp(this.a)};X.prototype.length=X.prototype.length=function(){return sp(this.a)};
|
|
X.prototype.dot=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return mp(b,a)};X.prototype.normalized=function(){return wrapPointer(up(this.a),X)};X.prototype.getAxis=function(){return wrapPointer(pp(this.a),q)};X.prototype.inverse=X.prototype.inverse=function(){return wrapPointer(qp(this.a),X)};X.prototype.getAngle=function(){return op(this.a)};X.prototype.getAngleShortestPath=function(){return np(this.a)};
|
|
X.prototype.angle=X.prototype.angle=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return kp(b,a)};X.prototype.angleShortestPath=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return jp(b,a)};X.prototype.op_add=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(vp(b,a),X)};X.prototype.op_sub=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(zp(b,a),X)};
|
|
X.prototype.op_mul=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(xp(b,a),X)};X.prototype.op_mulq=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(yp(b,a),X)};X.prototype.op_div=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);return wrapPointer(wp(b,a),X)};X.prototype.x=X.prototype.x=function(){return Ip(this.a)};X.prototype.y=X.prototype.y=function(){return Jp(this.a)};X.prototype.z=X.prototype.z=function(){return Kp(this.a)};
|
|
X.prototype.w=function(){return Hp(this.a)};X.prototype.setX=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ep(b,a)};X.prototype.setY=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Fp(b,a)};X.prototype.setZ=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Gp(b,a)};X.prototype.setW=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Dp(b,a)};X.prototype.__destroy__=function(){ip(this.a)};
|
|
function Vz(a,b){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);this.a=Jf(a,b);getCache(Vz)[this.a]=this}Vz.prototype=Object.create(Oy.prototype);Vz.prototype.constructor=Vz;Vz.prototype.b=Vz;Vz.c={};c.btCapsuleShapeZ=Vz;Vz.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rf(b,a)};Vz.prototype.getMargin=function(){return Nf(this.a)};Vz.prototype.getUpAxis=function(){return Pf(this.a)};Vz.prototype.getRadius=function(){return Of(this.a)};
|
|
Vz.prototype.getHalfHeight=function(){return Lf(this.a)};Vz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Qf(b,a)};Vz.prototype.getLocalScaling=function(){return wrapPointer(Mf(this.a),q)};Vz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Kf(e,a,b)};Vz.prototype.__destroy__=function(){If(this.a)};function x(){throw"cannot construct a btContactSolverInfo, no constructor in IDL";}
|
|
x.prototype=Object.create(WrapperObject.prototype);x.prototype.constructor=x;x.prototype.b=x;x.c={};c.btContactSolverInfo=x;x.prototype.get_m_splitImpulse=x.prototype.ac=function(){return!!ji(this.a)};x.prototype.set_m_splitImpulse=x.prototype.Ee=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);mi(b,a)};Object.defineProperty(x.prototype,"m_splitImpulse",{get:x.prototype.ac,set:x.prototype.Ee});x.prototype.get_m_splitImpulsePenetrationThreshold=x.prototype.bc=function(){return ii(this.a)};
|
|
x.prototype.set_m_splitImpulsePenetrationThreshold=x.prototype.Fe=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);li(b,a)};Object.defineProperty(x.prototype,"m_splitImpulsePenetrationThreshold",{get:x.prototype.bc,set:x.prototype.Fe});x.prototype.get_m_numIterations=x.prototype.Nb=function(){return hi(this.a)};x.prototype.set_m_numIterations=x.prototype.qe=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);ki(b,a)};
|
|
Object.defineProperty(x.prototype,"m_numIterations",{get:x.prototype.Nb,set:x.prototype.qe});x.prototype.__destroy__=function(){gi(this.a)};function Wz(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=void 0===f?Gl(a,b,e):void 0===g?_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_4(a,b,e,f):Hl(a,b,e,f,g);getCache(Wz)[this.a]=this}
|
|
Wz.prototype=Object.create(Yy.prototype);Wz.prototype.constructor=Wz;Wz.prototype.b=Wz;Wz.c={};c.btGeneric6DofSpringConstraint=Wz;Wz.prototype.enableSpring=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Jl(e,a,b)};Wz.prototype.setStiffness=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ul(e,a,b)};
|
|
Wz.prototype.setDamping=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ql(e,a,b)};Wz.prototype.setLinearLowerLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Rl(b,a)};Wz.prototype.setLinearUpperLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Sl(b,a)};Wz.prototype.setAngularLowerLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Nl(b,a)};
|
|
Wz.prototype.setAngularUpperLimit=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ol(b,a)};Wz.prototype.getFrameOffsetA=function(){return wrapPointer(Ll(this.a),u)};Wz.prototype.enableFeedback=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Il(b,a)};Wz.prototype.getBreakingImpulseThreshold=function(){return Kl(this.a)};Wz.prototype.setBreakingImpulseThreshold=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Pl(b,a)};
|
|
Wz.prototype.getParam=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);return Ml(e,a,b)};Wz.prototype.setParam=function(a,b,e){var f=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);Tl(f,a,b,e)};Wz.prototype.__destroy__=function(){Fl(this.a)};function Xz(a){a&&"object"===typeof a&&(a=a.a);this.a=Ju(a);getCache(Xz)[this.a]=this}Xz.prototype=Object.create(p.prototype);Xz.prototype.constructor=Xz;
|
|
Xz.prototype.b=Xz;Xz.c={};c.btSphereShape=Xz;Xz.prototype.setMargin=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ou(b,a)};Xz.prototype.getMargin=function(){return Mu(this.a)};Xz.prototype.setLocalScaling=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Nu(b,a)};Xz.prototype.getLocalScaling=function(){return wrapPointer(Lu(this.a),q)};Xz.prototype.calculateLocalInertia=function(a,b){var e=this.a;a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);Ku(e,a,b)};
|
|
Xz.prototype.__destroy__=function(){Iu(this.a)};function Z(a,b,e,f,g){a&&"object"===typeof a&&(a=a.a);b&&"object"===typeof b&&(b=b.a);e&&"object"===typeof e&&(e=e.a);f&&"object"===typeof f&&(f=f.a);g&&"object"===typeof g&&(g=g.a);this.a=Nd(a,b,e,f,g);getCache(Z)[this.a]=this}Z.prototype=Object.create(WrapperObject.prototype);Z.prototype.constructor=Z;Z.prototype.b=Z;Z.c={};c.LocalConvexResult=Z;Z.prototype.get_m_hitCollisionObject=Z.prototype.ob=function(){return wrapPointer(Pd(this.a),r)};
|
|
Z.prototype.set_m_hitCollisionObject=Z.prototype.Sd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Ud(b,a)};Object.defineProperty(Z.prototype,"m_hitCollisionObject",{get:Z.prototype.ob,set:Z.prototype.Sd});Z.prototype.get_m_localShapeInfo=Z.prototype.Gb=function(){return wrapPointer(Td(this.a),iz)};Z.prototype.set_m_localShapeInfo=Z.prototype.je=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Yd(b,a)};Object.defineProperty(Z.prototype,"m_localShapeInfo",{get:Z.prototype.Gb,set:Z.prototype.je});
|
|
Z.prototype.get_m_hitNormalLocal=Z.prototype.rb=function(){return wrapPointer(Rd(this.a),q)};Z.prototype.set_m_hitNormalLocal=Z.prototype.Vd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Wd(b,a)};Object.defineProperty(Z.prototype,"m_hitNormalLocal",{get:Z.prototype.rb,set:Z.prototype.Vd});Z.prototype.get_m_hitPointLocal=Z.prototype.tb=function(){return wrapPointer(Sd(this.a),q)};
|
|
Z.prototype.set_m_hitPointLocal=Z.prototype.Xd=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Xd(b,a)};Object.defineProperty(Z.prototype,"m_hitPointLocal",{get:Z.prototype.tb,set:Z.prototype.Xd});Z.prototype.get_m_hitFraction=Z.prototype.pb=function(){return Qd(this.a)};Z.prototype.set_m_hitFraction=Z.prototype.Td=function(a){var b=this.a;a&&"object"===typeof a&&(a=a.a);Vd(b,a)};Object.defineProperty(Z.prototype,"m_hitFraction",{get:Z.prototype.pb,set:Z.prototype.Td});
|
|
Z.prototype.__destroy__=function(){Od(this.a)};(function(){function a(){c.BT_CONSTRAINT_ERP=oy();c.BT_CONSTRAINT_STOP_ERP=qy();c.BT_CONSTRAINT_CFM=ny();c.BT_CONSTRAINT_STOP_CFM=py();c.PHY_FLOAT=jy();c.PHY_DOUBLE=hy();c.PHY_INTEGER=ky();c.PHY_SHORT=ly();c.PHY_FIXEDPOINT88=iy();c.PHY_UCHAR=my()}c.calledRun?a():Na.unshift(a)})();this.Ammo=c;
|
|
|
|
|
|
|
|
return Ammo;
|
|
}
|
|
);
|
|
})();
|
|
if (typeof exports === 'object' && typeof module === 'object')
|
|
module.exports = Ammo;
|
|
else if (typeof define === 'function' && define['amd'])
|
|
define([], function() { return Ammo; });
|
|
else if (typeof exports === 'object')
|
|
exports["Ammo"] = Ammo;
|
|
|