window.Physics3D=function(t,e){var i=window.Physics3D={};return i.then=t=>{t(i)},function(t,e,i){var r=e.getWorldTransform,n=e.setWorldTransform;window.atob||(window.atob=function(t){var e=String(t).replace(/[=]+$/,"");if(e.length%4==1)throw new InvalidCharacterError("'atob' failed: The string to be decoded is not correctly encoded.");for(var i,r,n=0,a=0,o="";r=e.charAt(a++);~r&&(i=n%4?64*i+r:r,n++%4)?o+=String.fromCharCode(255&i>>(-2*n&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return o});var a=new ArrayBuffer(8),o=new Int32Array(a),f=new Float32Array(a),_=new Float64Array(a);function c(t){return o[t]}function b(t,e){o[t]=e}function l(){return _[0]}function u(t){_[0]=t}function s(t){f[0]=t}function k(){return f[0]}var h=new ArrayBuffer(t),d=function(t){var e=new Uint8Array(t);return function(t,i){var r,n;if("undefined"==typeof Buffer)for(r=atob(i),n=0;n<r.length;n++)e[t+n]=r.charCodeAt(n);else for(r=Buffer.from(i,"base64"),n=0;n<r.length;n++)e[t+n]=r[n]}}(h);d(2848,"BQ=="),d(2860,"AQ=="),d(2880,"AgAAAAMAAAAMBA=="),d(2904,"AgAAAAAAAAD/////"),d(2960,"GwAAABwAAAAdAAAAHgAAAArXozwBAAAAbxKDOgEAAACIAQAAiQEAAAAAAEA="),d(3008,"IAs="),d(3025,"GRJEOwI/LEcUPTMwChsGRktFNw9JDhcDQB08KzYfSi0cASAlKSEIDBUWIi4QOD4LNDEYL0EJOREjQzJCOgUEJignDSoeNQcaSBMkTP8AAFN1Y2Nlc3MASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBRdW90YSBleGNlZWRlZABNdWx0aWhvcCBhdHRlbXB0ZWQAQ2FwYWJpbGl0aWVzIGluc3VmZmljaWVudABObyBlcnJvciBpbmZvcm1hdGlvbgAALSsgICAwWDB4AChudWxsKQ=="),d(4704,"GQAKABkZGQAAAAAFAAAAAAAACQAAAAAL"),d(4736,"GQARChkZGQMKBwABGwkLGAAACQYLAAALAAYZAAAAGRkZ"),d(4785,"Dg=="),d(4794,"GQAKDRkZGQANAAACAAkOAAAACQAOAAAO"),d(4843,"DA=="),d(4855,"EwAAAAATAAAAAAkMAAAAAAAMAAAM"),d(4901,"EA=="),d(4913,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ"),d(4959,"Eg=="),d(4971,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa"),d(5026,"GgAAABoaGgAAAAAAAAk="),d(5075,"FA=="),d(5087,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU"),d(5133,"Fg=="),d(5145,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAABTdXBwb3J0IGZvciBmb3JtYXR0aW5nIGxvbmcgZG91YmxlIHZhbHVlcyBpcyBjdXJyZW50bHkgZGlzYWJsZWQuClRvIGVuYWJsZSBpdCwgYWRkIC1sYy1wcmludHNjYW4tbG9uZy1kb3VibGUgdG8gdGhlIGxpbmsgY29tbWFuZC4K"),d(5312,"MDEyMzQ1Njc4OUFCQ0RFRi0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgAKAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAFN0OXR5cGVfaW5mbwAAAJQVAAAVFQAATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAAvBUAACwVAAAkFQAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAvBUAAFwVAABQFQAAAAAAAIAVAAAEAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAAAAAAAEFgAABQAAAA4AAAAIAAAACQAAAAoAAAAPAAAAEAAAABEAAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAvBUAANwVAACAFQAAAAAAAGAWAAAGAAAAEgAAAAgAAAAJAAAACgAAABMAAAAUAAAAFQAAAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAAAC8FQAAOBYAAIAVAAAAAAAA3BYAABYAAAAXAAAAGAAAABgAAAAYAAAAAAAAAOQWAAAZAAAAGgAAABgAAAAYAAAAGAAAADMwYnRBY3RpdmF0aW5nQ29sbGlzaW9uQWxnb3JpdGhtADIwYnRDb2xsaXNpb25BbGdvcml0aG0AlBUAAMUWAAC8FQAApBYAANwWAABidENvbGxpc2lvblNoYXBlRGF0YQAxNmJ0Q29sbGlzaW9uU2hhcGUAlBUAAAUXAAAAAAAAlBcAAB8AAAAgAAAAGAAAACEAAAAiAAAAIwAAABgAAAAYAAAAGAAAABgAAAAkAAAAGAAAABgAAAAlAAAAJgAAACcAAAAYAAAAGAAAACgAAAAYAAAAGAAAABgAAAAYAAAAMTNidENvbnZleFNoYXBlALwVAACEFwAAGBcAAAAAAADgGAAAHwAAACkAAAAqAAAAIQAAACIAAAAjAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAAJwAAADQAAAA1AAAAKAAAADYAAAA3AAAAOAAAADk="),d(6153,"GQAAHwAAADoAAAAqAAAAIQAAACIAAAAjAAAAKwAAACwAAAAtAAAAOwAAAC8AAAAwAAAAMQAAADIAAAAzAAAAJwAAADQAAAA1AAAAKAAAADYAAAA3AAAAOAAAADkAAAAAAAAAIBkAAB8AAAA8AAAAKgAAACEAAAAiAAAAIwAAACsAAAAsAAAALQAAAD0AAAAvAAAAMAAAADEAAAAyAAAAMwAAACcAAAA0AAAANQAAACgAAAA2AAAANwAAADgAAAA5AAAAMTRidENhcHN1bGVTaGFwZQAAAAC8FQAAzBgAAIAbAAAxNWJ0Q2Fwc3VsZVNoYXBlWAAAALwVAADsGAAA4BgAADE1YnRDYXBzdWxlU2hhcGVaAAAAvBUAAAwZAADgGAAAQ2Fwc3VsZVNoYXBlAGJ0Q2Fwc3VsZVNoYXBlRGF0YQBDYXBzdWxlWABDYXBzdWxlWgAAAAAAAACcGgAAHwAAAD4AAAA/AAAAIQAAACIAAAAjAAAAQAAAACwAAABBAAAAQgAAAEMAAABEAAAAMQAAAEUAAABGAAAAJwAAAEcAAABIAAAAKAAAAEkAAAA3AAAAOAAAADkAAAAAAAAAuBoAAB8AAABKAAAAPwAAACEAAAAiAAAAIwAAAEAAAAAsAAAAQQAAAEsAAABMAAAARAAAADEAAABFAAAARgAAACcAAABHAAAASAAAACgAAABJAAAANwAAADgAAAA5AAAAAAAAANQaAAAfAAAATQAAAD8AAAAhAAAAIgAAACMAAABAAAAALAAAAEEAAABOAAAATwAAAEQAAAAxAAAARQAAAEYAAAAnAAAARwAAAEgAAAAoAAAASQAAADcAAAA4AAAAOQAAADExYnRDb25lU2hhcGUAAAC8FQAAjBoAAIAbAAAxMmJ0Q29uZVNoYXBlWgAAvBUAAKgaAACcGgAAMTJidENvbmVTaGFwZVgAALwVAADEGgAAnBoAAENvbmUAYnRDb25lU2hhcGVEYXRhAENvbmVaAENvbmVY"),d(6920,"gBsAAB8AAABQAAAAPwAAACEAAAAiAAAAIwAAAFEAAAAsAAAAGAAAABgAAAAkAAAARAAAADEAAABSAAAAUwAAACcAAAA0AAAAGAAAACgAAAAYAAAANwAAADgAAAA5AAAAMjFidENvbnZleEludGVybmFsU2hhcGUAvBUAAGgbAACUFwAAAAAAALQbAABUAAAAVQAAADE4YnRDb252ZXhQb2x5aGVkcm9uAAAAAJQVAACcGwAAAAAAAOAcAABWAAAAVwAAAD8AAAAhAAAAIgAAACMAAABRAAAALAAAAFgAAAAYAAAAJAAAAEQAAAAxAAAAUgAAAFMAAAAnAAAANAAAAFkAAAAoAAAAWgAAADcAAAA4AAAAOQAAAFsAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAAAAAABQdAABWAAAAXAAAAF0AAAAhAAAAIgAAACMAAABeAAAALAAAAFgAAAAYAAAAJAAAAEQAAAAxAAAAUgAAAFMAAAAnAAAANAAAAFkAAAAoAAAAWgAAADcAAAA4AAAAOQAAAFsAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAMjNidFBvbHloZWRyYWxDb252ZXhTaGFwZQAAALwVAADEHAAAgBsAADM0YnRQb2x5aGVkcmFsQ29udmV4QWFiYkNhY2hpbmdTaGFwZQAAAAC8FQAA7BwAAOAcAAAAAAAAvB0AAFYAAABfAAAAYAAAACEAAAAiAAAAIwAAAF4AAAAsAAAAWAAAAGEAAAAkAAAARAAAADEAAABSAAAAUwAAACcAAAA0AAAAWQAAACgAAABaAAAANwAAADgAAAA5AAAAWwAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAMTZidEJVX1NpbXBsZXgxdG80AAC8FQAAqB0AABQdAAABAAAAAwAAAAYAAAAxOGJ0VHJpYW5nbGVDYWxsYmFjawAAAACUFQAA1B0AADMxYnRJbnRlcm5hbFRyaWFuZ2xlSW5kZXhDYWxsYmFjawAAAJQVAAD0HQAAAAAAAIgeAABqAAAAawAAAGwAAABtAAAAbgAAADE2YnRNYW5pZm9sZFJlc3VsdABOMzZidERpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0b3JJbnRlcmZhY2U2UmVzdWx0RQAAlBUAAE8eAAC8FQAAPB4AAIAeAAAxMmJ0RGlzcGF0Y2hlcgAAlBUAAJQeAAAAAAAADB8AAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AAAAyMWJ0Q29sbGlzaW9uRGlzcGF0Y2hlcgC8FQAA9B4AAKQeAAAAAAAAZB8AAIAAAACBAAAAggAAADIzYnRDb2xsaXNpb25QYWlyQ2FsbGJhY2sAMTdidE92ZXJsYXBDYWxsYmFjawAAAJQVAABGHwAAvBUAACwfAABcHwAAAAAAAKwfAACDAAAAhAAAAIUAAACGAAAAhwAAADI3YnRHSW1wYWN0Q29sbGlzaW9uQWxnb3JpdGhtAAAAvBUAAIwfAADkFgAAAAAAAHQgAABWAAAAiAAAAIkAAAAhAAAAIgAAACMAAABRAAAALAAAAIoAAACLAAAAJAAAAEQAAAAxAAAAUgAAAFMAAAAnAAAANAAAAIwAAAAoAAAAjQAAADcAAACOAAAAjwAAAFsAAACQAAAAkQAAAJIAAACTAAAAlAAAAJUAAACWAAAAlwAAADE3YnRUcmlhbmdsZVNoYXBlRXgAMTVidFRyaWFuZ2xlU2hhcGUAAAC8FQAAVCAAAOAcAAC8FQAAQCAAAGggAABUcmlhbmdsZQBidENvbnZleEludGVybmFsU2hhcGVEYXRhAAAAAAAARCEAAFYAAACYAAAAYAAAACEAAAAiAAAAIwAAAF4AAAAsAAAAWAAAAGEAAAAkAAAARAAAADEAAABSAAAAUwAAACcAAAA0AAAAWQAAACgAAABaAAAANwAAADgAAAA5AAAAWwAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAMjBidFRldHJhaGVkcm9uU2hhcGVFeAAAvBUAACwhAAC8HQAAYnRCVV9TaW1wbGV4MXRvNA=="),d(8552,"pCEAAJkAAACaAAAAmwAAAE4xOEdJTV9TaGFwZVJldHJpZXZlcjE5Q2hpbGRTaGFwZVJldHJpZXZlckUAlBUAAHghAAAAAAAA8CEAAJwAAACaAAAAnQAAAE4xOEdJTV9TaGFwZVJldHJpZXZlcjIyVHJpYW5nbGVTaGFwZVJldHJpZXZlckUAALwVAADAIQAApCEAAAAAAAA8IgAAngAAAJoAAACfAAAATjE4R0lNX1NoYXBlUmV0cmlldmVyMTlUZXRyYVNoYXBlUmV0cmlldmVyRQC8FQAAECIAAKQhAAAAAAAAeCIAAKAAAAChAAAAogAAADI1YnRHSW1wYWN0VHJpYW5nbGVDYWxsYmFjawC8FQAAXCIAAOwdAAAAAAAA8CIAAKMAAACkAAAApQAAAE4yN2J0R0ltcGFjdENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAMzBidENvbGxpc2lvbkFsZ29yaXRobUNyZWF0ZUZ1bmMAAAAAlBUAAMQiAAC8FQAAmCIAAOgiAAAAAAAAUCMAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAABidENvbGxpc2lvbk9iamVjdEZsb2F0RGF0YQAxN2J0Q29sbGlzaW9uT2JqZWN0AACUFQAAOyMAAAAAAADwIwAAVgAAAK0AAACuAAAAIQAAACIAAAAjAAAArwAAACwAAACwAAAAsQAAACQAAACyAAAAMQAAAFIAAABTAAAAJwAAALMAAAC0AAAAKAAAALUAAAA3AAAAtgAAALcAAABbAAAAuAAAALkAAAC6AAAAuwAAALwAAAC9AAAAvgAAAL8AAAAxMGJ0Qm94U2hhcGUAAAAAvBUAAOAjAADgHAAAQm94AAAAgD8AAIC/"),d(9250,"gD8AAIC/"),d(9282,"gD8AAIC/"),d(9296,"AQAAAAIAAAAAAAAAAQAAAAIAAAADAAAABAAAAAQAAAAFAAAABgAAAAEAAAACAAAAAwAAAAMAAAAEAAAABQAAAAYAAAAHAAAABQAAAAYAAAAHAAAABwAAAAAAAAD0JQAAHwAAAMAAAADBAAAAIQAAACIAAAAjAAAAwgAAACwAAADDAAAAxAAAAMUAAADGAAAAMQAAAMcAAADIAAAAJwAAAMkAAADKAAAAKAAAAMsAAAA3AAAAOAAAADkAAADMAAAAAAAAABQmAAAfAAAAzQAAAMEAAAAhAAAAIgAAACMAAADCAAAALAAAAMMAAADOAAAAxQAAAMYAAAAxAAAAxwAAAMgAAAAnAAAAyQAAAM8AAAAoAAAA0AAAADcAAAA4AAAAOQAAANEAAAAAAAAANCYAAB8AAADSAAAAwQAAACEAAAAiAAAAIwAAAMIAAAAsAAAAwwAAANMAAADFAAAAxgAAADEAAADHAAAAyAAAACcAAADJAAAA1AAAACgAAADVAAAANwAAADgAAAA5AAAA1gAAADE1YnRDeWxpbmRlclNoYXBlAAAAvBUAAOAlAACAGwAAMTZidEN5bGluZGVyU2hhcGVYAAC8FQAAACYAAPQlAAAxNmJ0Q3lsaW5kZXJTaGFwZVoAALwVAAAgJgAA9CUAAEN5bGluZGVyWQBidEN5bGluZGVyU2hhcGVEYXRhAEN5bGluZGVyWABDeWxpbmRlcloAAAAAAAAA6CYAAB8AAADXAAAA2AAAACEAAAAiAAAAIwAAAFEAAAAsAAAA2QAAANoAAAAkAAAA2wAAANwAAABSAAAAUwAAACcAAADdAAAA3gAAACgAAADfAAAANwAAADgAAAA5AAAAMTNidFNwaGVyZVNoYXBlALwVAADYJgAAgBsAAFNQSEVSRQAAAAAAAJgnAADgAAAA4QAAAOIAAABaTjIyYnRCdmhUcmlhbmdsZU1lc2hTaGFwZTE0cGVyZm9ybVJheWNhc3RFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfRTIxTXlOb2RlT3ZlcmxhcENhbGxiYWNrADIxYnROb2RlT3ZlcmxhcENhbGxiYWNrAJQVAAB4JwAAvBUAABAnAACQJwAAAAAAACwoAADgAAAA4wAAAOQAAABaTjIyYnRCdmhUcmlhbmdsZU1lc2hTaGFwZTE3cGVyZm9ybUNvbnZleGNhc3RFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfUzRfUzRfRTIxTXlOb2RlT3ZlcmxhcENhbGxiYWNrAAAAALwVAAC4JwAAkCcAAAAAAACYKAAA5QAAAOYAAAAYAAAAIQAAACIAAAAjAAAAGAAAABgAAAAYAAAAGAAAACQAAADnAAAA6AAAACUAAAAmAAAAJwAAABgAAAAxNGJ0Q29uY2F2ZVNoYXBlAAAAALwVAACEKAAAGBcAAAAAAAAIKQAA6QAAAOoAAADrAAAAIQAAACIAAAAjAAAA7AAAAO0AAADuAAAA7wAAACQAAADnAAAA6AAAAPAAAADxAAAAJwAAAPIAAAAxOGJ0U3RhdGljUGxhbmVTaGFwZQAAAAC8FQAA8CgAAJgoAABTVEFUSUNQTEFORQBidFN0YXRpY1BsYW5lU2hhcGVEYXRhAAAAAAAAMCoAAPMAAAD0AAAA9QAAACEAAAAiAAAAIwAAAPYAAAD3AAAA+AAAAPkAAAAkAAAA+gAAAPsAAAAlAAAAJgAAACcAAAD8AAAA/QAAAP4AAAD/AAAAAAEAAAEBAAACAQAAAwEAAAQBAAAFAQAABgEAAAcBAAAIAQAACQEAAAoBAAALAQAADAEAAA0BAAAOAQAADwEAABABAABidEdJbXBhY3RNZXNoU2hhcGVEYXRhADIzYnRHSW1wYWN0U2hhcGVJbnRlcmZhY2UAAAAAvBUAAOspAACYKAAAMjJidEdJbXBhY3RNZXNoU2hhcGVQYXJ0AAAAALwVAAAUKgAACCoAAAAAAADwKgAAEQEAABIBAAD1AAAAIQAAACIAAAAjAAAAEwEAABQBAAAVAQAAFgEAACQAAAAXAQAA6AAAABgBAAAZAQAAJwAAABoBAAAbAQAAHAEAAP8AAAAdAQAAHgEAAB8BAAAgAQAAIQEAACIBAAAjAQAAJAEAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAACsBAAAsAQAALQEAADE4YnRHSW1wYWN0TWVzaFNoYXBlAAAAALwVAADYKgAACCoAAAAAAAAIKgAALgEAAC8BAAD1AAAAIQAAACIAAAAjAAAAMAEAABQBAAAYAAAAGAAAACQAAAAxAQAA6AAAACUAAAAmAAAAJwAAADIBAAD9AAAA/gAAAP8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAADMBAAA0AQAACgEAABgAAAAYAAAAGAAAABgAAAAPAQAANQEAAAAAAAAQLAAANgEAADcBAAA4AQAAOQEAADoBAAA7AQAATjIyYnRHSW1wYWN0TWVzaFNoYXBlUGFydDIzVHJpbWVzaFByaW1pdGl2ZU1hbmFnZXJFADIyYnRQcmltaXRpdmVNYW5hZ2VyQmFzZQAAAACUFQAA7CsAALwVAAC4KwAACCwAAEdJbXBhY3RNZXNoU2hhcGVQYXJ0AEdJbXBhY3RNZXNoAE42YnREYnZ0OElDb2xsaWRlRQCUFQAAPSw="),d(11360,"AwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAABnERwDNZ8MACejcAFmDKgCLdsQAphyWAESv3QAZV9EApT4FAAUH/wAzfj8AwjLoAJhP3gC7fTIAJj3DAB5r7wCf+F4ANR86AH/yygDxhx0AfJAhAGokfADVbvoAMC13ABU7QwC1FMYAwxmdAK3EwgAsTUEADABdAIZ9RgDjcS0Am8aaADNiAAC00nwAtKeXADdV1QDXPvYAoxAYAE12/ABknSoAcNerAGN8+AB6sFcAFxXnAMBJVgA71tkAp4Q4ACQjywDWincAWlQjAAAfuQDxChsAGc7fAJ8x/wBmHmoAmVdhAKz7RwB+f9gAImW3ADLoiQDmv2AA78TNAGw2CQBdP9QAFt7XAFg73gDem5IA0iIoACiG6ADiWE0AxsoyAAjjFgDgfcsAF8BQAPMdpwAY4FsALhM0AIMSYgCDSAEA9Y5bAK2wfwAe6fIASEpDABBn0wCq3dgArl9CAGphzgAKKKQA05m0AAam8gBcd38Ao8KDAGE8iACKc3gAr4xaAG/XvQAtpmMA9L/LAI2B7wAmwWcAVcpFAMrZNgAoqNIAwmGNABLJdwAEJhQAEkabAMRZxADIxUQATbKRAAAX8wDUQ60AKUnlAP3VEAAAvvwAHpTMAHDO7gATPvUA7PGAALPnwwDH+CgAkwWUAMFxPgAuCbMAC0XzAIgSnACrIHsALrWfAEeSwgB7Mi8ADFVtAHKnkABr5x8AMcuWAHkWSgBBeeIA9N+JAOiUlwDi5oQAmTGXAIjtawBfXzYAu/0OAEiatABnpGwAcXJCAI1dMgCfFbgAvOUJAI0xJQD3dDkAMAUcAA0MAQBLCGgALO5YAEeqkAB05wIAvdYkAPd9pgBuSHIAnxbvAI6UpgC0kfYA0VNRAM8K8gAgmDMA9Ut+ALJjaADdPl8AQF0DAIWJfwBVUikAN2TAAG3YEAAySDIAW0x1AE5x1ABFVG4ACwnBACr1aQAUZtUAJwedAF0EUAC0O9sA6nbFAIf5FwBJa30AHSe6AJZpKQDGzKwArRRUAJDiagCI2YkALHJQAASkvgB3B5QA8zBwAAD8JwDqcagAZsJJAGTgPQCX3YMAoz+XAEOU/QANhowAMUHeAJI5nQDdcIwAF7fnAAjfOwAVNysAXICgAFqAkwAQEZIAD+jYAGyArwDb/0sAOJAPAFkYdgBipRUAYcu7AMeJuQAQQL0A0vIEAEl1JwDrtvYA2yK7AAoUqgCJJi8AZIN2AAk7MwAOlBoAUTqqAB2jwgCv7a4AXCYSAG3CTQAtepwAwFaXAAM/gwAJ8PYAK0CMAG0xmQA5tAcADCAVANjDWwD1ksQAxq1LAE7KpQCnN80A5qk2AKuSlADdQmgAGWPeAHaM7wBoi1IA/Ns3AK6hqwDfFTEAAK6hAAz72gBkTWYA7QW3ACllMABXVr8AR/86AGr5uQB1vvMAKJPfAKuAMABmjPYABMsVAPoiBgDZ5B0APbOkAFcbjwA2zQkATkLpABO+pAAzI7UA8KoaAE9lqADSwaUACz8PAFt4zQAj+XYAe4sEAIkXcgDGplMAb27iAO/rAACbSlgAxNq3AKpmugB2z88A0QIdALHxLQCMmcEAw613AIZI2gD3XaAAxoD0AKzwLwDd7JoAP1y8ANDebQCQxx8AKtu2AKMlOgAAr5oArVOTALZXBAApLbQAS4B+ANoHpwB2qg4Ae1mhABYSKgDcty0A+uX9AInb/gCJvv0A5HZsAAap/AA+gHAAhW4VAP2H/wAoPgcAYWczACoYhgBNveoAs+evAI9tbgCVZzkAMb9bAITXSAAw3xYAxy1DACVhNQDJcM4AMMu4AL9s/QCkAKIABWzkAFrdoAAhb0cAYhLSALlchABwYUkAa1bgAJlSAQBQVTcAHtW3ADPxxAATbl8AXTDkAIUuqQAdssMAoTI2AAi3pADqsdQAFvchAI9p5AAn/3cADAOAAI1ALQBPzaAAIKWZALOi0wAvXQoAtPlCABHaywB9vtAAm9vBAKsXvQDKooEACGpcAC5VFwAnAFUAfxTwAOEHhgAUC2QAlkGNAIe+3gDa/SoAayW2AHuJNAAF8/4Aub+eAGhqTwBKKqgAT8RaAC34vADXWpgA9MeVAA1NjQAgOqYApFdfABQ/sQCAOJUAzCABAHHdhgDJ3rYAv2D1AE1lEQABB2sAjLCsALLA0ABRVUgAHvsOAJVywwCjBjsAwEA1AAbcewDgRcwATin6ANbKyADo80EAfGTeAJtk2ADZvjEApJfDAHdY1ABp48UA8NoTALo6PABGGEYAVXVfANK99QBuksYArC5dAA5E7QAcPkIAYcSHACn96QDn1vMAInzKAG+RNQAI4MUA/9eNAG5q4gCw/cYAkwjBAHxddABrrbIAzW6dAD5yewDGEWoA98+pAClz3wC1yboAtwBRAOKyDQB0uiQA5X1gAHTYigANFSwAgRgMAH5mlAABKRYAn3p2AP39vgBWRe8A2X42AOzZEwCLurkAxJf8ADGoJwDxbsMAlMU2ANioVgC0qLUAz8wOABKJLQBvVzQALFaJAJnO4wDWILkAa16qAD4qnAARX8wA/QtKAOH0+wCOO20A4oYsAOnUhAD8tKkA7+7RAC41yQAvOWEAOCFEABvZyACB/AoA+0pqAC8c2ABTtIQATpmMAFQizAAqVdwAwMbWAAsZlgAacLgAaZVkACZaYAA/Uu4AfxEPAPS1EQD8y/UANLwtADS87gDoXcwA3V5gAGeOmwCSM+8AyRe4AGFYmwDhV7wAUYPGANg+EADdcUgALRzdAK8YoQAhLEYAWfPXANl6mACeVMAAT4b6AFYG/ADlea4AiSI2ADitIgBnk9wAVeiqAIImOADK55sAUQ2kAJkzsQCp1w4AaQVIAGWy8AB/iKcAiEyXAPnRNgAhkrMAe4JKAJjPIQBAn9wA3EdVAOF0OgBn60IA/p3fAF7UXwB7Z6QAuqx6AFX2ogAriCMAQbpVAFluCAAhKoYAOUeDAInj5gDlntQASftAAP9W6QAcD8oAxVmKAJT6KwDTwcUAD8XPANtargBHxYYAhUNiACGGOwAseZQAEGGHACpMewCALBoAQ78SAIgmkAB4PIkAqMTkAOXbewDEOsIAJvTqAPdnigANkr8AZaMrAD2TsQC9fAsApFHcACfdYwBp4d0AmpQZAKgplQBozigACe20AESfIABOmMoAcIJjAH58IwAPuTIAp/WOABRW5wAh8QgAtZ0qAG9+TQClGVEAtfmrAILf1gCW3WEAFjYCAMQ6nwCDoqEAcu1tADmNegCCuKkAazJcAEYnWwAANO0A0gB3APz0VQABWU0A4HGA"),d(14147,"QPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNQAAAAAQOAAAPAEAAD0BAAA+AQAAIQAAACIAAAAjAAAAPwEAAEABAABBAQAAQgEAACQAAABDAQAARAEAAEUBAABGAQAAJwAAAEcBAABIAQAAYnRDb21wb3VuZFNoYXBlQ2hpbGREYXRhAGJ0Q29tcG91bmRTaGFwZURhdGEAMTVidENvbXBvdW5kU2hhcGUAALwVAAD9NwAAGBcAAENvbXBvdW5kAGJ0SW50SW5kZXhEYXRhAGJ0U2hvcnRJbnRJbmRleFRyaXBsZXREYXRhAGJ0Q2hhckluZGV4VHJpcGxldERhdGEAYnRWZWN0b3IzRmxvYXREYXRhAGJ0VmVjdG9yM0RvdWJsZURhdGEAYnRNZXNoUGFydERhdGEAYnRTdHJpZGluZ01lc2hJbnRlcmZhY2VEYXRhADIzYnRTdHJpZGluZ01lc2hJbnRlcmZhY2UAAACUFQAAuDgAAAAAAABAOQAASQEAAEoBAABLAQAATAEAAE0BAABOAQAATwEAAFABAABRAQAAUgEAAFMBAABUAQAAVQEAAFYBAABXAQAAMjZidFRyaWFuZ2xlSW5kZXhWZXJ0ZXhBcnJheQAAAAC8FQAAIDkAANQ4AAAAAAAApDkAAFgBAABZAQAASwEAAEwBAABNAQAATgEAAE8BAABQAQAAWgEAAFsBAABTAQAAVAEAAFUBAABWAQAAVwEAADE0YnRUcmlhbmdsZU1lc2gAAAAAvBUAAJA5AABAOQAAAQAAAAIAAAAAAAAAAgAAAAAAAAABAAAAAAAAACg6AABeAQAAXwEAAGABAAAzMGJ0R2prRXBhUGVuZXRyYXRpb25EZXB0aFNvbHZlcgAzMGJ0Q29udmV4UGVuZXRyYXRpb25EZXB0aFNvbHZlcgAAAJQVAAD9OQAAvBUAANw5AAAgOgAAAAAAAIw6AABhAQAAYgEAAGMBAAAxN2J0R2prUGFpckRldGVjdG9yADM2YnREaXNjcmV0ZUNvbGxpc2lvbkRldGVjdG9ySW50ZXJmYWNlAACUFQAAXDoAALwVAABIOgAAhDoAAAAAAADQOgAAXgEAAGQBAABlAQAAMzNidE1pbmtvd3NraVBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAvBUAAKw6AAAgOgAAAAAAAKQ7AABqAAAAZgEAAGcBAABoAQAAaQEAAFpOMzNidE1pbmtvd3NraVBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIxMmNhbGNQZW5EZXB0aEVSMjJidFZvcm9ub2lTaW1wbGV4U29sdmVyUEsxM2J0Q29udmV4U2hhcGVTNF9SSzExYnRUcmFuc2Zvcm1TN19SOWJ0VmVjdG9yM1M5X1M5X1AxMmJ0SURlYnVnRHJhd0UyMGJ0SW50ZXJtZWRpYXRlUmVzdWx0AAC8FQAA+DoAAIAeAAAxMmJ0Q29udmV4Q2FzdAAAlBUAALA7AAAAAAAA8DsAAGoBAABrAQAAbAEAADE1YnRHamtDb252ZXhDYXN0AAAAvBUAANw7AADAOwAAAAAAACw8AABqAAAAbQEAAG4BAABvAQAAcAEAADE2YnRQb2ludENvbGxlY3RvcgAAvBUAABg8AACAHgAAAAAAAJA8AABxAQAAcgEAAHMBAAAAAAAAuDwAAHQBAAB1AQAAdgEAAHcBAAB4AQAATjIzYnRDb252ZXhDb252ZXhBbGdvcml0aG0xMENyZWF0ZUZ1bmNFALwVAABoPAAA6CIAADIzYnRDb252ZXhDb252ZXhBbGdvcml0aG0AAAC8FQAAnDwAAOQWAAAAAAAAaD0AAGoAAAB5AQAAegEAAHsBAAB8AQAAWk4yM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtMTZwcm9jZXNzQ29sbGlzaW9uRVBLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJTMl9SSzE2YnREaXNwYXRjaGVySW5mb1AxNmJ0TWFuaWZvbGRSZXN1bHRFMTNidER1bW15UmVzdWx0AAAAALwVAADgPAAAgB4AAAAAAAAgPgAAagAAAH0BAAB+AQAAfwEAAIABAABaTjIzYnRDb252ZXhDb252ZXhBbGdvcml0aG0xNnByb2Nlc3NDb2xsaXNpb25FUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclMyX1JLMTZidERpc3BhdGNoZXJJbmZvUDE2YnRNYW5pZm9sZFJlc3VsdEUyMWJ0V2l0aG91dE1hcmdpblJlc3VsdAAAAAC8FQAAkD0AAIAeAAAAAAAAZD4AAGoAAACBAQAAbAAAAG0AAACCAQAAMjRidFBlcnR1cmJlZENvbnRhY3RSZXN1bHQAALwVAABIPgAAiB4AAAAAAACsPgAAgwEAAIQBAACFAQAAhgEAAIcBAABOMTJidENvbnZleENhc3QxMENhc3RSZXN1bHRFAAAAAJQVAACMPgAAAAAAAOQ+AABqAQAAigEAAIsBAAAyMmJ0U3Vic2ltcGxleENvbnZleENhc3QAAAAAvBUAAMg+AADAOwAAAAAAAKQ/AACMAQAAjQEAAI4BAACPAQAAkAEAAAAAAADMPwAAkQEAAJIBAACTAQAAYnRDb252ZXhUcmlhbmdsZUNhbGxiYWNrOjpwcm9jZXNzVHJpYW5nbGUAYnRDb252ZXhDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtOjpwcm9jZXNzQ29sbGlzaW9uADMzYnRDb252ZXhDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtAAAAvBUAAH4/AADkFgAAMjRidENvbnZleFRyaWFuZ2xlQ2FsbGJhY2sAALwVAACwPwAA7B0AAAAAAABoIAAAVgAAAJQBAACVAQAAIQAAACIAAAAjAAAAUQAAACwAAACKAAAAiwAAACQAAABEAAAAMQAAAFIAAABTAAAAJwAAADQAAACMAAAAKAAAAI0AAAA3AAAAjgAAAI8AAABbAAAAkAAAAJEAAACSAAAAkwAAAJQAAACVAAAAlgAAAJcAAAAAAAAAFEEAAKAAAACWAQAAlwEAAFpOMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0yMWNhbGN1bGF0ZVRpbWVPZkltcGFjdEVQMTdidENvbGxpc2lvbk9iamVjdFMxX1JLMTZidERpc3BhdGNoZXJJbmZvUDE2YnRNYW5pZm9sZFJlc3VsdEUzMUxvY2FsVHJpYW5nbGVTcGhlcmVDYXN0Q2FsbGJhY2sAAAC8FQAAdEAAAOwdAABwcm9jZXNzVHJpYW5nbGUAAAAAAGxBAACYAQAAmQEAAJoBAACbAQAAnAEAADI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobQAAvBUAAExBAADkFgAAAAAAALhBAACdAQAAngEAAJ8BAACgAQAAoQEAAKIBAACjAQAAMjJidENvbXBvdW5kTGVhZkNhbGxiYWNrAAAAALwVAACcQQAAUCwAAAAAAAD8QQAApAEAAKUBAACmAQAApwEAAKgBAAAyM2J0SGFzaGVkU2ltcGxlUGFpckNhY2hlAAAAlBUAAOBBAAAAAAAASEIAAKkBAACqAQAAqwEAAKwBAACtAQAAMzZidENvbXBvdW5kQ29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0AALwVAAAgQgAAbEEAAAAAAACcQgAAnQEAAK4BAACvAQAAsAEAAKEBAACiAQAAowEAADMwYnRDb21wb3VuZENvbXBvdW5kTGVhZkNhbGxiYWNrAAAAALwVAAB4QgAAUCwAAGJ0Q29tcG91bmRDb21wb3VuZExlYWZDYWxsYmFjazo6UHJvY2VzcwAAAAAAAEMAABYAAACxAQAAsgEAALMBAAC0AQAAMTZidEVtcHR5QWxnb3JpdGhtAAC8FQAA7EIAANwWAAAAAAAATEMAALUBAAC2AQAAtwEAALgBAAC5AQAAMzJidFNwaGVyZVNwaGVyZUNvbGxpc2lvbkFsZ29yaXRobQAAvBUAAChDAADkFgAAAAAAAIhDAABhAQAAugEAALsBAAAyMlNwaGVyZVRyaWFuZ2xlRGV0ZWN0b3IAAAAAvBUAAGxDAACEOgAAAAAAANhDAAC8AQAAvQEAAL4BAAC/AQAAwAEAADM0YnRTcGhlcmVUcmlhbmdsZUNvbGxpc2lvbkFsZ29yaXRobQAAAAC8FQAAsEMAAOQW"),d(17392,"OGPtPtoPST9emHs/2g/JP2k3rDFoISIztA8UM2ghojPbD0k/2w9Jv+TLFkDkyxbAAAAAAAAAAIDbD0lA2w9JwAAAAABYRAAAYQEAAMEBAADCAQAAMTZidEJveEJveERldGVjdG9yAAC8FQAAREQAAIQ6AAAAAAAAoEQAAMMBAADEAQAAxQEAAMYBAADHAQAAMjZidEJveEJveENvbGxpc2lvbkFsZ29yaXRobQAAAAC8FQAAgEQAAOQWAAAAAAAA7EQAAMgBAADJAQAAygEAAMsBAADMAQAAMzFidENvbnZleFBsYW5lQ29sbGlzaW9uQWxnb3JpdGhtAAAAvBUAAMhEAADcFgAAAAAAAGBFAADNAQAAzgEAAM8BAADQAQAA0QEAANIBAAAzMWJ0RGVmYXVsdENvbGxpc2lvbkNvbmZpZ3VyYXRpb24AMjRidENvbGxpc2lvbkNvbmZpZ3VyYXRpb24AAAAAlBUAADpFAAC8FQAAGEUAAFhFAAAAAAAAtEUAAKMAAADTAQAA1AEAAE4zM2J0Q29udmV4Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAAAC8FQAAgEUAAOgiAAAAAAAAEEYAAKMAAADVAQAA1gEAAE4zM2J0Q29udmV4Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFAAAAALwVAADURQAA6CIAAAAAAABgRgAAowAAANcBAADYAQAATjI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAAAAAvBUAADBGAADoIgAAAAAAALhGAACjAAAA2QEAANoBAABOMzZidENvbXBvdW5kQ29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAAAAALwVAACARgAA6CIAAAAAAAAMRwAAowAAANsBAADcAQAATjI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFALwVAADYRgAA6CIAAAAAAABQRwAAowAAAN0BAADeAQAATjE2YnRFbXB0eUFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAAAAAvBUAACxHAADoIgAAAAAAAKRHAACjAAAA3wEAAOABAABOMzJidFNwaGVyZVNwaGVyZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAAAAAvBUAAHBHAADoIgAAAAAAAPhHAACjAAAA4QEAAOIBAABOMzRidFNwaGVyZVRyaWFuZ2xlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQAAvBUAAMRHAADoIgAAAAAAAERIAACjAAAA4wEAAOQBAABOMjZidEJveEJveENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAALwVAAAYSAAA6CIAAAAAAACUSAAAowAAAOUBAADmAQAATjMxYnRDb252ZXhQbGFuZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAvBUAAGRIAADoIgAAAAAAAGxJAADnAQAA6AEAAOkBAADqAQAA6wEAAOwBAADtAQAA7gEAAO8BAADwAQAA8QEAAPIBAADzAQAA9AEAAPUBAAD2AQAA9wEAAGJ0SGFzaGVkT3ZlcmxhcHBpbmdQYWlyQ2FjaGU6OnByb2Nlc3NBbGxPdmVybGFwcGluZ1BhaXJzADI4YnRIYXNoZWRPdmVybGFwcGluZ1BhaXJDYWNoZQAyMmJ0T3ZlcmxhcHBpbmdQYWlyQ2FjaGUAAAAAvBUAAERJAADUYgAAvBUAACVJAABgSQAAAAAAAPxJAACAAAAA+AEAAPkBAABaTjI4YnRIYXNoZWRPdmVybGFwcGluZ1BhaXJDYWNoZTE5Y2xlYW5Qcm94eUZyb21QYWlyc0VQMTdidEJyb2FkcGhhc2VQcm94eVAxMmJ0RGlzcGF0Y2hlckUxN0NsZWFuUGFpckNhbGxiYWNrAAAAvBUAAIxJAABcHwAAAAAAAKBKAACAAAAA+gEAAPsBAABaTjI4YnRIYXNoZWRPdmVybGFwcGluZ1BhaXJDYWNoZTM3cmVtb3ZlT3ZlcmxhcHBpbmdQYWlyc0NvbnRhaW5pbmdQcm94eUVQMTdidEJyb2FkcGhhc2VQcm94eVAxMmJ0RGlzcGF0Y2hlckUxOFJlbW92ZVBhaXJDYWxsYmFjawAAAAC8FQAAHEoAAFwfAAAAAAAAIEsAAPwBAAD9AQAA/gEAAP8BAAAAAgAAAQIAAAICAAADAgAABAIAAAUCAAAGAgAABwIAAAgCAAAJAgAAMTZidERidnRCcm9hZHBoYXNlADIxYnRCcm9hZHBoYXNlSW50ZXJmYWNlAACUFQAA/0oAALwVAADsSgAAGEsAAAAAAABoSwAAnQEAAAoCAAALAgAADAIAAKEBAACiAQAAowEAADE4YnREYnZ0VHJlZUNvbGxpZGVyAAAAALwVAABQSwAAUCwAAAAAAACwSwAAnQEAAA0CAACfAQAADgIAAKEBAACiAQAAowEAADE5QnJvYWRwaGFzZVJheVRlc3RlcgAAALwVAACYSwAAUCwAAAAAAAD4SwAAnQEAAA8CAACfAQAAEAIAAKEBAACiAQAAowEAADIwQnJvYWRwaGFzZUFhYmJUZXN0ZXIAALwVAADgSwAAUCwAAAAAAAC+8/h57GH2PxkwllvG/t6/PYivSu1x9T+k/NQyaAvbv7AQ8PA5lfQ/e7cfCotB17+FA7iwlcnzP3vPbRrpndO/pWSIDBkN8z8xtvLzmx3Qv6COC3siXvI/8Ho7Gx18yb8/NBpKSrvxP588r5Pj+cK/uuWK8Fgj8T9cjXi/y2C5v6cAmUE/lfA/zl9Htp1vqr8AAAAAAADwPw=="),d(19624,"rEea/Yxg7j899SSfyjizP6BqAh+zpOw/upE4VKl2xD/m/GpXNiDrP9LkxEoLhM4/LaqhY9HC6T8cZcbwRQbUP+1BeAPmhug/+J8bLJyO2D9iSFP13GfnP8x7sU6k4Nw/C25JyRZ20j96xnWgaRnXv926p2wKx94/yPa+SEcV578ruCplRxX3PwAAAAAAAPA/dIUV07DZ7z8PiflsWLXvP1FbEtABk+8/e1F9PLhy7z+quWgxh1TvPzhidW56OO8/4d4f9Z0e7z8VtzEK/gbvP8upOjen8e4/IjQSTKbe7j8tiWFgCM7uPycqNtXav+4/gk+dViu07j8pVEjdB6vuP4VVOrB+pO4/zTt/Zp6g7j90X+zodZ/uP4cB63MUoe4/E85MmYml7j/boCpC5azuP+XFzbA3t+4/kPCjgpHE7j9dJT6yA9XuP63TWpmf6O4/R1778nb/7j+cUoXdmxnvP2mQ79wgN+8/h6T73BhY7z9fm3szl3zvP9qQpKKvpO8/QEVuW3bQ7z8AAAAAAADoQpQjkUv4aqw/88T6UM6/zj/WUgz/Qi7mPwAAAAAAADhD/oIrZUcVR0CUI5FL+Gq8PvPE+lDOvy4/1lIM/0Iulj8AAAAAwE4AABECAAASAgAAqAAAAKkAAAATAgAAFAIAABUCAABidFJpZ2lkQm9keUZsb2F0RGF0YQAxMWJ0UmlnaWRCb2R5AAC8FQAAsU4AAFAjAAAAAAAAmE8AABkCAAAaAgAAGwIAABwCAAAdAgAAHgIAAB8CAAAgAgAAIQIAACICAAAjAgAAJAIAACUCAABzb2x2ZUdyb3VwQ2FjaGVGcmllbmRseVNldHVwAHNvbHZlR3JvdXBDYWNoZUZyaWVuZGx5SXRlcmF0aW9ucwBzb2x2ZUdyb3VwADM1YnRTZXF1ZW50aWFsSW1wdWxzZUNvbnN0cmFpbnRTb2x2ZXIAMThidENvbnN0cmFpbnRTb2x2ZXIAAAAAlBUAAHhPAAC8FQAAUk8AAJBPAAAAAAAA2E8AAGoBAAAmAgAAJwIAADI3YnRDb250aW51b3VzQ29udmV4Q29sbGlzaW9uAAAAvBUAALhPAADAOwAAAAAAADBQAACgAAAAKAIAACkCAAAYAAAAAAAAAFxQAACgAAAAKgIAACsCAAAYAAAAMjVidFRyaWFuZ2xlUmF5Y2FzdENhbGxiYWNrALwVAAAUUAAA7B0AADI4YnRUcmlhbmdsZUNvbnZleGNhc3RDYWxsYmFjawAAvBUAADxQAADsHQAAAAAAAPxRAAAsAgAALQIAAC4CAAAvAgAAMAIAADECAAAyAgAAMwIAADQCAAA1AgAANgIAADcCAAA4AgAAT3ZlcmZsb3cgaW4gQUFCQiwgb2JqZWN0IHJlbW92ZWQgZnJvbSBzaW11bGF0aW9uAElmIHlvdSBjYW4gcmVwcm9kdWNlIHRoaXMsIHBsZWFzZSBlbWFpbCBidWdzQGNvbnRpbnVvdXNwaHlzaWNzLmNvbQoAUGxlYXNlIGluY2x1ZGUgYWJvdmUgaW5mb3JtYXRpb24sIHlvdXIgUGxhdGZvcm0sIHZlcnNpb24gb2YgT1MuCgBUaGFua3MuCgB1cGRhdGVBYWJicwBjYWxjdWxhdGVPdmVybGFwcGluZ1BhaXJzAHBlcmZvcm1EaXNjcmV0ZUNvbGxpc2lvbkRldGVjdGlvbgBkaXNwYXRjaEFsbENvbGxpc2lvblBhaXJzAGNvbnZleFN3ZWVwQ29tcG91bmQAY29udmV4U3dlZXBUZXN0ADE2YnRDb2xsaXNpb25Xb3JsZACUFQAA6VEAAAAAAACwUgAAoAAAADkCAAApAgAAOgIAAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUUyOUJyaWRnZVRyaWFuZ2xlUmF5Y2FzdENhbGxiYWNrAAC8FQAAHFIAADBQAAAAAAAAbFMAAKAAAAA7AgAAKQIAADwCAABaTjE2YnRDb2xsaXNpb25Xb3JsZDIxcmF5VGVzdFNpbmdsZUludGVybmFsRVJLMTFidFRyYW5zZm9ybVMyX1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMTdSYXlSZXN1bHRDYWxsYmFja0VFMjlCcmlkZ2VUcmlhbmdsZVJheWNhc3RDYWxsYmFja18wAAAAALwVAADUUgAAMFAAAAAAAAAcVAAAnQEAAD0CAACfAQAAPgIAAKEBAACiAQAAowEAAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUU5UmF5VGVzdGVyAAAAvBUAAJxTAABQLAAAAAAAAMhUAAA/AgAAQAIAAEECAABCAgAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTE1TG9jYWxJbmZvQWRkZXIyAAAAALwVAABAVAAAPGEAAAAAAACcVQAAoAAAAEMCAAArAgAARAIAAFpOMTZidENvbGxpc2lvbldvcmxkMjVvYmplY3RRdWVyeVNpbmdsZUludGVybmFsRVBLMTNidENvbnZleFNoYXBlUksxMWJ0VHJhbnNmb3JtUzVfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18yMENvbnZleFJlc3VsdENhbGxiYWNrRWZFMzJCcmlkZ2VUcmlhbmdsZUNvbnZleGNhc3RDYWxsYmFjawAAvBUAAOxUAABcUAAAAAAAAHRWAACgAAAARQIAACsCAABGAgAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUzMkJyaWRnZVRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrXzAAAAAAvBUAAMBVAABcUAAAAAAAAExXAACdAQAARwIAAJ8BAABIAgAAoQEAAKIBAACjAQAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUyMmJ0Q29tcG91bmRMZWFmQ2FsbGJhY2sAAAAAvBUAAKRWAABQLAAAAAAAAFBYAABJAgAASgIAAEsCAABMAgAAWlpOMTZidENvbGxpc2lvbldvcmxkMjVvYmplY3RRdWVyeVNpbmdsZUludGVybmFsRVBLMTNidENvbnZleFNoYXBlUksxMWJ0VHJhbnNmb3JtUzVfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18yMENvbnZleFJlc3VsdENhbGxiYWNrRWZFTjIyYnRDb21wb3VuZExlYWZDYWxsYmFjazEyUHJvY2Vzc0NoaWxkRWlTNV9QSzE2YnRDb2xsaXNpb25TaGFwZUUxNExvY2FsSW5mb0FkZGVyAAC8FQAAcFcAABxiAAAAAAAA0FgAAE0CAABOAgAATwIAADE5YnRTaW5nbGVSYXlDYWxsYmFjawAyM2J0QnJvYWRwaGFzZVJheUNhbGxiYWNrADI0YnRCcm9hZHBoYXNlQWFiYkNhbGxiYWNrAACUFQAAoFgAALwVAACGWAAAvFgAALwVAABwWAAAxFgAAAAAAAAIWQAATQIAAFACAABRAgAAMjFidFNpbmdsZVN3ZWVwQ2FsbGJhY2sAvBUAAPBYAADEWAAAAAAAAFRZAABSAgAAUwIAAFQCAABVAgAA/P///1RZAABWAgAAVwIAAFgCAAAxN0RlYnVnRHJhd2NhbGxiYWNrABgWAABAWQAAAAAAAAIAAADsHQAAAgAAABgeAAACBAAAAAAAANRZAABZAgAAWgIAAFsCAABcAgAAaXNsYW5kVW5pb25GaW5kQW5kUXVpY2tTb3J0AHByb2Nlc3NJc2xhbmRzADI1YnRTaW11bGF0aW9uSXNsYW5kTWFuYWdlcgAAlBUAALdZAAAAAAAAWFoAAF0CAABeAgAAXwIAAGACAAAYAAAAGAAAAGECAAAYAAAAGAAAAGICAABjAgAAYnRUeXBlZENvbnN0cmFpbnRGbG9hdERhdGEAMTdidFR5cGVkQ29uc3RyYWludAAxM2J0VHlwZWRPYmplY3QAAJQVAAA/WgAAGBYAACtaAAAAAAAAAQAAAFBaAAACBAAAAAAAAMRcAABkAgAAZQIAAC4CAAAvAgAAMAIAADECAABmAgAAMwIAADQCAABnAgAAaAIAADcCAABpAgAAagIAAGsCAABsAgAAbQIAAG4CAABvAgAAcAIAAHECAAByAgAAcwIAAHQCAAB1AgAAdgIAAHcCAAB4AgAAeQIAAHoCAAB7AgAAfAIAAH0CAAB+AgAAfwIAAIACAACBAgAAggIAAIMCAACEAgAAhQIAAIYCAACHAgAAiAIAAIkCAACKAgAAiwIAAGRlYnVnRHJhd1dvcmxkAGludGVybmFsU2luZ2xlU3RlcFNpbXVsYXRpb24AdXBkYXRlQWN0aW9ucwB1cGRhdGVBY3RpdmF0aW9uU3RhdGUAc29sdmVDb25zdHJhaW50cwBjYWxjdWxhdGVTaW11bGF0aW9uSXNsYW5kcwBwcmVkaWN0aXZlIGNvbnZleFN3ZWVwVGVzdAByZWxlYXNlIHByZWRpY3RpdmUgY29udGFjdCBtYW5pZm9sZHMAY3JlYXRlUHJlZGljdGl2ZUNvbnRhY3RzAENDRCBtb3Rpb24gY2xhbXBpbmcAaW50ZWdyYXRlVHJhbnNmb3JtcwBhcHBseSBzcGVjdWxhdGl2ZSBjb250YWN0IHJlc3RpdHV0aW9uAHByZWRpY3RVbmNvbnN0cmFpbnRNb3Rpb24AYnREeW5hbWljc1dvcmxkRmxvYXREYXRhADIzYnREaXNjcmV0ZUR5bmFtaWNzV29ybGQAMTVidER5bmFtaWNzV29ybGQAAAC8FQAApFwAAPxRAAC8FQAAilwAALhcAAAAAAAAOF0AAIwCAACNAgAAjgIAADI3SW5wbGFjZVNvbHZlcklzbGFuZENhbGxiYWNrAE4yNWJ0U2ltdWxhdGlvbklzbGFuZE1hbmFnZXIxNElzbGFuZENhbGxiYWNrRQCUFQAAAl0AALwVAADkXAAAMF0AAAAAAACEXQAASQIAAI8CAACQAgAAkQIAADM0YnRDbG9zZXN0Tm90TWVDb252ZXhSZXN1bHRDYWxsYmFjawAAAAC8FQAAXF0AACRiAAAAAAAA+F0AAJICAACTAgAAqAAAAKkAAACqAAAAqwAAAKwAAACUAgAAlQIAAAAAAAAgXgAAlgIAAJcCAACoAAAAqQAAAKoAAACrAAAArAAAAJgCAACZAgAAMTNidEdob3N0T2JqZWN0ALwVAADoXQAAUCMAADI0YnRQYWlyQ2FjaGluZ0dob3N0T2JqZWN0AAC8FQAABF4AAPhdAAAAAAAA7F4AAJoCAACbAgAAnAIAAJ0CAACeAgAAnwIAAKACAAChAgAAogIAAKMCAACkAgAApQIAAKYCAACnAgAAqAIAAKkCAACqAgAAqwIAAKwCAAAzMGJ0S2luZW1hdGljQ2hhcmFjdGVyQ29udHJvbGxlcgAzMGJ0Q2hhcmFjdGVyQ29udHJvbGxlckludGVyZmFjZQAxN2J0QWN0aW9uSW50ZXJmYWNlAAAAlBUAAMJeAAC8FQAAoV4AANheAAC8FQAAgF4AAOBeAAAAAAAAQF8AAEkCAACtAgAArgIAAK8CAAA0M2J0S2luZW1hdGljQ2xvc2VzdE5vdE1lQ29udmV4UmVzdWx0Q2FsbGJhY2sAAAC8FQAAEF8AACRiAAAAAAAAsF8AAF0CAACwAgAAsQIAAGACAACyAgAAswIAAGECAAC0AgAAtQIAALYCAAC3AgAAAAAAAAEAAAACAAAAMzBidEdlbmVyaWM2RG9mU3ByaW5nMkNvbnN0cmFpbnQAAAAAvBUAAIxfAABYWgAAAgAAAAEAAAACAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAAAAAAB"),d(24564,"AQAAAAEAAAACAAAAAgAAAAAAAABMYAAAuAIAALkCAACxAgAAYAIAALICAACzAgAAYQIAALQCAAC1AgAAtgIAALcCAAAxN2J0Rml4ZWRDb25zdHJhaW50ALwVAAA4YAAAsF8AAGJ0R2VuZXJpYzZEb2ZTcHJpbmcyQ29uc3RyYWludERhdGEAAAAAAADAYAAAugIAALsCAAC8AgAAvQIAADE1TGF5YU1vdGlvblN0YXRlADEzYnRNb3Rpb25TdGF0ZQAAAJQVAACmYAAAvBUAAJRgAAC4YAAAAAAAAERhAAA/AgAAvgIAAL8CAADAAgAATjE2YnRDb2xsaXNpb25Xb3JsZDI0Q2xvc2VzdFJheVJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMTdSYXlSZXN1bHRDYWxsYmFja0UAAJQVAAATYQAAvBUAAORgAAA8YQAAAAAAAJhhAADBAgAAwgIAAL8CAADDAgAATjE2YnRDb2xsaXNpb25Xb3JsZDI0QWxsSGl0c1JheVJlc3VsdENhbGxiYWNrRQAAvBUAAGhhAAA8YQAAAAAAACRiAABJAgAAxAIAAK4CAADFAgAATjE2YnRDb2xsaXNpb25Xb3JsZDI3Q2xvc2VzdENvbnZleFJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMjBDb252ZXhSZXN1bHRDYWxsYmFja0UAAAAAlBUAAO5hAAC8FQAAvGEAABxiAAAAAAAAeGIAAMYCAADHAgAArgIAAMgCAABOMTZidENvbGxpc2lvbldvcmxkMjNBbGxDb252ZXhSZXN1bHRDYWxsYmFja0UAAAC8FQAASGIAABxiAAAAAAAA3GIAAMkCAADKAgAAywIAAMwCAADNAgAAMTlidEdob3N0UGFpckNhbGxiYWNrADI1YnRPdmVybGFwcGluZ1BhaXJDYWxsYmFjawAAAJQVAAC2YgAAvBUAAKBiAADUYg==");var C=function(t,e,i){var r=e.memory,n=new t.Int8Array(i),a=new t.Int16Array(i),f=new t.Int32Array(i),_=new t.Uint8Array(i),h=new t.Uint16Array(i),d=new t.Uint32Array(i),C=new t.Float32Array(i),g=new t.Float64Array(i),m=t.Math.imul,v=t.Math.fround,y=t.Math.abs,p=t.Math.clz32,R=t.Math.min,D=t.Math.max,B=t.Math.floor,E=(t.Math.ceil,t.Math.sqrt),F=e.abort,V=(t.NaN,t.Infinity),G=e.fd_close,w=e.fd_write,Q=e.getWorldTransform,W=e.setWorldTransform,Y=e.fd_seek,Z=90864,z=0;function N(t,e,i){var r,n=0;return Z=r=Z-16|0,n=-1,(0|i)<=-1?f[256]=28:(t=0|w(0|t,0|e,0|i,r+12|0))?f[256]=t:n=f[r+12>>2],Z=r+16|0,n}function I(t){var e=0;return e=f[t+60>>2],f[t+60>>2]=e+-1|e,8&(e=f[t>>2])?(f[t>>2]=32|e,-1):(f[t+4>>2]=0,f[t+8>>2]=0,e=f[t+40>>2],f[t+24>>2]=e,f[t+20>>2]=e,f[t+16>>2]=e+f[t+44>>2],0)}function J(t,e,i){var r=0,a=0,o=0,h=0,d=0,C=0,g=0;t:if(!i|!(3&e))r=i;else for(;;){if(n[0|t]=_[0|e],r=i+-1|0,t=t+1|0,e=e+1|0,1==(0|i))break t;if(i=r,!(3&e))break}t:{if(!(i=3&t)){if(r>>>0<16)i=r;else for(i=r+-16|0;f[t>>2]=f[e>>2],f[t+4>>2]=f[e+4>>2],f[t+8>>2]=f[e+8>>2],f[t+12>>2]=f[e+12>>2],t=t+16|0,e=e+16|0,(r=r+-16|0)>>>0>15;);if(8&i&&(r=f[e+4>>2],f[t>>2]=f[e>>2],f[t+4>>2]=r,e=e+8|0,t=t+8|0),4&i&&(f[t>>2]=f[e>>2],e=e+4|0,t=t+4|0),2&i&&(n[0|t]=_[0|e],n[t+1|0]=_[e+1|0],e=e+2|0,t=t+2|0),!(1&i))break t;return void(n[0|t]=_[0|e])}e:if(!(r>>>0<32||(i=i+-1|0,i>>>0>2))){switch(i-1|0){default:for(n[t+1|0]=_[e+1|0],a=f[e>>2],n[0|t]=a,n[t+2|0]=_[e+2|0],d=r+-3|0,C=t+3|0,g=r+-20&-16,i=0;t=i+C|0,o=f[(h=e+i|0)+4>>2],f[t>>2]=o<<8|a>>>24,a=f[h+8>>2],f[t+4>>2]=a<<8|o>>>24,o=f[h+12>>2],f[t+8>>2]=o<<8|a>>>24,a=f[h+16>>2],f[t+12>>2]=a<<8|o>>>24,i=i+16|0,(d=d+-16|0)>>>0>16;);t=i+C|0,e=3+(e+i|0)|0,r=(r-g|0)-19|0;break e;case 0:for(a=f[e>>2],n[0|t]=a,n[t+1|0]=_[e+1|0],d=r+-2|0,C=t+2|0,g=r+-20&-16,i=0;t=i+C|0,o=f[(h=e+i|0)+4>>2],f[t>>2]=o<<16|a>>>16,a=f[h+8>>2],f[t+4>>2]=a<<16|o>>>16,o=f[h+12>>2],f[t+8>>2]=o<<16|a>>>16,a=f[h+16>>2],f[t+12>>2]=a<<16|o>>>16,i=i+16|0,(d=d+-16|0)>>>0>17;);t=i+C|0,e=2+(e+i|0)|0,r=(r-g|0)-18|0;break e;case 1:}for(a=f[e>>2],n[0|t]=a,d=r+-1|0,C=t+1|0,g=r+-20&-16,i=0;t=i+C|0,o=f[(h=e+i|0)+4>>2],f[t>>2]=o<<24|a>>>8,a=f[h+8>>2],f[t+4>>2]=a<<24|o>>>8,o=f[h+12>>2],f[t+8>>2]=o<<24|a>>>8,a=f[h+16>>2],f[t+12>>2]=a<<24|o>>>8,i=i+16|0,(d=d+-16|0)>>>0>18;);t=i+C|0,e=1+(e+i|0)|0,r=(r-g|0)-17|0}16&r&&(i=_[0|e]|_[e+1|0]<<8,n[0|t]=i,n[t+1|0]=i>>>8,n[t+2|0]=_[e+2|0],n[t+3|0]=_[e+3|0],n[t+4|0]=_[e+4|0],n[t+5|0]=_[e+5|0],n[t+6|0]=_[e+6|0],n[t+7|0]=_[e+7|0],n[t+8|0]=_[e+8|0],n[t+9|0]=_[e+9|0],n[t+10|0]=_[e+10|0],n[t+11|0]=_[e+11|0],n[t+12|0]=_[e+12|0],n[t+13|0]=_[e+13|0],n[t+14|0]=_[e+14|0],n[t+15|0]=_[e+15|0],e=e+16|0,t=t+16|0),8&r&&(n[0|t]=_[0|e],n[t+1|0]=_[e+1|0],n[t+2|0]=_[e+2|0],n[t+3|0]=_[e+3|0],n[t+4|0]=_[e+4|0],n[t+5|0]=_[e+5|0],n[t+6|0]=_[e+6|0],n[t+7|0]=_[e+7|0],e=e+8|0,t=t+8|0),4&r&&(n[0|t]=_[0|e],n[t+1|0]=_[e+1|0],n[t+2|0]=_[e+2|0],n[t+3|0]=_[e+3|0],e=e+4|0,t=t+4|0),2&r&&(n[0|t]=_[0|e],n[t+1|0]=_[e+1|0],e=e+2|0,t=t+2|0),1&r&&(n[0|t]=_[0|e])}}function x(t,e,i){var r=0,n=0,a=0,o=0,h=0;t:{if(!(r=f[i+16>>2])){if(I(i))break t;r=f[i+16>>2]}if(r-(a=f[i+20>>2])>>>0<e>>>0)return void yt[f[i+32>>2]](i,t,e);e:if(!(f[i+64>>2]<0)){for(r=t;;){if((0|e)==(0|n))break e;if(n=n+1|0,h=e+r|0,r=o=r+-1|0,10==_[h+-1|0])break}if(r=t,t=1+(e-n|0)|0,yt[f[i+32>>2]](i,r,t)>>>0<t>>>0)break t;t=1+(e+o|0)|0,a=f[i+20>>2],e=n+-1|0}J(a,t,e),f[i+20>>2]=f[i+20>>2]+e}}function U(t){var e=0,i=0,r=0;f[265]||(f[265]=1036);t:{e:{for(;;){if((0|t)!=_[e+3024|0]){if(i=77,77!=(0|(e=e+1|0)))continue;break e}break}if(i=e,!e){t=3104;break t}}for(e=3104;r=_[0|e],e=t=e+1|0,r||(e=t,i=i+-1|0););}return t}function M(t,e){var i=0,r=0;r=0!=(0|e);t:{e:{i:if(e)if(3&t)for(;;){if(!_[0|t]){i=e;break e}if(r=1!=(0|e),i=e+-1|0,t=t+1|0,1==(0|e))break i;if(e=i,!(3&t))break}else i=e;else i=e;if(!r)break t}e:if(!(!_[0|t]|i>>>0<4))for(;;){if((-1^(e=f[t>>2]))&e+-16843009&-2139062144)break e;if(t=t+4|0,!((i=i+-4|0)>>>0>3))break}if(i)for(;;){if(!_[0|t])return t;if(t=t+1|0,!(i=i+-1|0))break}}return 0}function S(t,e){return t?function(t,e){if(t){if(e>>>0<=127)return n[0|t]=e,1;t:{if(!f[259]){if(57216!=(-128&e))break t;return n[0|t]=e,1}if(e>>>0<=2047)return n[t+1|0]=63&e|128,n[0|t]=e>>>6|192,2;if(!(57344!=(-8192&e)&&e>>>0>=55296))return n[t+2|0]=63&e|128,n[0|t]=e>>>12|224,n[t+1|0]=e>>>6&63|128,3;if(e+-65536>>>0<=1048575)return n[t+3|0]=63&e|128,n[0|t]=e>>>18|240,n[t+2|0]=e>>>6&63|128,n[t+1|0]=e>>>12&63|128,4}f[256]=25,t=-1}else t=1;return t}(t,e):0}function X(t,e,i){var r=0,a=0,o=0,_=0;if(i&&(n[0|t]=e,n[(r=t+i|0)+-1|0]=e,!(i>>>0<3||(n[t+2|0]=e,n[t+1|0]=e,n[r+-3|0]=e,n[r+-2|0]=e,i>>>0<7||(n[t+3|0]=e,n[r+-4|0]=e,i>>>0<9||(r=0-t&3,a=r+t|0,e=m(255&e,16843009),f[a>>2]=e,i=i-r&-4,r=i+a|0,f[r+-4>>2]=e,i>>>0<9||(f[a+8>>2]=e,f[a+4>>2]=e,f[r+-8>>2]=e,f[r+-12>>2]=e,i>>>0<25||(f[a+24>>2]=e,f[a+20>>2]=e,f[a+16>>2]=e,f[a+12>>2]=e,f[r+-16>>2]=e,f[r+-20>>2]=e,f[r+-24>>2]=e,f[r+-28>>2]=e,_=4&a|24,i=i-_|0,i>>>0<32))))))))for(r=e,o=e,e=a+_|0;f[e>>2]=o,f[e+4>>2]=r,f[(a=e+24|0)>>2]=o,f[a+4>>2]=r,f[(a=e+16|0)>>2]=o,f[a+4>>2]=r,f[(a=e+8|0)>>2]=o,f[a+4>>2]=r,e=e+32|0,(i=i+-32|0)>>>0>31;);return t}function T(t,e){var i,r,n=0;if(u(+t),n=0|c(1),i=0|c(0),r=n,2047!=(0|(n=n>>>20&2047))){if(!n)return 0==t?(f[e>>2]=0,t):(t=T(0x10000000000000000*t,e),f[e>>2]=f[e>>2]+-64,t);f[e>>2]=n+-1022,b(0,0|i),b(1,-2146435073&r|1071644672),t=+l()}return t}function j(t,e,i){var r,n=0,a=0;if(Z=r=Z-208|0,f[r+204>>2]=i,f[(n=r+192|0)>>2]=0,f[n+4>>2]=0,f[(n=r+184|0)>>2]=0,f[n+4>>2]=0,f[(n=r+176|0)>>2]=0,f[n+4>>2]=0,f[r+168>>2]=0,f[r+172>>2]=0,f[r+160>>2]=0,f[r+164>>2]=0,f[r+200>>2]=i,(0|O(0,e,r+200|0,r+80|0,r+160|0))>=0){a=f[t>>2],f[t+60>>2]<=0&&(f[t>>2]=-33&a);t:{e:{if(f[t+44>>2]){if(n=0,f[t+16>>2])break e}else f[t+44>>2]=80,f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,n=f[t+40>>2],f[t+40>>2]=r;if(i=-1,I(t))break t}i=O(t,e,r+200|0,r+80|0,r+160|0)}n&&(yt[f[t+32>>2]](t,0,0),f[t+44>>2]=0,f[t+40>>2]=n,f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,i=0),f[t>>2]=f[t>>2]|32&a}Z=r+208|0}function O(t,e,i,r,o){var h,d,C,v,p,R,D,B,E,F=0,G=0,w=0,Q=0,W=0,Y=0,yt=0,pt=0,Dt=0,It=0,St=0,Tt=0,Et=0,Ot=0,Nt=0,Ft=0,Vt=0,Gt=0,Lt=0,wt=0,xt=0,Qt=0,Wt=0,Yt=0,Pt=0,Mt=0,Zt=0;Z=h=Z-880|0,R=h+336|8,D=h+55|0,B=-338-h|0,v=h+336|9,E=h+656|0,C=h+336|0,p=0-(h+336|0)|0,d=h+56|0;t:{e:{i:for(;;){A:if(Q=e,!((0|F)>(2147483647-Gt|0))){Gt=F+Gt|0;r:{n:{a:{if(F=_[0|Q])for(;;){o:{s:if(G=255&F){if(37!=(0|G))break o;for(F=G=e;;){if(37!=_[F+1|0]){e=F;break s}if(G=G+1|0,w=_[F+2|0],F=e=F+2|0,37!=(0|w))break}}else G=e;if((0|(F=G-Q|0))>(0|(Vt=2147483647-Gt|0)))break A;if(!t|32&_[0|t]||x(Q,F,t),F)continue i;F=e+1|0,It=-1,(G=(Y=n[e+1|0])+-48|0)>>>0>9||(F=(w=36==_[e+2|0])?e+3|0:F,Qt=w?1:Qt,Y=n[(w?3:1)+e|0],It=w?G:-1),W=0;s:if(!((e=Y+-32|0)>>>0>31)&&(e=1<<e,75913&e))for(w=F+1|0;;){if(W|=e,(e=(Y=n[0|(F=w)])+-32|0)>>>0>=32)break s;if(w=F+1|0,!(75913&(e=1<<e)))break}s:if(42!=(0|Y))if(St=0,w=Y+-48|0,w>>>0>9)yt=F;else{for(e=0;St=-1,G=n[F+1|0],F=yt=F+1|0,e>>>0<=214748364&&(St=(0|w)>(2147483647-(e=m(e,10))|0)?-1:e+w|0),e=St,(w=G+-48|0)>>>0<10;);if((0|St)<0)break A}else{if(e=n[F+1|0]+-48|0,36!=_[F+2|0]|e>>>0>9){if(Qt)break a;if(yt=F+1|0,!t){Qt=0,St=0;break s}e=f[i>>2],f[i>>2]=e+4,Qt=0,St=f[e>>2]}else f[(e<<2)+o>>2]=10,yt=F+3|0,Qt=1,St=f[((n[F+1|0]<<3)+r|0)-384>>2];if((0|St)>-1)break s;St=0-St|0,W|=8192}if(F=0,Y=-1,46==_[0|yt])if(42!=(0|(G=n[yt+1|0])))if(e=yt+1|0,(Dt=G+-48|0)>>>0>9)pt=1,Y=0;else for(yt=0,w=e;Y=-1,yt>>>0<=214748364&&(Y=(0|Dt)>(2147483647-(e=m(yt,10))|0)?-1:e+Dt|0),pt=1,G=n[w+1|0],w=e=w+1|0,yt=Y,(Dt=G+-48|0)>>>0<10;);else{if(e=n[yt+2|0]+-48|0,36!=_[yt+3|0]|e>>>0>9){if(Qt)break a;e=yt+2|0,Y=0,t&&(G=f[i>>2],f[i>>2]=G+4,Y=f[G>>2])}else f[(e<<2)+o>>2]=10,e=yt+4|0,Y=f[((n[yt+2|0]<<3)+r|0)-384>>2];pt=(-1^Y)>>>31}else e=yt,pt=0;for(;;){if(w=F,(G=n[0|e]+-65|0)>>>0>57)break a;if(e=e+1|0,!((F=_[4704+(G+m(w,58)|0)|0])+-1>>>0<8))break}if(!F)break a;s:{l:{f:{if(27==(0|F)){if((0|It)<=-1)break f;break a}if((0|It)<0)break l;f[(It<<2)+o>>2]=F,G=f[(F=(It<<3)+r|0)+4>>2],f[h+56>>2]=f[F>>2],f[h+60>>2]=G}if(F=0,!t)continue i;break s}if(!t){Gt=0;break t}H(h+56|0,F,i)}G=-65537&W,It=8192&W?G:W;s:{l:{f:if(F=n[e+-1|0],wt=w&&3==(15&F)?-33&F:F,F=wt+-65|0,!(F>>>0>55)){c:{b:{_:{u:{h:{d:{C:{k:{g:{m:{v:{y:switch(F-1|0){case 51:Dt=0,W=f[h+56>>2],F=f[h+60>>2],Nt=4678;break v;case 44:if(F=0,(G=255&w)>>>0>7)continue i;switch(G-1|0){default:case 0:f[f[h+56>>2]>>2]=Gt;continue i;case 1:G=f[h+56>>2],f[G>>2]=Gt,f[G+4>>2]=Gt>>31;continue i;case 2:a[f[h+56>>2]>>1]=Gt;continue i;case 3:n[f[h+56>>2]]=Gt;continue i;case 5:f[f[h+56>>2]>>2]=Gt;continue i;case 4:continue i;case 6:}G=f[h+56>>2],f[G>>2]=Gt,f[G+4>>2]=Gt>>31;continue i;case 46:Y=Y>>>0>8?Y:8,It|=8,wt=120;case 22:case 54:if(Dt=0,Nt=4678,!((F=G=f[h+60>>2])|(W=f[h+56>>2]))){Q=d;break m}for(G=32&wt,Q=d;n[0|(Q=Q+-1|0)]=G|_[5312+(15&W)|0],(W=(15&F)<<28|W>>>4)|(F>>>=4););if(!(8&It)|!(f[h+56>>2]|f[h+60>>2]))break m;Nt=4678+(wt>>4)|0,Dt=2;break m;case 45:if(Q=d,(F=G=f[h+60>>2])|(W=f[h+56>>2]))for(;n[0|(Q=Q+-1|0)]=7&W|48,(W=(7&F)<<29|W>>>3)|(F>>>=3););if(Dt=0,Nt=4678,!(8&It))break m;Y=(0|Y)>(0|(G=d-Q|0))?Y:G+1|0;break m;case 0:case 2:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:case 21:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 32:case 38:case 40:case 41:case 42:case 47:case 48:case 50:case 52:case 53:break f;case 1:break u;case 17:break h;case 49:break C;case 43:break k;case 33:break g;case 34:case 39:break y;default:break c}F=G=f[h+60>>2],W=f[h+56>>2],(0|F)>-1||(0|F)>=-1&&!(W>>>0<=4294967295)?2048&It?(Dt=1,Nt=4679):Nt=(Dt=1&It)?4680:4678:(F=0-((0<W>>>0)+F|0)|0,W=0-W|0,f[h+56>>2]=W,f[h+60>>2]=F,Dt=1,Nt=4678)}if(1==(0|F)&W>>>0>=0|F>>>0>1)for(Q=d;Pt=Q=Q+-1|0,Mt=W-_t(G=mt(W,F,10),w=yt=z,10,0)|48,n[0|Pt]=Mt,yt=9==(0|F)&W>>>0>4294967295|F>>>0>9,W=G,F=w,yt;);else G=W,Q=d;if(F=G)for(;G=(F>>>0)/10|0,n[0|(Q=Q+-1|0)]=F-m(G,10)|48,w=F>>>0>9,F=G,w;);}if((0|Y)<0&&pt)break A;if(It=pt?-65537&It:It,!(!!((F=f[h+56>>2])|(G=f[h+60>>2]))|Y)){F=Q=d,Y=0;break r}Y=(0|Y)>(0|(G=!(F|G)+(d-Q|0)|0))?Y:G;break l}n[h+55|0]=f[h+56>>2],Dt=0,Nt=4678,Y=1,Q=D,F=d,It=G;break r}Q=U(f[256]);break d}Q=(F=f[h+56>>2])||4688}if(Dt=0,F=(w=(F=M(Q,w=(0|Y)<0?2147483647:Y))?F-Q|0:w)+Q|0,Nt=4678,(0|Y)<=-1)break s;It=G,Y=w;break r}if(G=Q=f[h+56>>2],Y)break _;F=0;break b}f[h+12>>2]=0,f[h+8>>2]=f[h+56>>2],f[h+56>>2]=h+8,Y=-1,G=h+8|0}F=0,G=Q=G;_:{for(;;){if(!(w=f[G>>2]))break _;if(!((w=(0|(W=S(h+4|0,w)))<0)|W>>>0>Y-F>>>0)){if(G=G+4|0,Y>>>0>(F=F+W|0)>>>0)continue;break _}break}if(w)break e}if((0|F)<0)break A}b:if(!((yt=73728&It)|(0|St)<=(0|F))){if(X(h- -64|0,32,(w=(Dt=St-F|0)>>>0<256)?Dt:256),G=32&(Y=f[t>>2]),w){if(G)break b}else{for(G=!G,w=Dt;1&G&&(x(h- -64|0,256,t),Y=f[t>>2]),G=!(W=32&Y),(w=w+-256|0)>>>0>255;);if(W)break b;Dt&=255}x(h- -64|0,Dt,t)}b:if(F)for(G=0;;){if(!(w=f[Q>>2]))break b;if((G=(w=S(h+4|0,w))+G|0)>>>0>F>>>0)break b;if(32&_[0|t]||x(h+4|0,w,t),Q=Q+4|0,!(G>>>0<F>>>0))break}b:if(!(8192!=(0|yt)|(0|St)<=(0|F))){if(X(h- -64|0,32,(w=(W=St-F|0)>>>0<256)?W:256),G=32&(Q=f[t>>2]),w){if(G)break b}else{for(G=!G,w=W;1&G&&(x(h- -64|0,256,t),Q=f[t>>2]),G=!(yt=32&Q),(w=w+-256|0)>>>0>255;);if(yt)break b;W&=255}x(h- -64|0,W,t)}F=(0|St)>(0|F)?St:F;continue i}if(pt&&(0|Y)<=-1)break A;Tt=g[h+56>>3],f[h+364>>2]=0,u(+Tt),G=0|c(1),Pt=1,Zt=c(0)>>>0<=4294967295?0:1,Mt=(0|G)>=-1?Zt:0,((0|G)>-1?Pt:Mt)?2048&It?(xt=1,Wt=5331):Wt=(xt=1&It)?5334:5329:(Tt=-Tt,xt=1,Wt=5328);c:if((Lt=y(Tt))!=V&Lt==Lt)if(Lt=T(Tt,h+364|0),Tt=Lt+Lt,0!=Tt&&(f[h+364>>2]=f[h+364>>2]+-1),Ft=32|wt,97!=(0|Ft)){for(G=(0|Y)<0,0!=Tt?(Q=f[h+364>>2]+-28|0,f[h+364>>2]=Q,Tt*=268435456):Q=f[h+364>>2],pt=G?6:Y,w=Vt=(0|Q)<0?h+368|0:E;G=Tt<4294967296&Tt>=0?~~Tt>>>0:0,f[w>>2]=G,w=w+4|0,0!=(Tt=1e9*(Tt-+(G>>>0))););if((0|Q)<1)F=w,G=Vt;else for(G=Vt;;){if(Dt=(0|Q)<29?Q:29,!((F=w+-4|0)>>>0<G>>>0)){for(Y=Dt,W=0;Q=F,Et=f[F>>2],Ot=31&Y,32<=(63&Y)>>>0?(yt=Et<<Ot,Ot=0):(yt=(1<<Ot)-1&Et>>>32-Ot,Ot=Et<<Ot),Pt=Q,Mt=(Et=Ot+W|0)-_t(W=mt(Et,Et>>>0<W>>>0?yt+1|0:yt,1e9),z,1e9,0)|0,f[Pt>>2]=Mt,(F=F+-4|0)>>>0>=G>>>0;);W&&(f[(G=G+-4|0)>>2]=W)}for(;(F=w)>>>0>G>>>0&&!f[(w=F+-4|0)>>2];);if(Q=f[h+364>>2]-Dt|0,f[h+364>>2]=Q,w=F,!((0|Q)>0))break}if((0|Q)<=-1)for(Dt=1+((pt+25>>>0)/9|0)|0;;){if(Et=(0|(w=0-Q|0))<9?w:9,G>>>0>=F>>>0)G=f[G>>2]?G:G+4|0;else{for(Y=1e9>>>Et,yt=-1<<Et^-1,Q=0,w=G;W=f[w>>2],f[w>>2]=Q+(W>>>Et),Q=m(Y,W&yt),(w=w+4|0)>>>0<F>>>0;);G=f[G>>2]?G:G+4|0,Q&&(f[F>>2]=Q,F=F+4|0)}if(Q=Et+f[h+364>>2]|0,f[h+364>>2]=Q,F=F-(w=102==(0|Ft)?Vt:G)>>2>(0|Dt)?w+(Dt<<2)|0:F,!((0|Q)<0))break}if(w=0,!(G>>>0>=F>>>0||(w=m(Vt-G>>2,9),W=f[G>>2],W>>>0<10)))for(Q=10;w=w+1|0,W>>>0>=(Q=m(Q,10))>>>0;);if((0|(Q=(pt-(Ot=102==(0|Ft)?0:w)|0)-(Et=(Ft=103==(0|Ft))&0!=(0|pt))|0))<(m(F-Vt>>2,9)+-9|0)){if(W=(Dt=Vt+((yt=(0|(Y=Q+9216|0))/9|0)<<2)|0)+-4092|0,Q=10,(1+(Y-(yt=m(yt,9))|0)|0)<=8)for(Y=((Et+(yt+Ot|0)|0)-pt|0)-9208|0;Q=m(Q,10),Y=Y+-1|0;);if(Y=W+4|0,((Ot=(Et=f[W>>2])-m(Q,yt=(Et>>>0)/(Q>>>0)|0)|0)||(0|F)!=(0|Y))&&(!(1&yt)&&(Tt=9007199254740992,!(1&n[W+-4|0])|1e9!=(0|Q)|W>>>0<=G>>>0)||(Tt=9007199254740994),Lt=.5,Ot>>>0>=(yt=Q>>>1)>>>0&&(Lt=(0|F)==(0|Y)&&(0|yt)==(0|Ot)?1:1.5),!xt|45!=_[0|Wt]||(Tt=-Tt,Lt=-Lt),yt=Et-Ot|0,f[W>>2]=yt,Tt+Lt!=Tt)){if(w=Q+yt|0,f[W>>2]=w,w>>>0>=1e9){for(w=Dt+-4096|0;f[w+4>>2]=0,w>>>0<G>>>0&&(f[(G=G+-4|0)>>2]=0),Q=f[w>>2]+1|0,f[w>>2]=Q,w=w+-4|0,Q>>>0>999999999;);W=w+4|0}if(w=m(Vt-G>>2,9),!((yt=f[G>>2])>>>0<10))for(Q=10;w=w+1|0,yt>>>0>=(Q=m(Q,10))>>>0;);}F=F>>>0>(Q=W+4|0)>>>0?Q:F}b:{for(;;){if(Y=F,Ot=0,F>>>0<=G>>>0)break b;if(f[(F=Y+-4|0)>>2])break}Ot=1}if(Ft){if(pt=((F=(0|(Q=pt||1))>(0|w)&(0|w)>-5)?-1^w:-1)+Q|0,wt=(F?-1:-2)+wt|0,!(Dt=8&It)){if(F=9,Ot&&((W=f[Y+-4>>2])&&(F=0,!((W>>>0)%10))))for(Q=10;F=F+1|0,!((W>>>0)%((Q=m(Q,10))>>>0)););Q=m(Y-Vt>>2,9)+-9|0,102!=(32|wt)?(Dt=0,pt=(0|pt)<(0|(F=(0|(F=(w+Q|0)-F|0))>0?F:0))?pt:F):(Dt=0,pt=(0|pt)<(0|(F=(0|(F=Q-F|0))>0?F:0))?pt:F)}}else Dt=8&It;if(F=-1,!((0|pt)>(0|((Ft=pt|Dt)?2147483645:2147483646)))){if(Nt=1+((0!=(0|Ft))+pt|0)|0,Et=102!=(32|wt)){if(Q=C,F=w>>31,F^=F+w)for(;W=(F>>>0)/10|0,n[0|(Q=Q+-1|0)]=F-m(W,10)|48,yt=F>>>0>9,F=W,yt;);if((C-Q|0)<=1){for(F=Q+-1|0;n[0|F]=48,W=C-F|0,F=Q=F+-1|0,(0|W)<2;);Q=Q+1|0}if(n[0|(Yt=Q+-2|0)]=wt,F=-1,n[Q+-1|0]=(0|w)<0?45:43,(0|(w=C-Yt|0))>(2147483647-Nt|0))break c}else{if((0|w)>(2147483647-Nt|0))break c;w=(0|w)>0?w:0}if(!((0|(w=w+Nt|0))>(2147483647^xt))){b:if(!((It&=73728)|(0|St)<=(0|(Nt=w+xt|0)))){if(X(h- -64|0,32,(w=(yt=St-Nt|0)>>>0<256)?yt:256),F=32&(Q=f[t>>2]),w){if(F)break b}else{for(F=!F,w=yt;1&F&&(x(h- -64|0,256,t),Q=f[t>>2]),F=!(W=32&Q),(w=w+-256|0)>>>0>255;);if(W)break b;yt&=255}x(h- -64|0,yt,t)}32&_[0|t]||x(Wt,xt,t);b:if(!(65536!=(0|It)|(0|St)<=(0|Nt))){if(X(h- -64|0,48,(w=(yt=St-Nt|0)>>>0<256)?yt:256),F=32&(Q=f[t>>2]),w){if(F)break b}else{for(F=!F,w=yt;1&F&&(x(h- -64|0,256,t),Q=f[t>>2]),F=!(W=32&Q),(w=w+-256|0)>>>0>255;);if(W)break b;yt&=255}x(h- -64|0,yt,t)}b:if(Et){_:if(!((0|pt)<=-1)){for(Y=Ot?Y:G+4|0,W=G;;){Q=v;u:{if(F=f[W>>2]){for(w=0;Q=(F>>>0)/10|0,n[344+(w+h|0)|0]=F-m(Q,10)|48,w=w+-1|0,yt=F>>>0>9,F=Q,yt;);if(Q=345+(w+h|0)|0,w)break u}n[0|(Q=Q+-1|0)]=48}u:if((0|G)==(0|W))32&_[0|t]||x(Q,1,t),Q=Q+1|0,32&_[0|t]|((0|pt)<1?!Dt:0)||x(5363,1,t);else{if(Q>>>0<=h+336>>>0)break u;for(X(h+336|0,48,Q+p|0);(Q=Q+-1|0)>>>0>h+336>>>0;);}if(F=v-Q|0,32&_[0|t]||x(Q,(0|pt)>(0|F)?F:pt,t),W=W+4|0,!((0|(pt=pt-F|0))>-1&&W>>>0<Y>>>0))break}if(!((0|pt)<1)){if(X(h- -64|0,48,(G=pt>>>0<256)?pt:256),F=32&(w=f[t>>2]),G){if(F)break _}else{for(F=!F,G=pt;1&F&&(x(h- -64|0,256,t),w=f[t>>2]),F=!(Q=32&w),(G=G+-256|0)>>>0>255;);if(Q)break _;pt&=255}x(h- -64|0,pt,t)}}32&_[0|t]||x(Yt,C-Yt|0,t)}else{for(W=yt=G>>>0>Vt>>>0?Vt:G;;){if(F=f[W>>2])for(G=0;w=(F>>>0)/10|0,n[G+R|0]=F-m(w,10)|48,G=G+-1|0,Q=F>>>0>9,F=w,Q;);else G=0;F=G+v|0;_:if((0|W)==(0|yt))G||(F=F+-1|0,n[0|F]=48);else{if(F>>>0<=h+336>>>0)break _;X(h+336|0,48,G+9|0),F=h+336|0}if(32&_[0|t]||x(F,v-F|0,t),!((W=W+4|0)>>>0<=Vt>>>0))break}!Ft|32&_[0|t]||x(5363,1,t);_:if(!((0|pt)<1|W>>>0>=Y>>>0))for(;;){F=v;u:{if(G=f[W>>2]){for(;w=(G>>>0)/10|0,n[0|(F=F+-1|0)]=G-m(w,10)|48,Q=G>>>0>9,G=w,Q;);if(F>>>0<=h+336>>>0)break u}for(X(h+336|0,48,F+p|0);(F=F+-1|0)>>>0>h+336>>>0;);}if(32&_[0|t]||x(F,(0|pt)<9?pt:9,t),(0|(pt=pt+-9|0))<1)break _;if(!((W=W+4|0)>>>0<Y>>>0))break}if((0|pt)<1)break b;if(X(h- -64|0,48,(G=pt>>>0<256)?pt:256),F=32&(w=f[t>>2]),G){if(F)break b}else{for(F=!F,G=pt;1&F&&(x(h- -64|0,256,t),w=f[t>>2]),F=!(Q=32&w),(G=G+-256|0)>>>0>255;);if(Q)break b;pt&=255}x(h- -64|0,pt,t)}b:if(!(8192!=(0|It)|(0|St)<=(0|Nt))){if(X(h- -64|0,32,(F=(Y=St-Nt|0)>>>0<256)?Y:256),G=32&(w=f[t>>2]),F){if(G)break b}else{for(F=!G,G=Y;1&F&&(x(h- -64|0,256,t),w=f[t>>2]),F=!(Q=32&w),(G=G+-256|0)>>>0>255;);if(Q)break b;Y&=255}x(h- -64|0,Y,t)}F=(0|St)>(0|Nt)?St:Nt}}}else{if(Et=(W=32&wt)?Wt+9|0:Wt,!(!(12-Y)|Y>>>0>11)){for(F=Y+-12|0,Lt=16;Lt*=16,w=(G=F+1|0)>>>0>=F>>>0,F=G,w;);Tt=45!=_[0|Et]?Tt+Lt-Lt:-(Lt+(-Tt-Lt))}w=C;b:{if(F=(G=(yt=f[h+364>>2])>>31)^G+yt){for(G=0;w=(F>>>0)/10|0,n[335+(G+h|0)|0]=F-m(w,10)|48,G=G+-1|0,Q=F>>>0>9,F=w,Q;);if(w=336+(G+h|0)|0,G)break b}n[0|(w=w+-1|0)]=48}for(Dt=2|xt,n[0|(Vt=w+-2|0)]=wt+15,n[w+-1|0]=(0|yt)<0?45:43,Q=8&It,G=h+336|0;F=G,w=y(Tt)<2147483648?~~Tt:-2147483648,n[0|F]=W|_[w+5312|0],1!=((G=F+1|0)-(h+336|0)|0)|(0==(Tt=16*(Tt-+(0|w)))?!((0|Y)>0|Q):0)||(n[F+1|0]=46,G=F+2|0),0!=Tt;);if(F=-1,(2147483645-(w=(yt=C-Vt|0)+Dt|0)|0)<(0|Y))break c;Ft=G-(h+336|0)|0;b:if(!((pt=73728&It)|(0|St)<=(0|(Y=(W=Y&&(G+B|0)<(0|Y)?Y+2|0:Ft)+w|0)))){if(X(h- -64|0,32,(F=(It=St-Y|0)>>>0<256)?It:256),G=32&(w=f[t>>2]),F){if(G)break b}else{for(F=!G,G=It;1&F&&(x(h- -64|0,256,t),w=f[t>>2]),F=!(Q=32&w),(G=G+-256|0)>>>0>255;);if(Q)break b;It&=255}x(h- -64|0,It,t)}32&_[0|t]||x(Et,Dt,t);b:if(!(65536!=(0|pt)|(0|St)<=(0|Y))){if(X(h- -64|0,48,(F=(Dt=St-Y|0)>>>0<256)?Dt:256),G=32&(w=f[t>>2]),F){if(G)break b}else{for(F=!G,G=Dt;1&F&&(x(h- -64|0,256,t),w=f[t>>2]),F=!(Q=32&w),(G=G+-256|0)>>>0>255;);if(Q)break b;Dt&=255}x(h- -64|0,Dt,t)}32&_[0|t]||x(h+336|0,Ft,t);b:if(!((0|(W=W-Ft|0))<1)){if(X(h- -64|0,48,(G=W>>>0<256)?W:256),F=32&(w=f[t>>2]),G){if(F)break b}else{for(F=!F,G=W;1&F&&(x(h- -64|0,256,t),w=f[t>>2]),F=!(Q=32&w),(G=G+-256|0)>>>0>255;);if(Q)break b;W&=255}x(h- -64|0,W,t)}32&_[0|t]||x(Vt,yt,t);b:if(!(8192!=(0|pt)|(0|St)<=(0|Y))){if(X(h- -64|0,32,(F=(W=St-Y|0)>>>0<256)?W:256),G=32&(w=f[t>>2]),F){if(G)break b}else{for(F=!G,G=W;1&F&&(x(h- -64|0,256,t),w=f[t>>2]),F=!(Q=32&w),(G=G+-256|0)>>>0>255;);if(Q)break b;W&=255}x(h- -64|0,W,t)}F=(0|St)>(0|Y)?St:Y}else{b:if(!(8192&It|(0|St)<=(0|(yt=xt+3|0)))){if(X(h- -64|0,32,(F=(W=St-yt|0)>>>0<256)?W:256),G=32&(w=f[t>>2]),F){if(G)break b}else{for(F=!G,G=W;1&F&&(x(h- -64|0,256,t),w=f[t>>2]),F=!(Q=32&w),(G=G+-256|0)>>>0>255;);if(Q)break b;W&=255}x(h- -64|0,W,t)}32&(G=f[t>>2])||(x(Wt,xt,t),G=f[t>>2]),32&G||(G=(32&wt)>>>5,x(Tt!=Tt?G?5355:5359:G?5347:5351,3,t));b:if(!(8192!=(73728&It)|(0|St)<=(0|yt))){if(X(h- -64|0,32,(F=(W=St-yt|0)>>>0<256)?W:256),G=32&(w=f[t>>2]),F){if(G)break b}else{for(F=!G,G=W;1&F&&(x(h- -64|0,256,t),w=f[t>>2]),F=!(Q=32&w),(G=G+-256|0)>>>0>255;);if(Q)break b;W&=255}x(h- -64|0,W,t)}F=(0|St)>(0|yt)?St:yt}if((0|F)>=0)continue i;break A}Dt=0,Nt=4678}F=d;break r}if(It=G,Y=w,!_[0|F])break r;break A}F=_[e+1|0],e=e+1|0}if(t)break t;if(!Qt){Gt=0;break t}if(e=1,(t=f[o+4>>2])&&(H(r+8|0,t,i),e=2,(t=f[o+8>>2])&&(H(r+16|0,t,i),e=3,(t=f[o+12>>2])&&(H(r+24|0,t,i),e=4,(t=f[o+16>>2])&&(H(r+32|0,t,i),e=5,(t=f[o+20>>2])&&(H(r+40|0,t,i),e=6,(t=f[o+24>>2])&&(H(r+48|0,t,i),e=7,(t=f[o+28>>2])&&(H(r+56|0,t,i),e=8,t=f[o+32>>2])))))))){if(H(r- -64|0,t,i),t=f[o+36>>2])break n;e=9}for(e<<=2;;){if(f[e+o>>2])break a;if(40==(0|(e=e+4|0)))break}Gt=1;break t}f[256]=28;break e}H(r+72|0,t,i),Gt=1;break t}if(!((0|(Et=(0|Y)<(0|(Ft=F-Q|0))?Ft:Y))>(2147483647-Dt|0)||(Ot=Dt+Et|0,F=(0|St)<(0|Ot)?Ot:St,(0|F)>(0|Vt)))){r:if(!((It&=73728)|(0|Ot)>=(0|St))){if(X(h- -64|0,32,(w=(pt=F-Ot|0)>>>0<256)?pt:256),G=32&(W=f[t>>2]),w){if(G)break r}else{for(G=!G,w=pt;1&G&&(x(h- -64|0,256,t),W=f[t>>2]),G=!(yt=32&W),(w=w+-256|0)>>>0>255;);if(yt)break r;pt&=255}x(h- -64|0,pt,t)}32&_[0|t]||x(Nt,Dt,t);r:if(!(65536!=(0|It)|(0|Ot)>=(0|St))){if(X(h- -64|0,48,(w=(Dt=F-Ot|0)>>>0<256)?Dt:256),G=32&(W=f[t>>2]),w){if(G)break r}else{for(G=!G,w=Dt;1&G&&(x(h- -64|0,256,t),W=f[t>>2]),G=!(yt=32&W),(w=w+-256|0)>>>0>255;);if(yt)break r;Dt&=255}x(h- -64|0,Dt,t)}r:if(!((0|Ft)>=(0|Y))){if(X(h- -64|0,48,(w=(yt=Et-Ft|0)>>>0<256)?yt:256),G=32&(Y=f[t>>2]),w){if(G)break r}else{for(G=!G,w=yt;1&G&&(x(h- -64|0,256,t),Y=f[t>>2]),G=!(W=32&Y),(w=w+-256|0)>>>0>255;);if(W)break r;yt&=255}x(h- -64|0,yt,t)}if(32&_[0|t]||x(Q,Ft,t),8192!=(0|It)|(0|Ot)>=(0|St))continue;if(X(h- -64|0,32,(w=(Y=F-Ot|0)>>>0<256)?Y:256),G=32&(Q=f[t>>2]),w){if(G)continue}else{for(G=!G,w=Y;1&G&&(x(h- -64|0,256,t),Q=f[t>>2]),G=!(W=32&Q),(w=w+-256|0)>>>0>255;);if(W)continue;Y&=255}x(h- -64|0,Y,t);continue}}break}f[256]=61}Gt=-1}return Z=h+880|0,Gt}function H(t,e,i){t:{e:{i:{A:{r:{if((e=e+-9|0)>>>0<=17){switch(e-1|0){case 5:e=f[i>>2],f[i>>2]=e+4,e=a[e>>1],f[t>>2]=e;break e;case 6:e=f[i>>2],f[i>>2]=e+4,f[t>>2]=h[e>>1];break t;case 7:e=f[i>>2],f[i>>2]=e+4,e=n[0|e],f[t>>2]=e;break e;case 8:e=f[i>>2],f[i>>2]=e+4,f[t>>2]=_[0|e];break t;case 16:(function(t){var e,i=0,r=0,n=0,a=0,o=0,h=0,d=0;o=5168,e=t;n:{if(!(i=f[716])){if(i=0,I(2848))break n;i=f[716]}if(i-(n=f[717])>>>0<e>>>0)i=0|yt[f[720]](2848,5168,e);else{r=e;a:if(!(f[728]<0)){for(h=e+5168|0,i=0;;){if(r=e,!(i+e))break a;if(d=i+h|0,i=r=i+-1|0,10==_[d+-1|0])break}if(a=1+(e+r|0)|0,(i=0|yt[f[720]](2848,5168,a))>>>0<a>>>0)break n;o=1+(r+h|0)|0,n=f[717],r^=-1}J(n,o,i=r),f[717]=f[717]+i,i=i+a|0}}})(t=function(){var t=0,e=0,i=0;n:{a:{o:if(t=5168,3&t){if(!_[5168])return 0;for(t=5169;;){if(!(3&t))break o;if(e=_[0|t],t=i=t+1|0,!e)break}break a}for(t=t+-4|0;!((-1^(e=f[(t=t+4|0)>>2]))&e+-16843009&-2139062144););if(!(255&e))return t-5168|0;for(;i=_[t+1|0],t=e=t+1|0,i;);break n}e=i+-1|0}return e-5168|0}()),F();case 0:case 3:case 13:break r;case 1:case 4:case 10:case 14:break A;case 2:case 9:case 11:case 12:case 15:break i}e=f[i>>2],f[i>>2]=e+4,f[t>>2]=f[e>>2]}return}e=f[i>>2],f[i>>2]=e+4,e=f[e>>2],f[t>>2]=e;break e}e=f[i>>2],f[i>>2]=e+4,f[t>>2]=f[e>>2];break t}return e=f[i>>2]+7&-8,f[i>>2]=e+8,i=f[e+4>>2],f[t>>2]=f[e>>2],void(f[t+4>>2]=i)}return void(f[t+4>>2]=e>>31)}f[t+4>>2]=0}function P(e){return e?65535&e|(0|e)<=-1?void F():-1==(0|(e=function(e){e|=0;var o=0|ht(),v=o+e|0;if(o<v&&v<65536){var y=new ArrayBuffer(m(v,65536)),p=new t.Int8Array(y);p.set(n),n=p,n=new t.Int8Array(y),a=new t.Int16Array(y),f=new t.Int32Array(y),_=new t.Uint8Array(y),h=new t.Uint16Array(y),d=new t.Uint32Array(y),C=new t.Float32Array(y),g=new t.Float64Array(y),i=y,r.buffer=y}return o}(e>>>16)))?(f[256]=48,-1):e<<16:ht()<<16}function K(t){var e,i=0,r=0,n=0,a=0,o=0,h=0,C=0,g=0,m=0,v=0,y=0,p=0;if(Z=e=Z-16|0,!(f[272]||(i=P(0)-90864|0,i>>>0<89))){for((r=f[384])||(f[387]=-1,f[388]=-1,f[385]=65536,f[386]=65536,r=e+8&-16^1431655768,f[384]=r,f[389]=0,f[377]=0),f[379]=i,f[378]=90864,f[270]=90864,f[275]=r,f[274]=-1;r=n+1104|0,f[n+1112>>2]=r,f[n+1116>>2]=r,256!=(0|(n=n+8|0)););r=i+-64|0,f[22719]=1|r,f[273]=f[388],f[272]=90872,f[269]=r,f[i+90812>>2]=56}t:{e:{i:{A:{r:{n:{a:{o:{s:{l:{f:{if(t>>>0<=236){if(3&(i=(o=f[266])>>>(t=(C=t>>>0<11?16:t+19&-16)>>>3))){n=(t=f[(a=(i=1^(t|1&i))<<3)+1112>>2])+8|0,(0|(r=f[t+8>>2]))!=(0|(a=a+1104|0))?(f[a+8>>2]=r,f[r+12>>2]=a):(y=1064,p=Rt(i)&o,f[y>>2]=p),i<<=3,f[t+4>>2]=3|i,f[(t=t+i|0)+4>>2]=1|f[t+4>>2];break t}if(C>>>0<=(g=f[268])>>>0)break f;if(i){r=i=(t=(0-(t=(i<<=t)&(0-(t=2<<t)|t))&t)-1|0)>>>12&16,r|=i=(t>>>=i)>>>5&8,r|=i=(t>>>=i)>>>2&4,t=f[(n=(i=((r|=i=(t>>>=i)>>>1&2)|(i=(t>>>=i)>>>1&1))+(t>>>i)|0)<<3)+1112>>2],(0|(r=f[t+8>>2]))!=(0|(n=n+1104|0))?(f[n+8>>2]=r,f[r+12>>2]=n):(o=Rt(i)&o,f[266]=o),n=t+8|0,f[t+4>>2]=3|C,r=(i<<=3)-C|0,f[t+i>>2]=r,f[(C=t+C|0)+4>>2]=1|r,g&&(t=1104+((a=g>>>3)<<3)|0,i=f[271],(a=1<<a)&o?a=f[t+8>>2]:(f[266]=a|o,a=t),f[a+12>>2]=i,f[t+8>>2]=i,f[i+12>>2]=t,f[i+8>>2]=a),f[271]=C,f[268]=r;break t}if(!(v=f[267]))break f;for(r=i=(t=(v&0-v)-1|0)>>>12&16,r|=i=(t>>>=i)>>>5&8,r|=i=(t>>>=i)>>>2&4,i=f[1368+(((r|=i=(t>>>=i)>>>1&2)|(i=(t>>>=i)>>>1&1))+(t>>>i)<<2)>>2],r=(-8&f[i+4>>2])-C|0,t=i;(n=f[t+16>>2])||(n=f[t+20>>2]);)r=(t=(a=(-8&f[n+4>>2])-C|0)>>>0<r>>>0)?a:r,i=t?n:i,t=n;if(m=f[i+24>>2],(0|i)!=(0|(a=f[i+12>>2]))){t=f[i+8>>2],d[270],f[a+8>>2]=t,f[t+12>>2]=a;break e}if(!(n=f[(t=i+20|0)>>2])){if(!(n=f[i+16>>2]))break l;t=i+16|0}for(;h=t,a=n,(n=f[(t=n+20|0)>>2])||(t=a+16|0,n=f[a+16>>2]););f[h>>2]=0;break e}if(C=-1,!(t>>>0>4294967231)&&(C=-16&(t=t+19|0),g=f[267])){h=0,(t>>>=8)&&(h=31,C>>>0>16777215||(h=28+((t=((n=(i=t<<(r=t+1048320>>>16&8))<<(t=i+520192>>>16&4))<<(i=n+245760>>>16&2)>>>15)-(i|t|r)|0)<<1|C>>>t+21&1)|0)),t=0-C|0;c:{b:{if(r=f[1368+(h<<2)>>2])for(i=C<<(31==(0|h)?0:25-(h>>>1)|0),n=0;;){if(!((o=(-8&f[r+4>>2])-C|0)>>>0>=t>>>0||(a=r,t=o,t))){t=0,n=r;break b}if(o=f[r+20>>2],r=f[16+((i>>>29&4)+r|0)>>2],n=o?(0|o)==(0|r)?n:o:n,i<<=0!=(0|r),!r)break}else n=0;if(!(n|a)){if(!(i=(0-(i=2<<h)|i)&g))break f;n=r=(i=(i&0-i)-1|0)>>>12&16,n|=r=(i>>>=r)>>>5&8,n|=r=(i>>>=r)>>>2&4,n=f[1368+(((n|=r=(i>>>=r)>>>1&2)|(r=(i>>>=r)>>>1&1))+(i>>>r)<<2)>>2]}if(!n)break c}for(;t=(i=(o=(-8&f[n+4>>2])-C|0)>>>0<t>>>0)?o:t,a=i?n:a,(r=f[n+16>>2])||(r=f[n+20>>2]),n=r;);}if(!(!a|t>>>0>=f[268]-C>>>0)){if(h=f[a+24>>2],(0|(i=f[a+12>>2]))!=(0|a)){r=f[a+8>>2],d[270],f[i+8>>2]=r,f[r+12>>2]=i;break i}if(!(n=f[(r=a+20|0)>>2])){if(!(n=f[a+16>>2]))break s;r=a+16|0}for(;o=r,(n=f[(r=(i=n)+20|0)>>2])||(r=i+16|0,n=f[i+16>>2]););f[o>>2]=0;break i}}}if((i=f[268])>>>0>=C>>>0){t=f[271],(r=i-C|0)>>>0>=16?(f[(n=t+C|0)+4>>2]=1|r,f[268]=r,f[271]=n,f[t+i>>2]=r,f[t+4>>2]=3|C):(f[t+4>>2]=3|i,f[(i=t+i|0)+4>>2]=1|f[i+4>>2],f[271]=0,f[268]=0),n=t+8|0;break t}if((i=f[269])>>>0>C>>>0){t=f[272],i=i-C|0,f[(r=t+C|0)+4>>2]=1|i,f[269]=i,f[272]=r,f[t+4>>2]=3|C,n=t+8|0;break t}if(n=0,f[384]?r=f[386]:(f[387]=-1,f[388]=-1,f[385]=65536,f[386]=65536,f[384]=e+12&-16^1431655768,f[389]=0,f[377]=0,r=65536),(t=(o=r+(a=C+71|0)|0)&(h=0-r|0))>>>0<=C>>>0){f[256]=48;break t}if((r=f[376])&&!((g=(n=f[374])+t|0)>>>0<=r>>>0&&g>>>0>n>>>0)){n=0,f[256]=48;break t}if(4&_[1508])break n;f:{c:{if(r=f[272])for(n=1512;;){if((g=f[n>>2])+f[n+4>>2]>>>0>r>>>0&&g>>>0<=r>>>0)break c;if(!(n=f[n+8>>2]))break}if(-1==(0|(i=P(0))))break a;if(o=t,(n=(r=f[385])+-1|0)&i&&(o=(t-i|0)+(i+n&0-r)|0),o>>>0<=C>>>0|o>>>0>2147483646)break a;if((r=f[376])&&(h=(n=f[374])+o|0)>>>0<=n>>>0|h>>>0>r>>>0)break a;if((0|i)!=(0|(n=P(o))))break f;break r}if((o=h&o-i)>>>0>2147483646)break a;if((0|(i=P(o)))==(f[n>>2]+f[n+4>>2]|0))break o;n=i}if(!(C+72>>>0<=o>>>0|o>>>0>2147483646|-1==(0|(i=n)))){if((r=(r=f[386])+(a-o|0)&0-r)>>>0>2147483646)break r;if(-1!=(0|P(r))){o=r+o|0;break r}P(0-o|0);break a}if(-1!=(0|i))break r;break a}a=0;break e}i=0;break i}if(-1!=(0|i))break r}f[377]=4|f[377]}if(t>>>0>2147483646)break A;if((i=P(t))>>>0>=(t=P(0))>>>0|-1==(0|i)|-1==(0|t))break A;if((o=t-i|0)>>>0<=C+56>>>0)break A}t=f[374]+o|0,f[374]=t,t>>>0>d[375]&&(f[375]=t);r:{n:{a:{if(r=f[272]){for(n=1512;;){if(((t=f[n>>2])+(a=f[n+4>>2])|0)==(0|i))break a;if(!(n=f[n+8>>2]))break}break n}for(i>>>0>=(t=f[270])>>>0&&t||(f[270]=i),n=0,f[379]=o,f[378]=i,f[274]=-1,f[275]=f[384],f[381]=0;t=n+1104|0,f[n+1112>>2]=t,f[n+1116>>2]=t,256!=(0|(n=n+8|0)););r=(t=i+8&15?-8-i&15:0)+i|0,t=(n=o+-56|0)-t|0,f[r+4>>2]=1|t,f[273]=f[388],f[269]=t,f[272]=r,f[4+(i+n|0)>>2]=56;break r}if(!(8&_[n+12|0]|i>>>0<=r>>>0|t>>>0>r>>>0)){i=(t=r+8&15?-8-r&15:0)+r|0,t=(h=f[269]+o|0)-t|0,f[i+4>>2]=1|t,f[n+4>>2]=a+o,f[273]=f[388],f[269]=t,f[272]=i,f[4+(r+h|0)>>2]=56;break r}}i>>>0<(a=f[270])>>>0&&(f[270]=i,a=i),t=i+o|0,n=1512;n:{a:{o:{s:{l:{f:{for(;;){if(f[n>>2]!=(0|t)){if(n=f[n+8>>2])continue;break f}break}if(!(8&_[n+12|0]))break l}for(n=1512;;){if((t=f[n>>2])>>>0<=r>>>0&&(a=t+f[n+4>>2]|0)>>>0>r>>>0)break s;n=f[n+8>>2]}}if(f[n>>2]=i,f[n+4>>2]=f[n+4>>2]+o,f[(m=(i+8&15?-8-i&15:0)+i|0)+4>>2]=3|C,n=((i=t+(t+8&15?-8-t&15:0)|0)-m|0)-C|0,h=C+m|0,(0|i)==(0|r)){f[272]=h,t=f[269]+n|0,f[269]=t,f[h+4>>2]=1|t;break a}if((0|i)==f[271]){f[271]=h,t=f[268]+n|0,f[268]=t,f[h+4>>2]=1|t,f[t+h>>2]=t;break a}if(1==(3&(r=f[i+4>>2]))){v=-8&r;l:if(r>>>0<=255){if(C=1104+((r>>>=3)<<3)|0,(0|(t=f[i+12>>2]))==(0|(a=f[i+8>>2]))){y=1064,p=f[266]&Rt(r),f[y>>2]=p;break l}f[t+8>>2]=a,f[a+12>>2]=t}else{if(g=f[i+24>>2],(0|(o=f[i+12>>2]))==(0|i))if((C=f[(r=i+20|0)>>2])||(C=f[(r=i+16|0)>>2])){for(;t=r,(C=f[(r=(o=C)+20|0)>>2])||(r=o+16|0,C=f[o+16>>2]););f[t>>2]=0}else o=0;else t=f[i+8>>2],f[o+8>>2]=t,f[t+12>>2]=o;if(g){t=f[i+28>>2];f:{if((0|i)==f[(r=1368+(t<<2)|0)>>2]){if(f[r>>2]=o,o)break f;y=1068,p=f[267]&Rt(t),f[y>>2]=p;break l}if(f[g+(f[g+16>>2]==(0|i)?16:20)>>2]=o,!o)break l}f[o+24>>2]=g,(t=f[i+16>>2])&&(f[o+16>>2]=t,f[t+24>>2]=o),(t=f[i+20>>2])&&(f[o+20>>2]=t,f[t+24>>2]=o)}}n=n+v|0,i=i+v|0}if(f[i+4>>2]=-2&f[i+4>>2],f[n+h>>2]=n,f[h+4>>2]=1|n,n>>>0<=255){t=1104+((i=n>>>3)<<3)|0,(r=f[266])&(i=1<<i)?r=f[t+8>>2]:(f[266]=i|r,r=t),f[r+12>>2]=h,f[t+8>>2]=h,f[h+12>>2]=t,f[h+8>>2]=r;break a}if(r=0,(t=n>>>8)&&(r=31,n>>>0>16777215||(r=28+((t=((a=(i=t<<(r=t+1048320>>>16&8))<<(t=i+520192>>>16&4))<<(i=a+245760>>>16&2)>>>15)-(i|t|r)|0)<<1|n>>>t+21&1)|0)),f[(o=h)+28>>2]=r,f[h+16>>2]=0,f[h+20>>2]=0,t=1368+(r<<2)|0,!((i=f[267])&(a=1<<r))){f[t>>2]=h,f[267]=i|a,f[h+24>>2]=t,f[h+8>>2]=h,f[h+12>>2]=h;break a}for(r=n<<(31==(0|r)?0:25-(r>>>1)|0),i=f[t>>2];;){if((-8&f[(t=i)+4>>2])==(0|n))break o;if(i=r>>>29,r<<=1,!(i=f[(a=16+(t+(4&i)|0)|0)>>2]))break}f[a>>2]=h,f[h+24>>2]=t,f[h+12>>2]=h,f[h+8>>2]=h;break a}for(g=(h=o+-56|0)-(t=i+8&15?-8-i&15:0)|0,f[(n=t+i|0)+4>>2]=1|g,f[4+(i+h|0)>>2]=56,f[(t=(t=(a+(a+-55&15?55-a&15:0)|0)-63|0)>>>0<r+16>>>0?r:t)+4>>2]=35,f[273]=f[388],f[269]=g,f[272]=n,h=f[381],f[(n=t+16|0)>>2]=f[380],f[n+4>>2]=h,n=f[379],f[t+8>>2]=f[378],f[t+12>>2]=n,f[380]=t+8,f[379]=o,f[378]=i,f[381]=0,n=t+36|0;f[n>>2]=7,(n=n+4|0)>>>0<a>>>0;);if((0|t)==(0|r))break r;if(f[t+4>>2]=-2&f[t+4>>2],a=t-r|0,f[t>>2]=a,f[r+4>>2]=1|a,a>>>0<=255){i=1104+((t=a>>>3)<<3)|0,(n=f[266])&(t=1<<t)?t=f[i+8>>2]:(f[266]=t|n,t=i),f[t+12>>2]=r,f[i+8>>2]=r,f[r+12>>2]=i,f[r+8>>2]=t;break r}if(f[r+16>>2]=0,f[r+20>>2]=0,n=0,(t=a>>>8)&&(n=31,a>>>0>16777215||(n=28+((t=((o=(i=t<<(n=t+1048320>>>16&8))<<(t=i+520192>>>16&4))<<(i=o+245760>>>16&2)>>>15)-(i|t|n)|0)<<1|a>>>t+21&1)|0)),f[(h=r+28|0)>>2]=n,t=1368+(n<<2)|0,!((i=f[267])&(o=1<<n))){f[t>>2]=r,f[267]=i|o,f[r+24>>2]=t,f[r+8>>2]=r,f[r+12>>2]=r;break r}for(n=a<<(31==(0|n)?0:25-(n>>>1)|0),i=f[t>>2];;){if((0|a)==(-8&f[(t=i)+4>>2]))break n;if(i=n>>>29,n<<=1,!(i=f[(o=16+(t+(4&i)|0)|0)>>2]))break}f[o>>2]=r,f[r+24>>2]=t,f[r+12>>2]=r,f[r+8>>2]=r;break r}i=f[t+8>>2],f[t+8>>2]=h,f[i+12>>2]=h,f[h+24>>2]=0,f[h+8>>2]=i,f[h+12>>2]=t}n=m+8|0;break t}i=f[t+8>>2],f[t+8>>2]=r,f[i+12>>2]=r,f[r+24>>2]=0,f[r+8>>2]=i,f[r+12>>2]=t}if(!((i=f[269])>>>0<=C>>>0)){t=f[272],i=i-C|0,f[(r=t+C|0)+4>>2]=1|i,f[269]=i,f[272]=r,f[t+4>>2]=3|C,n=t+8|0;break t}}n=0,f[256]=48;break t}i:if(h){r=f[a+28>>2];A:{if((0|a)==f[(n=1368+(r<<2)|0)>>2]){if(f[n>>2]=i,i)break A;g=Rt(r)&g,f[267]=g;break i}if(f[h+(f[h+16>>2]==(0|a)?16:20)>>2]=i,!i)break i}f[i+24>>2]=h,(r=f[a+16>>2])&&(f[i+16>>2]=r,f[r+24>>2]=i),(r=f[a+20>>2])&&(f[i+20>>2]=r,f[r+24>>2]=i)}i:if(t>>>0<=15)t=t+C|0,f[a+4>>2]=3|t,t=t+a|0,f[t+4>>2]=1|f[t+4>>2];else if(o=a+C|0,f[o+4>>2]=1|t,f[a+4>>2]=3|C,f[t+o>>2]=t,t>>>0<=255)i=t>>>3,t=1104+(i<<3)|0,r=f[266],i=1<<i,r&i?r=f[t+8>>2]:(f[266]=i|r,r=t),f[r+12>>2]=o,f[t+8>>2]=o,f[o+12>>2]=t,f[o+8>>2]=r;else if(h=o,i=t>>>8,n=0,i&&(n=31,t>>>0>16777215||(n=i+1048320>>>16&8,r=i<<n,i=r+520192>>>16&4,C=r<<i,r=C+245760>>>16&2,i=(C<<r>>>15)-(r|i|n)|0,n=28+(i<<1|t>>>i+21&1)|0)),f[h+28>>2]=n,f[o+16>>2]=0,f[o+20>>2]=0,i=1368+(n<<2)|0,r=1<<n,r&g){n=t<<(31==(0|n)?0:25-(n>>>1)|0),C=f[i>>2];A:{for(;;){if((-8&f[(i=C)+4>>2])==(0|t))break A;if(r=n>>>29,n<<=1,!(C=f[(r=16+(i+(4&r)|0)|0)>>2]))break}f[r>>2]=o,f[o+24>>2]=i,f[o+12>>2]=o,f[o+8>>2]=o;break i}t=f[i+8>>2],f[i+8>>2]=o,f[t+12>>2]=o,f[o+24>>2]=0,f[o+8>>2]=t,f[o+12>>2]=i}else f[i>>2]=o,f[267]=r|g,f[o+24>>2]=i,f[o+8>>2]=o,f[o+12>>2]=o;n=a+8|0;break t}e:if(m){t=f[i+28>>2];i:{if((0|i)==f[(n=1368+(t<<2)|0)>>2]){if(f[n>>2]=a,a)break i;y=1068,p=Rt(t)&v,f[y>>2]=p;break e}if(f[(f[m+16>>2]==(0|i)?16:20)+m>>2]=a,!a)break e}f[a+24>>2]=m,(t=f[i+16>>2])&&(f[a+16>>2]=t,f[t+24>>2]=a),(t=f[i+20>>2])&&(f[a+20>>2]=t,f[t+24>>2]=a)}r>>>0<=15?(t=r+C|0,f[i+4>>2]=3|t,f[(t=t+i|0)+4>>2]=1|f[t+4>>2]):(f[(h=i+C|0)+4>>2]=1|r,f[i+4>>2]=3|C,f[r+h>>2]=r,g&&(t=1104+((a=g>>>3)<<3)|0,n=f[271],(a=1<<a)&o?a=f[t+8>>2]:(f[266]=a|o,a=t),f[a+12>>2]=n,f[t+8>>2]=n,f[n+12>>2]=t,f[n+8>>2]=a),f[271]=h,f[268]=r),n=i+8|0}return Z=e+16|0,n}function L(t){var e=0,i=0,r=0,n=0,a=0,o=0,_=0,h=0,C=0;t:if(t){a=(r=t+-8|0)+(t=-8&(i=f[t+-4>>2]))|0;e:if(!(1&i)){if(!(3&i))break t;if((r=r-(e=f[r>>2])|0)>>>0<(n=f[270])>>>0)break t;if(t=t+e|0,(0|r)==f[271]){if(3==(3&(i=f[a+4>>2])))return f[a+4>>2]=-2&i,f[268]=t,f[t+r>>2]=t,void(f[r+4>>2]=1|t)}else{if(e>>>0<=255){if(o=1104+((e>>>=3)<<3)|0,(0|(i=f[r+12>>2]))==(0|(n=f[r+8>>2]))){h=1064,C=f[266]&Rt(e),f[h>>2]=C;break e}f[i+8>>2]=n,f[n+12>>2]=i;break e}if(_=f[r+24>>2],(0|r)==(0|(i=f[r+12>>2])))if((n=f[(e=r+20|0)>>2])||(n=f[(e=r+16|0)>>2])){for(;o=e,(n=f[(e=(i=n)+20|0)>>2])||(e=i+16|0,n=f[i+16>>2]););f[o>>2]=0}else i=0;else e=f[r+8>>2],f[i+8>>2]=e,f[e+12>>2]=i;if(!_)break e;e=f[r+28>>2];i:{if((0|r)==f[(n=1368+(e<<2)|0)>>2]){if(f[n>>2]=i,i)break i;h=1068,C=f[267]&Rt(e),f[h>>2]=C;break e}if(f[_+(f[_+16>>2]==(0|r)?16:20)>>2]=i,!i)break e}if(f[i+24>>2]=_,(e=f[r+16>>2])&&(f[i+16>>2]=e,f[e+24>>2]=i),!(e=f[r+20>>2]))break e;f[i+20>>2]=e,f[e+24>>2]=i}}if(!(a>>>0<=r>>>0)&&1&(i=f[a+4>>2])){e:{if(!(2&i)){if(f[272]==(0|a)){if(f[272]=r,t=f[269]+t|0,f[269]=t,f[r+4>>2]=1|t,f[271]!=(0|r))break t;return f[268]=0,void(f[271]=0)}if(f[271]==(0|a))return f[271]=r,t=f[268]+t|0,f[268]=t,f[r+4>>2]=1|t,void(f[t+r>>2]=t);t=(-8&i)+t|0;i:if(i>>>0<=255){if(o=1104+((i>>>=3)<<3)|0,(0|(e=f[a+12>>2]))==(0|(n=f[a+8>>2]))){h=1064,C=f[266]&Rt(i),f[h>>2]=C;break i}f[e+8>>2]=n,f[n+12>>2]=e}else{if(_=f[a+24>>2],(0|(i=f[a+12>>2]))==(0|a))if((n=f[(e=a+20|0)>>2])||(n=f[(e=a+16|0)>>2])){for(;o=e,(n=f[(e=(i=n)+20|0)>>2])||(e=i+16|0,n=f[i+16>>2]););f[o>>2]=0}else i=0;else e=f[a+8>>2],d[270],f[i+8>>2]=e,f[e+12>>2]=i;if(_){e=f[a+28>>2];A:{if(f[(n=1368+(e<<2)|0)>>2]==(0|a)){if(f[n>>2]=i,i)break A;h=1068,C=f[267]&Rt(e),f[h>>2]=C;break i}if(f[_+((0|a)==f[_+16>>2]?16:20)>>2]=i,!i)break i}f[i+24>>2]=_,(e=f[a+16>>2])&&(f[i+16>>2]=e,f[e+24>>2]=i),(e=f[a+20>>2])&&(f[i+20>>2]=e,f[e+24>>2]=i)}}if(f[t+r>>2]=t,f[r+4>>2]=1|t,f[271]!=(0|r))break e;return void(f[268]=t)}f[a+4>>2]=-2&i,f[t+r>>2]=t,f[r+4>>2]=1|t}if(t>>>0<=255)return t=1104+((i=t>>>3)<<3)|0,(e=f[266])&(i=1<<i)?e=f[t+8>>2]:(f[266]=i|e,e=t),f[e+12>>2]=r,f[t+8>>2]=r,f[r+12>>2]=t,void(f[r+8>>2]=e);f[r+16>>2]=0,f[r+20>>2]=0,e=0,(i=t>>>8)&&(e=31,t>>>0>16777215||(e=28+((i=((o=(e=i<<(n=i+1048320>>>16&8))<<(i=e+520192>>>16&4))<<(e=o+245760>>>16&2)>>>15)-(e|i|n)|0)<<1|t>>>i+21&1)|0)),f[(a=r+28|0)>>2]=e,i=1368+(e<<2)|0;e:if((n=f[267])&(o=1<<e)){e=t<<(31==(0|e)?0:25-(e>>>1)|0),i=f[i>>2];i:{for(;;){if(n=i,(-8&f[i+4>>2])==(0|t))break i;if(i=e>>>29,e<<=1,!(i=f[(o=16+(n+(4&i)|0)|0)>>2]))break}f[o>>2]=r,f[r+12>>2]=r,f[r+24>>2]=n,f[r+8>>2]=r;break e}t=f[n+8>>2],f[n+8>>2]=r,f[t+12>>2]=r,f[r+24>>2]=0,f[r+8>>2]=t,f[r+12>>2]=n}else f[i>>2]=r,f[267]=n|o,f[r+24>>2]=i,f[r+8>>2]=r,f[r+12>>2]=r;if(t=f[274]+-1|0,f[274]=t,!t){for(r=1520;r=(t=f[r>>2])+8|0,t;);f[274]=-1}}}}function q(t){var e;for(Z=e=Z-16|0,f[e+12>>2]=t,f[e+12>>2]||(f[e+12>>2]=1);t=K(f[e+12>>2]),f[e+8>>2]=t,!t&&(f[(t=Z-16|0)+12>>2]=1560,f[t+8>>2]=2,f[e+4>>2]=f[f[t+12>>2]>>2],f[e+4>>2]);)yt[f[e+4>>2]]();return Z=e+16|0,f[e+8>>2]}function $(t){var e;Z=e=Z-16|0,f[e+12>>2]=t,L(f[e+12>>2]),Z=e+16|0}function AA(t,e){var i=0,r=0;t:if(!(!(i=_[0|t])|(0|(r=_[0|e]))!=(0|i)))for(t=t+1|0,e=e+1|0;;){if(r=_[0|e],!(i=_[0|t]))break t;if(t=t+1|0,e=e+1|0,(0|i)!=(0|r))break}return i-r|0}function eA(t){t|=0,f[12+(Z-16|0)>>2]=t}function rA(t){var e;return t|=0,Z=e=Z-16|0,f[e+12>>2]=t,function(t){var e;Z=e=Z-16|0,f[e+12>>2]=t,f[12+(Z-16|0)>>2]=f[e+12>>2],Z=e+16|0}(t=f[e+12>>2]),Z=e+16|0,0|t}function iA(t){var e;return t|=0,Z=e=Z-16|0,f[e+12>>2]=t,rA(t=f[e+12>>2]),Z=e+16|0,0|t}function fA(t,e,i){var r,a=0,o=0;return Z=r=Z-16|0,f[r+8>>2]=t,f[r+4>>2]=e,n[r+3|0]=i,1&n[r+3|0]?(t=1,e=r,f[r+8>>2]!=f[r+4>>2]&&(t=!AA(tA(f[r+8>>2]),tA(f[r+4>>2]))),n[e+15|0]=t):(a=r,o=1&function(t,e){var i;return Z=i=Z-16|0,f[i+4>>2]=t,f[i>>2]=e,t=f[f[i>>2]+4>>2],f[i+12>>2]=f[f[i+4>>2]+4>>2],f[i+8>>2]=t,t=1,f[i+12>>2]!=f[i+8>>2]&&(t=!AA(f[i+12>>2],f[i+8>>2])),Z=i+16|0,t}(f[r+8>>2],f[r+4>>2]),n[a+15|0]=o),Z=r+16|0,1&n[r+15|0]}function tA(t){var e;return f[(e=Z-16|0)+8>>2]=t,f[e+12>>2]=f[f[e+8>>2]+4>>2],f[e+12>>2]}function nA(t,e,i,r){var a;f[(a=Z-16|0)+12>>2]=t,f[a+8>>2]=e,f[a+4>>2]=i,f[a>>2]=r,f[f[a+8>>2]+16>>2]?f[f[a+8>>2]+16>>2]!=f[a+4>>2]?(t=f[a+8>>2],f[t+36>>2]=f[t+36>>2]+1,f[f[a+8>>2]+24>>2]=2,n[f[a+8>>2]+54|0]=1):2==f[f[a+8>>2]+24>>2]&&(f[f[a+8>>2]+24>>2]=f[a>>2]):(f[f[a+8>>2]+16>>2]=f[a+4>>2],f[f[a+8>>2]+24>>2]=f[a>>2],f[f[a+8>>2]+36>>2]=1)}function aA(t,e,i,r){var n,a;Z=n=Z-32|0,f[n+28>>2]=t,f[n+24>>2]=e,f[n+20>>2]=i,f[n+16>>2]=r,t=f[n+28>>2],f[n+12>>2]=0,f[n+20>>2]&&(f[n+12>>2]=f[t+4>>2]>>8,1&f[t+4>>2]&&(f[n+8>>2]=f[f[n+20>>2]>>2],f[n+12>>2]=f[f[n+8>>2]+f[n+12>>2]>>2])),i=e=f[t>>2],r=f[n+24>>2],a=f[n+20>>2]+f[n+12>>2]|0,t=2&f[t+4>>2]?f[n+16>>2]:2,yt[f[f[e>>2]+28>>2]](i,r,a,t),Z=n+32|0}function oA(t,e,i,r,a){var o;f[(o=Z-32|0)+28>>2]=t,f[o+24>>2]=e,f[o+20>>2]=i,f[o+16>>2]=r,f[o+12>>2]=a,n[f[o+24>>2]+53|0]=1,f[o+16>>2]==f[f[o+24>>2]+4>>2]&&(n[f[o+24>>2]+52|0]=1,f[f[o+24>>2]+16>>2]?f[f[o+24>>2]+16>>2]!=f[o+20>>2]?(t=f[o+24>>2],f[t+36>>2]=f[t+36>>2]+1,n[f[o+24>>2]+54|0]=1):(2==f[f[o+24>>2]+24>>2]&&(f[f[o+24>>2]+24>>2]=f[o+12>>2]),1!=f[f[o+24>>2]+48>>2]|1!=f[f[o+24>>2]+24>>2]||(n[f[o+24>>2]+54|0]=1)):(f[f[o+24>>2]+16>>2]=f[o+20>>2],f[f[o+24>>2]+24>>2]=f[o+12>>2],f[f[o+24>>2]+36>>2]=1,1!=f[f[o+24>>2]+48>>2]|1!=f[f[o+24>>2]+24>>2]||(n[f[o+24>>2]+54|0]=1)))}function cA(t,e,i,r){var n;f[(n=Z-16|0)+12>>2]=t,f[n+8>>2]=e,f[n+4>>2]=i,f[n>>2]=r,f[n+4>>2]==f[f[n+8>>2]+4>>2]&&1!=f[f[n+8>>2]+28>>2]&&(f[f[n+8>>2]+28>>2]=f[n>>2])}function bA(t,e,i,r,a,o){var _;Z=_=Z-32|0,f[_+28>>2]=t,f[_+24>>2]=e,f[_+20>>2]=i,f[_+16>>2]=r,f[_+12>>2]=a,n[_+11|0]=o,t=f[_+28>>2],f[_+4>>2]=f[t+4>>2]>>8,1&f[t+4>>2]&&(f[_>>2]=f[f[_+16>>2]>>2],f[_+4>>2]=f[f[_>>2]+f[_+4>>2]>>2]),i=e=f[t>>2],r=f[_+24>>2],a=f[_+20>>2],o=f[_+16>>2]+f[_+4>>2]|0,t=2&f[t+4>>2]?f[_+12>>2]:2,yt[f[f[e>>2]+20>>2]](i,r,a,o,t,1&n[_+11|0]),Z=_+32|0}function lA(t,e,i,r,a){var o;Z=o=Z-32|0,f[o+28>>2]=t,f[o+24>>2]=e,f[o+20>>2]=i,f[o+16>>2]=r,n[o+15|0]=a,t=f[o+28>>2],f[o+8>>2]=f[t+4>>2]>>8,1&f[t+4>>2]&&(f[o+4>>2]=f[f[o+20>>2]>>2],f[o+8>>2]=f[f[o+4>>2]+f[o+8>>2]>>2]),i=e=f[t>>2],r=f[o+24>>2],a=f[o+20>>2]+f[o+8>>2]|0,t=2&f[t+4>>2]?f[o+16>>2]:2,yt[f[f[e>>2]+24>>2]](i,r,a,t,1&n[o+15|0]),Z=o+32|0}function uA(t,e){f[t>>2]=5748,f[t+4>>2]=f[e>>2]}function sA(t){return 0|(t|=0)}function kA(t){F()}function vA(t,e){uA(t,e),f[t>>2]=5776}function dA(t){return f[391]=f[391]+1,0|yt[f[740]](t,16)}function CA(t){t&&(f[392]=f[392]+1,yt[f[741]](t))}function gA(t,e,i,r){var n,o,_=v(0),h=v(0),d=v(0),g=v(0),y=v(0),p=0,R=0,D=v(0),B=0,E=v(0),F=0,V=v(0),G=v(0),w=0,Q=v(0),W=0;if(Z=n=Z-32|0,o=f[t>>2],f[t>>2]=o+1,1!=(0|(p=r-i|0))){if(W=function(t,e,i,r){var n,a,o=0,_=0,h=0,d=0,g=0,y=0,p=v(0),R=0,D=0,B=0,E=v(0),F=v(0),V=v(0),G=0,w=0,Q=0,W=0,Y=0,z=0,yt=0,pt=0;if(f[(_=(n=Z+-64|0)+24|0)>>2]=0,f[_+4>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,!(o=(0|i)<=(0|e))){for(y=i-e|0,_=24+(f[t+12>>2]+m(e,36)|0)|0;p=v(v(v(C[_+-4>>2]+C[_+-20>>2])*v(.5))+p),E=v(v(v(C[_+-8>>2]+C[_+-24>>2])*v(.5))+E),F=v(v(v(C[_>>2]+C[_+-16>>2])*v(.5))+F),_=_+36|0,y=y+-1|0;);C[n+24>>2]=F,C[n+20>>2]=p,C[n+16>>2]=E}if(a=i-e|0,V=v(v(1)/v(0|a)),C[n+24>>2]=V*F,C[n+20>>2]=V*p,C[n+16>>2]=V*E,_=e,!o)for(p=C[(r<<=2)+(n+16|0)>>2],y=m(e,36)+16|0,Y=r+n|0,R=n+48|0,r=a;f[n+12>>2]=0,d=(o=(g=f[t+12>>2])+y|0)+8|0,C[n+8>>2]=v(C[d>>2]+C[o+-8>>2])*v(.5),C[n+4>>2]=v(C[o+4>>2]+C[o+-12>>2])*v(.5),h=o+-16|0,C[n>>2]=v(C[o>>2]+C[h>>2])*v(.5),C[Y>>2]>p&&(z=f[h>>2],yt=f[h+4>>2],W=m(_,36),G=f[(g=g+W|0)+4>>2],f[h>>2]=f[g>>2],f[h+4>>2]=G,pt=f[o>>2],G=f[o+4>>2],w=f[(D=g+16|0)+4>>2],f[o>>2]=f[D>>2],f[o+4>>2]=w,D=f[d>>2],w=f[d+4>>2],Q=f[(B=g+24|0)+4>>2],f[d>>2]=f[B>>2],f[d+4>>2]=Q,d=f[(o=o+16|0)>>2],f[o>>2]=f[g+32>>2],B=f[(o=h+8|0)>>2],Q=f[o+4>>2],g=f[(h=g+8|0)+4>>2],f[o>>2]=f[h>>2],f[o+4>>2]=g,f[R>>2]=pt,f[R+4>>2]=G,f[(o=R+8|0)>>2]=D,f[o+4>>2]=w,f[(o=h=n+40|0)>>2]=B,f[o+4>>2]=Q,o=f[t+12>>2]+W|0,f[o+32>>2]=d,f[n+32>>2]=z,f[n+36>>2]=yt,d=f[n+36>>2],f[o>>2]=f[n+32>>2],f[o+4>>2]=d,d=f[h+4>>2],f[(g=o+8|0)>>2]=f[h>>2],f[g+4>>2]=d,h=f[R+4>>2],f[(d=o+16|0)>>2]=f[R>>2],f[d+4>>2]=h,d=f[(h=n+56|0)+4>>2],f[(o=o+24|0)>>2]=f[h>>2],f[o+4>>2]=d,_=_+1|0),y=y+36|0,r=r+-1|0;);return(0|_)<((-1^(t=(0|a)/3|0))+i|0)&&(0|_)>(t+e|0)||(_=(a>>1)+e|0),_}(e,i,r,function(t,e,i){var r,n=0,a=v(0),o=v(0),_=v(0),h=v(0),d=0,g=v(0),y=v(0),p=v(0),R=v(0);r=i-e|0;t:{e:{if((0|i)<=(0|e))_=v(0|r);else{for(n=24+(f[t+12>>2]+m(e,36)|0)|0,d=r;a=v(a+v(v(C[n+-4>>2]+C[n+-20>>2])*v(.5))),y=v(y+v(v(C[n+-8>>2]+C[n+-24>>2])*v(.5))),o=v(o+v(v(C[n>>2]+C[n+-16>>2])*v(.5))),n=n+36|0,d=d+-1|0;);if(_=v(0|r),(0|i)>(0|e))break e}o=v(0),a=v(0);break t}for(h=v(v(1)/_),p=v(h*o),R=v(h*a),y=v(h*y),d=i-e|0,n=24+(f[t+12>>2]+m(e,36)|0)|0,a=v(0),o=v(0),h=v(0);g=o,o=v(v(v(C[n+-4>>2]+C[n+-20>>2])*v(.5))-R),o=v(g+v(o*o)),g=h,h=v(v(v(C[n+-8>>2]+C[n+-24>>2])*v(.5))-y),h=v(g+v(h*h)),g=a,a=v(v(v(C[n>>2]+C[n+-16>>2])*v(.5))-p),a=v(g+v(a*a)),n=n+36|0,d=d+-1|0;);}return _=v(v(1)/v(_+v(-1))),o=v(_*o),a=v(_*a),(_=v(_*h))<o?o<a?2:1:(_<a)<<1}(e,i,r)),f[n+24>>2]=-8388609,f[n+16>>2]=-8388609,f[n+20>>2]=-8388609,f[n+8>>2]=2139095039,f[n>>2]=2139095039,f[n+4>>2]=2139095039,(0|r)<=(0|i))_=v(34028234663852886e22),h=v(-34028234663852886e22),y=v(-34028234663852886e22),g=v(-34028234663852886e22),E=v(34028234663852886e22),D=v(34028234663852886e22);else for(w=n+16|0,R=16+(f[e+12>>2]+m(i,36)|0)|0,_=v(34028234663852886e22),h=v(-34028234663852886e22),y=v(-34028234663852886e22),g=v(-34028234663852886e22),E=v(34028234663852886e22),D=v(34028234663852886e22);D=D>(d=C[(F=R+-16|0)>>2])?d:D,C[n>>2]=D,B=E>C[R+-12>>2]?F:n,E=C[B+4>>2],f[n+4>>2]=f[B+4>>2],F=_>C[R+-8>>2]?F:n,_=C[F+8>>2],f[n+8>>2]=f[F+8>>2],g=g<(d=C[R>>2])?d:g,C[n+16>>2]=g,F=y<C[R+4>>2]?R:w,y=C[F+4>>2],f[n+20>>2]=f[F+4>>2],F=h<C[R+8>>2]?R:w,h=C[F+8>>2],f[n+24>>2]=f[F+8>>2],R=R+36|0,p=p+-1|0;);p=R=(F=o<<4)+f[(w=t+16|0)>>2]|0,G=C[t+56>>2],V=C[t+40>>2],d=C[t+24>>2],B=(g=v(v(G*v((V<(g=g<d?d:g)?V:g)-d))+v(.5)))<v(4294967296)&g>=v(0)?~~g>>>0:0,a[p+6>>1]=B,p=R,B=(g=v(v(v((V<(g=D<d?d:D)?V:g)-d)*G)+v(.5)))<v(4294967296)&g>=v(0)?~~g>>>0:0,a[p>>1]=B,p=R+10|0,V=C[t- -64>>2],D=C[t+48>>2],g=C[t+32>>2],B=(h=v(v(V*v((D<(h=h<g?g:h)?D:h)-g))+v(.5)))<v(4294967296)&h>=v(0)?~~h>>>0:0,a[p>>1]=B,p=R+8|0,G=C[t+60>>2],d=C[t+44>>2],h=C[t+28>>2],B=(y=v(v(G*v((d<(y=y<h?h:y)?d:y)-h))+v(.5)))<v(4294967296)&y>=v(0)?~~y>>>0:0,a[p>>1]=B,p=R,B=(_=v(v(v((D<(_=_<g?g:_)?D:_)-g)*V)+v(.5)))<v(4294967296)&_>=v(0)?~~_>>>0:0,a[p+4>>1]=B,p=(_=v(v(v((d<(_=E<h?h:E)?d:_)-h)*G)+v(.5)))<v(4294967296)&_>=v(0)?~~_>>>0:0,a[R+2>>1]=p,gA(t,e,i,W),gA(t,e,W,r),f[12+(F+f[w>>2]|0)>>2]=o-f[t>>2]}else E=C[t+48>>2],_=C[t+32>>2],e=f[e+12>>2]+m(i,36)|0,h=(h=C[e+8>>2])<_?_:h,V=C[t- -64>>2],p=(h=v(v(v((E<h?E:h)-_)*V)+v(.5)))<v(4294967296)&h>=v(0)?~~h>>>0:0,d=C[e>>2],y=C[e+4>>2],i=f[t+16>>2]+(o<<4)|0,a[i+4>>1]=p,r=i,g=C[t+44>>2],y=y<(h=C[t+28>>2])?h:y,G=C[t+60>>2],R=(y=v(v(v((g<y?g:y)-h)*G)+v(.5)))<v(4294967296)&y>=v(0)?~~y>>>0:0,a[r+2>>1]=R,r=i,D=C[t+40>>2],d=d<(y=C[t+24>>2])?y:d,Q=C[t+56>>2],t=(d=v(v(v((D<d?D:d)-y)*Q)+v(.5)))<v(4294967296)&d>=v(0)?~~d>>>0:0,a[r>>1]=t,d=C[e+24>>2],p=(_=v(v(V*v((E<(d=d<_?_:d)?E:d)-_))+v(.5)))<v(4294967296)&_>=v(0)?~~_>>>0:0,_=C[e+16>>2],E=C[e+20>>2],a[i+10>>1]=p,t=i+8|0,r=(h=v(v(G*v((g<(E=E<h?h:E)?g:E)-h))+v(.5)))<v(4294967296)&h>=v(0)?~~h>>>0:0,a[t>>1]=r,t=i,r=(_=v(v(Q*v((D<(_=_<y?y:_)?D:_)-y))+v(.5)))<v(4294967296)&_>=v(0)?~~_>>>0:0,a[t+6>>1]=r,f[i+12>>2]=f[e+32>>2];Z=n+32|0}function _A(t,e,i){var r,a,o,d,g,m,y,p=v(0),R=v(0),D=v(0),B=v(0),E=0,F=0,V=v(0),G=0,w=0,Q=0,W=0,Y=0,Z=v(0),z=v(0),yt=0,pt=0,Dt=0;if(Z=C[t- -64>>2],D=C[t+48>>2],p=C[t+32>>2],R=C[e+24>>2],o=(R=v(v(Z*v((D<(R=R<p?p:R)?D:R)-p))+v(.5)))<v(4294967296)&R>=v(0)?~~R>>>0:0,z=C[t+60>>2],V=C[t+44>>2],R=C[t+28>>2],B=C[e+20>>2],d=(B=v(v(z*v((V<(B=B<R?R:B)?V:B)-R))+v(.5)))<v(4294967296)&B>=v(0)?~~B>>>0:0,B=C[e+8>>2],a=(p=v(v(v((D<(B=B<p?p:B)?D:B)-p)*Z)+v(.5)))<v(4294967296)&p>=v(0)?~~p>>>0:0,p=C[e+4>>2],g=(p=v(v(v((V<(p=p<R?R:p)?V:p)-R)*z)+v(.5)))<v(4294967296)&p>=v(0)?~~p>>>0:0,V=C[t+56>>2],R=C[t+40>>2],p=C[t+24>>2],D=C[e+16>>2],m=(D=v(v(V*v((R<(D=D<p?p:D)?R:D)-p))+v(.5)))<v(4294967296)&D>=v(0)?~~D>>>0:0,D=C[e>>2],y=(p=v(v(v((R<(D=D<p?p:D)?R:D)-p)*V)+v(.5)))<v(4294967296)&p>=v(0)?~~p>>>0:0,(0|(r=f[t>>2]))>=1)for(e=0;;){if(E=(yt=e<<4)+f[t+16>>2]|0,h[E+4>>1]<=o>>>0&&!(h[E>>1]>m>>>0|h[E+6>>1]<y>>>0|h[E+8>>1]<g>>>0|h[E+2>>1]>d>>>0)){if(pt=(0|(w=f[E+12>>2]))>-1,Dt=(E=h[E+10>>1])>>>0>=a>>>0,!((0|w)<0|E>>>0<a>>>0)){if((0|(F=f[i+4>>2]))==f[i+8>>2]&&!((0|F)>=(0|(G=F?F<<1:1)))){G?(E=dA(G<<2),F=f[i+4>>2]):E=0,Q=f[i+12>>2];t:{if((0|F)>=1)for(W=E,Y=Q;f[W>>2]=f[Y>>2],W=W+4|0,Y=Y+4|0,F=F+-1|0;);else if(!Q)break t;_[i+16|0]&&CA(Q),f[i+12>>2]=0,F=f[i+4>>2]}f[i+12>>2]=E,n[i+16|0]=1,f[i+8>>2]=G}f[f[i+12>>2]+(F<<2)>>2]=w,f[i+4>>2]=f[i+4>>2]+1}}else pt=f[E+12>>2]>-1,Dt=0;if(!((0|(e=pt||Dt?e+1|0:e-f[12+(f[t+16>>2]+yt|0)>>2]|0))<(0|r)))break}}function mA(t,e,i,r,a){var o;Z=o=Z-112|0,!f[t>>2]|!f[i>>2]||(function(t,e,i){var r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),Z=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0);E=C[e+52>>2],F=C[e+56>>2],V=C[i+52>>2],G=C[i+56>>2],_=C[e+20>>2],h=C[e+36>>2],r=C[i+20>>2],n=C[i+36>>2],a=C[i+24>>2],d=C[e+24>>2],w=C[i+40>>2],g=C[e+40>>2],Et=C[e+48>>2],Q=C[i+48>>2],m=C[e+4>>2],W=C[i+4>>2],Y=C[i+8>>2],p=C[e+8>>2],o=C[i+32>>2],R=C[e+32>>2],Z=C[i>>2],D=C[e>>2],z=C[i+16>>2],B=C[e+16>>2],f[t+60>>2]=0,f[t+44>>2]=0,f[t+28>>2]=0,f[t+12>>2]=0,yt=v(v(v(D*Z)+v(B*z))+v(R*o)),C[t+16>>2]=yt,pt=v(v(v(p*Y)+v(d*a))+v(g*w)),C[t+56>>2]=pt,Dt=v(v(v(p*W)+v(d*r))+v(g*n)),C[t+52>>2]=Dt,It=v(v(v(p*Z)+v(d*z))+v(g*o)),C[t+48>>2]=It,St=v(v(v(m*Y)+v(_*a))+v(h*w)),C[t+40>>2]=St,Tt=v(v(v(m*W)+v(_*r))+v(h*n)),C[t+36>>2]=Tt,o=v(v(v(m*Z)+v(_*z))+v(h*o)),C[t+32>>2]=o,a=v(v(v(D*Y)+v(B*a))+v(R*w)),C[t+24>>2]=a,n=v(v(v(D*W)+v(B*r))+v(R*n)),C[t+20>>2]=n,C[t+64>>2]=v(y(yt))+v(9.999999974752427e-7),r=v(-Et),C[t+8>>2]=v(v(v(p*r)-v(d*E))-v(g*F))+v(v(v(p*Q)+v(d*V))+v(g*G)),C[t+4>>2]=v(v(v(m*r)-v(_*E))-v(h*F))+v(v(v(m*Q)+v(_*V))+v(h*G)),C[t>>2]=v(v(v(D*r)-v(B*E))-v(R*F))+v(v(v(D*Q)+v(B*V))+v(R*G)),C[t+104>>2]=v(y(pt))+v(9.999999974752427e-7),C[t+100>>2]=v(y(Dt))+v(9.999999974752427e-7),C[t+96>>2]=v(y(It))+v(9.999999974752427e-7),C[t+88>>2]=v(y(St))+v(9.999999974752427e-7),C[t+84>>2]=v(y(Tt))+v(9.999999974752427e-7),C[t+80>>2]=v(y(o))+v(9.999999974752427e-7),C[t+72>>2]=v(y(a))+v(9.999999974752427e-7),C[t+68>>2]=v(y(n))+v(9.999999974752427e-7)}(o,e,r),function A(t,e,i,r,a,o,d){var g,m,p=0,R=0,D=0,B=0,E=0,F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0);Z=g=Z+-64|0,p=(B=a<<4)+f[t+16>>2]|0,D=h[p>>1],R=h[p+2>>1],E=h[p+4>>1],f[g+44>>2]=0,F=C[t- -64>>2],V=C[t+32>>2],C[g+40>>2]=v(v(E>>>0)/F)+V,G=C[t+60>>2],w=C[t+28>>2],C[g+36>>2]=v(v(R>>>0)/G)+w,Q=C[t+56>>2],W=C[t+24>>2],C[g+32>>2]=v(v(D>>>0)/Q)+W,D=h[p+6>>1],R=h[p+10>>1],p=h[p+8>>1],f[g+60>>2]=0,C[g+52>>2]=w+v(v(p>>>0)/G),C[g+56>>2]=V+v(v(R>>>0)/F),C[g+48>>2]=W+v(v(D>>>0)/Q),p=(D=o<<4)+f[e+16>>2]|0,R=h[p>>1],E=h[p+2>>1],m=h[p+4>>1],f[g+12>>2]=0,F=C[e- -64>>2],V=C[e+32>>2],C[g+8>>2]=v(v(m>>>0)/F)+V,G=C[e+60>>2],w=C[e+28>>2],C[g+4>>2]=v(v(E>>>0)/G)+w,Q=C[e+56>>2],W=C[e+24>>2],C[g>>2]=v(v(R>>>0)/Q)+W,R=h[p+6>>1],E=h[p+10>>1],p=h[p+8>>1],f[g+28>>2]=0,C[g+20>>2]=w+v(v(p>>>0)/G),C[g+24>>2]=V+v(v(E>>>0)/F),C[g+16>>2]=W+v(v(R>>>0)/Q);t:if(function(t,e,i,r){var n=v(0),a=v(0),o=v(0),f=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),Z=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0);e:{if(f=C[e+16>>2],a=v(v(f+C[e>>2])*v(.5)),Q=C[i+16>>2],_=C[e+20>>2],n=v(v(_+C[e+4>>2])*v(.5)),W=C[i+20>>2],h=C[e+24>>2],o=v(v(h+C[e+8>>2])*v(.5)),Y=C[i+24>>2],d=C[t+16>>2],g=v(v(d+C[t>>2])*v(.5)),p=v(v(C[i>>2]+v(v(v(a*Q)+v(n*W))+v(o*Y)))-g),d=v(d-g),f=v(f-a),D=C[i+64>>2],_=v(_-n),B=C[i+68>>2],h=v(h-o),E=C[i+72>>2],!(v(y(p))>v(d+v(v(v(f*D)+v(_*B))+v(h*E)))||(Z=C[i+32>>2],z=C[i+36>>2],yt=C[i+40>>2],m=C[t+20>>2],R=v(v(m+C[t+4>>2])*v(.5)),g=v(v(C[i+4>>2]+v(v(v(a*Z)+v(n*z))+v(o*yt)))-R),m=v(m-R),R=C[i+80>>2],F=C[i+84>>2],V=C[i+88>>2],v(y(g))>v(m+v(v(v(f*R)+v(_*F))+v(h*V)))||(pt=C[i+48>>2],Dt=C[i+52>>2],It=C[i+56>>2],a=v(C[i+8>>2]+v(v(v(a*pt)+v(n*Dt))+v(o*It))),n=C[t+24>>2],o=v(v(n+C[t+8>>2])*v(.5)),a=v(a-o),n=v(n-o),o=C[i+96>>2],G=C[i+100>>2],w=C[i+104>>2],v(y(a))>v(n+v(v(v(f*o)+v(_*G))+v(h*w)))|v(y(v(v(v(p*Q)+v(g*Z))+v(a*pt))))>v(f+v(v(v(d*D)+v(m*R))+v(n*o)))|v(y(v(v(v(p*W)+v(g*z))+v(a*Dt))))>v(_+v(v(v(d*B)+v(m*F))+v(n*G))))))){if(i=1^(t=v(y(v(v(v(p*Y)+v(g*yt))+v(a*It))))>v(h+v(v(v(d*E)+v(m*V))+v(n*w)))),!r|t)break e;if(!(!!(v(y(v(v(a*z)-v(g*Dt))))>v(v(v(v(m*G)+v(n*F))+v(f*E))+v(h*D)))|v(y(v(v(a*Z)-v(g*pt))))>v(v(v(v(m*o)+v(n*R))+v(_*E))+v(h*B))|v(y(v(v(a*yt)-v(g*It))))>v(v(v(v(m*w)+v(n*V))+v(f*B))+v(_*D))|v(y(v(v(p*pt)-v(a*Q))))>v(v(v(v(d*o)+v(n*D))+v(_*V))+v(h*F))||v(y(v(v(p*Dt)-v(a*W))))>v(v(v(v(d*G)+v(n*B))+v(f*V))+v(h*R))|v(y(v(v(p*It)-v(a*Y))))>v(v(v(v(d*w)+v(n*E))+v(f*F))+v(_*R))|v(y(v(v(g*Q)-v(p*Z))))>v(v(v(v(d*R)+v(m*D))+v(_*w))+v(h*G))|v(y(v(v(g*W)-v(p*z))))>v(v(v(v(d*F)+v(m*B))+v(f*w))+v(h*o)))){if(i=0,v(y(v(v(g*Y)-v(p*yt))))>v(v(v(v(d*V)+v(m*E))+v(f*G))+v(_*o)))break e;return 1}}i=0}return i}(g+32|0,g,r,d))if(p=f[12+(f[e+16>>2]+D|0)>>2],D=f[12+(f[t+16>>2]+B|0)>>2],(0|D)>=0){if((0|p)>=0){if((0|(r=f[i+4>>2]))==f[i+8>>2]&&!((0|r)>=(0|(B=r?r<<1:1)))){B?(a=dA(B<<3),r=f[i+4>>2]):a=0,o=f[i+12>>2];e:{if((0|r)>=1)for(e=o,t=a,d=r;R=f[e+4>>2],f[t>>2]=f[e>>2],f[t+4>>2]=R,e=e+8|0,t=t+8|0,d=d+-1|0;);else if(!o)break e;_[i+16|0]&&(CA(o),r=f[i+4>>2]),f[i+12>>2]=0}f[i+12>>2]=a,n[i+16|0]=1,f[i+8>>2]=B}f[i+4>>2]=r+1,t=f[i+12>>2]+(r<<3)|0,f[t+4>>2]=p,f[t>>2]=D;break t}A(t,e,i,r,a,d=o+1|0,0),A(R=t,e,i,r,a,(0|(t=f[12+(f[e+16>>2]+(d<<4)|0)>>2]))>-1?o+2|0:d-t|0,0)}else d=a+1|0,(0|p)>=0?(A(t,e,i,r,d,o,0),R=t,t=f[12+(f[t+16>>2]+(d<<4)|0)>>2],A(R,e,i,r,(0|t)>-1?a+2|0:d-t|0,o,0)):(p=o+1|0,A(t,e,i,r,d,p,0),o=o+2|0,B=p<<4,D=f[12+(B+f[e+16>>2]|0)>>2],A(t,e,i,r,d,(0|D)>-1?o:p-D|0,0),a=a+2|0,D=d<<4,R=f[12+(D+f[t+16>>2]|0)>>2],A(t,e,i,r,(0|R)>-1?a:d-R|0,p,0),R=t,t=f[12+(D+f[t+16>>2]|0)>>2],a=(0|t)>-1?a:d-t|0,t=f[12+(B+f[e+16>>2]|0)>>2],A(R,e,i,r,a,(0|t)>-1?o:p-t|0,0));Z=g- -64|0}(t,i,a,o,0,0,1)),Z=o+112|0}function RA(t,e,i,r,n,a){var o=v(0),_=v(0),h=v(0),d=v(0),g=0,m=0,y=0,p=0,R=0,D=v(0),B=v(0),F=v(0),V=v(0),G=v(0);yt[f[f[t>>2]+8>>2]](t,e,n,a),o=C[i+8>>2],_=C[i+4>>2],d=C[n+8>>2],e=f[n+8>>2],D=C[n+4>>2],g=f[n+4>>2],B=C[n>>2],m=f[n>>2],F=C[a+8>>2],y=f[a+8>>2],V=C[a+4>>2],p=f[a+4>>2],G=C[a>>2],R=f[a>>2],(h=C[i>>2])>v(0)?(s(v(h+G)),R=c(0)):(s(v(h+B)),m=c(0)),_>v(0)?(s(v(_+V)),p=c(0)):(s(v(_+D)),g=c(0)),o>v(0)?(s(v(o+F)),y=c(0)):(s(v(o+d)),e=c(0)),o=C[r+8>>2],_=C[r>>2],h=C[r+4>>2],d=v(yt[f[f[t>>2]+16>>2]](t)),f[n+12>>2]=0,f[n+8>>2]=e,f[n+4>>2]=g,f[n>>2]=m,f[a+12>>2]=0,f[a+8>>2]=y,f[a+4>>2]=p,f[a>>2]=R,o=v(d*v(E(v(v(v(_*_)+v(h*h))+v(o*o))))),C[n>>2]=C[n>>2]-o,C[n+4>>2]=C[n+4>>2]-o,C[n+8>>2]=C[n+8>>2]-o,C[a>>2]=o+C[a>>2],C[a+4>>2]=o+C[a+4>>2],C[a+8>>2]=o+C[a+8>>2]}function QA(t,e,i){var r,n;return t|=0,e|=0,r=0|yt[f[f[(i|=0)>>2]+40>>2]](i,t),n=0|yt[f[f[i>>2]+28>>2]](i,r),f[e>>2]=n,n&&yt[f[f[i>>2]+48>>2]](i,r),t=f[t+4>>2],f[e+8>>2]=0,f[e+4>>2]=t,5872}function hA(t,e,i){t|=0,e|=0,i|=0;var r,n=v(0),a=0,o=v(0),_=v(0),h=0,d=v(0),g=0,m=v(0),y=v(0),p=0,R=v(0),D=v(0),B=0;Z=r=Z-48|0;t:{e:if(a=f[e+4>>2],!(a>>>0>13)){switch(a-1|0){case 7:f[t>>2]=0,f[t+4>>2]=0,f[(t=t+8|0)>>2]=0,f[t+4>>2]=0;break t;default:f[t+12>>2]=0,n=C[e+32>>2],C[t>>2]=C[i>>2]>=v(0)?n:v(-n),n=C[e+40>>2],C[t+8>>2]=C[i+8>>2]>=v(0)?n:v(-n),n=C[e+36>>2],C[t+4>>2]=C[i+4>>2]>=v(0)?n:v(-n);break t;case 0:f[t+12>>2]=0,n=C[i>>2],_=C[i+4>>2],o=C[i+8>>2],d=v(v(v(n*C[e+76>>2])+v(_*C[e+80>>2]))+v(o*C[e+84>>2])),m=v(v(v(n*C[e+92>>2])+v(_*C[e+96>>2]))+v(o*C[e+100>>2])),e=(((n=v(v(v(n*C[(i=e+60|0)>>2])+v(_*C[e- -64>>2]))+v(o*C[e+68>>2])))<d?d<m?2:1:(n<m)<<1)<<4)+i|0,f[t+8>>2]=f[e+8>>2],i=f[e+4>>2],f[t>>2]=f[e>>2],f[t+4>>2]=i;break t;case 12:g=f[(h=e+40|0)+4>>2],f[(a=r+40|0)>>2]=f[h>>2],f[a+4>>2]=g,a=f[e+36>>2],f[r+32>>2]=f[e+32>>2],f[r+36>>2]=a,a=0,f[r+28>>2]=0,f[r+16>>2]=f[i>>2],_=C[i+4>>2],f[r+20>>2]=f[i+4>>2],n=C[i+8>>2],f[r+24>>2]=f[i+8>>2],i=1,g=2,(e=(h=f[e+56>>2])+-1|0)>>>0>1||(e-1?(i=0,a=1,g=2):(n=_,i=0,a=2,g=1)),e=g,_=C[(r+32|0)+(h<<2)>>2],d=C[((h=i<<2)|r+32)>>2],m=C[(h|r+16)>>2],(y=v(E(v(v(m*m)+v(n*n)))))==v(0)?(C[(i<<2|r)>>2]=d,C[(i=a<<2)+r>>2]=C[i+(r+16|0)>>2]<v(0)?v(-_):_):(o=v(d/y),C[(i<<2|r)>>2]=m*o,C[(i=a<<2)+r>>2]=C[i+(r+16|0)>>2]<v(0)?v(-_):_,o=v(n*o)),C[(e<<2)+r>>2]=o,f[t+12>>2]=0,f[t>>2]=f[r>>2],e=f[r+8>>2],f[t+4>>2]=f[r+4>>2],f[t+8>>2]=e;break t;case 9:h=e,B=f[e+56>>2],y=C[32+(h+(e=B<<2)|0)>>2],n=C[i>>2],_=C[i+4>>2],o=C[i+8>>2],(d=v(v(v(n*n)+v(_*_))+v(o*o)))<v(14210854715202004e-30)?(d=v(0),o=v(1)):(m=o,o=v(v(1)/v(E(d))),m=v(m*o),d=v(_*o),o=v(n*o)),f[r+40>>2]=0,f[r+44>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,C[e+(r+32|0)>>2]=y,n=v(-0xde0b6b000000000),e=0,i=0,a=0,h=f[r+32>>2],g=f[r+36>>2],p=f[r+40>>2],(_=v(v(v(o*C[r+32>>2])+v(d*C[r+36>>2]))+v(m*C[r+40>>2])))>v(-0xde0b6b000000000)&&(a=p,i=g,n=_,e=h),f[r+40>>2]=0,f[r+44>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,C[(r+32|0)+(B<<2)>>2]=-y,h=f[r+32>>2],g=f[r+36>>2],p=f[r+40>>2],v(v(v(o*C[r+32>>2])+v(d*C[r+36>>2]))+v(m*C[r+40>>2]))>n&&(a=p,i=g,e=h),f[t+12>>2]=0,f[t+8>>2]=a,f[t+4>>2]=i,f[t>>2]=e;break t;case 4:if(_=C[e+24>>2],o=C[e+20>>2],d=C[e+16>>2],h=f[e+96>>2],(0|(p=f[e+100>>2]))<1)a=-1;else for(m=v(C[i+8>>2]*_),y=v(C[i+4>>2]*o),D=v(C[i>>2]*d),i=0,a=-1,n=v(-34028234663852886e22),e=h;n=(g=(R=v(v(v(D*C[e>>2])+v(y*C[e+4>>2]))+v(m*C[e+8>>2])))>n)?R:n,a=g?i:a,e=e+16|0,(0|p)!=(0|(i=i+1|0)););f[t+12>>2]=0,e=h+(a<<4)|0,C[t+8>>2]=_*C[e+8>>2],C[t+4>>2]=o*C[e+4>>2],C[t>>2]=d*C[e>>2];break t;case 1:case 2:case 5:case 6:case 8:case 10:case 11:break e;case 3:}if(_=C[e+24>>2],o=C[e+20>>2],d=C[e+16>>2],h=f[e+108>>2],(0|(p=f[e+100>>2]))<1)a=-1;else for(m=v(C[i+8>>2]*_),y=v(C[i+4>>2]*o),D=v(C[i>>2]*d),i=0,a=-1,n=v(-34028234663852886e22),e=h;n=(g=(R=v(v(v(D*C[e>>2])+v(y*C[e+4>>2]))+v(m*C[e+8>>2])))>n)?R:n,a=g?i:a,e=e+16|0,(0|p)!=(0|(i=i+1|0)););f[t+12>>2]=0,e=h+(a<<4)|0,C[t+8>>2]=_*C[e+8>>2],C[t+4>>2]=o*C[e+4>>2],C[t>>2]=d*C[e>>2];break t}yt[f[f[e>>2]+68>>2]](t,e,i)}Z=r+48|0}function GA(t){var e=0;t:if(e=f[t+4>>2],!(e>>>0>13)){switch(e-2|0){case 6:return v(C[t+32>>2]*C[t+16>>2]);case 0:case 1:case 4:case 5:case 7:case 10:break t}return C[t+48>>2]}return v(yt[f[f[t>>2]+48>>2]](t))}function yA(t){return 12}function pA(t){CA(t|=0)}function FA(t,e){var i;e|=0,f[(t|=0)>>2]=0,f[t+4>>2]=0,f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,f[(f[e+56>>2]<<2)+t>>2]=1065353216}function WA(t,e){e=v(e)}function wA(t){return 60}function DA(t){var e;f[t+12>>2]=-1,f[t+4>>2]=35,f[t+8>>2]=0,f[t>>2]=5928,f[t+48>>2]=1025758986,f[(e=t+24|0)>>2]=1065353216,f[e+4>>2]=0,f[t+16>>2]=1065353216,f[t+20>>2]=1065353216,f[t>>2]=6924}function EA(t,e){t|=0,e|=0;var i=v(0),r=v(0),n=v(0);i=C[e>>2],r=C[e+4>>2],n=C[e+8>>2],f[t+28>>2]=0,C[t+24>>2]=y(n),C[t+20>>2]=y(r),C[t+16>>2]=y(i)}function ZA(t){var e=0,i=0,r=0,a=0,o=0,h=0;if(f[(t|=0)>>2]=7060,(e=f[t+56>>2])&&(_[t+60|0]&&CA(e),f[t+56>>2]=0),f[t+56>>2]=0,f[t+48>>2]=0,f[t+52>>2]=0,n[t+60|0]=1,(0|(i=f[t+28>>2]))>=1)for(r=8;h=(e=f[t+36>>2]+r|0)+-4|0,(o=f[(a=e+4|0)>>2])&&(_[e+8|0]&&CA(o),f[a>>2]=0),f[h>>2]=0,f[a>>2]=0,f[e>>2]=0,n[e+8|0]=1,r=r+36|0,i=i+-1|0;);return(e=f[t+36>>2])&&(_[t+40|0]&&CA(e),f[t+36>>2]=0),f[t+36>>2]=0,f[t+28>>2]=0,f[t+32>>2]=0,n[t+40|0]=1,(e=f[t+16>>2])&&(_[t+20|0]&&CA(e),f[t+16>>2]=0),f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,n[t+20|0]=1,0|t}function YA(t){var e,i,r=v(0),n=v(0),a=v(0),o=0,_=0,h=0,d=0;for(i=(0|(e=f[t+28>>2]))<1;;){t:if(!(_>>>0>7)){switch(_-1|0){default:r=v(C[t+88>>2]+C[t+72>>2]),n=v(C[t+84>>2]+C[t+68>>2]),a=v(C[t+80>>2]+C[t+64>>2]);break t;case 0:r=v(C[t+72>>2]-C[t+88>>2]),n=v(C[t+84>>2]+C[t+68>>2]),a=v(C[t+80>>2]+C[t+64>>2]);break t;case 1:r=v(C[t+88>>2]+C[t+72>>2]),n=v(C[t+68>>2]-C[t+84>>2]),a=v(C[t+80>>2]+C[t+64>>2]);break t;case 2:r=v(C[t+72>>2]-C[t+88>>2]),n=v(C[t+68>>2]-C[t+84>>2]),a=v(C[t+80>>2]+C[t+64>>2]);break t;case 3:r=v(C[t+88>>2]+C[t+72>>2]),n=v(C[t+84>>2]+C[t+68>>2]),a=v(C[t+64>>2]-C[t+80>>2]);break t;case 4:r=v(C[t+72>>2]-C[t+88>>2]),n=v(C[t+84>>2]+C[t+68>>2]),a=v(C[t+64>>2]-C[t+80>>2]);break t;case 5:r=v(C[t+88>>2]+C[t+72>>2]),n=v(C[t+68>>2]-C[t+84>>2]),a=v(C[t+64>>2]-C[t+80>>2]);break t;case 6:}r=v(C[t+72>>2]-C[t+88>>2]),n=v(C[t+68>>2]-C[t+84>>2]),a=v(C[t+64>>2]-C[t+80>>2])}t:{if(!i)for(o=f[t+36>>2]+20|0,d=0,h=0;;){if(v(C[o+12>>2]+v(v(v(a*C[o>>2])+v(n*C[o+4>>2]))+v(r*C[o+8>>2])))>v(0))break t;if(o=o+36|0,!((0|(h=h+1|0))<(0|e)))break}if(d=1,8!=(0|(_=_+1|0)))continue}break}return d}function VA(t){var e,i=0,r=v(0),o=0,g=0,p=v(0),R=0,D=v(0),B=0,F=v(0),V=0,G=0,w=v(0),Q=v(0),W=0,Y=0,z=0,yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=0,Tt=0,Et=0,Ot=0,Nt=0,Ft=0,Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0);if(Z=e=Z-96|0,f[t+64>>2]=0,f[t+68>>2]=0,n[e+52|0]=1,f[e+48>>2]=0,n[e+72|0]=1,f[(i=e+40|0)>>2]=0,f[i+4>>2]=0,f[e+68>>2]=0,n[e+92|0]=1,f[(i=e+60|0)>>2]=0,f[i+4>>2]=0,f[e+88>>2]=0,f[(i=e+80|0)>>2]=0,f[i+4>>2]=0,f[(i=t+72|0)>>2]=0,f[i+4>>2]=0,f[e+28>>2]=0,n[e+32|0]=1,f[e+20>>2]=0,f[e+24>>2]=0,!((0|(W=f[t+28>>2]))<1)){for(;;){if(o=f[t+36>>2],St=m(z,36),(0|(Tt=f[4+(o+St|0)>>2]))>=1){for(Nt=0;;){i=f[12+(o+St|0)>>2],B=f[i+(Nt<<2)>>2],a[e+8>>1]=B,g=f[i+(((W=(0|Tt)==(0|(Nt=Nt+1|0)))?0:Nt)<<2)>>2],a[e+10>>1]=g,Ft=0,(0|(i=g<<16>>16))>(0|(R=B<<16>>16))&&(a[e+10>>1]=B,a[e+8>>1]=g,R=g,i=B);t:if(!((g=(Et=i<<16)+(G=R<<16>>16)&f[e+64>>2]+-1)>>>0>=d[e+20>>2])&&(o=f[f[e+28>>2]+(g<<2)>>2],-1!=(0|o))){for(V=f[e+48>>2],B=f[e+88>>2];;){if(h[(g=(Ot=o<<2)+B|0)+2>>1]!=(65535&i)||h[g>>1]!=(65535&R)){if(-1!=(0|(o=f[V+Ot>>2])))continue;break t}break}Ft=Ot+f[e+68>>2]|0}g=(i=f[t+16>>2])+(Et>>16<<4)|0,i=i+(G<<4)|0,F=r=v(C[g+8>>2]-C[i+8>>2]),p=v(C[g>>2]-C[i>>2]),D=v(C[g+4>>2]-C[i+4>>2]),r=v(v(1)/v(E(v(v(v(p*p)+v(D*D))+v(r*r))))),F=v(F*r),w=v(D*r),Q=v(p*r);t:{if((0|(R=f[t+48>>2]))>=1)for(o=f[t+56>>2],Y=0;;){if(p=C[o+8>>2],r=C[o>>2],D=C[o+4>>2],(+v(y(v(p-F)))>1e-6^1?!(+v(y(v(r-Q)))>1e-6|+v(y(v(D-w)))>1e-6):0)|(+v(y(v(F+p)))>1e-6^1?!(+v(y(v(Q+r)))>1e-6|+v(y(v(w+D)))>1e-6):0))break t;if(o=o+16|0,!((0|(Y=Y+1|0))<(0|R)))break}if(f[t+52>>2]==(0|R)&&!((0|R)>=(0|(V=R?R<<1:1)))){if(V?(G=dA(V<<4),R=f[t+48>>2]):G=0,(0|R)>=1)for(o=0;g=f[t+56>>2]+o|0,i=f[g+4>>2],f[(B=o+G|0)>>2]=f[g>>2],f[B+4>>2]=i,i=f[(g=g+8|0)+4>>2],f[(B=B+8|0)>>2]=f[g>>2],f[B+4>>2]=i,o=o+16|0,R=R+-1|0;);(i=f[t+56>>2])&&(_[t+60|0]&&CA(i),f[t+56>>2]=0),f[t+56>>2]=G,n[t+60|0]=1,f[t+52>>2]=V,R=f[t+48>>2]}i=f[t+56>>2]+(R<<4)|0,f[i+12>>2]=0,C[i+8>>2]=F,C[i+4>>2]=w,C[i>>2]=Q,f[t+48>>2]=f[t+48>>2]+1}if(Ft?a[Ft+2>>1]=z:(a[e>>1]=z,a[e+2>>1]=65535,NA(e+16|0,e+8|0,e)),W)break;o=f[t+36>>2]}W=f[t+28>>2]}if(!((0|(z=z+1|0))<(0|W)))break}if(Ot=0,!((0|W)<1))for(Ot=(0|W)>0,St=f[t+16>>2],B=f[t+36>>2],z=0;;){if(i=B+m(z,36)|0,(0|(Tt=f[i+4>>2]))>=3)for(o=(Et=f[i+12>>2])+4|0,g=(G=St+(f[Et>>2]<<4)|0)+8|0,i=G+4|0,yt=C[t+72>>2],pt=C[t+68>>2],Dt=C[t+64>>2],Y=2;V=St+(f[o>>2]<<4)|0,wt=C[V+8>>2],R=St+(f[Et+((0|Y)%(0|Tt)<<2)>>2]<<4)|0,xt=C[R+8>>2],Vt=C[G>>2],Qt=C[V>>2],Wt=v(Vt-Qt),Gt=C[i>>2],Yt=C[R+4>>2],F=v(Gt-Yt),w=C[V+4>>2],r=v(Gt-w),Q=C[R>>2],p=v(Vt-Q),Pt=v(v(Wt*F)-v(r*p)),Lt=C[g>>2],D=v(Lt-xt),Mt=v(r*D),r=v(Lt-wt),F=v(Mt-v(r*F)),r=v(v(r*p)-v(Wt*D)),r=v(v(E(v(v(Pt*Pt)+v(v(F*F)+v(r*r)))))*v(.5)),yt=v(yt+v(v(v(v(Lt+wt)+xt)*v(.3333333432674408))*r)),C[t+72>>2]=yt,pt=v(pt+v(v(v(Yt+v(Gt+w))*v(.3333333432674408))*r)),C[t+68>>2]=pt,Dt=v(Dt+v(v(v(Q+v(Vt+Qt))*v(.3333333432674408))*r)),C[t+64>>2]=Dt,It=v(It+r),o=o+4|0,(0|Tt)!=(0|(Y=Y+1|0)););if((0|(z=z+1|0))==(0|W))break}}if(f[t+96>>2]=2139095039,r=v(v(1)/It),F=v(r*C[t+64>>2]),C[t+64>>2]=F,w=v(r*C[t+68>>2]),C[t+68>>2]=w,Q=v(r*C[t+72>>2]),C[t+72>>2]=Q,p=v(34028234663852886e22),D=v(34028234663852886e22),Ot)for(o=f[t+36>>2]+20|0;(r=v(y(v(C[o+12>>2]+v(v(v(F*C[o>>2])+v(w*C[o+4>>2]))+v(Q*C[o+8>>2]))))))<D&&(C[t+96>>2]=r,D=r),o=o+36|0,W=W+-1|0;);if((0|(i=f[t+8>>2]))<1)F=v(-34028234663852886e22),yt=v(34028234663852886e22),pt=v(-34028234663852886e22),Dt=v(-34028234663852886e22),It=v(34028234663852886e22);else for(o=f[t+16>>2],Dt=v(-34028234663852886e22),Y=0,It=v(34028234663852886e22),pt=v(-34028234663852886e22),F=v(-34028234663852886e22),yt=v(34028234663852886e22);Dt=(r=C[o+8>>2])>Dt?r:Dt,yt=r<yt?r:yt,pt=(r=C[o+4>>2])>pt?r:pt,p=r<p?r:p,F=(r=C[o>>2])>F?r:F,It=r<It?r:It,o=o+16|0,(0|(Y=Y+1|0))<(0|i););f[t+128>>2]=0,w=v(Dt-yt),C[t+124>>2]=w,Q=v(pt-p),C[t+120>>2]=Q,r=v(F-It),C[t+116>>2]=r,f[t+112>>2]=0,C[t+108>>2]=yt+Dt,C[t+104>>2]=p+pt,C[t+100>>2]=F+It,r=C[(i=(g=r<Q?Q<w?2:1:(r<w)<<1)<<2)+(t+116|0)>>2],p=v(D/v(1.7320507764816284)),C[t+88>>2]=p,C[t+80>>2]=p,C[t+84>>2]=p,i=i+(t+80|0)|0,D=v(r*v(.5)),C[i>>2]=D,r=v(v(D-p)*v(.0009765625)),o=1024;t:{e:{for(;;){if(YA(t))break e;if(D=v(D-r),C[i>>2]=D,!(o=o+-1|0))break}C[t+84>>2]=p,C[t+88>>2]=p,C[t+80>>2]=p;break t}if(G=f[(V=(i=t+80|0)+((1<<(g=1<<g&3)&3)<<2)|0)>>2],g=f[(i=B=i+(g<<2)|0)>>2],D=v(v(C[t+96>>2]-p)*v(.0009765625)),C[i>>2]=D+C[i>>2],p=v(D+C[V>>2]),C[V>>2]=p,YA(t)){for(R=1024;;){if(r=p,!(R=R+-1|0))break t;if(g=f[B>>2],C[B>>2]=D+C[B>>2],p=v(D+C[V>>2]),C[V>>2]=p,!YA(t))break}s(r),G=c(0)}f[B>>2]=g,f[V>>2]=G}(t=f[e+88>>2])&&(_[e+92|0]&&CA(t),f[e+88>>2]=0),f[e+88>>2]=0,n[e+92|0]=1,f[e+80>>2]=0,f[e+84>>2]=0,(t=f[e+68>>2])&&(_[e+72|0]&&CA(t),f[e+68>>2]=0),f[e+68>>2]=0,n[e+72|0]=1,f[e+60>>2]=0,f[e+64>>2]=0,(t=f[e+48>>2])&&(_[e+52|0]&&CA(t),f[e+48>>2]=0),f[e+48>>2]=0,n[e+52|0]=1,f[e+40>>2]=0,f[e+44>>2]=0,(t=f[e+28>>2])&&(_[e+32|0]&&CA(t),f[e+28>>2]=0),Z=e+96|0}function NA(t,e,i){var r=0,o=0,C=0,g=0,m=0,v=0,y=0,p=0,R=0;t:{if(!((R=(C=a[e>>1])+((o=h[e+2>>1])<<16)&(y=f[t+48>>2])+-1)>>>0>=d[t+4>>2])&&-1!=(0|(r=f[f[t+12>>2]+(R<<2)>>2])))for(m=f[t+72>>2],C&=65535;;){if(h[(g=(v=r<<2)+m|0)+2>>1]==(0|o)&&h[g>>1]==(0|C))break t;if(-1==(0|(r=f[v+f[t+32>>2]>>2])))break}if((0|(r=v=f[t+44>>2]))==(0|y)&&!((0|(r=y))>=(0|(m=r?r<<1:1)))){if(m?(C=dA(m<<2),r=f[t+44>>2]):(C=0,r=y),(0|(o=r))>=1)for(r=0;g=r+C|0,p=f[t+52>>2]+r|0,p=h[p>>1]|h[p+2>>1]<<16,a[g>>1]=p,a[g+2>>1]=p>>>16,r=r+4|0,o=o+-1|0;);(r=f[t+52>>2])&&(_[t+56|0]&&CA(r),f[t+52>>2]=0),f[t+52>>2]=C,f[t+48>>2]=m,n[t+56|0]=1,r=f[t+44>>2]}if(r=f[t+52>>2]+(r<<2)|0,i=h[i>>1]|h[i+2>>1]<<16,a[r>>1]=i,a[r+2>>1]=i>>>16,f[t+44>>2]=f[t+44>>2]+1,(0|(o=f[t- -64>>2]))==f[t+68>>2]&&!((0|o)>=(0|(i=o?o<<1:1)))){if(i?(C=dA(i<<2),o=f[t+64>>2]):C=0,(0|o)>=1)for(r=0;m=r+C|0,g=f[t+72>>2]+r|0,g=h[g>>1]|h[g+2>>1]<<16,a[m>>1]=g,a[m+2>>1]=g>>>16,r=r+4|0,o=o+-1|0;);(r=f[t+72>>2])&&(_[t+76|0]&&CA(r),f[t+72>>2]=0),f[t+72>>2]=C,f[t+68>>2]=i,n[t+76|0]=1,o=f[t+64>>2]}return i=f[t+72>>2]+(o<<2)|0,r=h[e>>1]|h[e+2>>1]<<16,a[i>>1]=r,a[i+2>>1]=r>>>16,f[t+64>>2]=f[t+64>>2]+1,(0|y)<f[t+48>>2]&&(function(t){var e,i,r=0,o=0,d=0,C=0,g=0,m=0,v=0;if(!((0|(i=f[t+4>>2]))>=(0|(e=f[t+48>>2])))){if(f[t+8>>2]>=(0|e))d=f[t+12>>2];else{e?(d=dA(e<<2),o=f[t+4>>2]):o=i,g=f[t+12>>2];e:{if((0|o)>=1)for(C=d,r=g;f[C>>2]=f[r>>2],C=C+4|0,r=r+4|0,o=o+-1|0;);else if(!g)break e;_[t+16|0]&&CA(g)}f[t+12>>2]=d,n[t+16|0]=1,f[t+8>>2]=e}if(X((r=i<<2)+d|0,0,(m=e<<2)-r|0),f[t+4>>2]=e,(0|(v=f[t+24>>2]))<(0|e)){e:if(f[t+28>>2]>=(0|e))d=f[t+32>>2];else{if(e?(d=dA(m),o=f[t+24>>2]):(d=0,o=v),g=f[t+32>>2],(0|o)>=1)for(C=d,r=g;f[C>>2]=f[r>>2],C=C+4|0,r=r+4|0,o=o+-1|0;);else if(!g){f[t+32>>2]=d,f[t+28>>2]=e,n[t+36|0]=1;break e}_[t+36|0]&&CA(g),f[t+32>>2]=d,n[t+36|0]=1,f[t+28>>2]=e}X((r=v<<2)+d|0,0,m-r|0)}if(f[t+24>>2]=e,(0|e)>=1&&(X(f[t+12>>2],255,m),X(f[t+32>>2],255,m)),!((0|i)<1))for(r=f[t+32>>2],C=f[t+72>>2],g=f[t+12>>2],o=0;d=g+((a[C>>1]+(h[C+2>>1]<<16)&f[t+48>>2]+-1)<<2)|0,f[r>>2]=f[d>>2],f[d>>2]=o,C=C+4|0,r=r+4|0,(0|(o=o+1|0))!=(0|i););}}(t),R=a[e>>1]+(h[e+2>>1]<<16)&f[t+48>>2]+-1),e=f[t+32>>2]+(v<<2)|0,t=f[t+12>>2]+(R<<2)|0,f[e>>2]=f[t>>2],void(f[t>>2]=v)}t=f[t+52>>2]+(r<<2)|0,e=h[i>>1]|h[i+2>>1]<<16,a[t>>1]=e,a[t+2>>1]=e>>>16}function IA(t,e,i,r,n,a,o){var _=v(0),h=0,d=v(0),g=0,m=0,y=v(0),p=v(0),R=v(0);if(f[r>>2]=2139095039,h=-8388609,f[n>>2]=-8388609,g=f[t+8>>2],_=v(-34028234663852886e22),!((0|g)<1)){for(h=4;m=f[t+16>>2]+h|0,_=C[m+-4>>2],d=C[m>>2],y=C[m+4>>2],p=v(v(v(v(_*C[e>>2])+v(d*C[e+4>>2]))+v(y*C[e+8>>2]))+C[e+48>>2]),R=v(v(v(v(_*C[e+16>>2])+v(d*C[e+20>>2]))+v(y*C[e+24>>2]))+C[e+52>>2]),d=v(v(v(v(_*C[e+32>>2])+v(d*C[e+36>>2]))+v(y*C[e+40>>2]))+C[e+56>>2]),(_=v(v(v(p*C[i>>2])+v(R*C[i+4>>2]))+v(d*C[i+8>>2])))<C[r>>2]&&(C[r>>2]=_,f[a+12>>2]=0,C[a+8>>2]=d,C[a+4>>2]=R,C[a>>2]=p),_>C[n>>2]&&(C[n>>2]=_,f[o+12>>2]=0,C[o+8>>2]=d,C[o+4>>2]=R,C[o>>2]=p),h=h+16|0,g=g+-1|0;);h=f[n>>2],_=C[n>>2]}(d=C[r>>2])>_&&(f[r>>2]=h,C[n>>2]=d,i=f[(t=a+8|0)>>2],r=f[t+4>>2],h=f[(e=o+8|0)+4>>2],f[t>>2]=f[e>>2],f[t+4>>2]=h,t=f[a>>2],n=f[a+4>>2],h=f[o+4>>2],f[a>>2]=f[o>>2],f[a+4>>2]=h,f[o>>2]=t,f[o+4>>2]=n,f[e>>2]=i,f[e+4>>2]=r)}function JA(t,e){var i,r,n=0,a=0,o=0,_=0,h=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0,D=0;return(0|(i=f[t+16>>2]))!=(0|(a=f[e+16>>2]))?i-a|0:i?(R=-1,h=f[t+4>>2],d=f[e+8>>2],v=_t(C=f[e+12>>2],0,p=f[t>>2],0),g=z,C=_t(C,o,h,0),a=z+_|0,_=n=C+g|0,n=n>>>0<C>>>0?a+1|0:a,h=_t(d,C=0,h,o),(o=(a=_)+(_=z)|0)>>>0<_>>>0&&(n=n+1|0),a=o,_=n,o=0,(n=h+v|0)>>>0<h>>>0&&(o=o+1|0),v=o,o=o+a|0,a=_,a=o>>>0<v>>>0?a+1|0:a,_=o,o=n,v=0,d=_t(d,C,p,D),n=z+n|0,n=(h=v+d|0)>>>0<d>>>0?n+1|0:n,r=h,d=h,h=n,(n=_+(o=(0|o)==(0|n)&d>>>0<v>>>0|n>>>0<o>>>0)|0)>>>0<o>>>0&&(a=a+1|0),v=n,d=a,C=n,p=a,o=f[t+8>>2],t=f[t+12>>2],n=f[e>>2],D=o,_=_t(g=f[e+4>>2],a=0,o,0),e=z,y=t,g=_t(g,a,t,o=0),a=z,a=(t=e+g|0)>>>0<g>>>0?a+1|0:a,e=t,g=n,t=_t(n,0,y,o),n=a,o=n=(e=(y=z)+e|0)>>>0<y>>>0?n+1|0:n,a=0,(n=t+_|0)>>>0<t>>>0&&(a=a+1|0),y=a,_=a+e|0,a=o,o=(e=_)>>>0<y>>>0?a+1|0:a,y=e,e=0,_=_t(g,0,D,0),a=n,n=n+z|0,n=(t=e+_|0)>>>0<_>>>0?n+1|0:n,_=t,t=n,(a=y+(e=(0|a)==(0|n)&_>>>0<e>>>0|n>>>0<a>>>0)|0)>>>0<e>>>0&&(o=o+1|0),e=o,(0|o)==(0|p)&C>>>0<(n=a)>>>0|p>>>0<o>>>0||(R=1,(0|e)==(0|d)&v>>>0>a>>>0|d>>>0>e>>>0||(R=-1,(0|t)==(0|h)&r>>>0<_>>>0|h>>>0<t>>>0||(R=(0|t)==(0|h)&r>>>0>_>>>0|h>>>0>t>>>0))),m(R,i)):0}function xA(t,e,i){var r=0,n=0,a=0,o=0,_=0,h=0,d=0,C=0;if(!((o=f[t+56>>2])||(r=f[t+52>>2],r?f[t+52>>2]=f[r+8>>2]:(r=dA(12),f[r+8>>2]=0,n=f[t+60>>2],f[r+4>>2]=n,d=r,C=dA(m(n,24)),f[d>>2]=C,n=f[t+48>>2],f[t+48>>2]=r,f[r+8>>2]=n),o=f[r>>2],a=f[r+4>>2],(0|a)<1)))for(r=0,n=o;_=n,n=n+24|0,r=r+1|0,f[_>>2]=(0|r)<(0|a)?n:0,(0|r)!=(0|a););if(f[t+56>>2]=f[o>>2],f[(n=o+8|0)>>2]=0,f[n+4>>2]=0,f[(n=o+16|0)>>2]=0,f[n+4>>2]=0,f[o>>2]=0,f[o+4>>2]=0,!((a=f[t+56>>2])||(r=f[t+52>>2],r?f[t+52>>2]=f[r+8>>2]:(r=dA(12),f[r+8>>2]=0,n=f[t+60>>2],f[r+4>>2]=n,d=r,C=dA(m(n,24)),f[d>>2]=C,n=f[t+48>>2],f[t+48>>2]=r,f[r+8>>2]=n),a=f[r>>2],h=f[r+4>>2],(0|h)<1)))for(r=0,n=a;_=n,n=n+24|0,r=r+1|0,f[_>>2]=(0|r)<(0|h)?n:0,(0|r)!=(0|h););return f[t+56>>2]=f[a>>2],f[a>>2]=0,f[a+4>>2]=0,f[o+8>>2]=a,f[o+12>>2]=i,f[o+16>>2]=0,i=f[t+100>>2],f[o+20>>2]=i,f[a+8>>2]=o,f[a+12>>2]=e,f[a+16>>2]=0,f[a+20>>2]=i,i=(e=f[t+116>>2])+1|0,f[t+116>>2]=i,(0|e)>=f[t+120>>2]&&(f[t+120>>2]=i),o}function UA(t,e,i,r){var n,a=0,o=0,_=0,h=0,d=0,C=0,g=0;Z=n=Z-16|0;t:if((a=i-e|0)>>>0<=2){switch(a-1|0){default:f[r>>2]=0,f[r+4>>2]=0,f[(t=r+8|0)>>2]=0,f[t+4>>2]=0;break t;case 1:if(i=f[f[t+92>>2]+(e<<2)>>2],a=f[i+204>>2],(0|(h=f[i+88>>2]))!=(0|(_=f[i+200>>2]))|(0|(o=f[i+92>>2]))!=(0|a)||(a=o,f[i+96>>2]!=f[i+208>>2])){e=i+112|0,(a=o-a|0)|(o=h-_|0)?(f[i+4>>2]=e,f[i>>2]=e,f[i+116>>2]=i,f[i+112>>2]=i,_=(d=(h=(0|a)<0)&!o)|(o=(0|o)<0),f[r+4>>2]=_?e:i,f[r>>2]=_?i:e,o&!a||h?(f[r+8>>2]=i,a=e):(f[r+8>>2]=e,a=i)):(a=(o=f[i+96>>2]>f[i+208>>2])?e:i,f[r+8>>2]=a,f[r+4>>2]=a,f[r>>2]=a,f[a+4>>2]=a,f[a>>2]=a,e=o?i:e,i=a),f[r+12>>2]=a,t=xA(t,i,e),f[i+8>>2]=t,i=e,e=f[t+8>>2],f[i+8>>2]=e,f[t+4>>2]=t,f[t>>2]=t,f[e+4>>2]=e,f[e>>2]=e;break t}f[i+8>>2]=0,f[r+12>>2]=i,f[r+8>>2]=i,f[r+4>>2]=i,f[r>>2]=i,f[i+4>>2]=i,f[i>>2]=i;break t;case 0:}t=f[f[t+92>>2]+(e<<2)>>2],f[t+8>>2]=0,f[r+12>>2]=t,f[r+8>>2]=t,f[r+4>>2]=t,f[r>>2]=t,f[t+4>>2]=t,f[t>>2]=t}else{e:if(!((0|(o=h=(_=(0|a)/2|0)+e|0))>=(0|i))){for(o=f[t+92>>2],a=f[(o+(h<<2)|0)-4>>2],C=f[a+88>>2],g=f[a+96>>2],d=f[a+92>>2],a=o+(e+_<<2)|0,o=h;;){if(_=f[a>>2],(0|C)!=f[_+88>>2]|f[_+92>>2]!=(0|d)|f[_+96>>2]!=(0|g))break e;if(a=a+4|0,(0|(o=o+1|0))==(0|i))break}o=i}UA(t,e,h,r),f[(e=n+8|0)>>2]=0,f[e+4>>2]=0,f[n>>2]=0,f[n+4>>2]=0,UA(t,o,i,n),function(t,e,i){var r,n=0,a=0,o=0,_=0,h=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0,D=0,B=0,E=0,F=0,V=0,G=0,w=0,Q=0,W=0,Y=0,yt=0,pt=0,Dt=0,It=0,St=0,Tt=0,Et=0,Ot=0,Nt=0,Ft=0;Z=r=Z-128|0;e:if(f[i+4>>2])if(f[e+4>>2]){if(f[t+100>>2]=f[t+100>>2]+-1,f[r+124>>2]=0,f[r+120>>2]=0,e=function(t,e,i,r){var n=0,a=0,o=0,_=0,h=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0,D=0,B=0,E=0,F=0,V=0,G=0,w=0;o=f[t+12>>2],g=f[e+8>>2];i:{if(!(f[o+88>>2]!=f[g+88>>2]|f[o+92>>2]!=f[g+92>>2])){if((0|g)==(0|(n=f[g+4>>2]))){if(f[i>>2]=o,e=0,!(t=f[g+8>>2]))break i;return f[r>>2]=f[t+12>>2],0}o=f[g>>2],f[o+4>>2]=n,f[n>>2]=o,(0|g)==f[e>>2]&&(d=e,v=o,(0|(a=f[o+88>>2]))<(0|(_=f[n+88>>2]))|(f[o+92>>2]<f[n+92>>2]?(0|a)==(0|_):0)||(v=n),f[d>>2]=v),f[e+4>>2]==(0|g)&&((0|(a=f[o+88>>2]))!=(0|(_=f[n+88>>2]))|f[o+92>>2]<=f[n+92>>2]&&(0|a)<=(0|_)?f[e+4>>2]=n:f[e+4>>2]=o)}for(F=f[e>>2],G=f[t>>2],_=w=f[t+4>>2],a=V=f[e+4>>2],g=0,v=1;;){p=f[_+88>>2];A:if((0|(n=m(f[a+88>>2]-p|0,v)))>=1)for(d=_;;){for(o=a,h=f[a+92>>2],_=n;p=h-(a=f[d+92>>2])|0,!((0|(n=f[(C=!R<<2)+d>>2]))==(0|d)||(y=f[n+92>>2]-a|0,(0|y)>0||(D=f[n+88>>2],a=m(D-f[d+88>>2]|0,v),(0|a)>-1|(0|m(_,y))>(0|m(a,p))&&a)));)_=m(f[o+88>>2]-D|0,v),d=n;if((0|o)==(0|(a=f[o+C>>2])))break A;if((0|(C=f[a+92>>2]-h|0))>-1)break A;if(h=f[a+88>>2],(0|(n=m(h-f[d+88>>2]|0,v)))<1)break A;if(h=m(h-f[o+88>>2]|0,v)){if((0|h)>-1)break A;if(!((0|m(_,C))<(0|m(h,p))))break}}else if((0|n)<=-1){r:for(;;){for(p=f[a+92>>2],o=f[(D=(0!=(0|R))<<2)+a>>2];;){if(h=n,d=_,C=p-(y=f[_+92>>2])|0,(0|a)!=(0|o)&&!((0|(_=f[o+92>>2]-p|0))<0||(B=f[o+88>>2],n=m(B-f[a+88>>2]|0,v),(0|n)>-1|(0|m(_,h))>(0|m(n,C))&&n))){n=m(B-f[d+88>>2]|0,v),a=o,_=d;continue r}if((0|d)==(0|(_=f[d+D>>2]))){o=a;break A}if((0|(B=f[_+92>>2]-y|0))<1){o=a;break A}if(y=f[_+88>>2],(0|(n=m(f[a+88>>2]-y|0,v)))>-1){o=a;break A}if(y=m(y-f[d+88>>2]|0,v)){if((0|y)>-1){o=a;break A}if(!((0|m(h,B))<(0|m(C,y))))break}}break}o=a}else{o=f[_+92>>2];r:if(R)for(n=_;;){if(d=n,(0|_)==(0|(n=f[n>>2]))|(0|p)!=f[n+88>>2])break r;if(C=(0|(h=f[n+92>>2]))>(0|o),o=h,C)break}else for(n=_;;){if(d=n,(0|_)==(0|(n=f[n+4>>2]))|(0|p)!=f[n+88>>2])break r;if(C=(0|(h=f[n+92>>2]))<=(0|o),o=h,!C)break}if(_=f[a+92>>2],R)for(n=a;;){if(o=n,(0|(n=f[n+4>>2]))==(0|a)|(0|p)!=f[n+88>>2])break A;if(C=(0|(h=f[n+92>>2]))<(0|_),_=h,C)break}else for(n=a;;){if(o=n,(0|(n=f[n>>2]))==(0|a)|(0|p)!=f[n+88>>2])break A;if(C=(0|(h=f[n+92>>2]))>=(0|_),_=h,!C)break}}if(_=R?d:G,a=R?o:F,E=R?E:d,g=R?g:o,v=R?v:-1,2==(0|(R=R+1|0)))break}f[a>>2]=_,f[_+4>>2]=a,f[E>>2]=g,f[g+4>>2]=E,f[F+88>>2]<f[G+88>>2]&&(f[t>>2]=F),f[V+88>>2]>=f[w+88>>2]&&(f[t+4>>2]=V),f[t+12>>2]=f[e+12>>2],f[i>>2]=E,e=1}return t=e,f[r>>2]=g,t}(e,i,r+124|0,r+120|0),B=f[r+120>>2],e){if(Q=f[r+124>>2],It=f[Q+96>>2],St=f[B+96>>2],pt=f[Q+92>>2],D=f[B+92>>2],n=f[Q+8>>2],E=f[Q+88>>2],Tt=f[B+88>>2],f[r+80>>2]=0,a=e=St-It|0,o=e>>31,V=e=D-pt|0,Et=_t(a,o,e,G=e>>31),Ot=z,yt=e=0-(i=Tt-E|0)|0,e=_t(e,W=e>>31,i,i>>31),_=z,Nt=e-(i=_t(V,G,V,G))|0,R=_-(z+(e>>>0<i>>>0)|0)|0,p=0-(e=_t(yt,W,a,o))|0,Y=0-(z+(0<e>>>0)|0)|0,n){for(i=n;;){C=f[i+12>>2],h=e=(v=f[C+92>>2])-pt|0,e=_t(e,d=e>>31,yt,W),_=z,Dt=e,a=e=(y=f[C+88>>2])-E|0;i:if(!((0|Dt)!=(0-(e=_t(V,G,e,o=e>>31))|0)|(0-(z+(0<e>>>0)|0)|0)!=(0|_)||(e=_t(Et,Ot,h,d),_=z,h=e,e=_t(a,o,p,Y),o=h+e|0,a=z+_|0,a=o>>>0<e>>>0?a+1|0:a,_=f[C+96>>2],e=_-It|0,e=_t(Nt,R,e,e>>31),o=e+o|0,a=z+a|0,a=o>>>0<e>>>0?a+1|0:a,(0|a)<0||(0|a)<=0&&!(o>>>0>=1)))){A:if(g){if(e=f[g+4>>2],(0|i)==f[g>>2]){if((0|e)!=(0|i))break i;if(h=f[f[i+8>>2]+12>>2],d=_-(e=f[h+96>>2])|0,a=f[g+12>>2],o=f[a+96>>2]-e|0,e=f[h+92>>2],e=_t(e=m(d,f[a+92>>2]-e|0)-m(o,v-e|0)|0,e>>31,V,G),_=z,v=e,e=f[h+88>>2],e=_t(e=m(o,y-e|0)-m(d,f[a+88>>2]-e|0)|0,e>>31,yt,W),a=z+_|0,(0|(a=(o=v+e|0)>>>0<e>>>0?a+1|0:a))<0||(0|a)<=0&&!(o>>>0>0))break A;break i}if((0|e)!=(0|i))break i}g=i}if((0|n)==(0|(i=f[i>>2])))break}f[r+80>>2]=g}if(e=f[B+8>>2],y=0,f[r+56>>2]=0,e){for(i=e;;){E=f[i+12>>2],v=n=(C=f[E+92>>2])-D|0,n=_t(n,h=n>>31,yt,W),_=z,pt=n,a=n=(d=f[E+88>>2])-Tt|0;i:if(!((0|pt)!=(0-(n=_t(V,G,n,o=n>>31))|0)|(0-(z+(0<n>>>0)|0)|0)!=(0|_)||(n=_t(Et,Ot,v,h),_=z,h=n,n=_t(a,o,p,Y),o=h+n|0,a=z+_|0,a=o>>>0<n>>>0?a+1|0:a,_=f[E+96>>2],n=_-St|0,n=_t(Nt,R,n,n>>31),o=n+o|0,a=z+a|0,a=o>>>0<n>>>0?a+1|0:a,(0|a)<0||(0|a)<=0&&!(o>>>0>=1)))){if(y){if(f[y>>2]!=(0|i))break i;if(f[y+4>>2]==(0|i)&&(v=f[f[i+8>>2]+12>>2],h=_-(n=f[v+96>>2])|0,a=f[y+12>>2],o=f[a+96>>2]-n|0,n=f[v+92>>2],n=_t(n=m(h,f[a+92>>2]-n|0)-m(o,C-n|0)|0,n>>31,V,G),_=z,C=n,n=f[v+88>>2],n=_t(n=m(o,d-n|0)-m(h,f[a+88>>2]-n|0)|0,n>>31,yt,W),_=z+_|0,(0|(_=(o=C+n|0)>>>0<n>>>0?_+1|0:_))<0||(0|_)<=0&&!(o>>>0>=1)))break i}y=i}if((0|e)==(0|(i=f[i>>2])))break}f[r+56>>2]=y}g|y&&(MA(t,Q,B,r+80|0,r+56|0),(e=f[r+80>>2])&&(Q=f[e+12>>2],f[r+124>>2]=Q),(e=f[r+56>>2])&&(B=f[e+12>>2],f[r+120>>2]=B)),Dt=f[B+96>>2]+1|0,Ft=f[B+92>>2],V=f[B+88>>2]}else Dt=f[B+96>>2],Ft=f[B+92>>2],Q=f[r+124>>2],V=f[B+88>>2]+1|0;for(y=Q,o=B,a=0,e=0,Y=0,It=1,C=0,g=0,E=0;;){f[r+116>>2]=-1,Tt=o+92|0,d=f[(Et=y+92|0)>>2],n=f[Tt>>2]-d|0,f[r+108>>2]=n,Ot=o+96|0,_=f[(Nt=y+96|0)>>2],h=f[Ot>>2]-_|0,f[r+112>>2]=h,p=f[y+88>>2],i=f[o+88>>2]-p|0,f[r+104>>2]=i,v=Ft-d|0,d=Dt-_|0,G=(_=m(v,h)-m(d,n)|0)>>31,St=_,f[r+80>>2]=_,f[r+84>>2]=G,yt=(_=(_=m(i,d))-m(d=V-p|0,h)|0)>>31,pt=_,f[r+88>>2]=_,f[r+92>>2]=yt,W=(_=m(n,d)-m(i,v)|0)>>31,D=_,f[r+96>>2]=_,f[r+100>>2]=W,d=i,i=_t(pt,yt,i,R=i>>31),v=z,_=n,n=_t(St,G,n,p=n>>31),f[r+72>>2]=i-n,f[r+76>>2]=v-(z+(i>>>0<n>>>0)|0),i=_t(St,G,n=h,v=n>>31),h=z,d=_t(D,W,d,R),f[r+64>>2]=i-d,f[r+68>>2]=h-(z+(i>>>0<d>>>0)|0),i=_t(D,W,_,p),_=z,n=_t(pt,yt,n,v),f[r+56>>2]=i-n,f[r+60>>2]=_-(z+(i>>>0<n>>>0)|0),f[r+48>>2]=0,f[(i=r+40|0)>>2]=0,f[i+4>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,D=SA(t,0,y,r+104|0,r+80|0,r+56|0,r+32|0),f[r+24>>2]=0,f[(i=r+16|0)>>2]=0,f[i+4>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0;i:if((p=SA(t,1,o,r+104|0,r+80|0,r+56|0,r+8|0))|D){R=D?-1:1,!D|!p||(R=JA(r+32|0,r+8|0));A:{r:if(!It){n:{if((0|R)>=0){if(f[r+24>>2]>-1)break r;if(!(f[r+16>>2]|f[r+20>>2]))break n;break r}if(f[r+40>>2]|f[r+44>>2]|f[r+48>>2]>-1)break r}h=a,n=e,v=C,_=g;break A}_=v=xA(t,y,o),C&&(f[C+4>>2]=v,_=g),f[v>>2]=C,n=h=f[v+8>>2],a&&(f[a>>2]=h,n=e),f[h+4>>2]=a}if(f[r+4>>2]=D,f[r>>2]=p,a=p,R||(MA(t,y,o,r+4|0,r),a=f[r>>2]),!a|(0|R)<0)g=o,a=h;else{if(F&&(0|p)!=(0|(i=f[F>>2])))for(;C=f[i+8>>2],d=0,g=0,(0|i)!=(0|(e=f[i>>2]))&&(f[e+4>>2]=f[i+4>>2],f[f[i+4>>2]>>2]=e,g=e),f[f[C+12>>2]+8>>2]=g,(0|C)!=(0|(g=f[C>>2]))&&(f[g+4>>2]=f[C+4>>2],f[f[C+4>>2]>>2]=g,d=g),f[f[i+12>>2]+8>>2]=d,f[i+12>>2]=0,f[i+16>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i>>2]=f[t+56>>2],f[t+56>>2]=i,f[(i=C+12|0)>>2]=0,f[i+4>>2]=0,f[C+4>>2]=0,f[C+8>>2]=0,f[C>>2]=f[t+56>>2],f[t+56>>2]=C,f[t+116>>2]=f[t+116>>2]+-1,i=e,(0|p)!=(0|e););h?(F||(F=f[p+4>>2],Y=n),f[F>>2]=n,f[n+4>>2]=F,f[p+4>>2]=h,f[h>>2]=p,n=0):Y=F?Y:p,g=f[a+12>>2],f[r+120>>2]=g,Dt=f[Ot>>2],Ft=f[Tt>>2],F=f[a+8>>2],V=f[o+88>>2],a=0}if((0|R)>0||!(C=f[r+4>>2]))e=y;else{if(w&&(0|D)!=(0|(e=f[w+4>>2])))for(;p=e+4|0,R=f[e+8>>2],d=f[e+4>>2],o=0,i=0,(0|e)!=(0|(h=f[e>>2]))&&(f[h+4>>2]=d,f[f[p>>2]>>2]=h,i=h),f[f[R+12>>2]+8>>2]=i,(0|R)!=(0|(i=f[R>>2]))&&(f[i+4>>2]=f[R+4>>2],f[f[R+4>>2]>>2]=i,o=i),f[f[e+12>>2]+8>>2]=o,f[(i=p+8|0)>>2]=0,f[i+4>>2]=0,f[p>>2]=0,f[p+4>>2]=0,f[e>>2]=f[t+56>>2],f[t+56>>2]=e,f[(e=R+12|0)>>2]=0,f[e+4>>2]=0,f[R+4>>2]=0,f[R+8>>2]=0,f[R>>2]=f[t+56>>2],f[t+56>>2]=R,f[t+116>>2]=f[t+116>>2]+-1,(0|D)!=(0|(e=d)););v?(w||(w=f[D>>2],E=_),f[w+4>>2]=_,f[_>>2]=w,f[v+4>>2]=D,f[D>>2]=v,_=0):E=w?E:D,e=f[C+12>>2],f[r+124>>2]=e,Dt=f[Nt>>2],Ft=f[Et>>2],w=f[C+8>>2],V=f[y+88>>2],v=0}if(C=v,i=1,(0|e)!=(0|Q)|(0|g)!=(0|B))It=0;else{if(w){if((0|(e=f[w+4>>2]))!=(0|E))for(;d=e+4|0,h=f[e+8>>2],g=f[e+4>>2],o=0,i=0,(0|e)!=(0|(y=f[e>>2]))&&(f[y+4>>2]=g,f[f[d>>2]>>2]=y,i=y),f[f[h+12>>2]+8>>2]=i,(0|h)!=(0|(i=f[h>>2]))&&(f[i+4>>2]=f[h+4>>2],f[f[h+4>>2]>>2]=i,o=i),f[f[e+12>>2]+8>>2]=o,f[(i=d+8|0)>>2]=0,f[i+4>>2]=0,f[d>>2]=0,f[d+4>>2]=0,f[e>>2]=f[t+56>>2],f[t+56>>2]=e,f[(e=h+12|0)>>2]=0,f[e+4>>2]=0,f[h+4>>2]=0,f[h+8>>2]=0,f[h>>2]=f[t+56>>2],f[t+56>>2]=h,f[t+116>>2]=f[t+116>>2]+-1,(0|E)!=(0|(e=g)););C&&(f[w+4>>2]=_,f[_>>2]=w,f[C+4>>2]=E,f[E>>2]=C)}else f[C+4>>2]=_,f[_>>2]=C,f[e+8>>2]=C;if(!F){f[a>>2]=n,f[n+4>>2]=a,f[f[r+120>>2]+8>>2]=a,F=0,e=n,g=_,i=0;break i}if((0|(i=f[F>>2]))!=(0|Y))for(;o=f[i+8>>2],d=0,g=0,(0|i)!=(0|(e=f[i>>2]))&&(f[e+4>>2]=f[i+4>>2],f[f[i+4>>2]>>2]=e,g=e),f[f[o+12>>2]+8>>2]=g,(0|o)!=(0|(g=f[o>>2]))&&(f[g+4>>2]=f[o+4>>2],f[f[o+4>>2]>>2]=g,d=g),f[f[i+12>>2]+8>>2]=d,f[i+12>>2]=0,f[i+16>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i>>2]=f[t+56>>2],f[t+56>>2]=i,f[(i=o+12|0)>>2]=0,f[i+4>>2]=0,f[o+4>>2]=0,f[o+8>>2]=0,f[o>>2]=f[t+56>>2],f[t+56>>2]=o,f[t+116>>2]=f[t+116>>2]+-1,i=e,(0|Y)!=(0|e););i=0,a?(f[n+4>>2]=F,f[F>>2]=n,f[Y+4>>2]=a,f[a>>2]=Y):a=0}e=n,g=_}else n=xA(t,y,o),f[y+8>>2]=n,i=f[n+8>>2],f[o+8>>2]=i,f[n+4>>2]=n,f[n>>2]=n,f[i+4>>2]=i,f[i>>2]=i,i=0;if(!i)break e;y=f[r+124>>2],o=f[r+120>>2]}}else t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,n=e+8|0,e=i+8|0,t=f[e+4>>2],f[n>>2]=f[e>>2],f[n+4>>2]=t;Z=r+128|0}(t,r,n)}Z=n+16|0}function MA(t,e,i,r,n){var a,o,_,h,d,C,g,v,y,p,R,D,B,E,F,V,G=0,w=0,Q=0,W=0,Y=0,yt=0,pt=0,Dt=0,It=0,St=0,Tt=0,Et=0,Ot=0,Nt=0,Ft=0,Vt=0,Gt=0,Lt=0,wt=0,xt=0,Qt=0,Wt=0,Yt=0,Pt=0,Mt=0,Zt=0;if(Z=a=Z-48|0,Ft=e,(Wt=f[r>>2])&&(Ft=f[Wt+12>>2]),wt=f[Ft+96>>2],xt=f[Ft+92>>2],Ft=f[Ft+88>>2],w=(Qt=f[n>>2])?f[Qt+12>>2]:i,G=f[e+96>>2],v=f[i+96>>2]-G|0,yt=f[(Wt||Qt)+12>>2],Q=f[e+92>>2],W=f[yt+92>>2]-Q|0,y=f[i+92>>2]-Q|0,Et=f[yt+96>>2]-G|0,E=Y=m(v,W)-m(y,Et)|0,Y=_t(Y,R=Y>>31,v,Vt=v>>31),Gt=z,e=f[e+88>>2],yt=f[yt+88>>2]-e|0,p=f[i+88>>2]-e|0,F=i=m(yt,y)-m(W,p)|0,i=_t(i,D=i>>31,p,W=p>>31),Y=_t(o=Y-i|0,_=Gt-(z+(Y>>>0<i>>>0)|0)|0,xt,xt>>31),Gt=z,i=_t(F,D,y,Nt=y>>31),It=z,V=yt=m(Et,p)-m(yt,v)|0,yt=_t(yt,B=yt>>31,v,Vt),yt=(Et=_t(h=i-yt|0,d=It-(z+(i>>>0<yt>>>0)|0)|0,Ft,Ft>>31))+Y|0,Y=z+Gt|0,i=_t(V,B,p,W),W=z,Vt=_t(E,R,y,Nt),Vt=yt+(W=_t(C=i-Vt|0,g=W-(z+(i>>>0<Vt>>>0)|0)|0,wt,wt>>31))|0,yt=z+(yt>>>0<Et>>>0?Y+1|0:Y)|0,yt=(i=Vt)>>>0<W>>>0?yt+1|0:yt,e=_t(E,R,e,e>>31),Y=z,e=(W=_t(F,D,G,G>>31))+e|0,G=z+Y|0,St=Y=(Q=_t(V,B,Q,Q>>31))+e|0,e=z+(e>>>0<W>>>0?G+1|0:G)|0,Nt=Y>>>0<Q>>>0?e+1|0:e,Et=f[w+96>>2],Vt=f[w+92>>2],Gt=f[w+88>>2],e=Qt,Wt&&(e=Qt,f[Wt+12>>2])){e=f[f[Wt+8>>2]+4>>2],Q=f[e+12>>2],w=G=f[Q+92>>2],W=_t(G,Y=G>>31,V,B),It=z,Dt=W+(Ot=_t(G=Dt=f[Q+88>>2],pt=G>>31,E,R))|0,Tt=z+It|0,W=Q=f[Q+96>>2],Lt=Dt+(Q=_t(Q,It=Q>>31,F,D))|0,Dt=z+(Dt>>>0<Ot>>>0?Tt+1|0:Tt)|0;t:if(!((0|(Q=Lt>>>0<Q>>>0?Dt+1|0:Dt))<(0|Nt)||(0|Q)<=(0|Nt)&&!(Lt>>>0>=St>>>0))){for(Dt=e+12|0;;){if(f[e+20>>2]==f[t+100>>2])break t;if(w=_t(o,_,w,Y),Q=z,G=(Y=_t(h,d,G,pt))+w|0,Q=z+Q|0,It=(W=_t(C,g,W,It))+G|0,G=z+(G>>>0<Y>>>0?Q+1|0:Q)|0,(0|(G=Q=(w=It)>>>0<W>>>0?G+1|0:G))<(0|yt)||(0|G)<=(0|yt)&&!(w>>>0>i>>>0))break t;if(f[r>>2]=e,i=f[Dt>>2],wt=f[i+96>>2],xt=f[i+92>>2],Ft=f[i+88>>2],!i)break;if(Dt=(e=f[f[e+8>>2]+4>>2])+12|0,i=w,yt=G,Q=f[e+12>>2],w=G=f[Q+92>>2],W=_t(G,Y=G>>31,V,B),It=z,Tt=W+(Lt=_t(G=pt=f[Q+88>>2],pt=G>>31,E,R))|0,Ot=z+It|0,W=Q=f[Q+96>>2],Yt=(Q=_t(Q,It=Q>>31,F,D))+Tt|0,Tt=z+(Tt>>>0<Lt>>>0?Ot+1|0:Ot)|0,(0|(Q=Yt>>>0<Q>>>0?Tt+1|0:Tt))<(0|Nt)||(0|Q)<=(0|Nt)&&!(Yt>>>0>=St>>>0))break t}i=w,yt=G}e=f[n>>2]}w=_t(o,_,Vt,Vt>>31),Q=z,G=(Y=_t(h,d,Gt,Gt>>31))+w|0,Q=z+Q|0,It=(W=_t(C,g,Et,Et>>31))+G|0,G=z+(G>>>0<Y>>>0?Q+1|0:Q)|0,Y=(w=It)>>>0<W>>>0?G+1|0:G;t:if(e){if(f[e+12>>2]&&(Dt=f[f[e+8>>2]>>2],Q=f[Dt+12>>2],Tt=_t(G=W=f[Q+92>>2],pt=G>>31,V,B),Ot=z,Tt=Tt+(Pt=_t(W=It=f[Q+88>>2],It=W>>31,E,R))|0,Ot=z+Ot|0,Lt=Q=f[Q+96>>2],Mt=(Q=_t(Q,Yt=Q>>31,F,D))+Tt|0,Tt=z+(Tt>>>0<Pt>>>0?Ot+1|0:Ot)|0,!((0|(Q=Mt>>>0<Q>>>0?Tt+1|0:Tt))<(0|Nt)||(0|Q)<=(0|Nt)&&!(Mt>>>0>=St>>>0)))){for(Tt=Dt+12|0;;){if(f[(Q=Dt)+20>>2]==f[t+100>>2])break t;if(G=_t(o,_,G,pt),Dt=z,W=(pt=_t(h,d,W,It))+G|0,It=z+Dt|0,G=(Dt=_t(C,g,Lt,Yt))+W|0,W=z+(W>>>0<pt>>>0?It+1|0:It)|0,(0|(W=G>>>0<Dt>>>0?W+1|0:W))<(0|Y)||(0|W)<=(0|Y)&&!(G>>>0>w>>>0))break t;if(f[n>>2]=Q,e=f[Tt>>2],Et=f[e+96>>2],Vt=f[e+92>>2],Gt=f[e+88>>2],!e)break;if(Tt=(Dt=f[f[Q+8>>2]>>2])+12|0,w=G,Y=W,e=Q,Q=f[Dt+12>>2],Ot=_t(G=W=f[Q+92>>2],pt=G>>31,V,B),Lt=z,Ot=Ot+(Mt=_t(W=It=f[Q+88>>2],It=W>>31,E,R))|0,Pt=z+Lt|0,Lt=Q=f[Q+96>>2],Zt=Ot+(Q=_t(Q,Yt=Q>>31,F,D))|0,Ot=z+(Ot>>>0<Mt>>>0?Pt+1|0:Pt)|0,(0|(Q=Zt>>>0<Q>>>0?Ot+1|0:Ot))<(0|Nt)||(0|Q)<=(0|Nt)&&!(Zt>>>0>=St>>>0))break t}e=Q,w=G,Y=W}}else e=0;t:{if(yt=Y-((w>>>0<i>>>0)+yt|0)|0,i=w-i|0,!((0|yt)<0||(0|yt)<=0&&!(i>>>0>=1)))for(;;){Q=e=Dt=(m(Vt-xt|0,y)+m(Gt-Ft|0,p)|0)+m(Et-wt|0,v)|0,It=e>>31;e:if(Qt=f[r>>2],!(!Qt|!f[Qt+12>>2]||(Tt=f[f[Qt>>2]+8>>2],f[Tt+20>>2]<=f[t+100>>2]))){w=f[Tt+12>>2],G=(e=f[w+92>>2])-xt|0,Y=(W=f[w+88>>2])-Ft|0,pt=(Nt=f[w+96>>2])-wt|0,w=(m(G,y)+m(Y,p)|0)+m(pt,v)|0,G=_t(o,_,G,G>>31),St=z,G=(Ot=_t(h,d,Y,Y>>31))+G|0,St=z+St|0,Y=(pt=_t(C,g,pt,pt>>31))+G|0,G=z+(G>>>0<Ot>>>0?St+1|0:St)|0,St=G=Y>>>0<pt>>>0?G+1|0:G;i:{if(!(0!=(0|Y)|0!=(0|G))){if((0|w)<0)break i;break e}if((0|St)>-1||(0|St)>=-1&&!(Y>>>0<=4294967295))break e;if(pt=(G=w)>>31,Lt=a,(0|G)>=1?(f[a+40>>2]=1,w=-1):(0|w)<=-1?(f[a+40>>2]=-1,G=0-G|0,pt=0-((0<w>>>0)+pt|0)|0,w=1):(f[a+40>>2]=0,G=0,pt=0,w=0),f[Lt+40>>2]=w,f[a+24>>2]=G,f[a+28>>2]=pt,f[a+32>>2]=0-Y,f[a+36>>2]=0-((0<Y>>>0)+St|0),(0|Dt)>=1?(f[a+16>>2]=1,w=Q,Y=It,G=-1):(0|Dt)<=-1?(f[a+16>>2]=-1,w=0-Q|0,Y=0-((0<Q>>>0)+It|0)|0,G=1):(f[a+16>>2]=0,w=0,Y=0,G=0),f[a>>2]=w,f[a+4>>2]=Y,w=i,Y=yt,(0|yt)>0||(0|yt)>=0&&!(w>>>0<=0)||(w=0,Y=0,(0|yt)>-1||(0|yt)>=-1&&!(i>>>0<=4294967295)||(f[a+16>>2]=G,w=0-i|0,Y=0-((0<i>>>0)+yt|0)|0)),G=Y,f[a+8>>2]=w,f[a+12>>2]=G,(0|JA(a+24|0,a))<=-1)break e}f[r>>2]=(0|Qt)==(0|Wt)?0:Tt,i=_t(o,_,i=Vt-e|0,i>>31),G=z,yt=_t(h,d,w=Gt-W|0,w>>31),G=z+G|0,Y=(w=i+yt|0)+(Q=_t(C,g,i=Et-Nt|0,i>>31))|0,w=z+(w>>>0<yt>>>0?G+1|0:G)|0,yt=(i=Y)>>>0<Q>>>0?w+1|0:w,Ft=W,xt=e,wt=Nt;continue}if(!(e=f[n>>2])|!f[e+12>>2])break t;if(Nt=f[f[e+8>>2]>>2],f[Nt+20>>2]<=f[t+100>>2])break t;if(e=f[Nt+12>>2],Vt=w=W=(Y=f[e+92>>2])-Vt|0,w=_t(w,pt=w>>31,V,B),G=z,w=w+(Ot=_t(Tt=St=Gt=(Qt=f[e+88>>2])-Gt|0,St>>=31,E,R))|0,G=z+G|0,Yt=Et=(e=f[e+96>>2])-Et|0,(0-(Pt=_t(F,D,Et,Lt=Et>>31))|0)!=(0|w)|(0-(z+(0<Pt>>>0)|0)|0)!=(0|(w>>>0<Ot>>>0?G+1|0:G)))break t;if(w=_t(o,_,w=Y-xt|0,w>>31),G=z,Y=_t(h,d,Y=Qt-Ft|0,Y>>31),G=z+G|0,e=(w=w+Y|0)+(Qt=_t(C,g,e=e-wt|0,e>>31))|0,w=z+(w>>>0<Y>>>0?G+1|0:G)|0,Y=w=e>>>0<Qt>>>0?w+1|0:w,(0|w)<0||(0|w)<=0&&!(e>>>0>=1))break t;w=(m(W,y)+m(Gt,p)|0)+m(Et,v)|0,G=_t(o,_,Vt,pt),W=z,G=(Vt=_t(h,d,Tt,St))+G|0,Et=z+W|0,W=(Gt=_t(C,g,Yt,Lt))+G|0,G=z+(G>>>0<Vt>>>0?Et+1|0:Et)|0,Et=G=W>>>0<Gt>>>0?G+1|0:G;e:{if(!(0!=(0|W)|0!=(0|G))){if((0|w)<0)break e;break t}if((0|Et)>-1||(0|Et)>=-1&&!(W>>>0<=4294967295))break t;if(pt=(G=w)>>31,St=a,(0|G)>=1?(f[a+40>>2]=1,w=-1):(0|w)<=-1?(f[a+40>>2]=-1,G=0-G|0,pt=0-((0<w>>>0)+pt|0)|0,w=1):(f[a+40>>2]=0,G=0,pt=0,w=0),f[St+40>>2]=w,f[a+24>>2]=G,f[a+28>>2]=pt,f[a+32>>2]=0-W,f[a+36>>2]=0-((0<W>>>0)+Et|0),(0|Dt)>=1?(f[a+16>>2]=1,G=-1):(0|Dt)<=-1?(f[a+16>>2]=-1,Q=0-(w=Q)|0,It=0-((0<w>>>0)+It|0)|0,G=1):(f[a+16>>2]=0,Q=0,It=0,G=0),f[a>>2]=Q,f[a+4>>2]=It,(0|yt)<0||(0|yt)<=0&&!(i>>>0>0)?(w=0,W=0,(0|yt)>-1||(0|yt)>=-1&&!(i>>>0<=4294967295)||(f[a+16>>2]=G,w=0-i|0,W=0-((0<i>>>0)+yt|0)|0)):(w=i,W=yt),i=W,f[a+8>>2]=w,f[a+12>>2]=i,(0|JA(a+24|0,a))<=0)break t}f[n>>2]=Nt,i=f[Nt+12>>2],Et=f[i+96>>2],Vt=f[i+92>>2],Gt=f[i+88>>2],i=e,yt=Y}if(!((0|yt)>-1||(0|yt)>=-1&&!(i>>>0<=4294967295)))for(;;){Q=w=Wt=(m(Vt-xt|0,y)+m(Gt-Ft|0,p)|0)+m(Et-wt|0,v)|0,It=w>>31;e:if(!(!e|!f[e+12>>2]||(Tt=f[f[e+4>>2]+8>>2],f[Tt+20>>2]<=f[t+100>>2]))){w=f[Tt+12>>2],G=(Y=f[w+92>>2])-Vt|0,Dt=(W=f[w+88>>2])-Gt|0,pt=(Nt=f[w+96>>2])-Et|0,w=(m(G,y)+m(Dt,p)|0)+m(pt,v)|0,G=_t(o,_,G,G>>31),St=z,G=(Ot=_t(h,d,Dt,Dt>>31))+G|0,St=z+St|0,Dt=(pt=_t(C,g,pt,pt>>31))+G|0,G=z+(G>>>0<Ot>>>0?St+1|0:St)|0,St=G=Dt>>>0<pt>>>0?G+1|0:G;i:{if(!(0!=(0|Dt)|0!=(0|G))){if((0|w)>0)break i;break e}if((0|St)>-1||(0|St)>=-1&&!(Dt>>>0<=4294967295))break e;if(pt=(G=w)>>31,Lt=a,(0|G)>=1?(f[a+40>>2]=1,w=-1):(0|w)<=-1?(f[a+40>>2]=-1,G=0-G|0,pt=0-((0<w>>>0)+pt|0)|0,w=1):(f[a+40>>2]=0,G=0,pt=0,w=0),f[Lt+40>>2]=w,f[a+24>>2]=G,f[a+28>>2]=pt,f[a+32>>2]=0-Dt,f[a+36>>2]=0-((0<Dt>>>0)+St|0),(0|Wt)>=1?(f[a+16>>2]=1,Dt=-1,w=Q,G=It):(0|Wt)<=-1?(f[a+16>>2]=-1,w=0-Q|0,Dt=1,G=0-((0<Q>>>0)+It|0)|0):(Dt=0,f[a+16>>2]=0,w=0,G=0),f[a>>2]=w,f[a+4>>2]=G,w=i,G=yt,(0|yt)>0||(0|yt)>=0&&!(w>>>0<=0)||(w=0,G=0,(0|yt)>-1||(0|yt)>=-1&&!(i>>>0<=4294967295)||(f[a+16>>2]=Dt,w=0-i|0,G=0-((0<i>>>0)+yt|0)|0)),f[a+8>>2]=w,f[a+12>>2]=G,(0|JA(a+24|0,a))>=1)break e}e=(0|e)==(0|Qt)?0:Tt,f[n>>2]=e,i=_t(o,_,i=Y-xt|0,i>>31),G=z,yt=_t(h,d,w=W-Ft|0,w>>31),G=z+G|0,Et=(w=i+yt|0)+(Q=_t(C,g,i=Nt-wt|0,i>>31))|0,w=z+(w>>>0<yt>>>0?G+1|0:G)|0,yt=(i=Et)>>>0<Q>>>0?w+1|0:w,Gt=W,Vt=Y,Et=Nt;continue}if(!(e=f[r>>2])|!f[e+12>>2])break t;if(Nt=f[f[e+8>>2]+4>>2],f[Nt+20>>2]<=f[t+100>>2])break t;if(e=f[Nt+12>>2],Dt=w=xt=(Y=f[e+92>>2])-xt|0,w=_t(w,pt=w>>31,V,B),G=z,w=w+(Ot=_t(Tt=St=Ft=(W=f[e+88>>2])-Ft|0,St>>=31,E,R))|0,G=z+G|0,Yt=e=wt=(Lt=f[e+96>>2])-wt|0,(0|w)!=(0-(e=_t(F,D,e,Pt=e>>31))|0)|(0-(z+(0<e>>>0)|0)|0)!=(0|(w>>>0<Ot>>>0?G+1|0:G)))break t;if(e=_t(o,_,e=Vt-Y|0,e>>31),w=z,G=_t(h,d,G=Gt-W|0,G>>31),w=z+w|0,Y=(e=e+G|0)+(W=_t(C,g,Y=Et-Lt|0,Y>>31))|0,e=z+(e>>>0<G>>>0?w+1|0:w)|0,W=e=Y>>>0<W>>>0?e+1|0:e,(0|e)>-1||(0|e)>=-1&&!(Y>>>0<=4294967295))break t;if(e=(m(xt,y)+m(Ft,p)|0)+m(wt,v)|0,w=_t(o,_,Dt,pt),Ft=z,G=(wt=_t(h,d,Tt,St))+w|0,Ft=z+Ft|0,w=(xt=_t(C,g,Yt,Pt))+G|0,G=z+(G>>>0<wt>>>0?Ft+1|0:Ft)|0,Ft=G=w>>>0<xt>>>0?G+1|0:G,0!=(0|w)|0!=(0|G)){if((0|Ft)>-1||(0|Ft)>=-1&&!(w>>>0<=4294967295))break t;if(pt=(G=e)>>31,St=a,(0|G)>=1?(f[a+40>>2]=1,e=-1):(0|e)<=-1?(f[a+40>>2]=-1,G=0-G|0,pt=0-((0<e>>>0)+pt|0)|0,e=1):(f[a+40>>2]=0,G=0,pt=0,e=0),f[St+40>>2]=e,f[a+24>>2]=G,f[a+28>>2]=pt,f[a+32>>2]=0-w,f[a+36>>2]=0-((0<w>>>0)+Ft|0),(0|Wt)>=1?(f[a+16>>2]=1,e=-1):(0|Wt)<=-1?(f[a+16>>2]=-1,Q=0-(e=Q)|0,It=0-((0<e>>>0)+It|0)|0,e=1):(f[a+16>>2]=0,Q=0,It=0,e=0),f[a>>2]=Q,f[a+4>>2]=It,(0|yt)<0||(0|yt)<=0&&!(i>>>0>0)?(w=0,G=0,(0|yt)>-1||(0|yt)>=-1&&!(i>>>0<=4294967295)||(f[a+16>>2]=e,w=0-i|0,G=0-((0<i>>>0)+yt|0)|0)):(w=i,G=yt),e=G,f[a+8>>2]=w,f[a+12>>2]=e,(0|JA(a+24|0,a))>=0)break t}else if((0|e)<=0)break t;f[r>>2]=Nt,i=f[Nt+12>>2],wt=f[i+96>>2],xt=f[i+92>>2],e=f[n>>2],Ft=f[i+88>>2],i=Y,yt=W}}Z=a+48|0}function SA(t,e,i,r,n,a,o){var _,h=0,d=0,C=0,g=0,m=0,v=0,y=0,p=0,R=0,D=0,B=0,E=0;if(Z=_=Z-48|0,h=f[i+8>>2])for(p=h;;){if(f[p+20>>2]>f[t+100>>2]){f[_+44>>2]=-1,h=f[p+12>>2],C=f[h+96>>2]-f[i+96>>2]|0,f[_+40>>2]=C,d=f[h+92>>2]-f[i+92>>2]|0,f[_+36>>2]=d,g=f[h+88>>2]-f[i+88>>2]|0,f[_+32>>2]=g,v=d,B=d>>31,d=_t(f[(h=n)+8>>2],f[h+12>>2],d,B),y=z,R=d,E=(d=g)>>31,D=_t(f[h>>2],f[h+4>>2],d,E),h=z+y|0,h=(g=R+D|0)>>>0<D>>>0?h+1|0:h,y=g,g=C,D=C>>31,R=_t(f[n+16>>2],f[n+20>>2],C,D),C=z+h|0,C=(y=y+R|0)>>>0<R>>>0?C+1|0:C,v=_t(f[(h=a)+8>>2],f[h+12>>2],v,B),B=z,R=v,v=_t(f[h>>2],f[h+4>>2],d,E),h=z+B|0,h=(d=R+v|0)>>>0<v>>>0?h+1|0:h,g=_t(f[a+16>>2],f[a+20>>2],g,D),h=z+h|0,g=h=(d=g+d|0)>>>0<g>>>0?h+1|0:h,(0|h)<0||(0|h)<=0&&!(d>>>0>=1)?(0|g)>-1||(0|g)>=-1&&!(d>>>0<=4294967295)?(f[_+24>>2]=0,d=0,g=0,v=0,h=0):(f[_+24>>2]=-1,v=d,d=0-d|0,g=0-((0<v>>>0)+g|0)|0,v=1,h=-1):(f[_+24>>2]=1,v=-1,h=-1),f[_+8>>2]=d,f[_+12>>2]=g;t:{e:{i:{if(!((0|C)>0||(0|C)>=0&&!(y>>>0<=0))){if((0|C)>-1||(0|C)>=-1&&!(y>>>0<=4294967295))break i;f[_+24>>2]=v,y=0-(h=y)|0,C=0-((0<h>>>0)+C|0)|0}f[_+16>>2]=y,f[_+20>>2]=C;break e}if(f[_+16>>2]=0,f[_+20>>2]=0,!h)break t}m?(0|(h=JA(_+8|0,o)))<=-1?(m=f[_+12>>2],f[o>>2]=f[_+8>>2],f[o+4>>2]=m,f[o+16>>2]=f[_+24>>2],C=f[(h=_+16|0)+4>>2],f[(m=o+8|0)>>2]=f[h>>2],f[m+4>>2]=C,m=p):h||(m=2!=(0|XA(m,p,r,_+32|0))^e?p:m):(m=f[_+12>>2],f[o>>2]=f[_+8>>2],f[o+4>>2]=m,f[o+16>>2]=f[_+24>>2],C=f[(h=_+16|0)+4>>2],f[(m=o+8|0)>>2]=f[h>>2],f[m+4>>2]=C,m=p)}h=f[i+8>>2]}if((0|(p=f[p>>2]))==(0|h))break}return Z=_+48|0,m}function XA(t,e,i,r){var n=0,a=0,o=0,_=0,h=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0;a=f[t+4>>2];t:{if((0|e)==f[t>>2]){if(n=2,(0|e)!=(0|a))break t;return a=f[e+12>>2],e=f[f[e+8>>2]+12>>2],_=f[e+96>>2],v=f[a+96>>2]-_|0,t=f[t+12>>2],n=f[e+92>>2],h=f[t+92>>2]-n|0,n=f[a+92>>2]-n|0,_=f[t+96>>2]-_|0,o=d=m(v,h)-m(n,_)|0,g=d>>31,d=f[i+8>>2],y=f[r+4>>2],p=f[i+4>>2],R=f[r+8>>2],C=_t(o,g,C=m(d,y)-m(p,R)|0,C>>31),g=z,o=n,n=(n=f[t+88>>2])-(t=f[e+88>>2])|0,a=f[a+88>>2]-t|0,e=t=m(o,n)-m(a,h)|0,o=t>>31,r=f[r>>2],i=f[i>>2],h=_t(e,o,t=m(r,p)-m(i,y)|0,t>>31),t=z+g|0,t=(e=h+C|0)>>>0<h>>>0?t+1|0:t,o=e,i=_t(n=e=m(a,_)-m(n,v)|0,a=e>>31,e=m(i,R)-m(r,d)|0,e>>31),t=z+t|0,(0|(t=(e=o+i|0)>>>0<i>>>0?t+1|0:t))>0||(0|t)>=0&&!(e>>>0<=0)?2:1}n=(0|e)==(0|a)}return n}function TA(t,e,i){var r,a=0,o=0,h=0,d=0,g=0,p=0,R=v(0),D=v(0),B=0,E=v(0),F=0,V=v(0),G=0,w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),yt=0,pt=0,Dt=0,It=0;if(Z=r=Z-48|0,(0|i)<1)a=1900671690,h=-246811958,p=-246811958,o=-246811958,B=1900671690,F=1900671690;else for(o=-246811958,F=1900671690,G=i,g=e,B=1900671690,a=1900671690,p=-246811958,h=-246811958;yt=f[(d=g+8|0)>>2],R=C[d>>2],b(0,o),o=k()<R?yt:o,pt=f[(d=g+4|0)>>2],D=C[d>>2],b(0,p),p=k()<D?pt:p,F=R<(b(0,F),k())?yt:F,B=D<(b(0,B),k())?pt:B,d=f[g>>2],R=C[g>>2],b(0,h),h=k()<R?d:h,a=R<(b(0,a),k())?d:a,g=g+16|0,G=G+-1|0;);if(b(0,p),w=k(),b(0,B),Q=k(),D=v(w-Q),b(0,o),W=k(),b(0,F),E=k(),o=D<(R=v(W-E)),b(0,h),Y=k(),b(0,a),z=k(),g=(V=v(Y-z))<R,a=(G=V<D)?o?2:1:g<<1,f[t+112>>2]=a,(0|(h=G?(1^g)<<1:o?1:2))==(0|a)&&(h=(a+1>>>0)%3|0),f[t+104>>2]=h,o=(3^a)-h|0,f[t+108>>2]=o,R=v(R*v(9788566967472434e-20)),D=v(D*v(9788566967472434e-20)),V=v(V*v(9788566967472434e-20)),f[t+12>>2]=0,((o+1|0)%3|0)!=(0|a)&&(D=v(-D),V=v(-V),R=v(-R)),C[t+8>>2]=R,C[t+4>>2]=D,C[t>>2]=V,f[t+28>>2]=0,C[t+24>>2]=v(W+E)*v(.5),C[t+20>>2]=v(w+Q)*v(.5),C[t+16>>2]=v(Y+z)*v(.5),f[r+36>>2]=0,f[r+28>>2]=0,f[r+32>>2]=0,g=R!=v(0),w=v(v(1)/R),G=D!=v(0),Q=v(v(1)/D),B=V!=v(0),W=v(v(1)/V),n[r+40|0]=1,!((0|i)<1)&&(a=dA(i<<4),f[r+36>>2]=a,f[r+32>>2]=i,n[r+40|0]=1,h=f[(o=r+16|0)+4>>2],f[(F=a+8|0)>>2]=f[o>>2],f[F+4>>2]=h,h=f[r+12>>2],f[a>>2]=f[r+8>>2],f[a+4>>2]=h,1!=(0|i)))for(h=i+-1|0,a=16;F=f[r+12>>2],p=f[r+36>>2]+a|0,f[(d=p)>>2]=f[r+8>>2],f[d+4>>2]=F,F=f[o+4>>2],f[(p=d+8|0)>>2]=f[o>>2],f[p+4>>2]=F,a=a+16|0,h=h+-1|0;);if(R=g?w:R,D=G?Q:D,V=B?W:V,f[r+28>>2]=i,!((0|i)<1)){for(a=f[r+36>>2]+8|0,o=(r+8|0)+(f[t+104>>2]<<2)|0,g=(r+8|0)+(f[t+112>>2]<<2)|0,G=(r+8|0)+(f[t+108>>2]<<2)|0,w=C[t+24>>2],Q=C[t+20>>2],W=C[t+16>>2],h=0;E=C[e+4>>2],Y=C[e+8>>2],z=C[e>>2],f[r+20>>2]=0,C[r+8>>2]=V*v(z-W),C[r+16>>2]=R*v(Y-w),C[r+12>>2]=D*v(E-Q),f[a+4>>2]=h,p=a+-8|0,E=C[G>>2],d=v(y(E))<v(2147483648)?~~E:-2147483648,f[p>>2]=d,p=a+-4|0,E=C[g>>2],d=v(y(E))<v(2147483648)?~~E:-2147483648,f[p>>2]=d,p=a,E=C[o>>2],d=v(y(E))<v(2147483648)?~~E:-2147483648,f[p>>2]=d,a=a+16|0,e=e+16|0,(0|(h=h+1|0))!=(0|i););(0|i)<2||function A(t,e,i,r){var n,a,o,_,h=0,d=0,C=0,g=0,m=0,v=0,y=0,p=0;for(Z=n=Z-16|0,g=f[t+12>>2],_=f[(C=g+((i+r|0)/2<<4)|0)+8>>2],a=f[C+4>>2],o=f[C>>2],C=i,v=r;;){for(h=(C<<4)+g|0;;){t:{if(!((0|(d=f[h+4>>2]))<(0|a))){if((0|d)!=(0|a))break t;if(!((0|(d=f[h>>2]))<(0|o))&&(0|d)!=(0|o)|f[h+8>>2]>=(0|_))break t}h=h+16|0,C=C+1|0;continue}break}for(y=v<<4;;){t:{if(!((0|a)<(0|(m=f[(d=g+y|0)+4>>2])))){if((0|m)!=(0|a))break t;if(!((0|o)<(0|(m=f[d>>2])))&&(0|m)!=(0|o)|(0|_)>=f[d+8>>2])break t}y=y+-16|0,v=v+-1|0;continue}break}if((0|C)<=(0|v)&&(p=f[(m=h+8|0)+4>>2],f[(g=n+8|0)>>2]=f[m>>2],f[g+4>>2]=p,p=f[h+4>>2],f[n>>2]=f[h>>2],f[n+4>>2]=p,p=f[d+4>>2],f[h>>2]=f[d>>2],f[h+4>>2]=p,d=f[(h=d+8|0)+4>>2],f[m>>2]=f[h>>2],f[m+4>>2]=d,h=f[t+12>>2]+y|0,y=f[n+4>>2],f[h>>2]=f[n>>2],f[h+4>>2]=y,d=f[g+4>>2],f[(h=h+8|0)>>2]=f[g>>2],f[h+4>>2]=d,v=v+-1|0,C=C+1|0),!((0|C)<=(0|v)))break;g=f[t+12>>2]}(0|v)>(0|i)&&A(t,e,i,v),(0|C)<(0|r)&&A(t,e,C,r),Z=n+16|0}(r+24|0,r+8|0,0,i+-1|0)}if(f[t+44>>2]=i,f[t+40>>2]=0,f[t+36>>2]=f[t+32>>2],(0|(o=f[t+84>>2]))<(0|i)){if(f[t+88>>2]<(0|i)){if(i?(h=dA(i<<2),a=f[t+84>>2]):(h=0,a=o),(0|a)>=1)for(e=0;f[e+h>>2]=f[f[t+92>>2]+e>>2],e=e+4|0,a=a+-1|0;);(e=f[t+92>>2])&&(_[t+96|0]&&CA(e),f[t+92>>2]=0),f[t+92>>2]=h,f[t+88>>2]=i,n[t+96|0]=1}for(e=o<<2,a=i-o|0;f[f[t+92>>2]+e>>2]=0,e=e+4|0,a=a+-1|0;);}if(f[t+84>>2]=i,(0|i)>=1)for(B=0;;){if(!((o=f[t+40>>2])||(e=f[t+36>>2],e?f[t+36>>2]=f[e+8>>2]:(e=dA(12),f[e+8>>2]=0,a=f[t+44>>2],f[e+4>>2]=a,Dt=e,It=dA(m(a,112)),f[Dt>>2]=It,a=f[t+32>>2],f[t+32>>2]=e,f[e+8>>2]=a),o=f[e>>2],g=f[e+4>>2],(0|g)<1)))for(e=0,a=o;p=a,a=a+112|0,e=e+1|0,f[p>>2]=(0|e)<(0|g)?a:0,(0|e)!=(0|g););if(f[t+40>>2]=f[o>>2],f[(e=o+8|0)>>2]=0,f[e+4>>2]=0,f[o+16>>2]=0,f[o>>2]=0,f[o+4>>2]=0,f[o+104>>2]=-1,f[e>>2]=0,e=f[r+36>>2]+(B<<4)|0,a=f[e+4>>2],f[o+88>>2]=f[e>>2],f[o+92>>2]=a,a=f[(e=e+8|0)+4>>2],f[(g=o+96|0)>>2]=f[e>>2],f[g+4>>2]=a,f[o+104>>2]=-1,f[f[t+92>>2]+(B<<2)>>2]=o,(0|(B=B+1|0))==(0|i))break}(e=f[r+36>>2])&&(_[r+40|0]&&CA(e),f[r+36>>2]=0),f[t+116>>2]=0,f[t+120>>2]=0,f[t+100>>2]=-3,f[t+60>>2]=m(i,6),f[t+56>>2]=0,f[t+52>>2]=f[t+48>>2],f[r+36>>2]=0,n[r+40|0]=1,f[r+28>>2]=0,f[r+32>>2]=0,f[(e=r+16|0)>>2]=0,f[e+4>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,UA(t,0,i,r+8|0),f[t+124>>2]=f[r+8>>2],(t=f[r+36>>2])&&(_[r+40|0]&&CA(t),f[r+36>>2]=0),Z=r+48|0}function jA(t,e,i){var r,n=v(0),a=v(0),o=0;Z=r=Z-16|0;t:{e:{i:{A:{if(f[i+100>>2]>=0)C[(f[e+108>>2]<<2)+r>>2]=f[i+88>>2];else if(n=OA(i+24|0),a=OA(o=i+72|0),C[(f[e+108>>2]<<2)+r>>2]=n/a,f[i+100>>2]<0)break A;C[(f[e+112>>2]<<2)+r>>2]=f[i+92>>2];break i}if(n=OA(i+40|0),a=OA(o),C[(f[e+112>>2]<<2)+r>>2]=n/a,f[i+100>>2]<0)break e}n=v(f[i+96>>2]);break t}n=v(OA(i+56|0)/OA(i+72|0))}C[(f[e+104>>2]<<2)+r>>2]=n,f[t+12>>2]=0,C[t+8>>2]=v(C[r+8>>2]*C[e+8>>2])+C[e+24>>2],C[t+4>>2]=v(C[r+4>>2]*C[e+4>>2])+C[e+20>>2],C[t>>2]=v(C[r>>2]*C[e>>2])+C[e+16>>2],Z=r+16|0}function OA(t){var e,i,r=0,n=0,a=0,o=v(0);return Z=e=Z-16|0,n=r=f[t+12>>2],i=f[t+8>>2],(0|r)<0||(0|r)<=0&&!(i>>>0>=0)?(a=f[t+4>>2],t=r=f[t>>2],f[e>>2]=0-t,f[e+4>>2]=0-(a+(0<t>>>0)|0),n^=-1,(r=(t=!(t|a))+(a=-1^i)|0)>>>0<a>>>0&&(n=n+1|0),f[(t=e)+8>>2]=r,f[t+12>>2]=n,o=v(-OA(t))):o=v(v(v(+(i>>>0)+4294967296*+(n>>>0))*v(0x10000000000000000))+v(+d[t>>2]+4294967296*+d[t+4>>2])),Z=e+16|0,o}function HA(t,e,i){var r,a=0,o=0,h=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0,D=0,B=0,E=0,F=0,V=0,G=0;Z=r=Z-144|0;t:if((0|i)<=0)e=f[t+12>>2],e&&(_[t+16|0]&&CA(e),f[t+12>>2]=0),f[t+12>>2]=0,n[t+16|0]=1,f[t+4>>2]=0,f[t+8>>2]=0,e=f[t+32>>2],e&&(_[t+36|0]&&CA(e),f[t+32>>2]=0),f[t+32>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,n[t+36|0]=1,e=f[t+52>>2],e&&(_[t+56|0]&&CA(e),f[t+52>>2]=0),f[t+52>>2]=0,f[t+44>>2]=0,f[t+48>>2]=0,n[t+56|0]=1;else{if(n[r+112|0]=1,f[(a=r+88|0)>>2]=0,f[a+4>>2]=256,f[(a=r+72|0)>>2]=0,f[a+4>>2]=256,f[(a=r+56|0)>>2]=0,f[a+4>>2]=256,f[r+108>>2]=0,f[(a=r+100|0)>>2]=0,f[a+4>>2]=0,f[r+80>>2]=0,f[r+84>>2]=0,f[r+64>>2]=0,f[r+68>>2]=0,f[r+48>>2]=0,f[r+52>>2]=0,TA(r+16|0,e,i),(0|(i=f[t+4>>2]))<=-1)for(f[t+8>>2]<=-1&&((e=f[t+12>>2])&&(_[t+16|0]&&CA(e),f[t+12>>2]=0),n[t+16|0]=1,f[t+8>>2]=0,f[t+12>>2]=0),e=i<<4;a=f[r+4>>2],g=f[t+12>>2]+e|0,f[(d=g)>>2]=f[r>>2],f[d+4>>2]=a,d=f[(a=r+8|0)+4>>2],f[(g=g+8|0)>>2]=f[a>>2],f[g+4>>2]=d,e=e+16|0,g=(a=i+1|0)>>>0>=i>>>0,i=a,g;);if(f[t+4>>2]=0,f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0,(0|(i=f[t+24>>2]))<=-1)for(f[t+28>>2]<=-1&&((e=f[t+32>>2])&&(_[t+36|0]&&CA(e),f[t+32>>2]=0),f[t+28>>2]=0,f[t+32>>2]=0,n[t+36|0]=1),e=m(i,12);g=f[r+4>>2],a=f[t+32>>2]+e|0,f[a>>2]=f[r>>2],f[a+4>>2]=g,f[a+8>>2]=f[r+8>>2],e=e+12|0,g=(a=i+1|0)>>>0>=i>>>0,i=a,g;);if(f[t+24>>2]=0,(0|(i=f[t+44>>2]))<=-1&&(e=f[t+52>>2],f[t+48>>2]<=-1?(!e|!_[t+56|0]||CA(e),n[t+56|0]=1,f[t+48>>2]=0,f[t+52>>2]=0,a=0):a=e,X(a+(e=i<<2)|0,0,0-e|0)),f[t+44>>2]=0,e=f[r+140>>2],!(f[e+104>>2]>-1)){for(f[e+104>>2]=0,y=dA(4),f[y>>2]=e,a=1,d=1,g=y;;){if(jA(r,r+16|0,D=f[(F<<2)+y>>2]),(0|(e=f[t+4>>2]))==f[t+8>>2]&&!((0|e)>=(0|(o=e?e<<1:1)))){if(o?(h=dA(o<<4),e=f[t+4>>2]):h=0,(0|e)>=1)for(i=0;C=f[t+12>>2]+i|0,p=f[C+4>>2],f[(R=i+h|0)>>2]=f[C>>2],f[R+4>>2]=p,p=f[(C=C+8|0)+4>>2],f[(R=R+8|0)>>2]=f[C>>2],f[R+4>>2]=p,i=i+16|0,e=e+-1|0;);(e=f[t+12>>2])&&(_[t+16|0]&&CA(e),f[t+12>>2]=0),f[t+12>>2]=h,n[t+16|0]=1,f[t+8>>2]=o,e=f[t+4>>2]}if(i=f[r+4>>2],e=f[t+12>>2]+(e<<4)|0,f[e>>2]=f[r>>2],f[e+4>>2]=i,o=f[(i=V=r+8|0)+4>>2],f[(e=e+8|0)>>2]=f[i>>2],f[e+4>>2]=o,f[t+4>>2]=f[t+4>>2]+1,R=f[D+8>>2]){for(D=-1,C=R,p=-1;;){if((0|(i=f[C+20>>2]))<=-1){if(h=f[t+24>>2],f[V>>2]=0,f[r>>2]=0,f[r+4>>2]=0,(0|(i=h))==f[t+28>>2]&&!((0|i)>=(0|(v=i?h<<1:1)))){if(v?(o=dA(m(v,12)),e=f[t+24>>2]):(o=0,e=h),(0|e)>=1)for(i=0;B=f[t+32>>2]+i|0,G=f[B+4>>2],f[(E=i+o|0)>>2]=f[B>>2],f[E+4>>2]=G,f[E+8>>2]=f[B+8>>2],i=i+12|0,e=e+-1|0;);(e=f[t+32>>2])&&(_[t+36|0]&&CA(e),f[t+32>>2]=0),f[t+32>>2]=o,n[t+36|0]=1,f[t+28>>2]=v,i=f[t+24>>2]}if(e=f[t+32>>2]+m(i,12)|0,i=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=i,f[e+8>>2]=f[V>>2],e=f[t+24>>2]+1|0,f[t+24>>2]=e,f[V>>2]=0,f[r>>2]=0,f[r+4>>2]=0,f[t+28>>2]==(0|e)&&!((0|e)>=(0|(v=e?e<<1:1)))){if(v?(o=dA(m(v,12)),e=f[t+24>>2]):o=0,(0|e)>=1)for(i=0;B=f[t+32>>2]+i|0,G=f[B+4>>2],f[(E=i+o|0)>>2]=f[B>>2],f[E+4>>2]=G,f[E+8>>2]=f[B+8>>2],i=i+12|0,e=e+-1|0;);(e=f[t+32>>2])&&(_[t+36|0]&&CA(e),f[t+32>>2]=0),f[t+32>>2]=o,n[t+36|0]=1,f[t+28>>2]=v,e=f[t+24>>2]}if(i=f[r+4>>2],e=f[t+32>>2]+m(e,12)|0,f[e>>2]=f[r>>2],f[e+4>>2]=i,f[e+8>>2]=f[V>>2],f[t+24>>2]=f[t+24>>2]+1,f[C+20>>2]=h,B=h+1|0,f[f[C+8>>2]+20>>2]=B,v=(E=f[t+32>>2])+m(h,12)|0,f[v+4>>2]=1,f[v+16>>2]=-1,h=f[C+12>>2],(0|(e=f[h+104>>2]))>-1)h=a,a=e;else{if(f[h+104>>2]=a,(0|a)!=(0|d)||(0|d)>=(0|(o=d?d<<1:1)))e=g,o=d;else{e=o?dA(o<<2):0;e:{if((0|d)>=1)for(i=e;f[i>>2]=f[y>>2],i=i+4|0,y=y+4|0,d=d+-1|0;);else if(!y)break e;CA(g)}y=e}f[(a<<2)+y>>2]=h,h=a+1|0,g=e,d=o}f[8+(E+m(B,12)|0)>>2]=F,f[v+8>>2]=a,a=h,i=f[C+20>>2]}if(e=i,(0|D)>=0&&(f[f[t+32>>2]+m(i,12)>>2]=D-i,e=p),D=i,p=e,(0|R)==(0|(C=f[C>>2])))break}f[f[t+32>>2]+m(e,12)>>2]=i-e}if(!((0|(F=F+1|0))<(0|a)))break}for(d=0;;){if(h=f[f[(d<<2)+y>>2]+8>>2])for(e=h;;){if((0|(i=f[e+20>>2]))>=0){if((0|(a=f[t+44>>2]))==f[t+48>>2]&&!((0|a)>=(0|(p=a?a<<1:1)))){p?(D=dA(p<<2),a=f[t+44>>2]):D=0,o=f[t+52>>2];e:{if((0|a)>=1)for(i=D,C=o;f[i>>2]=f[C>>2],i=i+4|0,C=C+4|0,a=a+-1|0;);else if(!o)break e;_[t+56|0]&&CA(o),f[t+52>>2]=0,a=f[t+44>>2]}f[t+48>>2]=p,f[t+52>>2]=D,n[t+56|0]=1,i=f[e+20>>2]}for(f[f[t+52>>2]+(a<<2)>>2]=i,f[t+44>>2]=f[t+44>>2]+1,i=e;f[i+20>>2]=-1,(0|(i=f[f[i+8>>2]+4>>2]))!=(0|e););}if((0|h)==(0|(e=f[e>>2])))break}if((0|(d=d+1|0))==(0|F))break}y&&CA(g)}for((t=f[r+108>>2])&&(_[r+112|0]&&CA(t),f[r+108>>2]=0),f[r+108>>2]=0,n[r+112|0]=1,f[r+100>>2]=0,f[r+104>>2]=0;t=f[r+80>>2];)f[r+80>>2]=f[t+8>>2],CA(f[t>>2]),CA(t);for(;t=f[r+64>>2];)f[r+64>>2]=f[t+8>>2],CA(f[t>>2]),CA(t);for(;;){if(!(t=f[r+48>>2]))break t;f[r+48>>2]=f[t+8>>2],CA(f[t>>2]),CA(t)}}Z=r+144|0}function zA(t){return DA(t),f[t+56>>2]=0,f[t>>2]=7108,t}function PA(t,e){var i=0,r=0,a=0,o=0,h=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0,D=0,B=0,E=0,F=0;if(f[t+8>>2]<(0|e)){if(v=e?dA(m(e,36)):0,!((0|(D=f[t+4>>2]))<1)){for(;;){if(i=m(y,36),f[(a=i+v|0)+4>>2]=0,f[a+8>>2]=0,n[a+16|0]=1,f[a+12>>2]=0,p=a+4|0,C=i+f[t+12>>2]|0,(0|(d=f[C+4>>2]))>=1){F=a+8|0,B=a+16|0,o=dA(E=d<<2),g=f[(R=a+12|0)>>2];t:{if((0|(h=f[p>>2]))>=1)for(r=o,i=g;f[r>>2]=f[i>>2],r=r+4|0,i=i+4|0,h=h+-1|0;);else if(!g)break t;_[0|B]&&CA(g)}for(f[R>>2]=o,n[0|B]=1,f[F>>2]=d,X(o,0,E),f[p>>2]=d,r=f[C+12>>2],i=f[R>>2];f[i>>2]=f[r>>2],i=i+4|0,r=r+4|0,d=d+-1|0;);}else f[p>>2]=d;if(i=f[C+24>>2],f[a+20>>2]=f[C+20>>2],f[a+24>>2]=i,o=f[(r=C+28|0)+4>>2],f[(i=a+28|0)>>2]=f[r>>2],f[i+4>>2]=o,(0|(y=y+1|0))==(0|D))break}if(!((0|(h=f[t+4>>2]))<1))for(i=8;g=(r=f[t+12>>2]+i|0)+-4|0,(a=f[(o=r+4|0)>>2])&&(_[r+8|0]&&CA(a),f[o>>2]=0),f[g>>2]=0,f[o>>2]=0,f[r>>2]=0,n[r+8|0]=1,i=i+36|0,h=h+-1|0;);}(i=f[t+12>>2])&&(_[t+16|0]&&CA(i),f[t+12>>2]=0),f[t+12>>2]=v,n[t+16|0]=1,f[t+8>>2]=e}}function KA(t,e,i){var r,a=0,o=0,h=0,d=0,g=0,p=0,R=0,D=0,B=0,F=v(0),V=0,G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=0,Ot=v(0);Z=r=Z-32|0,F=C[i+8>>2],v(y(F))>v(.7071067690849304)?(w=C[i+4>>2],Q=v(v(F*F)+v(w*w)),G=v(v(1)/v(E(Q))),z=v(Q*G),Y=C[i>>2],Q=v(-v(F*G)),pt=v(Y*Q),w=v(w*G),W=v(-v(Y*w)),Y=v(0)):(Q=C[i>>2],w=C[i+4>>2],Y=v(v(Q*Q)+v(w*w)),G=v(v(1)/v(E(Y))),pt=v(Y*G),Y=v(-v(w*G)),W=v(F*Y),Q=v(Q*G),z=v(-v(F*Q)),w=v(0));t:if((0|(h=f[t+4>>2]))>=2){for(o=f[t+12>>2];g=(a=o+p|0)+8|0,v(v(v(Y*C[a>>2])+v(Q*C[a+4>>2]))+v(w*C[g>>2]))<v(v(v(Y*C[o>>2])+v(Q*C[o+4>>2]))+v(w*C[o+8>>2]))&&(B=f[(R=o+16|0)+4>>2],f[(h=r+24|0)>>2]=f[R>>2],f[h+4>>2]=B,B=f[(V=o+8|0)+4>>2],f[(D=r+16|0)>>2]=f[V>>2],f[D+4>>2]=B,B=f[o+4>>2],f[r+8>>2]=f[o>>2],f[r+12>>2]=B,B=f[a+4>>2],f[o>>2]=f[a>>2],f[o+4>>2]=B,o=f[g+4>>2],f[V>>2]=f[g>>2],f[V+4>>2]=o,a=f[(o=a+16|0)+4>>2],f[R>>2]=f[o>>2],f[R+4>>2]=a,g=f[r+12>>2],o=f[t+12>>2]+p|0,f[(a=o)>>2]=f[r+8>>2],f[a+4>>2]=g,g=f[h+4>>2],f[(a=a+16|0)>>2]=f[h>>2],f[a+4>>2]=g,a=f[D+4>>2],f[(o=o+8|0)>>2]=f[D>>2],f[o+4>>2]=a,o=f[t+12>>2],h=f[t+4>>2]),p=p+24|0,(0|(d=d+1|0))<(0|h););if(f[o+16>>2]=-246811958,(0|h)>=2)for(p=h+-1|0,a=o+40|0,Dt=C[o+8>>2],It=C[o>>2],Tt=C[o+4>>2];G=v(0),V=a,F=v(C[a+-16>>2]-It),St=v(C[a+-12>>2]-Tt),Ot=v(C[a+-8>>2]-Dt),yt=v(v(v(z*F)+v(W*St))+v(pt*Ot)),F=v(v(v(Y*F)+v(Q*St))+v(w*Ot)),v(v(yt*yt)+v(F*F))<v(1.1920928955078125e-7)||(G=v(y(yt)),F>=v(0)?(F=v(v(F-G)/v(F+G)),G=v(.7853981852531433)):(F=v(v(F+G)/v(G-F)),G=v(2.356194496154785)),F=v(G+v(F*v(-.7853981852531433))),G=yt<v(0)?v(-F):F),C[V>>2]=G,a=a+24|0,p=p+-1|0;);if(p=f[(d=o+8|0)+4>>2],f[(a=r+16|0)>>2]=f[d>>2],f[a+4>>2]=p,a=f[o+4>>2],f[r+8>>2]=f[o>>2],f[r+12>>2]=a,function A(t,e,i,r){var n,a,o=v(0),_=0,h=0,d=0,g=v(0),y=0,p=0,R=0,D=0,B=v(0),E=0,F=v(0),V=v(0),G=v(0),w=v(0),Q=0,W=0,Y=0,z=v(0),yt=v(0),pt=v(0),Dt=0;for(Z=n=Z-32|0,h=(y=f[t+12>>2])+m((i+r|0)/2|0,24)|0,a=f[h+20>>2],F=C[h+16>>2],z=C[h+8>>2],yt=C[h+4>>2],pt=C[h>>2],h=i,p=r;;){for(V=C[e>>2],g=v(pt-V),o=v(g*g),G=C[e+4>>2],g=v(yt-G),o=v(o+v(g*g)),w=C[e+8>>2],g=v(z-w),g=v(o+v(g*g)),_=20+(m(h,24)+y|0)|0;;){e:{i:if((o=C[_+-4>>2])==F){if(o=v(C[_+-20>>2]-V),B=v(o*o),o=v(C[_+-16>>2]-G),B=v(B+v(o*o)),o=v(C[_+-12>>2]-w),(o=v(B+v(o*o)))!=g){if(o<g)break i;break e}if(f[_>>2]>=(0|a))break e}else if(!(o<F))break e;_=_+24|0,h=h+1|0;continue}break}for(R=m(p,24);;){e:{i:if(F==(o=C[(Q=(d=R+y|0)+16|0)>>2])){if(o=v(C[d>>2]-V),B=v(o*o),o=v(C[d+4>>2]-G),B=v(B+v(o*o)),o=v(C[d+8>>2]-w),g!=(o=v(B+v(o*o)))){if(g<o)break i;break e}if((0|a)>=f[d+20>>2])break e}else if(!(F<o))break e;R=R+-24|0,p=p+-1|0;continue}break}if((0|h)<=(0|p)&&(D=f[(E=W=(_=_+-20|0)+16|0)+4>>2],f[(y=n+24|0)>>2]=f[E>>2],f[y+4>>2]=D,Dt=f[(E=_+8|0)+4>>2],f[(D=Y=n+16|0)>>2]=f[E>>2],f[D+4>>2]=Dt,D=f[_+4>>2],f[n+8>>2]=f[_>>2],f[n+12>>2]=D,D=f[d+4>>2],f[_>>2]=f[d>>2],f[_+4>>2]=D,d=f[(_=d+8|0)+4>>2],f[E>>2]=f[_>>2],f[E+4>>2]=d,_=f[Q+4>>2],f[W>>2]=f[Q>>2],f[W+4>>2]=_,_=f[t+12>>2]+R|0,R=f[n+12>>2],f[_>>2]=f[n+8>>2],f[_+4>>2]=R,R=f[y+4>>2],f[(d=_+16|0)>>2]=f[y>>2],f[d+4>>2]=R,d=f[Y+4>>2],f[(_=_+8|0)>>2]=f[Y>>2],f[_+4>>2]=d,p=p+-1|0,h=h+1|0),!((0|h)<=(0|p)))break;y=f[t+12>>2]}(0|p)>(0|i)&&A(t,e,i,p),(0|h)<(0|r)&&A(t,e,h,r),Z=n+32|0}(t,r+8|0,1,h+-1|0),a=f[t+12>>2],(0|(d=f[e+4>>2]))==f[e+8>>2]&&!((0|d)>=(0|(p=d?d<<1:1)))){if(p?(h=dA(m(p,24)),d=f[e+4>>2]):h=0,(0|d)>=1)for(o=0;V=f[e+12>>2]+o|0,B=f[(R=V)+4>>2],f[(g=o+h|0)>>2]=f[R>>2],f[g+4>>2]=B,B=f[(R=R+16|0)+4>>2],f[(D=g+16|0)>>2]=f[R>>2],f[D+4>>2]=B,D=f[(R=V+8|0)+4>>2],f[(g=g+8|0)>>2]=f[R>>2],f[g+4>>2]=D,o=o+24|0,d=d+-1|0;);(o=f[e+12>>2])&&(_[e+16|0]&&CA(o),f[e+12>>2]=0),f[e+12>>2]=h,n[e+16|0]=1,f[e+8>>2]=p,d=f[e+4>>2]}if(o=f[e+12>>2]+m(d,24)|0,d=f[a+4>>2],f[o>>2]=f[a>>2],f[o+4>>2]=d,p=f[(d=a+16|0)+4>>2],f[(h=o+16|0)>>2]=f[d>>2],f[h+4>>2]=p,h=f[(a=a+8|0)+4>>2],f[(o=o+8|0)>>2]=f[a>>2],f[o+4>>2]=h,a=f[e+4>>2]+1|0,f[e+4>>2]=a,d=f[t+12>>2]+24|0,f[e+8>>2]==(0|a)&&!((0|a)>=(0|(p=a?a<<1:1)))){if(p?(h=dA(m(p,24)),a=f[e+4>>2]):h=0,(0|a)>=1)for(o=0;V=f[e+12>>2]+o|0,B=f[(R=V)+4>>2],f[(g=o+h|0)>>2]=f[R>>2],f[g+4>>2]=B,B=f[(R=R+16|0)+4>>2],f[(D=g+16|0)>>2]=f[R>>2],f[D+4>>2]=B,D=f[(R=V+8|0)+4>>2],f[(g=g+8|0)>>2]=f[R>>2],f[g+4>>2]=D,o=o+24|0,a=a+-1|0;);(o=f[e+12>>2])&&(_[e+16|0]&&CA(o),f[e+12>>2]=0),f[e+12>>2]=h,n[e+16|0]=1,f[e+8>>2]=p,a=f[e+4>>2]}if(h=f[d+4>>2],o=f[e+12>>2]+m(a,24)|0,f[(a=o)>>2]=f[d>>2],f[a+4>>2]=h,p=f[(h=d+16|0)+4>>2],f[(a=a+16|0)>>2]=f[h>>2],f[a+4>>2]=p,h=f[(a=d+8|0)+4>>2],f[(o=o+8|0)>>2]=f[a>>2],f[o+4>>2]=h,a=f[e+4>>2]+1|0,f[e+4>>2]=a,2==f[t+4>>2])break t;for(R=2;;){e:if(!((0|a)<2)){for(d=m(a,48),p=a<<1,o=((D=f[e+12>>2])+m(a,24)|0)-48|0,g=f[t+12>>2]+m(R,24)|0,F=C[g+8>>2],G=C[g+4>>2],Q=C[g>>2],w=C[i+8>>2],Y=C[i+4>>2],yt=C[i>>2];;){if(z=C[o>>2],pt=v(z-C[o+24>>2]),W=C[o+4>>2],Dt=v(W-G),W=v(W-C[o+28>>2]),z=v(z-Q),St=v(v(v(pt*Dt)-v(W*z))*w),Tt=W,W=C[o+8>>2],It=v(W-F),W=v(W-C[o+32>>2]),!(v(St+v(v(yt*v(v(Tt*It)-v(W*Dt)))+v(Y*v(v(W*z)-v(pt*It)))))>v(0))){if(a=a+-1|0,f[e+4>>2]=a,o=o+-24|0,d=d+-48|0,p=p+-2|0,(0|a)>1)continue;break e}break}if(!(f[e+8>>2]!=(0|a)|(0|a)>=(0|p))){if(D=dA(d),(0|(h=f[e+4>>2]))>=1)for(o=0;B=f[e+12>>2]+o|0,Et=f[(d=B)+4>>2],f[(a=o+D|0)>>2]=f[d>>2],f[a+4>>2]=Et,Et=f[(d=d+16|0)+4>>2],f[(V=a+16|0)>>2]=f[d>>2],f[V+4>>2]=Et,V=f[(d=B+8|0)+4>>2],f[(a=a+8|0)>>2]=f[d>>2],f[a+4>>2]=V,o=o+24|0,h=h+-1|0;);(o=f[e+12>>2])&&(_[e+16|0]&&CA(o),f[e+12>>2]=0),f[e+12>>2]=D,n[e+16|0]=1,f[e+8>>2]=p,a=f[e+4>>2]}h=f[g+4>>2],o=m(a,24)+D|0,f[(a=o)>>2]=f[g>>2],f[a+4>>2]=h,d=f[(h=g+16|0)+4>>2],f[(a=a+16|0)>>2]=f[h>>2],f[a+4>>2]=d,h=f[(a=g+8|0)+4>>2],f[(o=o+8|0)>>2]=f[a>>2],f[o+4>>2]=h,a=f[e+4>>2]+1|0,f[e+4>>2]=a}if(1==(0|a)){if(a=f[t+12>>2]+m(R,24)|0,o=1,1==f[e+8>>2]){if(h=dA(48),(0|(d=f[e+4>>2]))>=1)for(o=0;V=f[e+12>>2]+o|0,B=f[(g=V)+4>>2],f[(p=o+h|0)>>2]=f[g>>2],f[p+4>>2]=B,B=f[(g=g+16|0)+4>>2],f[(D=p+16|0)>>2]=f[g>>2],f[D+4>>2]=B,D=f[(g=V+8|0)+4>>2],f[(p=p+8|0)>>2]=f[g>>2],f[p+4>>2]=D,o=o+24|0,d=d+-1|0;);(o=f[e+12>>2])&&(_[e+16|0]&&CA(o),f[e+12>>2]=0),f[e+12>>2]=h,n[e+16|0]=1,f[e+8>>2]=2,o=f[e+4>>2]}d=f[a+4>>2],o=f[e+12>>2]+m(o,24)|0,f[o>>2]=f[a>>2],f[o+4>>2]=d,p=f[(d=a+16|0)+4>>2],f[(h=o+16|0)>>2]=f[d>>2],f[h+4>>2]=p,h=f[(a=a+8|0)+4>>2],f[(o=o+8|0)>>2]=f[a>>2],f[o+4>>2]=h,a=f[e+4>>2]+1|0,f[e+4>>2]=a}if((0|(R=R+1|0))==f[t+4>>2])break}}else if(1==(0|h))for(a=f[e+4>>2];;){if(i=f[t+12>>2],f[e+8>>2]==(0|a)&&!((0|a)>=(0|(d=a?a<<1:1)))){if(d?(h=dA(m(d,24)),a=f[e+4>>2]):h=0,(0|a)>=1)for(o=0;V=f[e+12>>2]+o|0,B=f[(R=V)+4>>2],f[(g=o+h|0)>>2]=f[R>>2],f[g+4>>2]=B,B=f[(R=R+16|0)+4>>2],f[(D=g+16|0)>>2]=f[R>>2],f[D+4>>2]=B,D=f[(R=V+8|0)+4>>2],f[(g=g+8|0)>>2]=f[R>>2],f[g+4>>2]=D,o=o+24|0,a=a+-1|0;);(o=f[e+12>>2])&&(_[e+16|0]&&CA(o),f[e+12>>2]=0),f[e+12>>2]=h,n[e+16|0]=1,f[e+8>>2]=d,a=f[e+4>>2]}if(h=f[i+4>>2],o=f[e+12>>2]+m(a,24)|0,f[(a=o)>>2]=f[i>>2],f[a+4>>2]=h,d=f[(h=i+16|0)+4>>2],f[(a=a+16|0)>>2]=f[h>>2],f[a+4>>2]=d,a=f[(i=i+8|0)+4>>2],f[(o=o+8|0)>>2]=f[i>>2],f[o+4>>2]=a,a=f[e+4>>2]+1|0,f[e+4>>2]=a,!((0|(p=p+1|0))<f[t+4>>2]))break}Z=r+32|0}function LA(t,e){var i,r,a=0,o=0,h=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0,D=0;if((0|(g=f[t+4>>2]))==f[t+8>>2]&&(PA(t,g?g<<1:1),g=f[t+4>>2]),a=(r=f[t+12>>2])+m(g,36)|0,f[a+4>>2]=0,f[a+8>>2]=0,n[a+16|0]=1,f[a+12>>2]=0,i=a+4|0,(0|(h=f[e+4>>2]))>=1){D=a+8|0,p=a+16|0,o=dA(R=h<<2),a=f[(y=a+12|0)>>2];t:{if((0|(v=f[i>>2]))>=1)for(d=o,C=a;f[d>>2]=f[C>>2],d=d+4|0,C=C+4|0,v=v+-1|0;);else if(!a)break t;_[0|p]&&CA(a)}for(f[y>>2]=o,n[0|p]=1,f[D>>2]=h,X(o,0,R),f[i>>2]=h,d=f[e+12>>2],C=f[y>>2];f[C>>2]=f[d>>2],C=C+4|0,d=d+4|0,h=h+-1|0;);}else f[i>>2]=h;a=f[e+24>>2],o=m(g,36)+r|0,f[o+20>>2]=f[e+20>>2],f[o+24>>2]=a,e=f[(a=e+28|0)+4>>2],f[(o=o+28|0)>>2]=f[a>>2],f[o+4>>2]=e,f[t+4>>2]=f[t+4>>2]+1}function qA(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),Z=v(0),z=v(0);n=v(yt[f[f[t>>2]+48>>2]](t)),Z=C[e+52>>2],_=C[e+24>>2],h=C[e+20>>2],d=C[e+56>>2],g=C[e+40>>2],m=C[t+68>>2],B=C[t+84>>2],E=C[e+36>>2],a=C[t- -64>>2],F=C[t+80>>2],z=C[e+48>>2],V=C[e+8>>2],G=C[e>>2],w=C[e+4>>2],Q=C[e+16>>2],W=C[e+32>>2],o=C[t+60>>2],Y=C[t+76>>2],f[i+12>>2]=0,p=d,d=v(v(Y+o)*v(.5)),R=v(v(F+a)*v(.5)),D=v(v(B+m)*v(.5)),p=v(p+v(v(v(W*d)+v(E*R))+v(g*D))),o=v(n+v(v(Y-o)*v(.5))),a=v(n+v(v(F-a)*v(.5))),n=v(n+v(v(B-m)*v(.5))),g=v(v(v(o*v(y(W)))+v(a*v(y(E))))+v(n*v(y(g)))),C[i+8>>2]=p-g,m=v(Z+v(v(v(d*Q)+v(R*h))+v(D*_))),_=v(v(v(o*v(y(Q)))+v(a*v(y(h))))+v(n*v(y(_)))),C[i+4>>2]=m-_,h=v(z+v(v(v(d*G)+v(R*w))+v(D*V))),n=v(v(v(o*v(y(G)))+v(a*v(y(w))))+v(n*v(y(V)))),C[i>>2]=h-n,f[r+12>>2]=0,C[r+8>>2]=g+p,C[r+4>>2]=_+m,C[r>>2]=n+h}function $A(t,e,i,r){e|=0,i|=0,r|=0,yt[f[f[(t|=0)>>2]+80>>2]](t,e,i,r)}function Ae(t){var e;return f[(t|=0)>>2]=7108,(e=f[t+56>>2])&&(yt[f[f[e>>2]>>2]](e),CA(f[t+56>>2])),0|t}function ee(t,e){var i=v(0),r=v(0),n=v(0),a=v(0),o=v(0),f=0;return i=C[t+48>>2],r=C[t+52>>2],n=C[t+56>>2],a=C[t+60>>2],o=v(C[t+64>>2]+C[e+64>>2]),!(v(v(v(v(v(C[e>>2]*i)+v(C[e+4>>2]*r))+v(C[e+8>>2]*n))-a)-o)>v(0)^1|v(v(v(v(v(i*C[e+16>>2])+v(r*C[e+20>>2]))+v(n*C[e+24>>2]))-a)-o)>v(0)^1)&&(f=0,v(v(v(v(v(i*C[e+32>>2])+v(r*C[e+36>>2]))+v(n*C[e+40>>2]))-a)-o)>v(0))||(i=C[e+48>>2],r=C[e+52>>2],n=C[e+56>>2],a=C[e+60>>2],f=v(v(v(v(v(C[t>>2]*i)+v(C[t+4>>2]*r))+v(C[t+8>>2]*n))-a)-o)>v(0)^1|v(v(v(v(v(i*C[t+16>>2])+v(r*C[t+20>>2]))+v(n*C[t+24>>2]))-a)-o)>v(0)^1|v(v(v(v(v(i*C[t+32>>2])+v(r*C[t+36>>2]))+v(n*C[t+40>>2]))-a)-o)>v(0)^1),f}function re(t,e,i){var r,n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=0;return Z=r=Z-528|0,d=C[t+20>>2],o=v(d-C[t+4>>2]),a=C[t+56>>2],g=C[t+24>>2],_=v(g-C[t+8>>2]),h=C[t+52>>2],R=n=v(v(o*a)-v(_*h)),m=C[t+16>>2],y=v(m-C[t>>2]),p=v(y*h),h=C[t+48>>2],o=v(p-v(o*h)),p=v(n*n),n=v(v(_*h)-v(y*a)),a=v(v(1)/v(E(v(v(o*o)+v(p+v(n*n)))))),_=v(R*a),C[r+256>>2]=_,n=v(n*a),C[r+260>>2]=n,o=v(o*a),C[r+264>>2]=o,C[r+268>>2]=v(g*o)+v(v(m*_)+v(d*n)),e=function(t,e,i,r,n){var a=0,o=v(0),_=v(0),h=v(0),d=0,g=v(0),m=0,y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=0,F=v(0),V=0;y=C[e>>2],o=C[t>>2],_=C[t+4>>2],h=C[t+8>>2],g=C[t+12>>2],(d=(p=v(v(v(v(y*o)+v(C[e+4>>2]*_))+v(C[e+8>>2]*h))-g))>v(1.1920928955078125e-7))||(a=f[e+4>>2],f[n>>2]=f[e>>2],f[n+4>>2]=a,E=f[(m=e+8|0)+4>>2],f[(a=n+8|0)>>2]=f[m>>2],f[a+4>>2]=E,g=C[t+12>>2],h=C[t+8>>2],_=C[t+4>>2],o=C[t>>2],a=1),R=C[i>>2],D=C[i+4>>2],B=C[i+8>>2],((o=v(v(v(v(R*o)+v(D*_))+v(B*h))-g))>v(1.1920928955078125e-7)|0)!=(0|d)&&(g=C[e+4>>2],F=C[e+8>>2],f[(d=(a<<4)+n|0)+12>>2]=0,_=v(v(-p)/v(o-p)),h=v(v(1)-_),C[d+8>>2]=v(B*_)+v(F*h),C[d+4>>2]=v(D*_)+v(h*g),C[d>>2]=v(R*_)+v(y*h),a=a+1|0),(d=o>v(1.1920928955078125e-7))||(V=f[i+4>>2],f[(m=(a<<4)+n|0)>>2]=f[i>>2],f[m+4>>2]=V,V=f[(E=i+8|0)+4>>2],f[(m=m+8|0)>>2]=f[E>>2],f[m+4>>2]=V,a=a+1|0),g=C[r>>2],y=C[r+4>>2],R=C[r+8>>2],((_=v(v(v(v(g*C[t>>2])+v(y*C[t+4>>2]))+v(R*C[t+8>>2]))-C[t+12>>2]))>v(1.1920928955078125e-7)|0)!=(0|d)&&(D=C[i>>2],B=C[i+4>>2],F=C[i+8>>2],f[(t=(a<<4)+n|0)+12>>2]=0,o=v(v(-o)/v(_-o)),h=v(v(1)-o),C[t+8>>2]=v(R*o)+v(F*h),C[t+4>>2]=v(y*o)+v(h*B),C[t>>2]=v(g*o)+v(h*D),a=a+1|0);t:{e:{i:{if(!(_>v(1.1920928955078125e-7))){if(i=f[r+4>>2],f[(t=(a<<4)+n|0)>>2]=f[r>>2],f[t+4>>2]=i,d=f[(i=r+8|0)+4>>2],f[(t=t+8|0)>>2]=f[i>>2],f[t+4>>2]=d,a=a+1|0,p>v(1.1920928955078125e-7))break i;break e}if(p>v(1.1920928955078125e-7))break t}if(h=C[r>>2],g=C[e>>2],y=C[r+4>>2],R=C[e+4>>2],o=C[r+8>>2],D=C[e+8>>2],f[(t=(a<<4)+n|0)+12>>2]=0,B=o,o=v(v(-_)/v(p-_)),_=v(v(1)-o),C[t+8>>2]=v(B*_)+v(o*D),C[t+4>>2]=v(_*y)+v(o*R),C[t>>2]=v(_*h)+v(o*g),a=a+1|0,p>v(1.1920928955078125e-7))break t}i=f[e+4>>2],f[(t=(a<<4)+n|0)>>2]=f[e>>2],f[t+4>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+8|0)>>2]=f[e>>2],f[t+4>>2]=i,a=a+1|0}return a}(r+256|0,e,e+16|0,e+32|0,r+272|0),D=0,e&&(d=C[t+40>>2],a=v(d-C[t+24>>2]),o=C[t+48>>2],g=C[t+32>>2],_=v(g-C[t+16>>2]),h=C[t+56>>2],R=n=v(v(a*o)-v(_*h)),p=_,_=C[t+52>>2],m=C[t+36>>2],y=v(m-C[t+20>>2]),o=v(v(p*_)-v(y*o)),a=v(v(y*h)-v(a*_)),n=v(v(1)/v(E(v(v(o*o)+v(v(a*a)+v(n*n)))))),_=v(R*n),C[r+260>>2]=_,a=v(a*n),C[r+256>>2]=a,n=v(o*n),C[r+264>>2]=n,C[r+268>>2]=v(d*n)+v(v(g*a)+v(m*_)),D=0,(e=ie(r+256|0,r+272|0,e,r))&&(d=C[t+8>>2],a=v(d-C[t+40>>2]),o=C[t+48>>2],g=C[t>>2],_=v(g-C[t+32>>2]),h=C[t+56>>2],R=n=v(v(a*o)-v(_*h)),p=_,_=C[t+52>>2],m=C[t+4>>2],y=v(m-C[t+36>>2]),o=v(v(p*_)-v(y*o)),a=v(v(y*h)-v(a*_)),n=v(v(1)/v(E(v(v(o*o)+v(v(a*a)+v(n*n)))))),_=v(R*n),C[r+260>>2]=_,a=v(a*n),C[r+256>>2]=a,n=v(o*n),C[r+264>>2]=n,C[r+268>>2]=v(d*n)+v(v(g*a)+v(m*_)),D=ie(r+256|0,r,e,i))),Z=r+528|0,t=D}function ie(t,e,i,r){var n=0,a=0,o=v(0),_=v(0),h=v(0),d=0,g=0,m=v(0),y=v(0),p=v(0),R=v(0),D=0,B=0,E=v(0),F=v(0),V=v(0);if((h=v(v(v(v(C[e>>2]*C[t>>2])+v(C[e+4>>2]*C[t+4>>2]))+v(C[e+8>>2]*C[t+8>>2]))-C[t+12>>2]))>v(1.1920928955078125e-7)||(n=f[e+4>>2],f[r>>2]=f[e>>2],f[r+4>>2]=n,a=f[(d=e+8|0)+4>>2],f[(n=r+8|0)>>2]=f[d>>2],f[n+4>>2]=a,a=1),(0|i)<2)o=h;else for(D=i+-1|0,n=e,_=h;y=C[(d=n+16|0)>>2],p=C[n+20>>2],R=C[(B=n+24|0)>>2],(0|(g=(o=v(v(v(v(y*C[t>>2])+v(p*C[t+4>>2]))+v(R*C[t+8>>2]))-C[t+12>>2]))>v(1.1920928955078125e-7)))!=(_>v(1.1920928955078125e-7)|0)&&(E=C[n+4>>2],F=C[n+8>>2],V=C[n>>2],f[(n=(a<<4)+r|0)+12>>2]=0,_=v(v(-_)/v(o-_)),m=v(v(1)-_),C[n+8>>2]=v(R*_)+v(F*m),C[n+4>>2]=v(p*_)+v(m*E),C[n>>2]=v(y*_)+v(m*V),a=a+1|0),g||(g=f[d+4>>2],f[(n=(a<<4)+r|0)>>2]=f[d>>2],f[n+4>>2]=g,g=f[B+4>>2],f[(n=n+8|0)>>2]=f[B>>2],f[n+4>>2]=g,a=a+1|0),n=d,_=o,D=D+-1|0;);return(0|(n=h>v(1.1920928955078125e-7)))!=(o>v(1.1920928955078125e-7)|0)&&(_=C[(t=(i+-1<<4)+e|0)>>2],m=C[t+4>>2],y=C[t+8>>2],p=C[e>>2],R=C[e+4>>2],E=C[e+8>>2],f[(t=(a<<4)+r|0)+12>>2]=0,o=v(v(-o)/v(h-o)),h=v(v(1)-o),C[t+8>>2]=v(y*h)+v(o*E),C[t+4>>2]=v(h*m)+v(o*R),C[t>>2]=v(h*_)+v(o*p),a=a+1|0),n||(i=f[e+4>>2],f[(t=(a<<4)+r|0)>>2]=f[e>>2],f[t+4>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+8|0)>>2]=f[e>>2],f[t+4>>2]=i,a=a+1|0),a}function fe(t,e,i){var r,n=0,a=0,o=0,_=0,h=v(0),d=v(0),g=0,m=0,y=0,p=0,R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0);if(Z=r=Z-880|0,d=C[e+64>>2],h=C[t+64>>2],a=f[(m=t+56|0)+4>>2],f[(_=r+296|0)>>2]=f[m>>2],f[_+4>>2]=a,a=f[t+52>>2],f[r+288>>2]=f[t+48>>2],f[r+292>>2]=a,n=0,(a=re(t,e,r+560|0))&&(f[r+280>>2]=-998637568,f[r+284>>2]=0,n=0,!((0|a)<=0))){for(F=v(h+d),m=r+288|0,D=C[r+300>>2],B=C[r+296>>2],E=C[r+292>>2],_=0,R=v(-1e3),n=r+560|0,d=C[r+288>>2];(h=v(F-v(v(v(v(C[n>>2]*d)+v(C[n+4>>2]*E))+v(C[n+8>>2]*B))-D)))>=v(0)&&(h>R?(f[r+816>>2]=o,_=1,R=h):v(h+v(1.1920928955078125e-7))>=R&&(f[(r+816|0)+(_<<2)>>2]=o,_=_+1|0)),n=n+16|0,(0|a)!=(0|(o=o+1|0)););if(C[r+280>>2]=R,f[r+284>>2]=_,(0|_)>=1)for(n=r+304|0,o=r+816|0,a=_;y=(r+560|0)+(f[o>>2]<<4)|0,g=f[y+4>>2],f[n>>2]=f[y>>2],f[n+4>>2]=g,g=f[y+12>>2],f[(p=n+8|0)>>2]=f[y+8>>2],f[p+4>>2]=g,o=o+4|0,n=n+16|0,a=a+-1|0;);if(n=0,_&&(C[(a=r+292|0)>>2]=-C[a>>2],C[(a=r+296|0)>>2]=-C[a>>2],C[r+288>>2]=-C[r+288>>2],a=f[(g=e+56|0)+4>>2],f[(p=r+16|0)>>2]=f[g>>2],f[p+4>>2]=a,a=f[e+52>>2],f[r+8>>2]=f[e+48>>2],f[r+12>>2]=a,n=0,(e=re(e,t,r+560|0))&&(f[r>>2]=-998637568,f[r+4>>2]=0,n=0,!((0|e)<=0)))){for(t=r+8|0,V=C[r+20>>2],D=C[r+16>>2],B=C[r+12>>2],a=0,d=v(-1e3),n=r+560|0,E=C[r+8>>2],o=0;(h=v(F-v(v(v(v(C[n>>2]*E)+v(C[n+4>>2]*B))+v(C[n+8>>2]*D))-V)))>=v(0)&&(h>d?(f[r+816>>2]=o,a=1,d=h):v(h+v(1.1920928955078125e-7))>=d&&(f[(r+816|0)+(a<<2)>>2]=o,a=a+1|0)),n=n+16|0,(0|e)!=(0|(o=o+1|0)););if(C[r>>2]=d,f[r+4>>2]=a,(0|a)>=1)for(n=r+24|0,o=r+816|0,e=a;y=(r+560|0)+(f[o>>2]<<4)|0,g=f[y+4>>2],f[n>>2]=f[y>>2],f[n+4>>2]=g,g=f[y+12>>2],f[(p=n+8|0)>>2]=f[y+8>>2],f[p+4>>2]=g,o=o+4|0,n=n+16|0,e=e+-1|0;);if(n=0,a){if(d<R)for(C[i>>2]=d,f[i+4>>2]=a,e=f[t+4>>2],f[i+8>>2]=f[t>>2],f[i+12>>2]=e,t=f[(e=t+8|0)+4>>2],f[(m=i+16|0)>>2]=f[e>>2],f[m+4>>2]=t,n=(t=a<<4)+(i+8|0)|0,o=8+(t+r|0)|0;t=f[o+4>>2],f[n>>2]=f[o>>2],f[n+4>>2]=t,t=f[(e=o+8|0)+4>>2],f[(i=n+8|0)>>2]=f[e>>2],f[i+4>>2]=t,o=o+-16|0,n=n+-16|0,a=a+-1|0;);else for(C[i>>2]=R,f[i+4>>2]=_,t=f[m+4>>2],f[i+8>>2]=f[m>>2],f[i+12>>2]=t,t=f[(e=m+8|0)+4>>2],f[(a=i+16|0)>>2]=f[e>>2],f[a+4>>2]=t,n=(t=_<<4)+(i+8|0)|0,o=288+(t+r|0)|0;t=f[o+4>>2],f[n>>2]=f[o>>2],f[n+4>>2]=t,t=f[(e=o+8|0)+4>>2],f[(i=n+8|0)>>2]=f[e>>2],f[i+4>>2]=t,o=o+-16|0,n=n+-16|0,_=_+-1|0;);n=1}}}return Z=r+880|0,n}function te(t){!function(t){var e=0;DA(t),n[t+92|0]=0,f[t+88>>2]=0,f[(e=t+80|0)>>2]=-1082130432,f[e+4>>2]=-1082130432,f[(e=t+72|0)>>2]=0,f[e+4>>2]=-1082130432,f[(e=t- -64|0)>>2]=1065353216,f[e+4>>2]=1065353216,f[t>>2]=7240,f[t+56>>2]=0,f[t+60>>2]=1065353216}(t),f[t+96>>2]=0,f[t>>2]=7464,f[t+4>>2]=2}function ne(t){return f[(t|=0)+96>>2]}function ae(t,e,i,r){}function oe(t,e){return 0}function ce(t){Ae(t|=0),CA(t)}function be(t){var e=0;f[t>>2]=1025,f[(e=t+120|0)>>2]=0,f[e+4>>2]=0,f[(e=t+128|0)>>2]=0,f[e+4>>2]=0,f[(e=t+136|0)>>2]=0,f[e+4>>2]=0,f[(e=t+144|0)>>2]=0,f[e+4>>2]=0,f[(e=t+152|0)>>2]=0,f[e+4>>2]=0,f[t+160>>2]=0,f[(e=t+312|0)>>2]=0,f[e+4>>2]=0,f[(e=t+320|0)>>2]=0,f[e+4>>2]=0,f[(e=t+328|0)>>2]=0,f[e+4>>2]=0,f[(e=t+336|0)>>2]=0,f[e+4>>2]=0,f[(e=t+344|0)>>2]=0,f[e+4>>2]=0,f[t+352>>2]=0,f[(e=t+504|0)>>2]=0,f[e+4>>2]=0,f[(e=t+512|0)>>2]=0,f[e+4>>2]=0,f[(e=t+520|0)>>2]=0,f[e+4>>2]=0,f[(e=t+528|0)>>2]=0,f[e+4>>2]=0,f[(e=t+536|0)>>2]=0,f[e+4>>2]=0,f[t+544>>2]=0,f[t+736>>2]=0,f[(e=t+728|0)>>2]=0,f[e+4>>2]=0,f[(e=t+720|0)>>2]=0,f[e+4>>2]=0,f[(e=t+712|0)>>2]=0,f[e+4>>2]=0,f[(e=t+704|0)>>2]=0,f[e+4>>2]=0,f[(e=t+696|0)>>2]=0,f[e+4>>2]=0,f[t+772>>2]=0,f[t+776>>2]=0,f[t+800>>2]=0,f[t+780>>2]=0}function le(t){var e,i=0;(e=f[t+116>>2])&&((i=f[421])&&(yt[i](e),f[t+116>>2]=0))}function ue(t,e){var i=0,r=0,n=0,a=0;t:if(4!=(0|(i=f[t+780>>2])))f[t+780>>2]=i+1;else{if(i=function(t,e){var i,r=v(0),n=v(0),a=v(0),o=v(0),f=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=0,Q=v(0),W=v(0),Y=v(0),Z=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=0,Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=v(0);Ft=(w=(r=C[t+84>>2])<(o=C[e+80>>2]))?0:-1,i=(w=(g=C[t+276>>2])<(r=w?r:o))?1:Ft,w=(o=C[t+468>>2])<(r=w?g:r),w=(Ft=C[t+660>>2]<(w?o:r))?3:w?2:i,h=C[e>>2];e:{i:{A:{r:{if(_[2980]){if(!w){B=C[t+588>>2],E=C[t+396>>2],r=v(B-E),V=C[t+584>>2],F=C[t+392>>2],o=v(V-F),n=C[t+580>>2],Y=C[t+388>>2],g=v(n-Y),a=C[e+8>>2],d=C[e+4>>2];break r}if(f=C[t+196>>2],m=v(h-f),V=C[t+584>>2],F=C[t+392>>2],o=v(V-F),d=C[e+4>>2],G=C[t+200>>2],r=v(d-G),n=C[t+580>>2],Y=C[t+388>>2],g=v(n-Y),a=v(v(m*o)-v(r*g)),R=v(a*a),p=r,B=C[t+588>>2],E=C[t+396>>2],r=v(B-E),a=C[e+8>>2],Q=C[t+204>>2],Z=v(a-Q),z=v(v(p*r)-v(Z*o)),m=v(v(Z*g)-v(m*r)),Qt=v(R+v(v(z*z)+v(m*m))),1!=(0|w))break r;h=v(h-C[t+4>>2]),a=v(a-C[t+12>>2]),d=v(d-C[t+8>>2]),g=v(0);break A}Z=C[e+8>>2],z=C[e+4>>2];n:{a:{if(w){if(It=C[t+196>>2],V=v(h-It),E=C[t+392>>2],d=C[t+584>>2],yt=v(E-d),St=C[t+200>>2],B=v(z-St),F=C[t+388>>2],m=C[t+580>>2],pt=v(F-m),r=v(v(V*yt)-v(B*pt)),o=v(r*r),f=C[t+396>>2],a=C[t+588>>2],g=v(f-a),n=C[t+204>>2],Y=v(Z-n),r=v(v(B*g)-v(Y*yt)),p=v(r*r),r=v(v(Y*pt)-v(V*g)),o=v(o+v(p+v(r*r))),G=v(h-F),Dt=v(St-d),Q=v(z-E),Vt=v(It-m),r=v(v(G*Dt)-v(Q*Vt)),p=v(r*r),Gt=v(n-a),r=v(Z-f),R=v(v(Q*Gt)-v(r*Dt)),D=v(R*R),R=v(v(r*Vt)-v(G*Gt)),R=o>(R=v(p+v(D+v(R*R))))?o:R,o=v(St-E),Ot=v(h-m),D=v(It-F),Et=v(z-d),W=v(v(o*Ot)-v(D*Et)),Tt=v(W*W),W=v(n-f),p=o,o=v(Z-a),p=v(v(W*Et)-v(p*o)),D=v(v(D*o)-v(W*Ot)),Qt=R>(D=v(Tt+v(v(p*p)+v(D*D))))?R:D,1==(0|w)){R=C[t+4>>2],Lt=v(R-m),p=v(h-R),D=C[t+12>>2],wt=v(D-a),W=C[t+8>>2],xt=v(W-d),Tt=v(Z-D),Nt=v(z-W),g=v(0);break a}}else f=C[t+396>>2],a=C[t+588>>2],g=v(f-a),E=C[t+392>>2],d=C[t+584>>2],yt=v(E-d),F=C[t+388>>2],m=C[t+580>>2],pt=v(F-m),o=v(Z-a),Et=v(z-d),Ot=v(h-m),r=v(Z-f),Q=v(z-E),G=v(h-F);if(R=C[t+4>>2],p=v(h-R),W=C[t+8>>2],Nt=v(z-W),n=v(v(p*yt)-v(Nt*pt)),B=v(n*n),D=C[t+12>>2],Tt=v(Z-D),n=v(v(Nt*g)-v(Tt*yt)),g=v(v(Tt*pt)-v(p*g)),g=v(B+v(v(n*n)+v(g*g))),xt=v(W-d),Lt=v(R-m),n=v(v(G*xt)-v(Q*Lt)),B=v(n*n),wt=v(D-a),n=v(v(Q*wt)-v(r*xt)),V=v(n*n),n=v(v(r*Lt)-v(G*wt)),g=g>(n=v(B+v(V+v(n*n))))?g:n,yt=v(W-E),pt=v(R-F),n=v(v(yt*Ot)-v(pt*Et)),B=v(n*n),Dt=v(D-f),n=v(v(Dt*Et)-v(yt*o)),V=v(n*n),n=v(v(pt*o)-v(Dt*Ot)),g=g>(n=v(B+v(V+v(n*n))))?g:n,n=C[t+204>>2],Y=v(Z-n),St=C[t+200>>2],B=v(z-St),It=C[t+196>>2],V=v(h-It),2==(0|w)){a=v(D-n),d=v(W-St),m=v(R-It),o=v(0);break n}Gt=v(n-a),Dt=v(St-d),Vt=v(It-m)}if(r=v(v(p*Dt)-v(Nt*Vt)),d=v(r*r),r=v(v(Nt*Gt)-v(Tt*Dt)),a=v(r*r),r=v(v(Tt*Vt)-v(p*Gt)),r=v(d+v(a+v(r*r))),a=v(v(V*xt)-v(B*Lt)),d=v(a*a),a=v(v(B*wt)-v(Y*xt)),m=v(a*a),a=v(v(Y*Lt)-v(V*wt)),r=r>(a=v(d+v(m+v(a*a))))?r:a,d=v(W-St),m=v(R-It),a=v(v(d*Ot)-v(m*Et)),Q=v(a*a),a=v(D-n),G=v(v(a*Et)-v(d*o)),o=v(v(m*o)-v(a*Ot)),o=r>(o=v(Q+v(v(G*G)+v(o*o))))?r:o,r=v(0),Ft)break e;Dt=v(D-f),yt=v(W-E),pt=v(R-F),r=v(Z-f),Q=v(z-E),G=v(h-F)}h=v(St-E),E=v(It-F),F=v(v(p*h)-v(Nt*E)),f=v(n-f),h=v(v(Nt*f)-v(Tt*h)),n=v(h*h),h=v(v(Tt*E)-v(p*f)),h=v(v(F*F)+v(n+v(h*h))),f=v(v(V*yt)-v(B*pt)),p=v(f*f),f=v(v(B*Dt)-v(Y*yt)),n=v(f*f),f=v(v(Y*pt)-v(V*Dt)),h=h>(f=v(p+v(n+v(f*f))))?h:f,f=v(v(d*G)-v(m*Q)),p=v(f*f),f=v(v(a*Q)-v(d*r)),r=v(v(m*r)-v(a*G)),r=h>(r=v(p+v(v(f*f)+v(r*r))))?h:r;break e}if(h=v(h-C[t+4>>2]),d=v(d-C[t+8>>2]),f=v(v(h*o)-v(d*g)),a=v(a-C[t+12>>2]),o=v(v(d*r)-v(a*o)),r=v(v(a*g)-v(h*r)),g=v(v(f*f)+v(v(o*o)+v(r*r))),Q=C[t+204>>2],G=C[t+200>>2],f=C[t+196>>2],o=v(0),2==(0|w))break i}if(r=v(V-G),o=v(n-f),m=v(v(h*r)-v(d*o)),p=v(m*m),m=v(B-Q),r=v(v(d*m)-v(a*r)),n=v(r*r),r=v(v(a*o)-v(h*m)),o=v(p+v(n+v(r*r))),r=v(0),Ft)break e}r=v(F-G),f=v(Y-f),m=v(v(h*r)-v(d*f)),p=d,d=v(E-Q),r=v(v(p*d)-v(a*r)),p=v(r*r),r=v(v(a*f)-v(h*d)),r=v(v(m*m)+v(p+v(r*r)))}return e=(t=(h=v(y(Qt)))>v(-0xde0b6b000000000))?0:-1,e=(t=(g=v(y(g)))>(h=t?h:v(-0xde0b6b000000000)))?1:e,t=(o=v(y(o)))>(g=t?g:h),v(y(r))>(t?o:g)?3:t?2:e}(t,e),r=120+(m(i,192)+t|0)|0,!(n=f[r>>2]))break t;if(!(a=f[421]))break t;yt[a](n),f[r>>2]=0}return J(4+(t+m(i=(0|i)>0?i:0,192)|0)|0,e,192),i}function se(t,e,i){var r,n=0,a=v(0),o=0,_=v(0),h=v(0),d=0,g=0,y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0);if(Z=r=Z-16|0,!((0|(g=f[t+780>>2]))<1)){for(n=(m(g,192)+t|0)-188|0,o=g;D=C[e+48>>2],F=C[e+8>>2],V=C[e+4>>2],G=C[e>>2],B=C[e+52>>2],w=C[e+24>>2],y=C[e+20>>2],Q=C[e+16>>2],a=C[e+56>>2],_=C[e+40>>2],h=C[e+36>>2],E=C[e+32>>2],f[n+60>>2]=0,R=a,a=C[n>>2],W=h,h=C[n+4>>2],p=_,_=C[n+8>>2],E=v(R+v(v(v(E*a)+v(W*h))+v(p*_))),C[n+56>>2]=E,B=v(B+v(v(v(a*Q)+v(h*y))+v(_*w))),C[n+52>>2]=B,D=v(D+v(v(v(a*G)+v(h*V))+v(_*F))),C[n+48>>2]=D,F=C[i+56>>2],V=C[i+40>>2],G=C[i+32>>2],w=C[i+36>>2],y=C[i+52>>2],Q=C[i+24>>2],Y=C[i+16>>2],z=C[i+20>>2],a=C[i+48>>2],_=C[i+8>>2],h=C[i>>2],p=C[i+4>>2],f[n+44>>2]=0,R=a,a=C[n+16>>2],pt=v(h*a),h=C[n+20>>2],W=_,_=C[n+24>>2],p=v(R+v(v(pt+v(p*h))+v(W*_))),C[n+32>>2]=p,y=v(y+v(v(v(a*Y)+v(h*z))+v(_*Q))),C[n+36>>2]=y,a=v(F+v(v(v(a*G)+v(h*w))+v(_*V))),C[n+40>>2]=a,C[n+80>>2]=v(v(v(D-p)*C[n- -64>>2])+v(v(B-y)*C[n+68>>2]))+v(v(E-a)*C[n+72>>2]),f[(d=n+156|0)>>2]=f[d>>2]+1,n=n+-192|0,(0|(o=o+-1|0))>0;);if(!((0|g)<1))for(e=m(g,192);;){g=g+-1|0,o=(i=t+e|0)+-188|0;t:if((a=C[i+-108>>2])<=(h=C[t+784>>2]))if(_=v(C[i+-156>>2]-v(C[i+-140>>2]-v(C[i+-124>>2]*a))),R=v(_*_),_=v(C[i+-152>>2]-v(C[i+-136>>2]-v(a*C[i+-120>>2]))),a=v(C[i+-148>>2]-v(C[i+-132>>2]-v(a*C[i+-116>>2]))),v(v(R+v(_*_))+v(a*a))>v(h*h)){if((n=f[(i=i+-72|0)>>2])&&((d=f[421])&&(yt[d](n),f[i>>2]=0)),d=t,(0|g)!=(0|(i=(n=f[t+780>>2])+-1|0))&&(J(o,(i=m(i,192)+t|0)+4|0,192),f[(o=i+120|0)>>2]=0,f[o+4>>2]=0,f[i+160>>2]=0,f[(o=i+128|0)>>2]=0,f[o+4>>2]=0,f[i+136>>2]=0,n=f[t+780>>2]),i=n+-1|0,f[d+780>>2]=i,i)break t;if(!(i=f[424]))break t;f[r+8>>2]=t,yt[i](r+8|0)}else i=f[422],i&&yt[i](o,f[t+772>>2],f[t+776>>2]);else{if((n=f[(i=i+-72|0)>>2])&&((d=f[421])&&(yt[d](n),f[i>>2]=0)),d=t,(0|g)!=(0|(i=(n=f[t+780>>2])+-1|0))&&(J(o,(i=m(i,192)+t|0)+4|0,192),f[(o=i+120|0)>>2]=0,f[o+4>>2]=0,f[i+160>>2]=0,f[(o=i+128|0)>>2]=0,f[o+4>>2]=0,f[i+136>>2]=0,n=f[t+780>>2]),i=n+-1|0,f[d+780>>2]=i,i)break t;if(!(i=f[424]))break t;f[r+12>>2]=t,yt[i](r+12|0)}if(e=e+-192|0,!((0|g)>0))break}}Z=r+16|0}function ke(t,e){return v(C[t+232>>2]*C[e+232>>2])}function ve(t){$(t|=0)}function de(t,e,i){f[76+((m(e,144)+t|0)+(i<<2)|0)>>2]=1708}function Ce(t){return f[(t|=0)+72>>2]}function ge(t,e,i){var r=0,n=0;(r=f[t+12>>2])||(r=f[t+4>>2],r=0|yt[f[f[r>>2]+12>>2]](r,f[e+8>>2],f[i+8>>2]),f[t+12>>2]=r),f[f[t+16>>2]+4>>2]=r,n=f[t+4>>2],r=0|yt[f[f[n>>2]+8>>2]](n,e,i,r,1),n=f[t+16>>2],yt[f[f[n>>2]+8>>2]](n,f[t+28>>2],f[t+24>>2]),n=f[t+16>>2],yt[f[f[n>>2]+12>>2]](n,f[t+36>>2],f[t+32>>2]),yt[f[f[r>>2]+8>>2]](r,e,i,f[t+20>>2],f[t+16>>2]),yt[f[f[r>>2]>>2]](r),t=f[t+4>>2],yt[f[f[t>>2]+60>>2]](t,r)}function Be(t,e,i,r,n){var a,o=0;Z=a=Z-48|0,o=f[t+16>>2],yt[f[f[o>>2]+8>>2]](o,f[t+28>>2],f[t+24>>2]),o=f[t+16>>2],yt[f[f[o>>2]+12>>2]](o,f[t+36>>2],f[t+32>>2]),f[a+28>>2]=r,f[a+44>>2]=f[t+24>>2],f[a+40>>2]=f[t+28>>2],f[a+24>>2]=e,f[a+36>>2]=f[e+12>>2],e=f[e+8>>2],f[a+32>>2]=e,f[a+4>>2]=n,f[a+20>>2]=f[t+32>>2],f[a+16>>2]=f[t+36>>2],f[a>>2]=i,f[a+12>>2]=f[i+12>>2],r=f[i+8>>2],f[a+8>>2]=r,(i=f[t+8>>2])||((i=f[t+12>>2])||(i=f[t+4>>2],i=0|yt[f[f[i>>2]+12>>2]](i,e,r),f[t+12>>2]=i),f[f[t+16>>2]+4>>2]=i,e=f[t+4>>2],i=0|yt[f[f[e>>2]+8>>2]](e,a+24|0,a,i,1),f[t+8>>2]=i),yt[f[f[i>>2]+8>>2]](i,a+24|0,a,f[t+20>>2],f[t+16>>2]),Z=a+48|0}function _e(t,e,i,r,a){var o,h=0,d=0,g=0,m=0,y=0,p=0,R=0,D=0,B=0,F=0,V=0,G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=0,Tt=0,Et=0,Ot=0,Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0),Zt=0,Ut=0,Xt=v(0),Jt=v(0),jt=v(0),zt=0,Ht=0,Kt=0,qt=0,$t=0,bi=0,di=0;Z=o=Z-976|0;t:if(2!=(0|yt[f[f[r>>2]+80>>2]](r)))if(2!=(0|yt[f[f[a>>2]+80>>2]](a))){if(h=f[e+12>>2],D=f[(d=h+8|0)>>2],d=f[d+4>>2],Tt=f[h>>2],Et=f[h+4>>2],R=f[(p=h+24|0)+4>>2],f[(g=o+936|0)>>2]=f[p>>2],f[g+4>>2]=R,f[(g=o+920|0)>>2]=D,f[g+4>>2]=d,d=f[h+16>>2],D=f[h+20>>2],R=f[(p=h+40|0)+4>>2],f[(g=o+952|0)>>2]=f[p>>2],f[g+4>>2]=R,g=f[h+32>>2],p=f[h+36>>2],V=f[(F=h+56|0)+4>>2],f[(R=o+968|0)>>2]=f[F>>2],f[R+4>>2]=V,f[o+912>>2]=Tt,f[o+916>>2]=Et,f[o+928>>2]=d,f[o+932>>2]=D,f[o+944>>2]=g,f[o+948>>2]=p,d=f[h+52>>2],f[o+960>>2]=f[h+48>>2],f[o+964>>2]=d,h=f[i+12>>2],D=f[(d=h+8|0)>>2],d=f[d+4>>2],Tt=f[h>>2],Et=f[h+4>>2],R=f[(p=h+24|0)+4>>2],f[(g=o+872|0)>>2]=f[p>>2],f[g+4>>2]=R,f[(g=o+856|0)>>2]=D,f[g+4>>2]=d,d=f[h+16>>2],D=f[h+20>>2],R=f[(p=h+40|0)+4>>2],f[(g=o+888|0)>>2]=f[p>>2],f[g+4>>2]=R,g=f[h+32>>2],p=f[h+36>>2],V=f[(F=h+56|0)+4>>2],f[(R=o+904|0)>>2]=f[F>>2],f[R+4>>2]=V,f[o+848>>2]=Tt,f[o+852>>2]=Et,f[o+864>>2]=d,f[o+868>>2]=D,f[o+880>>2]=g,f[o+884>>2]=p,d=f[h+52>>2],f[o+896>>2]=f[h+48>>2],f[o+900>>2]=d,f[o+828>>2]=0,bi=o,di=dA(256),f[bi+836>>2]=di,n[o+840|0]=1,f[o+832>>2]=32,function(t,e,i,r,a){var o,h=0,d=0,g=0,m=0,v=0,y=0,p=0,R=0,D=0,B=0,E=0,F=0;if(Z=o=Z+-64|0,!f[i+72>>2]|!f[r+72>>2]){if(d=0|yt[f[f[i>>2]+88>>2]](i))for(B=o+16|0,E=o+48|0;;){if(d=d+-1|0,yt[f[f[i>>2]+120>>2]](i,d,t,o+32|0,E),g=0|yt[f[f[r>>2]+88>>2]](r))for(;;){if(yt[f[f[r>>2]+120>>2]](r,d,e,o,B),g=g+-1|0,!(C[o+16>>2]<C[o+32>>2]|C[o>>2]>C[o+48>>2]|C[o+20>>2]<C[o+36>>2]|C[o+4>>2]>C[o+52>>2]|C[o+24>>2]<C[o+40>>2]|C[o+8>>2]>C[o+56>>2])){if((0|(h=f[a+4>>2]))==f[a+8>>2]&&!((0|h)>=(0|(m=h?h<<1:1)))){m?(p=dA(m<<3),h=f[a+4>>2]):p=0,R=f[a+12>>2];e:{if((0|h)>=1)for(v=R,y=p,D=h;F=f[v+4>>2],f[y>>2]=f[v>>2],f[y+4>>2]=F,v=v+8|0,y=y+8|0,D=D+-1|0;);else if(!R)break e;_[a+16|0]&&(CA(R),h=f[a+4>>2]),f[a+12>>2]=0}f[a+12>>2]=p,n[a+16|0]=1,f[a+8>>2]=m}f[a+4>>2]=h+1,h=f[a+12>>2]+(h<<3)|0,f[h+4>>2]=g,f[h>>2]=d}if(!g)break}if(!d)break}}else mA(i+72|0,t,r+72|0,e,a);Z=o- -64|0}(o+912|0,o+848|0,r,a,o+824|0),f[o+828>>2])if(1!=(0|yt[f[f[r>>2]+80>>2]](r))||1!=(0|yt[f[f[a>>2]+80>>2]](a))){if(yt[f[f[r>>2]+112>>2]](r),yt[f[f[a>>2]+112>>2]](a),zA(o+520|4),f[(h=o+584|0)>>2]=0,f[h+4>>2]=0,f[o+528>>2]=1,f[(h=o+592|0)>>2]=0,f[h+4>>2]=0,f[(h=o+600|0)>>2]=0,f[h+4>>2]=0,f[(h=o+608|0)>>2]=0,f[h+4>>2]=0,f[(h=o+616|0)>>2]=0,f[h+4>>2]=0,f[(h=o+624|0)>>2]=0,f[h+4>>2]=0,f[o+524>>2]=8128,te(o+632|0),f[o+728>>2]=4,f[o+812>>2]=8708,f[o+804>>2]=8628,f[o+796>>2]=8556,f[o+632>>2]=8364,f[o+520>>2]=r,h=o+804|0,yt[f[f[r>>2]+96>>2]](r)||(h=f[o+520>>2],h=0|yt[f[f[h>>2]+100>>2]](h)?o+812|0:o+796|0),f[h+4>>2]=o+520,f[o+820>>2]=h,zA(o+216|4),f[(h=o+280|0)>>2]=0,f[h+4>>2]=0,f[o+224>>2]=1,f[(h=o+288|0)>>2]=0,f[h+4>>2]=0,f[(h=o+296|0)>>2]=0,f[h+4>>2]=0,f[(h=o+304|0)>>2]=0,f[h+4>>2]=0,f[(h=o+312|0)>>2]=0,f[h+4>>2]=0,f[(h=o+320|0)>>2]=0,f[h+4>>2]=0,f[o+220>>2]=8128,te(o+328|0),f[o+424>>2]=4,f[o+508>>2]=8708,f[o+500>>2]=8628,f[o+492>>2]=8556,f[o+328>>2]=8364,f[o+216>>2]=a,h=o+500|0,yt[f[f[a>>2]+96>>2]](a)||(h=f[o+216>>2],h=0|yt[f[f[h>>2]+100>>2]](h)?o+508|0:o+492|0),f[h+4>>2]=o+216,f[o+516>>2]=h,Kt=0|yt[f[f[r>>2]+92>>2]](r),qt=0|yt[f[f[a>>2]+92>>2]](a),d=f[o+828>>2])for(D=(d<<3)-4|0,Tt=o+136|0,Et=o+120|0,g=o+104|0,p=o+200|0,R=o+184|0,F=o+168|0;h=f[o+836>>2]+D|0,f[t+32>>2]=f[h>>2],h=f[h+-4>>2],f[t+24>>2]=h,V=f[o+820>>2],V=0|yt[f[f[V>>2]>>2]](V,h),h=f[o+516>>2],zt=0|yt[f[f[h>>2]>>2]](h,f[t+32>>2]),h=f[e+12>>2],B=f[(y=h+8|0)>>2],y=f[y+4>>2],Zt=f[h>>2],Ut=f[h+4>>2],St=f[(Ot=h+24|0)+4>>2],f[(m=F+8|0)>>2]=f[Ot>>2],f[m+4>>2]=St,f[(m=o+160|0)>>2]=B,f[m+4>>2]=y,y=f[h+16>>2],B=f[h+20>>2],m=f[h+36>>2],f[R>>2]=f[h+32>>2],f[R+4>>2]=m,Ot=f[(m=h+40|0)>>2],m=f[m+4>>2],$t=f[(Ht=h+56|0)+4>>2],f[(St=p+8|0)>>2]=f[Ht>>2],f[St+4>>2]=$t,St=f[h+52>>2],f[p>>2]=f[h+48>>2],f[p+4>>2]=St,f[(h=R+8|0)>>2]=Ot,f[h+4>>2]=m,f[F>>2]=y,f[F+4>>2]=B,f[o+152>>2]=Zt,f[o+156>>2]=Ut,h=f[i+12>>2],B=f[(y=h+8|0)>>2],y=f[y+4>>2],Zt=f[h>>2],Ut=f[h+4>>2],St=f[(Ot=h+24|0)+4>>2],f[(m=g+8|0)>>2]=f[Ot>>2],f[m+4>>2]=St,m=f[h+20>>2],f[g>>2]=f[h+16>>2],f[g+4>>2]=m,f[(m=o+96|0)>>2]=B,f[m+4>>2]=y,m=f[(B=h+40|0)+4>>2],f[(y=Et+8|0)>>2]=f[B>>2],f[y+4>>2]=m,y=f[h+36>>2],f[Et>>2]=f[h+32>>2],f[Et+4>>2]=y,m=f[(B=h+56|0)+4>>2],f[(y=Tt+8|0)>>2]=f[B>>2],f[y+4>>2]=m,y=f[h+52>>2],f[Tt>>2]=f[h+48>>2],f[Tt+4>>2]=y,f[o+88>>2]=Zt,f[o+92>>2]=Ut,Kt&&(yt[f[f[r>>2]+132>>2]](o+24|0,r,f[t+24>>2]),Xt=C[o+960>>2],Jt=C[o+964>>2],jt=C[o+968>>2],Nt=C[o+80>>2],Ft=C[o+72>>2],Vt=C[o+76>>2],G=C[o+920>>2],w=C[o+912>>2],Q=C[o+916>>2],W=C[o+936>>2],Y=C[o+928>>2],z=C[o+932>>2],Gt=C[o+56>>2],Lt=C[o+24>>2],wt=C[o+40>>2],xt=C[o+60>>2],Qt=C[o+28>>2],Wt=C[o+44>>2],pt=C[o+952>>2],Yt=C[o+64>>2],Dt=C[o+944>>2],Pt=C[o+32>>2],It=C[o+948>>2],Mt=C[o+48>>2],f[o+212>>2]=0,f[o+196>>2]=0,f[o+180>>2]=0,f[o+164>>2]=0,C[o+192>>2]=v(v(Pt*Dt)+v(Mt*It))+v(Yt*pt),C[o+188>>2]=v(v(Qt*Dt)+v(Wt*It))+v(xt*pt),C[o+184>>2]=v(v(Lt*Dt)+v(wt*It))+v(Gt*pt),C[o+176>>2]=v(v(Pt*Y)+v(Mt*z))+v(Yt*W),C[o+172>>2]=v(v(Qt*Y)+v(Wt*z))+v(xt*W),C[o+168>>2]=v(v(Lt*Y)+v(wt*z))+v(Gt*W),C[o+160>>2]=v(v(w*Pt)+v(Q*Mt))+v(G*Yt),C[o+156>>2]=v(v(w*Qt)+v(Q*Wt))+v(G*xt),C[o+152>>2]=v(v(Lt*w)+v(wt*Q))+v(Gt*G),C[o+208>>2]=jt+v(v(v(Dt*Ft)+v(It*Vt))+v(pt*Nt)),C[o+204>>2]=Jt+v(v(v(Y*Ft)+v(z*Vt))+v(W*Nt)),C[o+200>>2]=Xt+v(v(v(w*Ft)+v(Q*Vt))+v(G*Nt))),d=d+-1|0,qt&&(yt[f[f[a>>2]+132>>2]](o+24|0,a,f[t+32>>2]),Xt=C[o+896>>2],Jt=C[o+900>>2],jt=C[o+904>>2],Nt=C[o+80>>2],Ft=C[o+72>>2],Vt=C[o+76>>2],G=C[o+856>>2],w=C[o+848>>2],Q=C[o+852>>2],W=C[o+872>>2],Y=C[o+864>>2],z=C[o+868>>2],Gt=C[o+56>>2],Lt=C[o+24>>2],wt=C[o+40>>2],xt=C[o+60>>2],Qt=C[o+28>>2],Wt=C[o+44>>2],pt=C[o+888>>2],Yt=C[o+64>>2],Dt=C[o+880>>2],Pt=C[o+32>>2],It=C[o+884>>2],Mt=C[o+48>>2],f[o+148>>2]=0,f[o+132>>2]=0,f[o+116>>2]=0,f[o+100>>2]=0,C[o+128>>2]=v(v(Pt*Dt)+v(Mt*It))+v(Yt*pt),C[o+124>>2]=v(v(Qt*Dt)+v(Wt*It))+v(xt*pt),C[o+120>>2]=v(v(Lt*Dt)+v(wt*It))+v(Gt*pt),C[o+112>>2]=v(v(Pt*Y)+v(Mt*z))+v(Yt*W),C[o+108>>2]=v(v(Qt*Y)+v(Wt*z))+v(xt*W),C[o+104>>2]=v(v(Lt*Y)+v(wt*z))+v(Gt*W),C[o+96>>2]=v(v(w*Pt)+v(Q*Mt))+v(G*Yt),C[o+92>>2]=v(v(w*Qt)+v(Q*Wt))+v(G*xt),C[o+88>>2]=v(v(Lt*w)+v(wt*Q))+v(Gt*G),C[o+144>>2]=jt+v(v(v(Dt*Ft)+v(It*Vt))+v(pt*Nt)),C[o+140>>2]=Jt+v(v(v(Y*Ft)+v(z*Vt))+v(W*Nt)),C[o+136>>2]=Xt+v(v(v(w*Ft)+v(Q*Vt))+v(G*Nt))),f[o+28>>2]=V,f[o+44>>2]=f[t+24>>2],f[o+40>>2]=f[t+28>>2],f[o+24>>2]=e,f[o+32>>2]=f[e+8>>2],f[o+36>>2]=o+152,f[o+4>>2]=zt,f[o+20>>2]=f[t+32>>2],f[o+16>>2]=f[t+36>>2],f[o>>2]=i,f[o+8>>2]=f[i+8>>2],f[o+12>>2]=o+88,Be(t,o+24|0,o,V,zt),D=D+-8|0,d;);yt[f[f[r>>2]+116>>2]](r),yt[f[f[a>>2]+116>>2]](a),Ae(o+328|0),Ae(o+216|4),Ae(o+632|0),Ae(o+520|4)}else!function(t,e,i,r,n,a,o){var _,h=v(0),d=0,g=v(0),m=0,y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=0,Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0),Zt=v(0),Ut=v(0),Xt=v(0),Jt=v(0),jt=v(0),zt=v(0),Ht=v(0),Kt=v(0),qt=v(0),$t=v(0),bi=0,di=0,yi=v(0);if(Z=_=Z-432|0,m=f[i+12>>2],Et=C[m+56>>2],Ot=C[m+52>>2],Nt=C[m+40>>2],Ft=C[m+36>>2],Vt=C[m+24>>2],Gt=C[m+20>>2],d=f[e+12>>2],Lt=C[d+56>>2],wt=C[d+52>>2],xt=C[d+40>>2],Qt=C[d+36>>2],Wt=C[d+24>>2],Yt=C[d+20>>2],Pt=C[m+48>>2],Mt=C[m+32>>2],Zt=C[m+16>>2],Ut=C[m+8>>2],Xt=C[m+4>>2],Jt=C[m>>2],jt=C[d+48>>2],zt=C[d+32>>2],Ht=C[d+16>>2],Kt=C[d+8>>2],qt=C[d+4>>2],$t=C[d>>2],f[_+424>>2]=1008981770,f[_+352>>2]=1008981770,yt[f[f[r>>2]+112>>2]](r),yt[f[f[n>>2]+112>>2]](n),o)for(di=_+16|0;;){if(m=f[a>>2],f[t+24>>2]=m,f[t+32>>2]=f[a+4>>2],d=0|yt[f[f[r>>2]+84>>2]](r),yt[f[f[d>>2]+20>>2]](d,m,_+360|0),m=f[t+32>>2],d=0|yt[f[f[n>>2]+84>>2]](n),yt[f[f[d>>2]+20>>2]](d,m,_+288|0),f[_+372>>2]=0,f[_+388>>2]=0,f[_+404>>2]=0,V=C[_+376>>2],G=C[_+380>>2],h=C[_+384>>2],yi=v(wt+v(v(v(Ht*V)+v(Yt*G))+v(Wt*h))),C[_+380>>2]=yi,w=C[_+360>>2],Q=C[_+364>>2],R=C[_+368>>2],Y=v(wt+v(v(v(Ht*w)+v(Yt*Q))+v(Wt*R))),C[_+364>>2]=Y,y=C[_+392>>2],p=C[_+396>>2],g=C[_+400>>2],z=v(wt+v(v(v(Ht*y)+v(Yt*p))+v(Wt*g))),C[_+396>>2]=z,D=v(Lt+v(v(v(zt*V)+v(Qt*G))+v(xt*h))),C[_+384>>2]=D,B=v(jt+v(v(v($t*y)+v(qt*p))+v(Kt*g))),C[_+392>>2]=B,pt=v(jt+v(v(v($t*w)+v(qt*Q))+v(Kt*R))),C[_+360>>2]=pt,h=v(jt+v(v(v($t*V)+v(qt*G))+v(Kt*h))),C[_+376>>2]=h,Dt=v(Lt+v(v(v(zt*w)+v(Qt*Q))+v(xt*R))),C[_+368>>2]=Dt,g=v(Lt+v(v(v(zt*y)+v(Qt*p))+v(xt*g))),C[_+400>>2]=g,R=C[_+296>>2],y=C[_+288>>2],p=C[_+292>>2],f[_+300>>2]=0,It=v(Ot+v(v(v(Zt*y)+v(Gt*p))+v(Vt*R))),C[_+292>>2]=It,St=v(Et+v(v(v(Mt*y)+v(Ft*p))+v(Nt*R))),C[_+296>>2]=St,Tt=v(Pt+v(v(v(Jt*y)+v(Xt*p))+v(Ut*R))),C[_+288>>2]=Tt,R=C[_+312>>2],y=C[_+304>>2],p=C[_+308>>2],f[_+316>>2]=0,V=v(Ot+v(v(v(Zt*y)+v(Gt*p))+v(Vt*R))),C[_+308>>2]=V,G=v(Et+v(v(v(Mt*y)+v(Ft*p))+v(Nt*R))),C[_+312>>2]=G,w=v(Pt+v(v(v(Jt*y)+v(Xt*p))+v(Ut*R))),C[_+304>>2]=w,F=C[_+328>>2],y=C[_+320>>2],p=C[_+324>>2],f[_+332>>2]=0,Q=v(Ot+v(v(v(Zt*y)+v(Gt*p))+v(Vt*F))),C[_+324>>2]=Q,R=v(Pt+v(v(v(Jt*y)+v(Xt*p))+v(Ut*F))),C[_+320>>2]=R,y=v(Et+v(v(v(Mt*y)+v(Ft*p))+v(Nt*F))),C[_+328>>2]=y,p=v(D-Dt),D=v(B-pt),h=v(h-pt),B=v(g-Dt),F=v(v(p*D)-v(h*B)),g=v(z-Y),z=v(h*g),h=v(yi-Y),D=v(z-v(h*D)),g=v(v(h*B)-v(p*g)),h=v(v(1)/v(E(v(v(D*D)+v(v(g*g)+v(F*F)))))),B=v(F*h),C[_+412>>2]=B,g=v(g*h),C[_+408>>2]=g,h=v(D*h),C[_+416>>2]=h,C[_+420>>2]=v(Dt*h)+v(v(pt*g)+v(Y*B)),p=v(G-St),D=v(R-Tt),h=v(w-Tt),B=v(y-St),y=v(v(p*D)-v(h*B)),g=v(Q-It),R=v(h*g),h=v(V-It),D=v(R-v(h*D)),g=v(v(h*B)-v(p*g)),h=v(v(1)/v(E(v(v(D*D)+v(v(g*g)+v(y*y)))))),B=v(y*h),C[_+340>>2]=B,g=v(g*h),C[_+336>>2]=g,h=v(D*h),C[_+344>>2]=h,C[_+348>>2]=v(St*h)+v(v(Tt*g)+v(It*B)),o=o+-1|0,ee(_+360|0,_+288|0)&&fe(_+360|0,_+288|0,_+8|0)&&(W=f[_+12>>2]))for(bi=(W<<4)+di|0;h=C[_+8>>2],d=f[t+16>>2],yt[f[f[d>>2]+8>>2]](d,f[t+28>>2],f[t+24>>2]),d=f[t+16>>2],yt[f[f[d>>2]+12>>2]](d,f[t+36>>2],f[t+32>>2]),W=W+-1|0,h=v(-h),(m=f[t+12>>2])||(d=f[t+4>>2],m=0|yt[f[f[d>>2]+12>>2]](d,f[e+8>>2],f[i+8>>2]),f[t+12>>2]=m),d=f[t+16>>2],f[d+4>>2]=m,yt[f[f[d>>2]+16>>2]](d,di,bi,h),bi=bi+-16|0,W;);if(a=a+8|0,!o)break}yt[f[f[r>>2]+116>>2]](r),yt[f[f[n>>2]+116>>2]](n),Z=_+432|0}(t,e,i,r,a,f[o+836>>2],f[o+828>>2]);(t=f[o+836>>2])&&(_[o+840|0]&&CA(t),f[o+836>>2]=0)}else{if(h=(d=f[a+156>>2])+-1|0,f[t+36>>2]=h,!d)break t;for(;_e(t,e,i,r,f[f[a+164>>2]+(h<<2)>>2]),h=(d=f[t+36>>2])+-1|0,f[t+36>>2]=h,d;);}else{if(h=(d=f[r+156>>2])+-1|0,f[t+28>>2]=h,!d)break t;for(;_e(t,e,i,f[f[r+164>>2]+(h<<2)>>2],a),h=(d=f[t+28>>2])+-1|0,f[t+28>>2]=h,d;);}Z=o+976|0}function me(t,e,i,r,a,o){var h,d=0,p=0,R=0,D=0,B=0,E=0,F=0,V=0,G=0,w=0;Z=h=Z-528|0;t:if(2!=(0|yt[f[f[r>>2]+80>>2]](r)))if(p=1!=(0|yt[f[f[r>>2]+80>>2]](r)),d=f[a+4>>2],p|28!=(0|d))if(31!=(0|d))if(d+-21>>>0<=8)!function(t,e,i,r,a,o){var _,h,d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0);Z=_=Z-128|0,n[_+116|0]=o,f[_+112>>2]=r,f[_+100>>2]=t,f[_+96>>2]=8784,f[_+104>>2]=e,f[_+108>>2]=i,h=_,Nt=v(yt[f[f[a>>2]+48>>2]](a)),C[h+120>>2]=Nt,t=f[i+12>>2],V=C[t+52>>2],G=C[t+56>>2],e=f[e+12>>2],w=C[e+52>>2],Q=C[e+56>>2],d=C[t+20>>2],g=C[t+36>>2],W=C[e+20>>2],Y=C[e+36>>2],z=C[e+24>>2],m=C[t+24>>2],pt=C[e+40>>2],y=C[t+40>>2],Dt=C[e+32>>2],p=C[t+32>>2],It=C[e>>2],R=C[t>>2],St=C[e+16>>2],D=C[t+16>>2],B=C[t+48>>2],Tt=C[e+48>>2],E=C[t+4>>2],Et=C[e+4>>2],Ot=C[e+8>>2],F=C[t+8>>2],f[_+92>>2]=0,f[_+76>>2]=0,f[_+60>>2]=0,C[_+72>>2]=v(v(F*Ot)+v(m*z))+v(y*pt),C[_+68>>2]=v(v(F*Et)+v(m*W))+v(y*Y),C[_+56>>2]=v(v(E*Ot)+v(d*z))+v(g*pt),C[_+52>>2]=v(v(E*Et)+v(d*W))+v(g*Y),B=v(-B),C[_+88>>2]=v(v(v(F*B)-v(m*V))-v(y*G))+v(v(v(F*Tt)+v(m*w))+v(y*Q)),C[_+84>>2]=v(v(v(E*B)-v(d*V))-v(g*G))+v(v(v(E*Tt)+v(d*w))+v(g*Q)),f[_+44>>2]=0,C[_+32>>2]=v(v(R*It)+v(D*St))+v(p*Dt),C[_+64>>2]=v(v(F*It)+v(m*St))+v(y*Dt),C[_+48>>2]=v(v(E*It)+v(d*St))+v(g*Dt),C[_+40>>2]=v(v(R*Ot)+v(D*z))+v(p*pt),C[_+36>>2]=v(v(R*Et)+v(D*W))+v(p*Y),C[_+80>>2]=v(v(v(R*B)-v(D*V))-v(p*G))+v(v(v(R*Tt)+v(D*w))+v(p*Q)),yt[f[f[r>>2]+8>>2]](r,_+32|0,_+16|0,_),yt[f[f[a>>2]+64>>2]](a,_+96|0,_+16|0,_),Z=_+128|0}(t,e,i,r,a,o);else{if(d=f[e+12>>2],p=f[(R=d+8|0)>>2],R=f[R+4>>2],F=f[d>>2],G=f[d+4>>2],E=f[(B=d+24|0)+4>>2],f[(D=h+488|0)>>2]=f[B>>2],f[D+4>>2]=E,f[(D=h+472|0)>>2]=p,f[D+4>>2]=R,R=f[d+16>>2],p=f[d+20>>2],E=f[(B=d+40|0)+4>>2],f[(D=h+504|0)>>2]=f[B>>2],f[D+4>>2]=E,D=f[d+32>>2],B=f[d+36>>2],w=f[(V=d+56|0)+4>>2],f[(E=h+520|0)>>2]=f[V>>2],f[E+4>>2]=w,f[h+464>>2]=F,f[h+468>>2]=G,f[h+480>>2]=R,f[h+484>>2]=p,f[h+496>>2]=D,f[h+500>>2]=B,R=f[d+52>>2],f[h+512>>2]=f[d+48>>2],f[h+516>>2]=R,d=f[i+12>>2],p=f[(R=d+8|0)>>2],R=f[R+4>>2],F=f[d>>2],G=f[d+4>>2],E=f[(B=d+24|0)+4>>2],f[(D=h+424|0)>>2]=f[B>>2],f[D+4>>2]=E,f[(D=h+408|0)>>2]=p,f[D+4>>2]=R,R=f[d+16>>2],p=f[d+20>>2],E=f[(B=d+40|0)+4>>2],f[(D=h+440|0)>>2]=f[B>>2],f[D+4>>2]=E,D=f[d+32>>2],B=f[d+36>>2],w=f[(V=d+56|0)+4>>2],f[(E=h+456|0)>>2]=f[V>>2],f[E+4>>2]=w,f[h+400>>2]=F,f[h+404>>2]=G,f[h+416>>2]=R,f[h+420>>2]=p,f[h+432>>2]=D,f[h+436>>2]=B,R=f[d+52>>2],f[h+448>>2]=f[d+48>>2],f[h+452>>2]=R,f[h+388>>2]=0,n[h+392|0]=1,f[h+380>>2]=0,f[h+384>>2]=0,function(t,e,i,r,a){var o,h=0,d=0,g=0,m=v(0),y=v(0),p=v(0),R=0,D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=0,W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=0,St=v(0),Tt=v(0),Et=v(0);if(Z=o=Z-96|0,f[i+72>>2])V=C[(g=t+20|0)>>2],f[(R=o+20|0)>>2]=f[g>>2],G=C[(h=t+36|0)>>2],f[(g=o+24|0)>>2]=f[h>>2],f[o+12>>2]=0,w=C[t+4>>2],f[o+16>>2]=f[t+4>>2],Y=C[t+32>>2],f[o+8>>2]=f[t+32>>2],z=C[t+16>>2],f[o+4>>2]=f[t+16>>2],pt=C[t>>2],f[o>>2]=f[t>>2],D=C[t+52>>2],B=C[t+56>>2],m=C[(h=t+24|0)>>2],d=f[h>>2],y=C[t+8>>2],Q=f[t+8>>2],p=C[t+48>>2],W=C[(h=t+40|0)>>2],f[(t=o+40|0)>>2]=f[h>>2],f[(h=o+36|0)>>2]=d,f[(d=o+28|0)>>2]=0,f[(It=o+44|0)>>2]=0,f[o+60>>2]=0,p=v(-p),Dt=v(v(v(y*p)-v(D*m))-v(B*W)),E=C[e+48>>2],F=v(E*y),y=C[e+52>>2],F=v(F+v(y*m)),m=C[e+56>>2],C[o+56>>2]=Dt+v(F+v(m*W)),C[o+52>>2]=v(v(v(w*p)-v(D*V))-v(B*G))+v(v(v(E*w)+v(y*V))+v(m*G)),f[o+32>>2]=Q,C[o+48>>2]=v(v(v(pt*p)-v(D*z))-v(B*Y))+v(v(v(E*pt)+v(y*z))+v(m*Y)),D=C[e+36>>2],B=C[e+20>>2],V=C[e+40>>2],G=C[e+24>>2],w=C[e+32>>2],m=C[e>>2],y=C[e+16>>2],W=C[g>>2],p=C[R>>2],E=C[e+4>>2],Dt=C[t>>2],F=C[e+8>>2],St=C[h>>2],Tt=C[o+16>>2],Et=C[o+32>>2],f[It>>2]=0,C[t>>2]=v(v(F*Et)+v(G*St))+v(V*Dt),C[h>>2]=v(v(E*Et)+v(B*St))+v(D*Dt),f[d>>2]=0,C[g>>2]=v(v(F*Tt)+v(G*p))+v(V*W),C[R>>2]=v(v(E*Tt)+v(B*p))+v(D*W),C[o+32>>2]=v(v(m*Et)+v(y*St))+v(w*Dt),C[o+16>>2]=v(v(m*Tt)+v(y*p))+v(w*W),f[o+12>>2]=0,C[o+8>>2]=v(v(F*pt)+v(G*z))+v(V*Y),C[o+4>>2]=v(v(E*pt)+v(B*z))+v(D*Y),C[o>>2]=v(v(m*pt)+v(y*z))+v(w*Y),yt[f[f[r>>2]+8>>2]](r,o,o- -64|0,o+80|0),_A(i+72|0,o- -64|0,a);else if(yt[f[f[r>>2]+8>>2]](r,e,o- -64|0,o+80|0),e=0|yt[f[f[i>>2]+88>>2]](i))for(It=o+16|0;;){if(e=e+-1|0,yt[f[f[i>>2]+120>>2]](i,e,t,o,It),!(C[o+80>>2]<C[o>>2]|C[o+64>>2]>C[o+16>>2]|C[o+84>>2]<C[o+4>>2]|C[o+68>>2]>C[o+20>>2]|C[o+88>>2]<C[o+8>>2]|C[o+72>>2]>C[o+24>>2])){if((0|(d=f[a+4>>2]))==f[a+8>>2]&&!((0|d)>=(0|(Q=d?d<<1:1)))){Q?(r=dA(Q<<2),d=f[a+4>>2]):r=0,R=f[a+12>>2];e:{if((0|d)>=1)for(g=r,h=R;f[g>>2]=f[h>>2],g=g+4|0,h=h+4|0,d=d+-1|0;);else if(!R)break e;_[a+16|0]&&CA(R),f[a+12>>2]=0,d=f[a+4>>2]}f[a+12>>2]=r,n[a+16|0]=1,f[a+8>>2]=Q}f[f[a+12>>2]+(d<<2)>>2]=e,f[a+4>>2]=f[a+4>>2]+1}if(!e)break}Z=o+96|0}(h+464|0,h+400|0,r,a,h+376|0),f[h+380>>2]){if(yt[f[f[r>>2]+112>>2]](r),zA(h+72|4),f[(a=h+136|0)>>2]=0,f[a+4>>2]=0,f[h+80>>2]=1,f[(a=h+144|0)>>2]=0,f[a+4>>2]=0,f[(a=h+152|0)>>2]=0,f[a+4>>2]=0,f[(a=h+160|0)>>2]=0,f[a+4>>2]=0,f[(a=h+168|0)>>2]=0,f[a+4>>2]=0,f[(a=h+176|0)>>2]=0,f[a+4>>2]=0,f[h+76>>2]=8128,te(h+184|0),f[h+280>>2]=4,f[h+364>>2]=8708,f[h+356>>2]=8628,f[h+348>>2]=8556,f[h+184>>2]=8364,f[h+72>>2]=r,a=h+356|0,yt[f[f[r>>2]+96>>2]](r)||(a=f[h+72>>2],a=0|yt[f[f[a>>2]+100>>2]](a)?h+364|0:h+348|0),f[a+4>>2]=h+72,f[h+372>>2]=a,R=0|yt[f[f[r>>2]+92>>2]](r),a=f[h+380>>2])if(o)for(d=(a<<2)-4|0;o=f[f[h+388>>2]+d>>2],f[t+32>>2]=o,p=f[h+372>>2],p=0|yt[f[f[p>>2]>>2]](p,o),R&&yt[f[f[r>>2]+132>>2]](h+8|0,r,o),f[h+8>>2]=e,f[h+20>>2]=f[e+12>>2],F=f[e+8>>2],f[h+16>>2]=F,f[h+12>>2]=p,f[h+28>>2]=f[t+24>>2],f[h+24>>2]=f[t+28>>2],p=f[t+16>>2],o=f[p+8>>2],f[((0|F)==f[o+8>>2]?8:12)+p>>2]=h+8,ge(t,i,h+8|0),f[f[t+16>>2]+8>>2]=o,d=d+-4|0,a=a+-1|0;);else for(d=(a<<2)-4|0;o=f[f[h+388>>2]+d>>2],f[t+24>>2]=o,p=f[h+372>>2],p=0|yt[f[f[p>>2]>>2]](p,o),R&&yt[f[f[r>>2]+132>>2]](h+8|0,r,o),f[h+8>>2]=e,f[h+20>>2]=f[e+12>>2],F=f[e+8>>2],f[h+16>>2]=F,f[h+12>>2]=p,f[h+28>>2]=f[t+24>>2],f[h+24>>2]=f[t+28>>2],p=f[t+16>>2],o=f[p+8>>2],f[((0|F)==f[o+8>>2]?8:12)+p>>2]=h+8,ge(t,h+8|0,i),f[f[t+16>>2]+8>>2]=o,d=d+-4|0,a=a+-1|0;);yt[f[f[r>>2]+116>>2]](r),Ae(h+184|0),Ae(h+72|4)}(t=f[h+388>>2])&&(_[h+392|0]&&CA(t),f[h+388>>2]=0)}else!function(t,e,i,r,n,a){var o,_=0,h=0,d=v(0),g=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=0,W=v(0),Y=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=0,St=0,Tt=0,Et=0,Ot=v(0),Nt=v(0),Ft=v(0);if(Z=o=Z-96|0,h=f[n+20>>2])for(_=f[i+12>>2],Ot=C[_+56>>2],Nt=C[_+52>>2],p=C[_+40>>2],R=C[_+36>>2],D=C[_+24>>2],B=C[_+20>>2],Ft=C[_+48>>2],E=C[_+32>>2],F=C[_+16>>2],V=C[_+8>>2],G=C[_+4>>2],w=C[_>>2],Q=h+-1|0,h=m(h,80)+-80|0;_=f[n+28>>2]+h|0,Tt=f[_- -64>>2],f[o+92>>2]=0,f[o+76>>2]=0,f[o+60>>2]=0,f[o+44>>2]=0,d=C[_+8>>2],g=C[_+24>>2],y=C[_+40>>2],C[o+72>>2]=v(v(E*d)+v(R*g))+v(p*y),W=C[_+4>>2],Y=C[_+20>>2],z=C[_+36>>2],C[o+68>>2]=v(v(E*W)+v(R*Y))+v(p*z),yt=C[_>>2],pt=C[_+16>>2],Dt=C[_+32>>2],C[o+64>>2]=v(v(E*yt)+v(R*pt))+v(p*Dt),C[o+56>>2]=v(v(F*d)+v(B*g))+v(D*y),C[o+52>>2]=v(v(F*W)+v(B*Y))+v(D*z),C[o+48>>2]=v(v(F*yt)+v(B*pt))+v(D*Dt),C[o+40>>2]=v(v(w*d)+v(G*g))+v(V*y),C[o+36>>2]=v(v(w*W)+v(G*Y))+v(V*z),C[o+32>>2]=v(v(w*yt)+v(G*pt))+v(V*Dt),d=C[_+48>>2],g=C[_+52>>2],y=C[_+56>>2],C[o+88>>2]=Ot+v(v(v(E*d)+v(R*g))+v(p*y)),C[o+84>>2]=Nt+v(v(v(F*d)+v(B*g))+v(D*y)),C[o+80>>2]=Ft+v(v(v(w*d)+v(G*g))+v(V*y)),f[o+8>>2]=i,Et=f[i+8>>2],f[o+16>>2]=Et,f[o+12>>2]=Tt,f[o+28>>2]=Q,f[o+24>>2]=-1,_=f[t+16>>2],f[o+20>>2]=o+32,It=f[_+8>>2],St=_+8|0,f[It+8>>2]!=(0|Et)&&(It=f[_+12>>2],St=_+12|0),f[St>>2]=o+8,me(t,e,o+8|0,r,Tt,a),_=f[t+16>>2],f[(f[f[_+8>>2]+8>>2]==f[o+16>>2]?8:12)+_>>2]=It,h=h+-80|0,-1!=(0|(Q=Q+-1|0)););Z=o+96|0}(t,e,i,r,a,o);else!function(t,e,i,r,n,a){var o,_,h,d=0,p=v(0),R=v(0),D=0,B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=0,Y=0,z=v(0),pt=0,Dt=0,It=0,St=0,Tt=v(0),Et=v(0),Ot=v(0);if(Z=o=Z-144|0,d=f[e+12>>2],W=f[(pt=d+8|0)+4>>2],f[(D=o+88|0)>>2]=f[pt>>2],f[D+4>>2]=W,D=f[d>>2],pt=f[d+4>>2],Y=f[(Dt=d+24|0)+4>>2],f[(W=o+104|0)>>2]=f[Dt>>2],f[W+4>>2]=Y,W=f[d+16>>2],Dt=f[d+20>>2],St=f[(It=d+40|0)+4>>2],f[(Y=o+120|0)>>2]=f[It>>2],f[Y+4>>2]=St,Y=f[d+32>>2],It=f[d+36>>2],h=f[(_=d+56|0)+4>>2],f[(St=o+136|0)>>2]=f[_>>2],f[St+4>>2]=h,f[o+80>>2]=D,f[o+84>>2]=pt,f[o+96>>2]=W,f[o+100>>2]=Dt,f[o+112>>2]=Y,f[o+116>>2]=It,D=f[d+52>>2],f[o+128>>2]=f[d+48>>2],f[o+132>>2]=D,d=f[i+12>>2],G=C[d+20>>2],E=C[d+24>>2],F=C[d+36>>2],V=C[d+40>>2],w=C[d+8>>2],Q=C[d>>2],Tt=C[d+4>>2],Et=C[d+16>>2],Ot=C[d+32>>2],p=C[n+52>>2],R=C[n+56>>2],B=C[n+60>>2],z=v(v(v(v(C[d+48>>2]*p)+v(C[d+52>>2]*R))+v(C[d+56>>2]*B))+C[n+68>>2]),C[o+76>>2]=z,F=v(v(v(Ot*p)+v(F*R))+v(V*B)),C[o+72>>2]=F,G=v(v(v(Et*p)+v(G*R))+v(E*B)),C[o+68>>2]=G,E=v(v(v(Q*p)+v(Tt*R))+v(w*B)),C[o+64>>2]=E,yt[f[f[r>>2]+8>>2]](r,o+80|0,o+32|0,o+48|0),p=v(yt[f[f[n>>2]+48>>2]](n)),R=v(p+C[(d=o+52|0)>>2]),C[d>>2]=R,B=v(p+C[(d=o+56|0)>>2]),C[d>>2]=B,w=v(C[o+36>>2]-p),C[o+36>>2]=w,V=v(p+C[o+48>>2]),C[o+48>>2]=V,Q=v(C[o+32>>2]-p),C[o+32>>2]=Q,p=v(C[o+40>>2]-p),C[o+40>>2]=p,Q=v(v(Q+V)*v(.5)),w=v(v(w+R)*v(.5)),p=v(v(p+B)*v(.5)),Tt=v(v(v(Q*E)+v(w*G))+v(p*F)),p=v(v(v(v(V-Q)*v(y(E)))+v(v(R-w)*v(y(G))))+v(v(B-p)*v(y(F)))),!(z>v(v(Tt+p)+v(9.999999974752427e-7))|v(z+v(9.999999974752427e-7))>=v(Tt-p)^1)){if(yt[f[f[r>>2]+112>>2]](r),p=v(yt[f[f[r>>2]+48>>2]](r)),R=v(yt[f[f[n>>2]+48>>2]](n)),n=f[r+188>>2])for(G=v(p+R),n=n+-1|0;d=f[r+184>>2]+m(f[r+196>>2],n)|0,1!=f[r+192>>2]?(p=v(C[d>>2]*C[r+160>>2]),C[o+16>>2]=p,R=v(C[d+4>>2]*C[r+164>>2]),C[o+20>>2]=R,B=v(C[d+8>>2]*C[r+168>>2])):(p=v(g[d>>3]*+C[r+160>>2]),C[o+16>>2]=p,R=v(g[d+8>>3]*+C[r+164>>2]),C[o+20>>2]=R,B=v(g[d+16>>3]*+C[r+168>>2])),f[o+28>>2]=0,E=v(v(v(v(p*C[o+96>>2])+v(R*C[o+100>>2]))+v(B*C[o+104>>2]))+C[o+132>>2]),C[o+20>>2]=E,z=C[o+68>>2],V=v(v(v(v(p*C[o+80>>2])+v(R*C[o+84>>2]))+v(B*C[o+88>>2]))+C[o+128>>2]),C[o+16>>2]=V,F=C[o+64>>2],p=v(v(v(v(p*C[o+112>>2])+v(R*C[o+116>>2]))+v(B*C[o+120>>2]))+C[o+136>>2]),C[o+24>>2]=p,R=C[o+72>>2],(p=v(v(v(v(v(V*F)+v(E*z))+v(p*R))-C[o+76>>2])-G))<v(0)&&(a?(f[o+12>>2]=0,C[o+8>>2]=-R,C[o+4>>2]=-z,C[o>>2]=-F,d=f[t+16>>2],yt[f[f[d>>2]+8>>2]](d,f[t+28>>2],f[t+24>>2]),d=f[t+16>>2],yt[f[f[d>>2]+12>>2]](d,f[t+36>>2],f[t+32>>2]),(d=f[t+12>>2])||(d=f[t+4>>2],d=0|yt[f[f[d>>2]+12>>2]](d,f[i+8>>2],f[e+8>>2]),f[t+12>>2]=d),D=f[t+16>>2],f[D+4>>2]=d,yt[f[f[D>>2]+16>>2]](D,o,o+16|0,p)):(d=f[t+16>>2],yt[f[f[d>>2]+8>>2]](d,f[t+28>>2],f[t+24>>2]),d=f[t+16>>2],yt[f[f[d>>2]+12>>2]](d,f[t+36>>2],f[t+32>>2]),(d=f[t+12>>2])||(d=f[t+4>>2],d=0|yt[f[f[d>>2]+12>>2]](d,f[e+8>>2],f[i+8>>2]),f[t+12>>2]=d),D=f[t+16>>2],f[D+4>>2]=d,yt[f[f[D>>2]+16>>2]](D,o- -64|0,o+16|0,p))),-1!=(0|(n=n+-1|0)););yt[f[f[r>>2]+116>>2]](r)}Z=o+144|0}(t,e,i,r,a,o);else{if(R=(o?36:28)+t|0,d=(p=f[r+156>>2])+-1|0,f[R>>2]=d,!p)break t;for(;me(t,e,i,f[f[r+164>>2]+(d<<2)>>2],a,o),d=(p=f[R>>2])+-1|0,f[R>>2]=d,p;);}Z=h+528|0}function Re(t,e,i,r,n){return v(v(1))}function Qe(t){return(t|=0)+16|0}function he(t,e,i){t|=0,e=v(e),f[(i|=0)>>2]=0,f[i+4>>2]=0,f[(t=i+8|0)>>2]=0,f[t+4>>2]=0}function Ge(t,e){t|=0,e=v(e),C[t+48>>2]=e}function ye(t){return 52}function pe(t){return 2}function Fe(t){return 3}function We(t){return 1}function we(t){return 0}function De(t,e,i){}function Ee(t){var e=0;f[t+132>>2]=0,f[t+136>>2]=0,f[t>>2]=8964,f[t+188>>2]=0,f[t+192>>2]=0,f[t+180>>2]=0,f[t+184>>2]=1566444395,f[t+164>>2]=1065353216,f[t+168>>2]=1065353216,f[t+276>>2]=0,f[t+280>>2]=0,f[t+268>>2]=1065353216,f[t+272>>2]=0,f[t+260>>2]=-1,f[t+264>>2]=-1,f[t+252>>2]=1,f[t+256>>2]=0,f[t+244>>2]=1036831949,f[t+248>>2]=1176256512,f[t+236>>2]=0,f[t+240>>2]=0,f[t+228>>2]=1056964608,f[t+232>>2]=0,f[t+220>>2]=1,f[t+224>>2]=0,f[t+212>>2]=-1,f[t+216>>2]=-1,f[t+204>>2]=1,f[t+208>>2]=-1,f[(e=t+140|0)>>2]=0,f[e+4>>2]=0,f[(e=t+148|0)>>2]=0,f[e+4>>2]=0,f[(e=t+156|0)>>2]=0,f[e+4>>2]=0,f[(e=t+172|0)>>2]=1065353216,f[e+4>>2]=0,f[(e=t+196|0)>>2]=0,f[e+4>>2]=0,n[t+300|0]=1,f[t+304>>2]=0,f[t+296>>2]=0,f[(e=t+288|0)>>2]=0,f[e+4>>2]=0,f[(e=t+8|0)>>2]=0,f[e+4>>2]=0,f[t+4>>2]=1065353216,f[(e=t+16|0)>>2]=0,f[e+4>>2]=0,f[(e=t+28|0)>>2]=0,f[e+4>>2]=0,f[t+24>>2]=1065353216,f[(e=t+36|0)>>2]=0,f[e+4>>2]=0,f[(e=t+48|0)>>2]=0,f[e+4>>2]=0,f[t+44>>2]=1065353216,f[(e=t+56|0)>>2]=0,f[e+4>>2]=0,f[(e=t+72|0)>>2]=0,f[e+4>>2]=0,f[(e=t- -64|0)>>2]=0,f[e+4>>2]=1065353216,f[(e=t+80|0)>>2]=0,f[e+4>>2]=0,f[t+88>>2]=1065353216,f[(e=t+100|0)>>2]=0,f[e+4>>2]=0,f[(e=t+92|0)>>2]=0,f[e+4>>2]=0,f[t+128>>2]=0,f[t+108>>2]=1065353216,f[(e=t+120|0)>>2]=0,f[e+4>>2]=0,f[(t=t+112|0)>>2]=0,f[t+4>>2]=0}function Ze(t){var e;return f[(t|=0)>>2]=8964,(e=f[t+296>>2])&&(_[t+300|0]&&CA(e),f[t+296>>2]=0),f[t+296>>2]=0,f[t+288>>2]=0,f[t+292>>2]=0,n[t+300|0]=1,0|t}function Ye(t,e){4!=(-2&f[t+220>>2])&&(f[t+220>>2]=e)}function Ve(t,e){3&_[t+204|0]&&!e||(4!=(-2&f[t+220>>2])&&(f[t+220>>2]=1),f[t+224>>2]=0)}function Ne(t,e,i){t|=0,i|=0;var r=0,n=0;return f[(e|=0)+16>>2]=f[t+4>>2],f[e+20>>2]=f[t+8>>2],f[e+24>>2]=f[t+12>>2],f[e+28>>2]=f[t+16>>2],f[e+32>>2]=f[t+20>>2],f[e+36>>2]=f[t+24>>2],f[e+40>>2]=f[t+28>>2],f[e+44>>2]=f[t+32>>2],f[e+48>>2]=f[t+36>>2],f[e+52>>2]=f[t+40>>2],f[e+56>>2]=f[t+44>>2],f[e+60>>2]=f[t+48>>2],f[e+64>>2]=f[t+52>>2],f[e+68>>2]=f[t+56>>2],f[e+72>>2]=f[t+60>>2],f[e+76>>2]=f[t- -64>>2],f[e+80>>2]=f[t+68>>2],f[e+84>>2]=f[t+72>>2],f[e+88>>2]=f[t+76>>2],f[e+92>>2]=f[t+80>>2],f[e+96>>2]=f[t+84>>2],f[e+100>>2]=f[t+88>>2],f[e+104>>2]=f[t+92>>2],f[e+108>>2]=f[t+96>>2],f[e+112>>2]=f[t+100>>2],f[e+116>>2]=f[t+104>>2],f[e+120>>2]=f[t+108>>2],f[e+124>>2]=f[t+112>>2],f[e+128>>2]=f[t+116>>2],f[e+132>>2]=f[t+120>>2],f[e+136>>2]=f[t+124>>2],f[e+140>>2]=f[t+128>>2],f[e+144>>2]=f[t+132>>2],f[e+148>>2]=f[t+136>>2],f[e+152>>2]=f[t+140>>2],f[e+156>>2]=f[t+144>>2],f[e+160>>2]=f[t+148>>2],f[e+164>>2]=f[t+152>>2],f[e+168>>2]=f[t+156>>2],f[e+172>>2]=f[t+160>>2],f[e+176>>2]=f[t+164>>2],f[e+180>>2]=f[t+168>>2],f[e+184>>2]=f[t+172>>2],f[e+188>>2]=f[t+176>>2],f[e+232>>2]=f[t+180>>2],f[e+192>>2]=f[t+184>>2],f[e>>2]=0,r=0|yt[f[f[i>>2]+28>>2]](i,f[t+192>>2]),n=f[t+228>>2],f[e+196>>2]=f[t+224>>2],f[e+200>>2]=n,n=f[t+212>>2],f[e+240>>2]=f[t+208>>2],f[e+244>>2]=n,f[e+8>>2]=0,f[e+4>>2]=r,f[e+236>>2]=f[t+204>>2],f[e+248>>2]=f[t+220>>2],f[e+204>>2]=f[t+236>>2],f[e+208>>2]=f[t+244>>2],f[e+212>>2]=f[t+248>>2],f[e+216>>2]=f[t+232>>2],f[e+252>>2]=f[t+252>>2],r=0|yt[f[f[i>>2]+40>>2]](i,t),n=0|yt[f[f[i>>2]+28>>2]](i,r),f[e+12>>2]=n,n&&yt[f[f[i>>2]+48>>2]](i,r),f[e+220>>2]=f[t+268>>2],i=f[t+280>>2],r=f[t+276>>2],t=f[t+272>>2],f[e+260>>2]=0,f[e+224>>2]=t,f[e+228>>2]=r,f[e+256>>2]=i,8992}function Ie(t,e){t|=0,e=v(e);var i,r,n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0);n=v(yt[f[f[t>>2]+48>>2]](t)),a=v(yt[f[f[t>>2]+48>>2]](t)),o=v(yt[f[f[t>>2]+48>>2]](t)),C[t+48>>2]=e,e=C[(i=t+40|0)>>2],_=C[(r=t+36|0)>>2],h=C[t+32>>2],d=v(yt[f[f[t>>2]+48>>2]](t)),g=v(yt[f[f[t>>2]+48>>2]](t)),m=v(yt[f[f[t>>2]+48>>2]](t)),f[t+44>>2]=0,C[r>>2]=v(a+_)-g,C[t+32>>2]=v(n+h)-d,C[i>>2]=v(o+e)-m}function Je(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0);n=v(yt[f[f[t>>2]+48>>2]](t)),d=C[e+52>>2],_=C[e+20>>2],p=C[e+24>>2],g=C[e+56>>2],h=C[e+36>>2],a=C[t+36>>2],R=C[e+40>>2],D=C[t+40>>2],m=C[e+48>>2],B=C[e>>2],E=C[e+4>>2],F=C[e+8>>2],V=C[e+16>>2],G=C[e+32>>2],o=C[t+32>>2],f[i+12>>2]=0,o=v(n+o),a=v(n+a),n=v(n+D),h=v(v(v(o*v(y(G)))+v(a*v(y(h))))+v(n*v(y(R)))),C[i+8>>2]=g-h,_=v(v(v(o*v(y(V)))+v(a*v(y(_))))+v(n*v(y(p)))),C[i+4>>2]=d-_,n=v(v(v(o*v(y(B)))+v(a*v(y(E))))+v(n*v(y(F)))),C[i>>2]=m-n,f[r+12>>2]=0,C[r+8>>2]=g+h,C[r+4>>2]=_+d,C[r>>2]=n+m}function xe(t,e){t|=0,e|=0;var i,r,n,a,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0);o=v(yt[f[f[t>>2]+48>>2]](t)),_=v(yt[f[f[t>>2]+48>>2]](t)),h=v(yt[f[f[t>>2]+48>>2]](t)),d=C[(i=t+20|0)>>2],g=C[(r=t+36|0)>>2],m=C[(n=t+24|0)>>2],y=C[(a=t+40|0)>>2],p=C[t+16>>2],R=C[t+32>>2],EA(t,e),f[t+44>>2]=0,C[a>>2]=v(v(v(h+y)/m)*C[n>>2])-h,C[r>>2]=v(v(v(_+g)/d)*C[i>>2])-_,C[t+32>>2]=v(v(v(o+R)/p)*C[t+16>>2])-o}function Ue(t){return 6}function Me(t){t|=0;var e=v(0),i=v(0);return e=C[t+32>>2],i=v(yt[f[f[t>>2]+48>>2]](t)),v(yt[f[f[t>>2]+48>>2]](t)),v(yt[f[f[t>>2]+48>>2]](t)),v(v(e+i))}function Se(t,e,i,r,n,a){var o,_=v(0),h=v(0),d=v(0),g=v(0),m=0,y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=0,V=0,G=v(0),w=0,Q=0,W=v(0),Y=v(0),z=0,pt=v(0),Dt=0,It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=0,Vt=0,Gt=0,Lt=0,wt=0,xt=0,Qt=0,Wt=0,Yt=0;Z=o=Z-32|0;t:if(!(f[t+56>>2]<1))for(h=C[r>>2],p=C[i>>2],g=v(h-p),d=C[r+4>>2],R=C[i+4>>2],y=v(d-R),_=C[r+8>>2],D=C[i+8>>2],B=v(_-D),G=v(v(1)/v(E(v(v(v(g*g)+v(y*y))+v(B*B))))),W=B,B=v(B*G),Y=g,g=v(g*G),pt=y,y=v(y*G),pt=v(v(W*B)+v(v(Y*g)+v(pt*y))),G=C[a+8>>2],It=v((D<_?_:D)+G),W=C[a+4>>2],St=v((R<d?d:R)+W),Y=C[a>>2],Tt=v((p<h?h:p)+Y),D=_<D?_:D,_=C[n+8>>2],Et=v(D+_),R=d<R?d:R,d=C[n+4>>2],Ot=v(R+d),p=h<p?h:p,h=C[n>>2],Nt=v(p+h),r=f[t+96>>2],p=B==v(0)?v(0xde0b6b000000000):v(v(1)/B),F=p<v(0),Ft=(F<<4)+o|8,R=y==v(0)?v(0xde0b6b000000000):v(v(1)/y),Q=R<v(0),Vt=(Q<<4)+o|4,Gt=((1^F)<<4)+o|8,Lt=((1^Q)<<4)+o|4,D=g==v(0)?v(0xde0b6b000000000):v(v(1)/g),F=D<v(0),wt=(F<<4)+o|0,xt=((1^F)<<4)+o|0,Q=o+16|0,F=1;;){w=f[(m=r+8|0)>>2],V=f[m+4>>2],Qt=f[r>>2],Wt=f[r+4>>2],m=f[r+20>>2],f[Q>>2]=f[r+16>>2],f[Q+4>>2]=m,Yt=f[(m=r+24|0)+4>>2],f[(Dt=Q+8|0)>>2]=f[m>>2],f[Dt+4>>2]=Yt,f[o>>2]=Qt,f[o+4>>2]=Wt,f[o+8>>2]=w,f[o+12>>2]=V,C[o>>2]=C[o>>2]-Y,C[o+4>>2]=C[o+4>>2]-W,C[o+16>>2]=C[o+16>>2]-h,C[o+20>>2]=C[o+20>>2]-d,C[o+8>>2]=C[o+8>>2]-G,C[o+24>>2]=C[o+24>>2]-_;e:{i:{A:{r:{if(w=St<C[r+4>>2]|Ot>C[r+20>>2],V=0,Nt>C[r+16>>2]||(V=0,Tt<C[r>>2]||(V=1)),!(w|1^(It<C[r+8>>2]|Et>C[m>>2]?0:V)||(g=C[i+4>>2],h=v(R*v(C[Vt>>2]-g)),_=C[i>>2],d=v(D*v(C[xt>>2]-_)),h>d||(_=v(D*v(C[wt>>2]-_)),g=v(R*v(C[Lt>>2]-g)),_>g||(B=C[i+8>>2],y=v(p*v(C[Ft>>2]-B)),d=g<d?g:d,y>d||(h=h>_?h:_,_=v(p*v(C[Gt>>2]-B)),h>_)))))){if(m=-1==(0|(V=f[r+32>>2])),1!=(0|(w=(y>h?y:h)<pt&(_<d?_:d)>v(0)))|-1!=(0|V))break r;yt[f[f[e>>2]+8>>2]](e,f[r+36>>2],f[r+40>>2]);break A}m=-1==f[r+32>>2],w=0}if(!m&&!w)break i}z=z+1|0,r=r- -64|0;break e}z=(m=f[r+32>>2])+z|0,r=(m<<6)+r|0}if((0|z)>=f[t+56>>2])break t;F=F+1|0,_=C[n+8>>2],d=C[n+4>>2],h=C[n>>2],G=C[a+8>>2],W=C[a+4>>2],Y=C[a>>2]}f[430]<(0|F)&&(f[430]=F),Z=o+32|0}function Xe(t,e,i,r,n,a,o){var _,d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=0,F=v(0),V=v(0),G=v(0),w=0,Q=v(0),W=0,Y=v(0),z=v(0),pt=0,Dt=0,It=0,St=0,Tt=v(0),Et=v(0),Ot=v(0),Nt=0,Ft=0,Vt=0,Gt=0,Lt=0,wt=0,xt=0,Qt=0,Wt=0,Yt=0,Pt=0,Mt=0,Zt=0,Ut=0;if(Z=_=Z-32|0,p=C[i+4>>2],R=C[r+4>>2],D=C[i>>2],y=C[r>>2],G=C[t+28>>2],d=C[t+12>>2],V=C[r+8>>2],Q=C[i+8>>2],g=(g=v((V<Q?V:Q)+C[n+8>>2]))<d?d:g,Tt=C[t+44>>2],r=(g=v(v((G<g?G:g)-d)*Tt))<v(4294967296)&g>=v(0)?~~g>>>0:0,Y=C[t+24>>2],g=C[t+8>>2],m=(m=v((R<p?R:p)+C[n+4>>2]))<g?g:m,Et=C[t+40>>2],B=(m=v(v((Y<m?Y:m)-g)*Et))<v(4294967296)&m>=v(0)?~~m>>>0:0,z=C[t+20>>2],m=C[t+4>>2],F=(F=v((y<D?y:D)+C[n>>2]))<m?m:F,Ot=C[t+36>>2],W=(F=v(v((z<F?z:F)-m)*Ot))<v(4294967296)&F>=v(0)?~~F>>>0:0,F=v((Q<V?V:Q)+C[a+8>>2]),pt=(d=v(v(v((G<(F=F<d?d:F)?G:F)-d)*Tt)+v(1)))<v(4294967296)&d>=v(0)?~~d>>>0:0,d=v((p<R?R:p)+C[a+4>>2]),Dt=(d=v(v(v((Y<(d=d<g?g:d)?Y:d)-g)*Et)+v(1)))<v(4294967296)&d>=v(0)?~~d>>>0:0,d=v((D<y?y:D)+C[a>>2]),It=(d=v(v(v((z<(d=d<m?m:d)?z:d)-m)*Ot)+v(1)))<v(4294967296)&d>=v(0)?~~d>>>0:0,0<(0|o))for(D=v(y-D),p=v(R-p),R=v(V-Q),y=v(v(1)/v(E(v(v(v(D*D)+v(p*p))+v(R*R))))),d=R,R=v(R*y),g=D,D=v(D*y),m=p,p=v(p*y),Q=v(v(d*R)+v(v(g*D)+v(m*p))),Gt=65534&r,Lt=65534&B,wt=65534&W,pt|=1,Dt|=1,It|=1,r=f[t+136>>2],xt=((w=(R=R==v(0)?v(0xde0b6b000000000):v(v(1)/R))<v(0))<<4)+_|8,Qt=((B=(p=p==v(0)?v(0xde0b6b000000000):v(v(1)/p))<v(0))<<4)+_|4,Wt=((1^w)<<4)+_|8,Yt=((1^B)<<4)+_|4,Pt=((w=(D=D==v(0)?v(0xde0b6b000000000):v(v(1)/D))<v(0))<<4)+_|0,Mt=((1^w)<<4)+_|0,w=0;;){W=f[r+12>>2],B=0;t:{e:{i:{A:if(!(wt>>>0>h[r+6>>1]||(Nt=h[r>>1],It>>>0<Nt>>>0|Gt>>>0>h[r+10>>1]||(Ft=h[r+4>>1],pt>>>0<Ft>>>0|Lt>>>0>h[r+8>>1]||(Vt=h[r+2>>1],Dt>>>0<Vt>>>0))))){if(f[_+12>>2]=0,B=h[r+10>>1],Zt=h[r+8>>1],Ut=h[r+6>>1],f[_+28>>2]=0,y=C[t+36>>2],d=C[t+4>>2],C[_>>2]=v(v(v(Nt>>>0)/y)+d)-C[a>>2],g=C[t+40>>2],m=C[t+8>>2],C[_+4>>2]=v(v(v(Vt>>>0)/g)+m)-C[a+4>>2],V=C[t+44>>2],G=C[t+12>>2],C[_+8>>2]=v(v(v(Ft>>>0)/V)+G)-C[a+8>>2],C[_+16>>2]=v(d+v(v(Ut>>>0)/y))-C[n>>2],C[_+20>>2]=v(m+v(v(Zt>>>0)/g))-C[n+4>>2],C[_+24>>2]=v(G+v(v(B>>>0)/V))-C[n+8>>2],m=C[i+4>>2],y=v(p*v(C[Qt>>2]-m)),g=C[i>>2],!(y>(d=v(D*v(C[Mt>>2]-g)))||(g=v(D*v(C[Pt>>2]-g)),m=v(p*v(C[Yt>>2]-m)),g>m||(G=C[i+8>>2],V=v(R*v(C[xt>>2]-G)),d=m<d?m:d,V>d||(y=y>g?y:g,g=v(R*v(C[Wt>>2]-G)),y>g))))){if(!(B=(V>y?V:y)<Q&(g<d?g:d)>v(0))|(0|W)<0)break A;B=f[r+12>>2],yt[f[f[e>>2]+8>>2]](e,B>>21,2097151&B);break i}B=0}if(!((0|W)>-1||B))break e}St=St+1|0,r=r+16|0;break t}St=St-(B=f[r+12>>2])|0,r=r-(B<<4)|0}if(w=w+1|0,!((0|St)<(0|o)))break}f[430]<(0|w)&&(f[430]=w),Z=_+32|0}function Te(t,e,i,r){var n;Z=n=Z-16|0,f[n+8>>2]=e,f[n>>2]=9988,f[n+4>>2]=f[t+52>>2],function(t,e,i,r){var n,a=0;Z=n=Z-32|0,f[(a=n+24|0)>>2]=0,f[a+4>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[(a=n+8|0)>>2]=0,f[a+4>>2]=0,f[n>>2]=0,f[n+4>>2]=0,_[t+60|0]?Xe(t,e,i,r,n+16|0,n,f[t+56>>2]):Se(t,e,i,r,n+16|0,n),Z=n+32|0}(f[t+56>>2],n,i,r),Z=n+16|0}function je(t,e,i,r,n,a){var o;Z=o=Z-16|0,f[o+8>>2]=e,f[o>>2]=10156,f[o+4>>2]=f[t+52>>2],function(t,e,i,r,n,a){_[t+60|0]?Xe(t,e,i,r,n,a,f[t+56>>2]):Se(t,e,i,r,n,a)}(f[t+56>>2],o,i,r,n,a),Z=o+16|0}function Oe(t,e,i){t|=0,e|=0,i|=0;var r,n,a,o,_,d=0,y=v(0),p=v(0),R=v(0),D=0,B=0,E=v(0);Z=r=Z-80|0,d=f[t+4>>2],yt[f[f[d>>2]+16>>2]](d,r+28|0,r+24|0,r+20|0,r+16|0,r+12|0,r+8|0,r+4|0,r,e),D=(n=f[t+4>>2])+12|0,a=f[r+12>>2]+m(f[r+8>>2],i)|0,o=f[r+28>>2],_=f[r+20>>2];t:{e:{i:{A:{r:{n:{a:{if(3!=f[r>>2]){if(B=f[r+16>>2],d=m(B,f[a+8>>2])+o|0,_)break a;p=v(C[d+4>>2]*C[n+8>>2]),R=v(C[d>>2]*C[n+4>>2]),y=C[n+12>>2],d=d+8|0;break n}if(B=f[r+16>>2],d=m(B,h[a+4>>1])+o|0,_?(p=v(C[n+8>>2]*v(g[d+8>>3])),R=v(C[n+4>>2]*v(g[d>>3])),y=v(g[d+16>>3]),d=D):(p=v(C[d+4>>2]*C[n+8>>2]),R=v(C[d>>2]*C[n+4>>2]),y=C[n+12>>2],d=d+8|0),E=C[d>>2],f[r+76>>2]=0,C[r+68>>2]=p,C[r+72>>2]=E*y,C[r+64>>2]=R,d=m(B,h[a+2>>1])+o|0,!_)break r;p=v(C[n+8>>2]*v(g[d+8>>3])),R=v(C[n+4>>2]*v(g[d>>3])),y=v(g[d+16>>3]),d=D;break A}p=v(C[n+8>>2]*v(g[d+8>>3])),R=v(C[n+4>>2]*v(g[d>>3])),y=v(g[d+16>>3]),d=D}if(E=C[d>>2],f[r+76>>2]=0,C[r+68>>2]=p,C[r+72>>2]=E*y,C[r+64>>2]=R,d=m(B,f[a+4>>2])+o|0,!_)break i;p=v(C[n+8>>2]*v(g[d+8>>3])),R=v(C[n+4>>2]*v(g[d>>3])),y=v(g[d+16>>3]),d=D;break e}p=v(C[d+4>>2]*C[n+8>>2]),R=v(C[d>>2]*C[n+4>>2]),y=C[n+12>>2],d=d+8|0}E=C[d>>2],f[r+60>>2]=0,C[r+52>>2]=p,C[r+56>>2]=E*y,C[r+48>>2]=R,d=m(B,h[a>>1])+o|0,_?(p=v(C[n+8>>2]*v(g[d+8>>3])),R=v(C[n+4>>2]*v(g[d>>3])),y=v(g[d+16>>3])):(D=d+8|0,p=v(C[d+4>>2]*C[n+8>>2]),R=v(C[d>>2]*C[n+4>>2]),y=C[n+12>>2]),y=v(C[D>>2]*y);break t}p=v(C[d+4>>2]*C[n+8>>2]),R=v(C[d>>2]*C[n+4>>2]),y=C[n+12>>2],d=d+8|0}E=C[d>>2],f[r+60>>2]=0,C[r+52>>2]=p,C[r+56>>2]=E*y,C[r+48>>2]=R,d=m(B,f[a>>2])+o|0,_?(p=v(C[n+8>>2]*v(g[d+8>>3])),R=v(C[n+4>>2]*v(g[d>>3])),y=v(g[d+16>>3])):(D=d+8|0,p=v(C[d+4>>2]*C[n+8>>2]),R=v(C[d>>2]*C[n+4>>2]),y=C[n+12>>2]),y=v(C[D>>2]*y)}f[r+44>>2]=0,C[r+40>>2]=y,C[r+36>>2]=p,C[r+32>>2]=R,d=f[t+8>>2],yt[f[f[d>>2]+8>>2]](d,r+32|0,e,i),t=f[t+4>>2],yt[f[f[t>>2]+24>>2]](t,e),Z=r+80|0}function He(t){f[t+4>>2]=35,f[t+8>>2]=0,f[t+12>>2]=-1,f[t+16>>2]=0,f[t>>2]=10304}function ze(t){return(t|=0)+72|0}function Pe(t,e,i){var r=0;He(t),f[t+88>>2]=0,n[t+92|0]=1,f[(r=t+80|0)>>2]=0,f[r+4>>2]=0,f[t+72>>2]=0,f[(r=t- -64|0)>>2]=1065353216,f[r+4>>2]=0,f[t+56>>2]=1065353216,f[t+60>>2]=1065353216,n[t+52|0]=1,f[t+44>>2]=-8388609,f[(r=t+36|0)>>2]=-8388609,f[r+4>>2]=-8388609,f[t+28>>2]=2139095039,f[t+20>>2]=2139095039,f[t+24>>2]=2139095039,f[t+4>>2]=25,f[t+188>>2]=0,f[(r=t+180|0)>>2]=0,f[r+4>>2]=0,f[(r=t+168|0)>>2]=1065353216,f[r+4>>2]=0,f[(r=t+160|0)>>2]=1065353216,f[r+4>>2]=1065353216,f[t+152>>2]=1008981770,f[t+148>>2]=11168,f[t>>2]=10560,f[(r=t+204|0)>>2]=0,f[r+4>>2]=0,f[(r=t+196|0)>>2]=0,f[r+4>>2]=0,f[t+156>>2]=e,f[t+176>>2]=i,f[t+144>>2]=t+148}function Ke(t){var e;return f[(t|=0)>>2]=11012,(e=f[t+88>>2])&&(_[t+92|0]&&CA(e),f[t+88>>2]=0),f[t+88>>2]=0,f[t+80>>2]=0,f[t+84>>2]=0,n[t+92|0]=1,0|t}function Le(t){return(t|=0)+56|0}function qe(t){}function $e(t){var e=0,i=0,r=0,a=0;if(f[(t|=0)>>2]=10820,e=f[t+164>>2],i=f[t+156>>2])for(r=(i<<2)-4|0;i=i+-1|0,(a=f[e+r>>2])&&(yt[f[f[a>>2]+4>>2]](a),e=f[t+164>>2]),r=r+-4|0,i;);return e&&(_[t+168|0]&&CA(e),f[t+164>>2]=0),f[t+164>>2]=0,f[t+156>>2]=0,f[t+160>>2]=0,f[t>>2]=11012,n[t+168|0]=1,(e=f[t+88>>2])&&(_[t+92|0]&&CA(e),f[t+88>>2]=0),f[t+88>>2]=0,f[t+80>>2]=0,f[t+84>>2]=0,n[t+92|0]=1,0|t}function Ar(t,e,i,r,n){}function er(t){f[t+16>>2]=0,f[t+8>>2]=-1,f[t+12>>2]=0,f[t>>2]=0,f[t+4>>2]=0,f[t+32>>2]=0,n[t+36|0]=1,f[(t=t+24|0)>>2]=0,f[t+4>>2]=0}function rr(t){var e=0;(e=f[t>>2])&&ir(t,e),CA(f[t+4>>2]),f[t+4>>2]=0,f[t+8>>2]=-1,(e=f[t+32>>2])&&(_[t+36|0]&&CA(e),f[t+32>>2]=0),f[t+16>>2]=0,f[t+32>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,n[t+36|0]=1}function ir(t,e){f[e+40>>2]&&(ir(t,f[e+36>>2]),ir(t,f[e+40>>2])),(0|e)==f[t>>2]&&(f[t>>2]=0),CA(f[t+4>>2]),f[t+4>>2]=e}function fr(t){var e=0;(e=f[t>>2])&&ir(t,e),CA(f[t+4>>2]),f[t+4>>2]=0,f[t+8>>2]=-1,(e=f[t+32>>2])&&(_[t+36|0]&&CA(e),f[t+32>>2]=0),f[t+32>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,f[t+16>>2]=0,n[t+36|0]=1}function tr(t,e){var i,r=0,n=0,a=0,o=0,_=0,h=0,d=0,C=0,g=0,m=0,v=0,y=0,p=0,R=0,D=0,B=0,E=0;Z=i=Z-32|0;t:if(e=(0|e)<=-1?f[t+12>>2]:e,!((0|e)<1)&&(r=f[t>>2],r))for(;;){if(f[(h=r+40|0)>>2])for(y=0;(a=f[r+32>>2])>>>0<=r>>>0?a=r:(_=(0|(o=f[a+40>>2]))==(0|r),g=f[36+((C=((0|r)!=(0|o))<<2)+a|0)>>2],d=t,(n=f[a+32>>2])&&(d=36+(n+((f[n+40>>2]==(0|a))<<2)|0)|0),f[d>>2]=r,f[g+32>>2]=r,f[a+32>>2]=r,f[r+32>>2]=n,f[a+36>>2]=f[r+36>>2],f[a+40>>2]=f[h>>2],f[f[r+36>>2]+32>>2]=a,f[f[h>>2]+32>>2]=a,f[(o=r+36|0)+(_<<2)>>2]=a,f[o+C>>2]=g,h=f[(o=a+24|0)+4>>2],n=i+24|0,R=f[o>>2],f[n>>2]=R,f[n+4>>2]=h,g=f[(n=a+16|0)+4>>2],_=i+16|0,D=f[n>>2],f[_>>2]=D,f[_+4>>2]=g,C=f[(_=a+8|0)+4>>2],m=i+8|0,B=f[_>>2],f[m>>2]=B,f[m+4>>2]=C,m=f[a+4>>2],E=f[a>>2],f[i>>2]=E,f[i+4>>2]=m,v=f[(d=p=r+24|0)+4>>2],f[o>>2]=f[d>>2],f[o+4>>2]=v,v=f[(o=r+16|0)+4>>2],f[n>>2]=f[o>>2],f[n+4>>2]=v,v=f[(n=r+8|0)+4>>2],f[_>>2]=f[n>>2],f[_+4>>2]=v,_=f[r+4>>2],f[a>>2]=f[r>>2],f[a+4>>2]=_,f[p>>2]=R,f[p+4>>2]=h,f[o>>2]=D,f[o+4>>2]=g,f[n>>2]=B,f[n+4>>2]=C,f[r>>2]=E,f[r+4>>2]=m),r=f[t+16>>2]>>>y,y=y+1&31,r=f[36+(((1&r)<<2)+a|0)>>2],f[(h=r+40|0)>>2];);if(d=t,n=0,nr(t,r)&&(n=f[t>>2]),ar(d,n,r),f[t+16>>2]=f[t+16>>2]+1,!(e=e+-1|0))break t;r=f[t>>2]}Z=i+32|0}function nr(t,e){var i=0,r=0,n=v(0),a=v(0),o=v(0),_=0,h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0);if((0|e)==f[t>>2])return f[t>>2]=0,0;i=f[e+32>>2],r=f[36+(((f[i+40>>2]!=(0|e))<<2)+i|0)>>2];t:{if(e=f[i+32>>2])for(f[36+((((0|i)==f[e+40>>2])<<2)+e|0)>>2]=r,f[r+32>>2]=e,CA(f[t+4>>2]),f[t+4>>2]=i;;){if(E=C[e>>2],i=f[e+36>>2],n=C[i>>2],r=f[e+40>>2],n=n<(m=C[r>>2])?n:m,C[e>>2]=n,m=C[e+16>>2],a=(a=C[i+16>>2])>(y=C[r+16>>2])?a:y,C[e+16>>2]=a,y=C[e+4>>2],o=(o=C[i+4>>2])<(p=C[r+4>>2])?o:p,C[e+4>>2]=o,p=C[(_=e+20|0)>>2],h=(h=C[i+20>>2])>(R=C[r+20>>2])?h:R,C[_>>2]=h,R=C[e+8>>2],d=(d=C[i+8>>2])<(D=C[r+8>>2])?d:D,C[e+8>>2]=d,D=C[(_=e+24|0)>>2],g=(g=C[i+24>>2])>(B=C[r+24>>2])?g:B,C[_>>2]=g,!(p!=h|m!=a|E!=n|y!=o)&&R==d&&D==g)break t;if(!(e=f[e+32>>2]))break}else f[r+32>>2]=0,f[t>>2]=r,CA(f[t+4>>2]),f[t+4>>2]=i;e=f[t>>2]}return e}function ar(t,e,i){var r=0,n=v(0),a=v(0),o=v(0),_=0,h=0;if(!f[t>>2])return f[i+32>>2]=0,void(f[t>>2]=i);if(r=f[e+40>>2])for(a=v(C[i>>2]+C[i+16>>2]),n=v(C[i+8>>2]+C[i+24>>2]),o=v(C[i+4>>2]+C[i+20>>2]);h=e+36|0,e=f[e+36>>2],e=f[h+((v(v(v(y(v(a-v(C[e>>2]+C[e+16>>2]))))+v(y(v(o-v(C[e+4>>2]+C[e+20>>2])))))+v(y(v(n-v(C[e+8>>2]+C[e+24>>2])))))<v(v(v(y(v(a-v(C[r>>2]+C[r+16>>2]))))+v(y(v(o-v(C[r+4>>2]+C[r+20>>2])))))+v(y(v(n-v(C[r+8>>2]+C[r+24>>2])))))^1)<<2)>>2],r=f[e+40>>2];);h=f[e+32>>2],(r=f[t+4>>2])?f[t+4>>2]=0:(r=dA(44),f[r>>2]=0,f[r+4>>2]=0,f[r+40>>2]=0,f[(_=r+32|0)>>2]=0,f[_+4>>2]=0,f[(_=r+24|0)>>2]=0,f[_+4>>2]=0,f[(_=r+16|0)>>2]=0,f[_+4>>2]=0,f[(_=r+8|0)>>2]=0,f[_+4>>2]=0),f[r+36>>2]=0,f[r+40>>2]=0,a=C[i>>2],n=C[e>>2],C[r>>2]=a<n?a:n,a=C[i+16>>2],n=C[e+16>>2],C[r+16>>2]=a>n?a:n,a=C[i+4>>2],n=C[e+4>>2],C[r+4>>2]=a<n?a:n,a=C[i+20>>2],n=C[e+20>>2],C[r+20>>2]=a>n?a:n,a=C[i+8>>2],n=C[e+8>>2],C[r+8>>2]=a<n?a:n,f[r+32>>2]=h,a=C[i+24>>2],n=C[e+24>>2],C[r+24>>2]=a>n?a:n;t:if(h)for(f[36+(((f[f[e+32>>2]+40>>2]==(0|e))<<2)+h|0)>>2]=r,f[r+36>>2]=e,f[e+32>>2]=r,f[r+40>>2]=i,f[i+32>>2]=r,a=C[r>>2];;){if(t=r,!(C[(r=h)>>2]<=a^1|C[r+4>>2]<=C[t+4>>2]^1|C[r+8>>2]<=C[t+8>>2]^1|C[r+16>>2]>=C[t+16>>2]^1)&&C[r+20>>2]>=C[t+20>>2]&&C[r+24>>2]>=C[t+24>>2])break t;if(t=f[r+36>>2],a=C[t>>2],e=f[r+40>>2],a=a<(n=C[e>>2])?a:n,C[r>>2]=a,n=C[t+16>>2],o=C[e+16>>2],C[r+16>>2]=n>o?n:o,n=C[t+4>>2],o=C[e+4>>2],C[r+4>>2]=n<o?n:o,n=C[t+20>>2],o=C[e+20>>2],C[r+20>>2]=n>o?n:o,n=C[t+8>>2],o=C[e+8>>2],C[r+8>>2]=n<o?n:o,n=C[t+24>>2],o=C[e+24>>2],C[r+24>>2]=n>o?n:o,!(h=f[r+32>>2]))break}else f[r+36>>2]=e,f[e+32>>2]=r,f[r+40>>2]=i,f[t>>2]=r,f[i+32>>2]=r}function or(t,e,i){var r=0,n=0,a=0;return(n=f[t+4>>2])?f[t+4>>2]=0:(n=dA(44),f[(r=n)>>2]=0,f[r+4>>2]=0,f[r+40>>2]=0,f[(r=r+32|0)>>2]=0,f[r+4>>2]=0,f[(r=n+24|0)>>2]=0,f[r+4>>2]=0,f[(r=n+16|0)>>2]=0,f[r+4>>2]=0,f[(r=n+8|0)>>2]=0,f[r+4>>2]=0),f[n+36>>2]=i,f[n+32>>2]=0,f[n+40>>2]=0,i=f[e+4>>2],f[n>>2]=f[e>>2],f[n+4>>2]=i,a=f[(r=e+8|0)+4>>2],f[(i=n+8|0)>>2]=f[r>>2],f[i+4>>2]=a,a=f[(r=e+16|0)+4>>2],f[(i=n+16|0)>>2]=f[r>>2],f[i+4>>2]=a,r=f[(e=e+24|0)+4>>2],f[(i=n+24|0)>>2]=f[e>>2],f[i+4>>2]=r,ar(t,f[t>>2],n),f[t+12>>2]=f[t+12>>2]+1,n}function cr(t,e,i){var r=0,n=0,a=0,o=0;t:if(a=nr(t,e))if(r=f[t+8>>2],(0|r)>=0){if(!r)break t;for(;;){if(!(n=f[a+32>>2]))break t;if(a=n,!(r=r+-1|0))break}}else a=f[t>>2];else a=0;n=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=n,n=f[(r=i+24|0)+4>>2],f[(o=e+24|0)>>2]=f[r>>2],f[o+4>>2]=n,n=f[(r=i+16|0)+4>>2],f[(o=e+16|0)>>2]=f[r>>2],f[o+4>>2]=n,i=f[(n=i+8|0)+4>>2],f[(r=e+8|0)>>2]=f[n>>2],f[r+4>>2]=i,ar(t,a,e)}function br(t,e){nr(t,e),CA(f[t+4>>2]),f[t+4>>2]=e,f[t+12>>2]=f[t+12>>2]+-1}function lr(t,e){return 1}function ur(t){var e,i;return v((i=(e=t*t)*t)*(e*e)*(2718311493989822e-21*e-.00019839334836096632)+(i*(.008333329385889463*e-.16666666641626524)+t))}function sr(t){var e;return v(-.499999997251031*(t*=t)+1+.04166662332373906*(e=t*t)+t*e*(2439044879627741e-20*t-.001388676377460993))}function kr(t,e){var i=0;t:if((0|e)>=1024){if(t*=898846567431158e293,(0|(i=e+-1023|0))<1024){e=i;break t}t*=898846567431158e293,e=((0|e)<3069?e:3069)+-2046|0}else(0|e)>-1023||(t*=2004168360008973e-307,i=e+969|0,(0|i)>-1023?e=i:(t*=2004168360008973e-307,e=((0|e)>-2960?e:-2960)+1938|0));return b(0,0),b(1,e+1023<<20),t*+l()}function vr(t,e){var i,r,n=0,a=0,o=0,_=0;Z=i=Z-16|0,s(t);t:if((n=2147483647&(r=c(0)))>>>0<=1305022426){if(a=.6366197723675814*(o=+t)+6755399441055744-6755399441055744,g[e>>3]=o+-1.5707963109016418*a+-1.5893254773528196e-8*a,y(a)<2147483648){n=~~a;break t}n=-2147483648}else n>>>0>=2139095040?(g[e>>3]=v(t-t),n=0):(_=n,n=(n>>>23)-150|0,g[i+8>>3]=(b(0,_-(n<<23)|0),k()),n=function(t,e,i){var r,n,a,o,_,h,d,C,v=0,p=0,R=0,D=0,E=0,F=0,V=0,G=0,w=0,Q=0,W=0,Y=0,z=0;if(Z=r=Z-560|0,Q=i+m(a=(0|(D=(i+-3|0)/24|0))>0?D:0,-24)|0,(0|(n=f[2840]))>=0)for(D=n+1|0,E=11376+((i=a)<<2)|0,p=r+320|0;g[p>>3]=(0|i)<0?0:+f[E>>2],p=p+8|0,E=E+4|0,i=i+1|0,D=D+-1|0;);for(G=Q+-24|0,D=r+320|0;;){for(v=0,i=t,E=1,p=D;v+=g[i>>3]*g[p>>3],i=i+8|0,p=p+-8|0,E=E+-1|0;);if(g[(R<<3)+r>>3]=v,D=D+8|0,i=(0|R)<(0|n),R=R+1|0,!i)break}_=23-G|0,o=24-G|0,h=476+(r+(n<<2)|0)|0,d=r+476|0,C=r+-8|0,R=n;e:{for(;;){if(v=g[(i=R<<3)+r>>3],!(D=(0|R)<1))for(i=i+C|0,p=r+480|0,E=R;F=p,W=v,V=y(v*=5.960464477539063e-8)<2147483648?~~v:-2147483648,V=y(W+=-16777216*(v=+(0|V)))<2147483648?~~W:-2147483648,f[F>>2]=V,p=p+4|0,v=g[i>>3]+v,i=i+-8|0,E=E+-1|0;);v=kr(v,G),v+=-8*B(.125*v),v-=+(0|(V=y(v)<2147483648?~~v:-2147483648));i:{A:{r:{if(E=(0|G)<1){if(G)break r;w=f[476+(r+(R<<2)|0)>>2]>>23}else w=p=476+(r+(R<<2)|0)|0,p=(F=f[p>>2])-((i=F>>o)<<o)|0,f[w>>2]=p,V=i+V|0,w=p>>_;if((0|w)<1)break i;break A}if(w=2,!(v>=.5)){w=0;break i}}if(D)F=0;else for(F=0,i=r+480|0,D=R;;){p=f[i>>2];A:{r:{if(z=i,F)Y=16777215;else{if(!p)break r;F=1,Y=16777216}f[z>>2]=Y-p;break A}F=0}if(i=i+4|0,!(D=D+-1|0))break}E||((i=G+-1|0)>>>0>1||(i-1?f[(i=476+(r+(R<<2)|0)|0)>>2]=8388607&f[i>>2]:f[(i=476+(r+(R<<2)|0)|0)>>2]=4194303&f[i>>2])),V=V+1|0,2==(0|w)&&(v=1-v,w=2,F&&(v-=kr(1,G)))}if(0!=v)break;if(!((0|R)<=(0|n))){for(i=(R<<2)+d|0,p=0,E=R;p=f[i>>2]|p,i=i+-4|0,(0|(E=E+-1|0))>(0|n););if(p){for(i=476+(r+(R<<2)|0)|0,Q=G;R=R+-1|0,Q=Q+-24|0,t=f[i>>2],i=i+-4|0,!t;);break e}}for(i=h,D=R;D=D+1|0,p=f[i>>2],i=i+-4|0,!p;);for(F=328+((R<<3)+r|0)|0;;){for(i=328+((R<<3)+r|0)|0,R=R+1|0,g[i>>3]=f[11376+(a+R<<2)>>2],v=0,i=t,p=F,E=1;v+=g[i>>3]*g[p>>3],i=i+8|0,p=p+-8|0,E=E+-1|0;);if(g[(R<<3)+r>>3]=v,F=F+8|0,!((0|R)<(0|D)))break}R=D}(v=kr(v,0-G|0))>=16777216?(t=(r+480|0)+(R<<2)|0,W=v,i=y(v*=5.960464477539063e-8)<2147483648?~~v:-2147483648,D=y(v=W+-16777216*+(0|i))<2147483648?~~v:-2147483648,f[t>>2]=D,R=R+1|0):(i=y(v)<2147483648?~~v:-2147483648,Q=G),f[(r+480|0)+(R<<2)>>2]=i}if(!((0|R)<0)){for(E=R+1|0,v=kr(1,Q),i=(r+480|0)+(R<<2)|0,p=(R<<3)+r|0;g[p>>3]=v*+f[i>>2],i=i+-4|0,p=p+-8|0,v*=5.960464477539063e-8,(0|(E=E+-1|0))>0;);if(!((0|R)<0))for(D=(R<<3)+r|0,i=R;;){for(t=i,E=R-i|0,v=0,i=0,p=0;v+=g[i+14144>>3]*g[i+D>>3],!((0|p)>=(0|n))&&(i=i+8|0,G=p>>>0<E>>>0,p=p+1|0,G););if(g[(r+160|0)+(E<<3)>>3]=v,D=D+-8|0,i=t+-1|0,!((0|t)>0))break}}if((0|R)<0)v=0;else for(p=R+1|0,i=(r+160|0)+(R<<3)|0,v=0;v+=g[i>>3],i=i+-8|0,(0|(p=p+-1|0))>0;);return g[e>>3]=w?-v:v,Z=r+560|0,7&V}(i+8|0,i,n),a=g[i>>3],(0|r)<=-1?(g[e>>3]=-a,n=0-n|0):g[e>>3]=a);return Z=i+16|0,n}function dr(t){var e,i=0,r=0,n=0;Z=e=Z-16|0,s(t);t:if((i=2147483647&(r=c(0)))>>>0<=1061752794){if(i>>>0<964689920)break t;t=ur(+t)}else if(r>>>=31,i>>>0<=1081824209){if(n=+t,i>>>0<=1075235811){if(r){t=v(-sr(n+1.5707963267948966));break t}t=sr(n+-1.5707963267948966);break t}t=ur(-((r?3.141592653589793:-3.141592653589793)+n))}else if(i>>>0<=1088565717){if(n=+t,i>>>0<=1085271519){if(r){t=sr(n+4.71238898038469);break t}t=v(-sr(n+-4.71238898038469));break t}t=ur((r?6.283185307179586:-6.283185307179586)+n)}else if(i>>>0>=2139095040)t=v(t-t);else if(i=3&vr(t,e+8|0),i>>>0<=2){switch(i-1|0){default:t=ur(g[e+8>>3]);break t;case 0:t=sr(g[e+8>>3]);break t;case 1:}t=ur(-g[e+8>>3])}else t=v(-sr(g[e+8>>3]));return Z=e+16|0,t}function Cr(t){var e,i=v(0),r=0,n=0,a=0;Z=e=Z-16|0,s(t);t:if((r=2147483647&(n=c(0)))>>>0<=1061752794){if(i=v(1),r>>>0<964689920)break t;i=sr(+t)}else if(n>>>=31,r>>>0<=1081824209){if(a=+t,r>>>0>=1075235812){i=v(-sr((n?3.141592653589793:-3.141592653589793)+a));break t}if(n){i=ur(a+1.5707963267948966);break t}i=ur(1.5707963267948966-a)}else if(r>>>0<=1088565717){if(r>>>0>=1085271520){i=sr(+t+(n?6.283185307179586:-6.283185307179586));break t}if(n){i=ur(-4.71238898038469-+t);break t}i=ur(+t-4.71238898038469)}else if(i=v(t-t),!(r>>>0>=2139095040))if(r=3&vr(t,e+8|0),r>>>0<=2){switch(r-1|0){default:i=sr(g[e+8>>3]);break t;case 0:i=ur(-g[e+8>>3]);break t;case 1:}i=v(-sr(g[e+8>>3]))}else i=ur(g[e+8>>3]);return Z=e+16|0,t=i}function Br(t,e){var i,r,n,a,o,_,h=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0,D=0,B=0,E=0,F=0;Z=i=Z-80|0,f[t+72>>2]=f[t+72>>2]+1,(h=f[t+68>>2])&&br(h,f[76+(f[t+28>>2]+m(e,80)|0)>>2]),d=f[t+20>>2],B=f[(o=t+28|0)>>2],_=m(e,80),y=f[(C=(h=B+_|0)+8|0)+4>>2],f[(v=i+8|0)>>2]=f[C>>2],f[v+4>>2]=y,E=f[(p=h+24|0)+4>>2],f[(y=n=i+24|0)>>2]=f[p>>2],f[y+4>>2]=E,D=f[(R=a=h+40|0)+4>>2],f[(y=i+40|0)>>2]=f[R>>2],f[y+4>>2]=D,g=f[(R=h+56|0)+4>>2],f[(D=E=i+56|0)>>2]=f[R>>2],f[D+4>>2]=g,F=f[(r=h+72|0)+4>>2],f[(g=D=i+72|0)>>2]=f[r>>2],f[g+4>>2]=F,g=f[h+4>>2],f[i>>2]=f[h>>2],f[i+4>>2]=g,g=f[h+20>>2],f[i+16>>2]=f[h+16>>2],f[i+20>>2]=g,g=f[h+36>>2],f[i+32>>2]=f[h+32>>2],f[i+36>>2]=g,g=f[h+52>>2],f[i+48>>2]=f[h+48>>2],f[i+52>>2]=g,g=f[h+68>>2],f[i+64>>2]=f[h+64>>2],f[i+68>>2]=g,g=B,B=m(d,80)+-80|0,F=f[(g=(d=g+B|0)+8|0)+4>>2],f[C>>2]=f[g>>2],f[C+4>>2]=F,C=f[d+4>>2],f[h>>2]=f[d>>2],f[h+4>>2]=C,g=f[(C=d+24|0)+4>>2],f[p>>2]=f[C>>2],f[p+4>>2]=g,C=f[d+20>>2],f[h+16>>2]=f[d+16>>2],f[h+20>>2]=C,p=f[(C=d+40|0)+4>>2],f[a>>2]=f[C>>2],f[a+4>>2]=p,C=f[d+36>>2],f[h+32>>2]=f[d+32>>2],f[h+36>>2]=C,p=f[(C=d+56|0)+4>>2],f[R>>2]=f[C>>2],f[R+4>>2]=p,C=f[d+52>>2],f[h+48>>2]=f[d+48>>2],f[h+52>>2]=C,C=f[d+68>>2],f[h+64>>2]=f[d+64>>2],f[h+68>>2]=C,d=f[(h=d+72|0)+4>>2],f[r>>2]=f[h>>2],f[r+4>>2]=d,C=f[i+4>>2],h=f[o>>2]+B|0,f[h>>2]=f[i>>2],f[h+4>>2]=C,C=f[v+4>>2],f[(d=h+8|0)>>2]=f[v>>2],f[d+4>>2]=C,d=f[i+20>>2],f[h+16>>2]=f[i+16>>2],f[h+20>>2]=d,v=f[n+4>>2],f[(d=h+24|0)>>2]=f[n>>2],f[d+4>>2]=v,d=f[i+36>>2],f[h+32>>2]=f[i+32>>2],f[h+36>>2]=d,v=f[y+4>>2],f[(d=h+40|0)>>2]=f[y>>2],f[d+4>>2]=v,d=f[i+52>>2],f[h+48>>2]=f[i+48>>2],f[h+52>>2]=d,v=f[E+4>>2],f[(d=h+56|0)>>2]=f[E>>2],f[d+4>>2]=v,v=f[D+4>>2],f[(d=h+72|0)>>2]=f[D>>2],f[d+4>>2]=v,d=f[i+68>>2],f[h+64>>2]=f[i+64>>2],f[h+68>>2]=d,f[t+68>>2]&&(f[f[76+(f[t+28>>2]+_|0)>>2]+36>>2]=e),f[t+20>>2]=f[t+20>>2]+-1,Z=i+80|0}function _r(t){var e;return f[(t|=0)>>2]=14564,(e=f[t+32>>2])&&(_[t+36|0]&&CA(e),f[t+32>>2]=0),f[t+32>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,n[t+36|0]=1,0|t}function mr(t,e,i,r,n,a,o,_,h,d){e|=0,i|=0,r|=0,n|=0,a|=0,o|=0,_|=0,h|=0,d|=0,t=f[(t|=0)+32>>2]+(d<<5)|0,f[i>>2]=f[t+12>>2],f[n>>2]=f[t+20>>2],f[e>>2]=f[t+16>>2],f[r>>2]=f[t+28>>2],f[_>>2]=f[t>>2],f[a>>2]=f[t+4>>2],f[h>>2]=f[t+24>>2],f[o>>2]=f[t+8>>2]}function Rr(t,e){}function Qr(t,e){var i=0,r=0,o=0,d=0,C=0,g=0,m=0;if(_[t+164|0]){if((0|(i=f[t+128>>2]))==f[t+132>>2]&&!((0|i)>=(0|(d=i?i<<1:1)))){d&&(r=dA(d<<2),i=f[t+128>>2]),g=f[t+136>>2];t:{if((0|i)>=1)for(o=r,C=g;f[o>>2]=f[C>>2],o=o+4|0,C=C+4|0,i=i+-1|0;);else if(!g)break t;_[t+140|0]&&CA(g),f[t+136>>2]=0,i=f[t+128>>2]}f[t+136>>2]=r,f[t+132>>2]=d,n[t+140|0]=1}return o=f[t+136>>2],f[o+(i<<2)>>2]=e,f[f[t+32>>2]+4>>2]=o,void(f[t+128>>2]=f[t+128>>2]+1)}if((0|(r=f[t+148>>2]))==f[t+152>>2]&&!((0|r)>=(0|(m=r?r<<1:1)))){m&&(g=dA(m<<1),r=f[t+148>>2]),d=f[t+156>>2];t:{if((0|r)>=1)for(o=g,C=d,i=r;a[o>>1]=h[C>>1],o=o+2|0,C=C+2|0,i=i+-1|0;);else if(!d)break t;_[t+160|0]&&(CA(d),r=f[t+148>>2]),f[t+156>>2]=0}f[t+156>>2]=g,f[t+152>>2]=m,n[t+160|0]=1}f[t+148>>2]=r+1,o=f[t+32>>2],t=f[t+156>>2],f[o+4>>2]=t,a[t+(r<<1)>>1]=e}function hr(t,e,i){var r=0,a=0,o=0,h=0,d=0,g=0,m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0);t:{if(_[t+165|0]){if(!(!i|(0|(o=f[t+88>>2]))<1))for(i=f[t+96>>2],p=C[t+168>>2],R=C[e+8>>2],D=C[e+4>>2],B=C[e>>2];;){if(m=v(C[i>>2]-B),y=v(m*m),m=v(C[i+4>>2]-D),y=v(y+v(m*m)),m=v(C[i+8>>2]-R),v(y+v(m*m))<=p)break t;if(i=i+16|0,!((0|(h=h+1|0))<(0|o)))break}if(i=f[t+32>>2],f[i+12>>2]=f[i+12>>2]+1,f[t+92>>2]==(0|o)&&!((0|o)>=(0|(h=o?o<<1:1)))){if(h&&(r=dA(h<<4),o=f[t+88>>2]),(0|o)>=1)for(i=0;a=f[t+96>>2]+i|0,g=f[a+4>>2],f[(d=i+r|0)>>2]=f[a>>2],f[d+4>>2]=g,g=f[(a=a+8|0)+4>>2],f[(d=d+8|0)>>2]=f[a>>2],f[d+4>>2]=g,i=i+16|0,o=o+-1|0;);(i=f[t+96>>2])&&(_[t+100|0]&&CA(i),f[t+96>>2]=0),f[t+96>>2]=r,f[t+92>>2]=h,n[t+100|0]=1,o=f[t+88>>2]}return i=f[e+4>>2],r=f[(g=t+96|0)>>2]+(o<<4)|0,f[r>>2]=f[e>>2],f[r+4>>2]=i,e=f[(i=e+8|0)+4>>2],f[(r=r+8|0)>>2]=f[i>>2],f[r+4>>2]=e,f[f[t+32>>2]+16>>2]=f[g>>2],e=t,t=f[t+88>>2],f[e+88>>2]=t+1,t}if(!(!i|(0|(a=f[t+108>>2]))<1))for(i=f[t+116>>2],p=C[t+168>>2],R=C[e+8>>2],D=C[e+4>>2],B=C[e>>2];;){if(m=v(C[i>>2]-B),y=v(m*m),m=v(C[i+4>>2]-D),y=v(y+v(m*m)),m=v(C[i+8>>2]-R),v(y+v(m*m))<=p)break t;if(i=i+12|0,h=h+1|0,!((0|(o=o+3|0))<(0|a)))break}if((0|a)==(0|(r=f[t+112>>2])))if((0|a)>=(0|(r=a?a<<1:1)))r=a;else{r&&(g=dA(r<<2),a=f[t+108>>2]),d=f[t+116>>2];e:{if((0|a)>=1)for(i=g,h=d,o=a;f[i>>2]=f[h>>2],i=i+4|0,h=h+4|0,o=o+-1|0;);else if(!d)break e;_[t+120|0]&&(CA(d),a=f[t+108>>2]),f[t+116>>2]=0}f[t+116>>2]=g,f[t+112>>2]=r,n[t+120|0]=1}if(i=a+1|0,f[t+108>>2]=i,d=f[t+116>>2],f[d+(a<<2)>>2]=f[e>>2],(0|i)==(0|r))if((0|r)>=(0|(a=r?r<<1:1)))g=d,a=r;else{a?(g=dA(a<<2),d=f[t+116>>2],r=f[t+108>>2]):g=0;e:{if((0|r)>=1)for(i=g,h=d,o=r;f[i>>2]=f[h>>2],i=i+4|0,h=h+4|0,o=o+-1|0;);else if(!d)break e;_[t+120|0]&&(CA(d),r=f[t+108>>2]),f[t+116>>2]=0}f[t+116>>2]=g,f[t+112>>2]=a,n[t+120|0]=1}else g=d,a=r,r=i;if(i=r+1|0,f[t+108>>2]=i,f[(r<<2)+g>>2]=f[e+4>>2],(0|i)==(0|a))if((0|a)>=(0|(d=a?a<<1:1)))r=g;else{d?(r=dA(d<<2),g=f[t+116>>2],a=f[t+108>>2]):r=0;e:{if((0|a)>=1)for(i=r,h=g,o=a;f[i>>2]=f[h>>2],i=i+4|0,h=h+4|0,o=o+-1|0;);else if(!g)break e;_[t+120|0]&&(CA(g),a=f[t+108>>2]),f[t+116>>2]=0}f[t+116>>2]=r,f[t+112>>2]=d,n[t+120|0]=1}else r=g,a=i;i=a+1|0,f[t+108>>2]=i,f[(a<<2)+r>>2]=f[e+8>>2],t=f[t+32>>2],f[t+16>>2]=r,f[t+12>>2]=f[t+12>>2]+1,h=((0|i)/3|0)-1|0}return h}function Gr(t){var e=0;return f[(t|=0)>>2]=14676,(e=f[t+156>>2])&&(_[t+160|0]&&CA(e),f[t+156>>2]=0),f[t+156>>2]=0,f[t+148>>2]=0,f[t+152>>2]=0,n[t+160|0]=1,(e=f[t+136>>2])&&(_[t+140|0]&&CA(e),f[t+136>>2]=0),f[t+136>>2]=0,f[t+128>>2]=0,f[t+132>>2]=0,n[t+140|0]=1,(e=f[t+116>>2])&&(_[t+120|0]&&CA(e),f[t+116>>2]=0),f[t+116>>2]=0,f[t+108>>2]=0,f[t+112>>2]=0,n[t+120|0]=1,(e=f[t+96>>2])&&(_[t+100|0]&&CA(e),f[t+96>>2]=0),f[t+96>>2]=0,f[t+88>>2]=0,f[t+92>>2]=0,n[t+100|0]=1,_r(t),0|t}function yr(t,e,i){var r,n,a,o=0,_=0,h=v(0),d=v(0),g=0,y=0,p=v(0),R=v(0),D=0,B=v(0),F=v(0),V=0,G=v(0),w=0,Q=0,W=0,Y=0,z=0,yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=0;Z=r=Z-96|0,f[t+376>>2]=0,f[t+364>>2]=4,f[t+368>>2]=0,g=t+316|0,f[t+360>>2]=g,f[t+356>>2]=t+284,f[t+352>>2]=t+252,f[t+348>>2]=t+220,_=f[e+4>>2],f[t>>2]=f[e>>2],f[t+4>>2]=_,y=f[(o=e+16|0)+4>>2],f[(_=t+16|0)>>2]=f[o>>2],f[_+4>>2]=y,_=f[e+12>>2],f[t+8>>2]=f[e+8>>2],f[t+12>>2]=_,y=f[(o=e+32|0)+4>>2],f[(_=t+32|0)>>2]=f[o>>2],f[_+4>>2]=y,y=f[(o=e+24|0)+4>>2],f[(_=t+24|0)>>2]=f[o>>2],f[_+4>>2]=y,y=f[(o=e+48|0)+4>>2],f[(_=t+48|0)>>2]=f[o>>2],f[_+4>>2]=y,y=f[(o=e+40|0)+4>>2],f[(_=t+40|0)>>2]=f[o>>2],f[_+4>>2]=y,y=f[(o=e- -64|0)+4>>2],f[(_=t- -64|0)>>2]=f[o>>2],f[_+4>>2]=y,_=f[e+60>>2],f[t+56>>2]=f[e+56>>2],f[t+60>>2]=_,y=f[(o=e+80|0)+4>>2],f[(_=t+80|0)>>2]=f[o>>2],f[_+4>>2]=y,y=f[(o=e+72|0)+4>>2],f[(_=t+72|0)>>2]=f[o>>2],f[_+4>>2]=y,y=f[(o=e+96|0)+4>>2],f[(_=t+96|0)>>2]=f[o>>2],f[_+4>>2]=y,y=f[(o=e+88|0)+4>>2],f[(_=t+88|0)>>2]=f[o>>2],f[_+4>>2]=y,y=f[(o=e+104|0)+4>>2],f[(_=t+104|0)>>2]=f[o>>2],f[_+4>>2]=y,y=f[(o=e+112|0)+4>>2],f[(_=t+112|0)>>2]=f[o>>2],f[_+4>>2]=y,_=f[e+120>>2],e=f[e+124>>2],f[t+180>>2]=0,f[t+144>>2]=0,f[t+120>>2]=_,f[t+124>>2]=e,y=f[(o=i+8|0)+4>>2],f[(e=t+136|0)>>2]=f[o>>2],f[e+4>>2]=y,_=f[i+4>>2],f[t+128>>2]=f[i>>2],f[t+132>>2]=_,_=t+128|0,h=C[t+128>>2],p=C[t+132>>2],R=C[e>>2],(F=v(v(v(h*h)+v(p*p))+v(R*R)))>v(0)?(C[r+40>>2]=-R,C[r+36>>2]=-p,C[r+32>>2]=-h):(f[r+40>>2]=0,f[r+32>>2]=1065353216,f[r+36>>2]=0),f[t+364>>2]=3,f[t+180>>2]=1,f[t+148>>2]=g,f[(e=t+164|0)>>2]=0,f[r+44>>2]=0,pr(t,r+32|0,g),f[e>>2]=1065353216,e=f[t+148>>2],i=f[e+20>>2],f[_>>2]=f[e+16>>2],f[_+4>>2]=i,o=f[(g=e+24|0)+4>>2],f[(i=n=_+8|0)>>2]=f[g>>2],f[i+4>>2]=o,i=f[g+4>>2],y=r+88|0,o=f[g>>2],f[y>>2]=o,f[y+4>>2]=i,f[(g=r+72|0)>>2]=o,f[g+4>>2]=i,f[(g=r+56|0)>>2]=o,f[g+4>>2]=i,g=f[e+20>>2],e=f[e+16>>2],f[r+80>>2]=e,f[r+84>>2]=g,f[r+64>>2]=e,f[r+68>>2]=g,f[r+48>>2]=e,f[r+52>>2]=g,f[r+32>>2]=e,f[r+36>>2]=g,f[r+40>>2]=o,f[r+44>>2]=i,a=t+148|0,g=f[t+368>>2],h=C[t+136>>2],p=C[t+132>>2],R=C[t+128>>2],y=0;t:{e:{i:{for(;;){if((G=v(E(v(v(v(R*R)+v(p*p))+v(h*h)))))<v(9999999747378752e-20)){f[t+376>>2]=1;break i}if(D=f[t+364>>2]+-1|0,f[t+364>>2]=D,w=m(g,36),i=f[(o=(e=w+t|0)+180|0)>>2],f[o>>2]=i+1,V=(V=i<<2)+(i=e+148|0)|0,D=f[348+((D<<2)+t|0)>>2],f[V>>2]=D,f[V+16>>2]=0,f[r+28>>2]=0,C[r+24>>2]=-h,C[r+20>>2]=-p,C[r+16>>2]=-R,pr(t,r+16|0,D),W=f[o>>2],D=f[(i+(W<<2)|0)-4>>2],h=C[D+16>>2],p=v(h-C[r+32>>2]),d=v(p*p),p=C[D+20>>2],R=v(p-C[r+36>>2]),B=v(d+v(R*R)),R=C[D+24>>2],d=v(R-C[r+40>>2]),!(v(B+v(d*d))<v(9999999747378752e-20)||(d=v(h-C[r+48>>2]),B=v(d*d),d=v(p-C[r+52>>2]),B=v(B+v(d*d)),d=v(R-C[r+56>>2]),v(B+v(d*d))<v(9999999747378752e-20)||(d=v(h-C[r+64>>2]),B=v(d*d),d=v(p-C[r+68>>2]),B=v(B+v(d*d)),d=v(R-C[r+72>>2]),v(B+v(d*d))<v(9999999747378752e-20)||(d=v(h-C[r+80>>2]),B=v(d*d),d=v(p-C[r+84>>2]),B=v(B+v(d*d)),d=v(R-C[r+88>>2]),v(B+v(d*d))<v(9999999747378752e-20)))))){if(Y=f[(Q=(D=D+16|0)+8|0)+4>>2],f[(V=(r+32|0)+((St=St+1&3)<<4)|0)+8>>2]=f[Q>>2],f[V+12>>2]=Y,z=f[D+4>>2],f[V>>2]=f[D>>2],f[V+4>>2]=z,h=v(v(v(v(C[t+128>>2]*h)+v(C[t+132>>2]*p))+v(C[t+136>>2]*R))/G),v(v(G-(yt=h>yt?h:yt))+v(G*v(-9999999747378752e-20)))<=v(0)){i=f[t+364>>2],f[t+364>>2]=i+1,g=f[t+368>>2],_=m(g,36)+t|0,e=f[(o=_+180|0)>>2]+-1|0,f[o>>2]=e,f[348+((i<<2)+t|0)>>2]=f[148+(_+(e<<2)|0)>>2];break i}f[r+12>>2]=0;A:{r:{n:if(!((D=W+-2|0)>>>0>2)){switch(D-1|0){default:if(e=f[e+152>>2],pt=C[e+16>>2],i=f[i>>2],F=C[i+16>>2],G=v(pt-F),Dt=C[e+20>>2],p=C[i+20>>2],d=v(Dt-p),It=C[e+24>>2],R=C[i+24>>2],B=v(It-R),!((h=v(v(v(G*G)+v(d*d))+v(B*B)))>v(0)))break r;if((h=v(v(-v(v(v(F*G)+v(p*d))+v(R*B)))/h))>=v(1)){f[r+16>>2]=0,f[r+20>>2]=1065353216,f[r+12>>2]=2,F=v(v(v(pt*pt)+v(Dt*Dt))+v(It*It));break n}if(h<=v(0)){f[r+16>>2]=1065353216,f[r+20>>2]=0,f[r+12>>2]=1,F=v(v(v(F*F)+v(p*p))+v(R*R));break n}f[r+12>>2]=3,C[r+20>>2]=h,C[r+16>>2]=v(1)-h,R=v(R+v(B*h)),F=v(F+v(G*h)),h=v(p+v(d*h)),F=v(v(R*R)+v(v(F*F)+v(h*h)));break n;case 0:F=Fr(f[i>>2]+16|0,f[e+152>>2]+16|0,f[e+156>>2]+16|0,r+16|0,r+12|0);break n;case 1:}F=Wr(f[i>>2]+16|0,f[e+152>>2]+16|0,f[e+156>>2]+16|0,f[e+160>>2]+16|0,r+16|0,r+12|0)}if(F>=v(0)){if(W=m(g=1-g|0,36)+t|0,f[(D=W+180|0)>>2]=0,f[n>>2]=0,f[n+4>>2]=0,f[_>>2]=0,f[_+4>>2]=0,f[t+368>>2]=g,V=f[r+12>>2],!(z=f[o>>2])){h=v(0),p=v(0),R=v(0);break A}for(e=w+a|0,i=0,h=v(0),o=r+16|0,p=v(0),R=v(0);w=f[e>>2],1<<i&V?(Q=f[D>>2],f[(Y=(Q<<2)+W|0)+148>>2]=w,h=C[o>>2],f[Y+164>>2]=f[o>>2],f[D>>2]=Q+1,w=f[e>>2],G=C[w+24>>2],p=C[w+20>>2],R=v(v(C[w+16>>2]*h)+C[t+128>>2]),C[t+128>>2]=R,p=v(v(p*h)+C[t+132>>2]),C[t+132>>2]=p,h=v(v(G*h)+C[t+136>>2]),C[t+136>>2]=h):(Q=f[t+364>>2],f[t+364>>2]=Q+1,f[348+((Q<<2)+t|0)>>2]=w),e=e+4|0,o=o+4|0,(0|(i=i+1|0))!=(0|z););break A}}i=f[t+364>>2],f[t+364>>2]=i+1,g=f[t+368>>2],_=m(g,36)+t|0,e=f[(o=_+180|0)>>2]+-1|0,f[o>>2]=e,f[348+((i<<2)+t|0)>>2]=f[148+(_+(e<<2)|0)>>2];break i}if(15==(0|V)&&(f[t+376>>2]=1),127==(0|y)){e=2,f[t+376>>2]=2,f[t+372>>2]=148+(m(g,36)+t|0);break t}if(y=y+1|0,!(e=f[t+376>>2]))continue;break e}break}i=f[t+364>>2],f[t+364>>2]=i+1,g=f[t+368>>2],_=m(g,36)+t|0,e=f[(o=_+180|0)>>2]+-1|0,f[o>>2]=e,f[348+((i<<2)+t|0)>>2]=f[148+(_+(e<<2)|0)>>2]}e=f[t+376>>2]}f[t+372>>2]=148+(m(g,36)+t|0),e>>>0>1||(e-1?(h=C[t+128>>2],p=v(h*h),h=C[t+132>>2],p=v(p+v(h*h)),h=C[t+136>>2],C[t+144>>2]=E(v(p+v(h*h))),e=0):(f[t+144>>2]=0,e=1))}return Z=r+96|0,e}function pr(t,e,i){var r,n,a,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0);Z=r=Z-48|0,o=C[e+8>>2],_=C[e>>2],h=C[e+4>>2],f[i+12>>2]=0,d=o,o=v(v(1)/v(E(v(v(v(_*_)+v(h*h))+v(o*o))))),C[i+8>>2]=d*o,C[i+4>>2]=h*o,C[i>>2]=_*o,e=f[t+120>>2],n=f[t+124>>2],a=f[t>>2]+(n>>1)|0,yt[1&n?f[f[a>>2]+e>>2]:e](r+32|0,a,i),f[r+12>>2]=0,C[r+8>>2]=-C[i+8>>2],C[r+4>>2]=-C[i+4>>2],C[r>>2]=-C[i>>2],function(t,e,i){var r,n,a,o=v(0),_=v(0),h=v(0),d=0;Z=r=Z-32|0,n=f[e+124>>2],a=f[e+4>>2]+(n>>1)|0,d=f[e+120>>2],d=1&n?f[f[a>>2]+d>>2]:d,f[r+12>>2]=0,o=C[i>>2],_=C[i+4>>2],h=C[i+8>>2],C[r+8>>2]=v(v(o*C[e+40>>2])+v(_*C[e+44>>2]))+v(h*C[e+48>>2]),C[r+4>>2]=v(v(o*C[e+24>>2])+v(_*C[e+28>>2]))+v(h*C[e+32>>2]),C[r>>2]=v(v(o*C[e+8>>2])+v(_*C[e+12>>2]))+v(h*C[e+16>>2]),yt[d](r+16|0,a,r),f[t+12>>2]=0,o=C[r+16>>2],_=C[r+20>>2],h=C[r+24>>2],C[t+8>>2]=v(v(v(o*C[e+88>>2])+v(_*C[e+92>>2]))+v(h*C[e+96>>2]))+C[e+112>>2],C[t+4>>2]=v(v(v(o*C[e+72>>2])+v(_*C[e+76>>2]))+v(h*C[e+80>>2]))+C[e+108>>2],C[t>>2]=v(v(v(o*C[e+56>>2])+v(_*C[e+60>>2]))+v(h*C[e- -64>>2]))+C[e+104>>2],Z=r+32|0}(r+16|0,t,r),o=C[r+16>>2],_=C[r+32>>2],h=C[r+20>>2],d=C[r+36>>2],g=C[r+24>>2],m=C[r+40>>2],f[i+28>>2]=0,C[i+24>>2]=m-g,C[i+20>>2]=d-h,C[i+16>>2]=_-o,Z=r+48|0}function Fr(t,e,i,r,n){var a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=0,Q=v(0),W=v(0),Y=0,Z=0,z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0);return o=v(-1),d=C[t>>2],h=C[e>>2],a=v(d-h),_=C[e+4>>2],G=C[i+4>>2],yt=v(_-G),F=C[t+4>>2],D=v(F-_),Q=C[i>>2],pt=v(h-Q),m=v(v(a*yt)-v(D*pt)),g=C[e+8>>2],W=C[i+8>>2],Dt=v(g-W),V=C[t+8>>2],y=v(V-g),p=v(v(D*Dt)-v(y*yt)),R=v(v(y*pt)-v(a*Dt)),(It=v(v(m*m)+v(v(p*p)+v(R*R))))>v(0)&&(v(v(v(d*v(v(m*D)-v(R*y)))+v(F*v(v(p*y)-v(m*a))))+v(v(v(R*a)-v(p*D))*V))>v(0)?(D=v(h-d),y=v(_-F),B=v(g-V),o=v(v(v(D*D)+v(y*y))+v(B*B)),a=v(-1),o>v(0)&&((o=v(v(-v(v(v(d*D)+v(F*y))+v(V*B)))/o))>=v(1)?(Y=1065353216,w=2,a=v(v(v(h*h)+v(_*_))+v(g*g))):(w=1,o<=v(0)?(Z=1065353216,a=v(v(v(d*d)+v(F*F))+v(V*V))):(s(v(v(1)-o)),Z=c(0),s(o),Y=c(0),w=3,a=v(V+v(B*o)),h=v(a*a),a=v(d+v(D*o)),_=v(a*a),a=v(F+v(y*o)),a=v(h+v(_+v(a*a)))))),f[r+8>>2]=0,f[r+4>>2]=Y,f[r>>2]=Z,f[n>>2]=w,g=C[e+8>>2],_=C[e+4>>2],h=C[e>>2]):a=v(-1),V=v(W-V),F=v(G-F),D=v(Q-d),v(v(v(h*v(v(m*yt)-v(R*Dt)))+v(_*v(v(p*Dt)-v(m*pt))))+v(v(v(R*pt)-v(p*yt))*g))>v(0)?(Q=C[i>>2],y=v(Q-h),W=C[i+4>>2],B=v(W-_),z=C[i+8>>2],G=v(z-g),d=v(v(v(y*y)+v(B*B))+v(G*G)),o=v(-1),d>v(0)&&((d=v(v(-v(v(v(h*y)+v(_*B))+v(g*G)))/d))>=v(1)?(Y=1065353216,Z=0,w=2,o=v(v(v(Q*Q)+v(W*W))+v(z*z))):(w=1,d<=v(0)?(Y=0,Z=1065353216,o=v(v(v(h*h)+v(_*_))+v(g*g))):(s(v(v(1)-d)),Z=c(0),s(d),Y=c(0),w=3,o=v(g+v(G*d)),g=v(o*o),o=v(h+v(y*d)),h=v(o*o),o=v(_+v(B*d)),o=v(g+v(h+v(o*o)))))),!!(o<a)|a<v(0)?(f[r+8>>2]=Y,f[r+4>>2]=Z,f[r>>2]=0,f[n>>2]=w<<1):o=a):o=a,_=C[i>>2],g=C[i+4>>2],d=C[i+8>>2],v(v(v(_*v(v(m*F)-v(R*V)))+v(g*v(v(p*V)-v(m*D))))+v(v(v(R*D)-v(p*F))*d))>v(0)&&(Q=C[t>>2],y=v(Q-_),W=C[t+4>>2],B=v(W-g),z=C[t+8>>2],G=v(z-d),h=v(v(v(y*y)+v(B*B))+v(G*G)),a=v(-1),h>v(0)&&((h=v(v(-v(v(v(_*y)+v(g*B))+v(d*G)))/h))>=v(1)?(Y=1065353216,Z=0,w=2,a=v(v(v(Q*Q)+v(W*W))+v(z*z))):h<=v(0)?(Y=0,Z=1065353216,w=1,a=v(v(v(_*_)+v(g*g))+v(d*d))):(s(v(v(1)-h)),Z=c(0),s(h),Y=c(0),w=3,a=v(d+v(G*h)),d=v(a*a),a=v(_+v(y*h)),_=v(a*a),a=v(g+v(B*h)),a=v(d+v(_+v(a*a))))),a<o^1&&!(o<v(0))||(f[r+8>>2]=Z,f[r+4>>2]=0,f[r>>2]=Y,f[n>>2]=5&(w<<2|w>>>1),o=a)),o<v(0)&&(h=v(v(v(v(p*C[t>>2])+v(R*C[t+4>>2]))+v(m*C[t+8>>2]))/It),o=v(R*h),_=v(C[e+4>>2]-o),a=v(p*h),g=v(C[e>>2]-a),p=v(v(pt*_)-v(yt*g)),h=v(m*h),m=v(C[e+8>>2]-h),_=v(v(yt*m)-v(Dt*_)),d=v(_*_),_=v(v(Dt*g)-v(pt*m)),d=v(E(v(v(p*p)+v(d+v(_*_))))),_=v(E(It)),g=v(d/_),C[r>>2]=g,f[n>>2]=7,m=v(C[i+4>>2]-o),p=v(C[i>>2]-a),R=v(v(D*m)-v(F*p)),d=v(R*R),R=v(C[i+8>>2]-h),m=v(v(F*R)-v(V*m)),y=v(m*m),m=v(v(V*p)-v(D*R)),_=v(v(E(v(d+v(y+v(m*m)))))/_),C[r+4>>2]=_,C[r+8>>2]=v(1)-v(g+_),o=v(v(h*h)+v(v(a*a)+v(o*o))))),o}function Wr(t,e,i,r,n,a){var o,_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=0,F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0);return Z=o=Z-96|0,f[o+92>>2]=r,f[o+88>>2]=i,f[o+84>>2]=e,f[o+80>>2]=t,f[o+60>>2]=0,Q=C[e+8>>2],G=C[r+8>>2],m=v(Q-G),C[o+56>>2]=m,W=C[e+4>>2],w=C[r+4>>2],Y=v(W-w),C[o+52>>2]=Y,f[o+44>>2]=0,z=C[t+8>>2],R=v(z-G),C[o+40>>2]=R,It=C[t+4>>2],B=v(It-w),C[o+36>>2]=B,St=C[t>>2],Dt=C[r>>2],F=v(St-Dt),C[o+32>>2]=F,yt=C[e>>2],_=v(yt-Dt),C[o+48>>2]=_,pt=C[i>>2],y=C[i+4>>2],Tt=C[i+8>>2],f[o+76>>2]=0,h=v(Tt-G),C[o+72>>2]=h,g=v(y-w),C[o+68>>2]=g,p=v(pt-Dt),C[o+64>>2]=p,d=v(-1),Et=v(F*Y),Ot=v(B*m),Nt=v(R*_),Ft=v(F*m),V=v(B*_),Y=v(R*Y),(m=v(v(v(Et*h)+v(v(v(v(Ot*p)+v(Nt*g))-v(Ft*g))-v(V*h)))-v(Y*p)))==v(0)|m!=m||(D=v(It-W),pt=v(yt-pt),yt=v(St-yt),W=v(W-y),y=v(z*v(v(D*pt)-v(yt*W))),z=v(z-Q),Q=v(Q-Tt),v(m*v(y+v(v(St*v(v(z*W)-v(D*Q)))+v(It*v(v(yt*Q)-v(z*pt))))))<=v(0)&&(f[o+24>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o+12>>2]=0,v(m*v(v(v(v(Ot-Y)*Dt)+v(w*v(Nt-Ft)))+v(v(Et-V)*G)))>v(0)&&(d=Fr(f[o+80>>2],f[o+84>>2],r,o+16|0,o+12|0),f[n+8>>2]=0,E=f[o+20>>2],f[n>>2]=f[o+16>>2],f[n+4>>2]=E,f[n+12>>2]=f[o+24>>2],E=f[o+12>>2],f[a>>2]=2&E|E<<1&8|1&E),G=C[o+52>>2],w=C[o+56>>2],v(m*v(v(v(v(v(G*h)-v(w*g))*C[r>>2])+v(C[r+4>>2]*v(v(w*p)-v(h*_))))+v(v(v(g*_)-v(G*p))*C[r+8>>2])))>v(0)&&((_=Fr(f[o+84>>2],f[o+88>>2],r,o+16|0,o+12|0))<d^1&&!(d<v(0))||(f[n+4>>2]=f[o+16>>2],f[n>>2]=0,E=f[o+24>>2],f[n+8>>2]=f[o+20>>2],f[n+12>>2]=E,f[a>>2]=f[o+12>>2]<<1&14,d=_)),v(m*v(v(v(v(v(g*R)-v(h*B))*C[r>>2])+v(C[r+4>>2]*v(v(h*F)-v(R*p))))+v(v(v(B*p)-v(g*F))*C[r+8>>2])))>v(0)&&((_=Fr(f[o+88>>2],f[o+80>>2],r,o+16|0,o+12|0))<d^1&&!(d<v(0))||(f[n+8>>2]=f[o+16>>2],f[n+4>>2]=0,f[n>>2]=f[o+20>>2],f[n+12>>2]=f[o+24>>2],E=f[o+12>>2],f[a>>2]=E>>>1&1|E<<1&8|E<<2&4,d=_)),d<v(0)&&(d=C[i+4>>2],_=C[e+8>>2],h=C[r>>2],g=C[i+8>>2],p=C[e>>2],R=C[r+4>>2],V=v(v(v(d*_)*h)+v(v(g*p)*R)),y=_,_=C[i>>2],D=v(d*p),d=C[r+8>>2],D=v(v(V-v(R*v(y*_)))-v(D*d)),y=d,d=C[e+4>>2],d=v(v(v(D+v(y*v(_*d)))-v(h*v(g*d)))/m),C[n>>2]=d,_=C[t+4>>2],h=C[i+8>>2],g=C[r>>2],p=C[t+8>>2],R=C[i>>2],B=C[r+4>>2],V=v(v(v(_*h)*g)+v(v(p*R)*B)),y=h,h=C[t>>2],D=v(_*R),_=C[r+8>>2],D=v(v(V-v(B*v(y*h)))-v(D*_)),y=_,_=C[i+4>>2],_=v(v(v(D+v(y*v(h*_)))-v(g*v(p*_)))/m),C[n+4>>2]=_,f[a>>2]=15,h=C[e+4>>2],g=C[t+8>>2],p=C[r>>2],R=C[e+8>>2],B=C[t>>2],F=C[r+4>>2],V=v(v(v(h*g)*p)+v(v(R*B)*F)),y=g,g=C[e>>2],D=v(h*B),h=C[r+8>>2],D=v(v(V-v(F*v(y*g)))-v(D*h)),y=h,h=C[t+4>>2],m=v(v(v(D+v(y*v(g*h)))-v(p*v(R*h)))/m),C[n+8>>2]=m,C[n+12>>2]=v(1)-v(v(d+_)+m),d=v(0)))),Z=o+96|0,d}function wr(t,e,i,r,a,o){var h,g,m=v(0),y=v(0),p=v(0),R=v(0),D=0,B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=0;Z=h=Z-19040|0,f[o>>2]=0,f[o+4>>2]=0,f[o+32>>2]=0,f[(D=o+24|0)>>2]=0,f[D+4>>2]=0,f[(D=o+16|0)>>2]=0,f[D+4>>2]=0,f[(D=o+8|0)>>2]=0,f[D+4>>2]=0,f[h+18916>>2]=i,f[h+18912>>2]=t,m=C[r+20>>2],y=C[r+36>>2],p=C[(t=e+20|0)>>2],R=C[(i=e+36|0)>>2],V=C[(D=e+24|0)>>2],B=C[r+24>>2],G=C[(g=e+40|0)>>2],F=C[r+40>>2],w=C[r+32>>2],Q=C[r>>2],W=C[r+16>>2],Y=C[r+4>>2],z=C[e+32>>2],pt=C[e>>2],Dt=C[e+16>>2],Tt=C[e+4>>2],St=C[e+8>>2],It=C[r+8>>2],f[h+18964>>2]=0,f[h+18948>>2]=0,f[h+18932>>2]=0,Et=v(v(v(St*It)+v(V*B))+v(G*F)),C[h+18960>>2]=Et,Ot=v(v(v(Tt*It)+v(p*B))+v(R*F)),C[h+18956>>2]=Ot,B=v(v(v(pt*It)+v(Dt*B))+v(z*F)),C[h+18952>>2]=B,F=v(v(v(St*Y)+v(V*m))+v(G*y)),C[h+18944>>2]=F,It=v(v(v(Tt*Y)+v(p*m))+v(R*y)),C[h+18940>>2]=It,m=v(v(v(pt*Y)+v(Dt*m))+v(z*y)),C[h+18936>>2]=m,y=v(v(v(Q*St)+v(W*V))+v(w*G)),C[h+18928>>2]=y,p=v(v(v(Q*Tt)+v(W*p))+v(w*R)),C[h+18924>>2]=p,R=v(v(v(Q*pt)+v(W*Dt))+v(w*z)),C[h+18920>>2]=R,V=C[t>>2],G=C[i>>2],w=C[D>>2],Q=C[r+52>>2],W=C[e+52>>2],Y=C[g>>2],z=C[r+56>>2],pt=C[e+56>>2],Dt=C[e>>2],Tt=C[e+16>>2],St=C[e+32>>2],Nt=C[e+4>>2],Ft=C[e+8>>2],Vt=C[r+48>>2],Gt=C[e+48>>2],f[h+19036>>2]=0,f[h+19028>>2]=0,f[h+19012>>2]=0,C[h+19008>>2]=Et,C[h+19004>>2]=F,C[h+19e3>>2]=y,f[h+18996>>2]=0,C[h+18992>>2]=Ot,C[h+18988>>2]=It,C[h+18984>>2]=p,f[h+18980>>2]=0,C[h+18976>>2]=B,C[h+18972>>2]=m,m=v(Vt-Gt),y=v(Q-W),p=v(z-pt),C[h+19024>>2]=v(v(Ft*m)+v(w*y))+v(Y*p),C[h+19020>>2]=v(v(m*Nt)+v(y*V))+v(p*G),C[h+19016>>2]=v(v(m*Dt)+v(y*Tt))+v(p*St),f[h+19032>>2]=349,C[h+18968>>2]=R,f[(t=h+18664|0)>>2]=0,f[t+4>>2]=0,f[h+18656>>2]=0,f[h+18660>>2]=0,f[h+18892>>2]=0,f[h+18896>>2]=0,f[h+18904>>2]=2,f[h+18672>>2]=0,f[h+28>>2]=0,C[h+24>>2]=-C[a+8>>2],C[h+20>>2]=-C[a+4>>2],C[h+16>>2]=-C[a>>2];t:if(!((t=yr(h+18528|0,h+18912|0,h+16|0)+-1|0)>>>0>1)){e:{if(t-1){for(f[(t=h+18520|0)>>2]=0,f[t+4>>2]=0,f[(t=h- -64|0)>>2]=0,f[t+4>>2]=0,f[h+72>>2]=0,f[h+18512>>2]=0,f[h+18516>>2]=0,f[h+18508>>2]=0,f[h+16>>2]=9,f[h+56>>2]=0,f[h+60>>2]=0,r=14336;f[(t=(h+16|0)+r|0)+4144>>2]=0,i=f[h+18520>>2],f[t+4148>>2]=i,t=t+4100|0,i&&(f[i+44>>2]=t),f[h+18520>>2]=t,r=r+-56|0;);if(f[h+18524>>2]=256,f[h+12>>2]=0,C[h+8>>2]=-C[a+8>>2],C[h+4>>2]=-C[a+4>>2],C[h>>2]=-C[a>>2],9!=(0|function(t,e,i){var r,a=0,o=0,h=v(0),g=v(0),m=0,y=0,p=0,R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=0,w=0,Q=v(0),W=v(0),Y=0,z=v(0),yt=0,pt=v(0);Z=r=Z-16|0;i:{if(p=f[e+372>>2],!(d[p+32>>2]<2)&&function A(t){var e,i=0,r=0,n=0,a=0,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0);Z=e=Z-32|0;A:{r:{i=f[t+372>>2];n:if(!((r=f[i+32>>2]+-1|0)>>>0>3)){a:{switch(r-1|0){default:if(f[e+28>>2]=0,f[i+32>>2]=2,f[i+20>>2]=0,r=f[t+364>>2]+-1|0,f[t+364>>2]=r,f[e+20>>2]=0,f[e+24>>2]=0,n=i,i=f[348+((r<<2)+t|0)>>2],f[n+4>>2]=i,f[e+16>>2]=1065353216,pr(t,e+16|0,i),A(t))break r;if(n=f[t+364>>2],i=f[t+372>>2],a=f[i+32>>2]+-1|0,r=f[(a<<2)+i>>2],f[348+((n<<2)+t|0)>>2]=r,f[i+32>>2]=a,i=f[t+372>>2],f[t+364>>2]=n,n=f[i+32>>2],f[i+32>>2]=n+1,f[(i=i+(n<<2)|0)>>2]=r,f[e+12>>2]=0,C[e+8>>2]=-C[e+24>>2],C[e+4>>2]=-C[e+20>>2],C[e>>2]=-C[e+16>>2],f[i+16>>2]=0,pr(t,e,r),A(t))break r;if(i=f[t+372>>2],r=f[i+32>>2]+-1|0,f[i+32>>2]=r,n=f[t+364>>2],i=f[i+(r<<2)>>2],f[348+((n<<2)+t|0)>>2]=i,f[(r=e+24|0)>>2]=0,f[r+4>>2]=0,f[t+364>>2]=n,r=f[t+372>>2],n=f[r+32>>2],f[r+32>>2]=n+1,f[e+16>>2]=0,f[e+20>>2]=0,f[(r=r+(n<<2)|0)>>2]=i,f[e+20>>2]=1065353216,f[r+16>>2]=0,pr(t,e+16|0,i),!A(t))break a;break r;case 0:if(r=f[i>>2],_=C[r+20>>2],n=f[i+4>>2],o=C[n+20>>2],h=C[r+24>>2],d=C[n+24>>2],y=C[r+16>>2],g=C[n+16>>2],f[e+28>>2]=0,p=v(o-_),_=v(p*v(0)),d=v(d-h),o=v(d*v(0)),m=v(_-o),C[e+16>>2]=m,y=v(g-y),h=v(y*v(0)),g=v(d-h),C[e+20>>2]=g,R=v(h-p),C[e+24>>2]=R,v(v(R*R)+v(v(m*m)+v(g*g)))>v(0)){if(f[i+32>>2]=3,f[i+24>>2]=0,r=f[t+364>>2]+-1|0,f[t+364>>2]=r,n=i,i=f[348+((r<<2)+t|0)>>2],f[n+8>>2]=i,pr(t,e+16|0,i),A(t))break r;if(n=f[t+364>>2],i=f[t+372>>2],a=f[i+32>>2]+-1|0,r=f[(a<<2)+i>>2],f[348+((n<<2)+t|0)>>2]=r,f[i+32>>2]=a,i=f[t+372>>2],f[t+364>>2]=n,n=f[i+32>>2],f[i+32>>2]=n+1,f[(i=i+(n<<2)|0)>>2]=r,f[e+12>>2]=0,C[e+8>>2]=-C[e+24>>2],C[e+4>>2]=-C[e+20>>2],C[e>>2]=-C[e+16>>2],f[i+16>>2]=0,pr(t,e,r),A(t))break r;n=f[t+364>>2],f[t+364>>2]=n+1,i=f[t+372>>2],r=f[i+32>>2]+-1|0,f[i+32>>2]=r,f[348+((n<<2)+t|0)>>2]=f[i+(r<<2)>>2]}if(f[e+28>>2]=0,m=v(o-h),C[e+20>>2]=m,d=v(_-d),C[e+16>>2]=d,g=v(y-_),C[e+24>>2]=g,v(v(g*g)+v(v(d*d)+v(m*m)))>v(0)){if(n=f[t+364>>2]+-1|0,f[t+364>>2]=n,i=f[t+372>>2],r=f[i+32>>2],f[i+32>>2]=r+1,f[(i=i+(r<<2)|0)+16>>2]=0,r=i,i=f[348+((n<<2)+t|0)>>2],f[r>>2]=i,pr(t,e+16|0,i),A(t))break r;if(n=f[t+364>>2],i=f[t+372>>2],a=f[i+32>>2]+-1|0,r=f[(a<<2)+i>>2],f[348+((n<<2)+t|0)>>2]=r,f[i+32>>2]=a,i=f[t+372>>2],f[t+364>>2]=n,n=f[i+32>>2],f[i+32>>2]=n+1,f[(i=i+(n<<2)|0)>>2]=r,f[e+12>>2]=0,C[e+8>>2]=-C[e+24>>2],C[e+4>>2]=-C[e+20>>2],C[e>>2]=-C[e+16>>2],f[i+16>>2]=0,pr(t,e,r),A(t))break r;n=f[t+364>>2],f[t+364>>2]=n+1,i=f[t+372>>2],r=f[i+32>>2]+-1|0,f[i+32>>2]=r,f[348+((n<<2)+t|0)>>2]=f[i+(r<<2)>>2]}if(f[e+28>>2]=0,d=v(o-y),C[e+20>>2]=d,o=v(p-o),C[e+16>>2]=o,_=v(h-_),C[e+24>>2]=_,!(v(v(_*_)+v(v(o*o)+v(d*d)))>v(0)))break n;if(n=f[t+364>>2]+-1|0,f[t+364>>2]=n,i=f[t+372>>2],r=f[i+32>>2],f[i+32>>2]=r+1,f[(i=i+(r<<2)|0)+16>>2]=0,r=i,i=f[348+((n<<2)+t|0)>>2],f[r>>2]=i,pr(t,e+16|0,i),A(t))break r;if(n=f[t+364>>2],i=f[t+372>>2],a=f[i+32>>2]+-1|0,r=f[(a<<2)+i>>2],f[348+((n<<2)+t|0)>>2]=r,f[i+32>>2]=a,i=f[t+372>>2],f[t+364>>2]=n,n=f[i+32>>2],f[i+32>>2]=n+1,f[(i=i+(n<<2)|0)>>2]=r,f[e+12>>2]=0,C[e+8>>2]=-C[e+24>>2],C[e+4>>2]=-C[e+20>>2],C[e>>2]=-C[e+16>>2],f[i+16>>2]=0,pr(t,e,r),A(t))break r;n=f[t+364>>2],f[t+364>>2]=n+1,i=f[t+372>>2],r=f[i+32>>2]+-1|0,f[i+32>>2]=r,f[348+((n<<2)+t|0)>>2]=f[i+(r<<2)>>2];break n;case 1:if(f[e+28>>2]=0,r=f[i+4>>2],n=f[i>>2],_=C[n+20>>2],h=v(C[r+20>>2]-_),a=f[i+8>>2],o=C[n+24>>2],p=v(C[a+24>>2]-o),o=v(C[r+24>>2]-o),d=v(C[a+20>>2]-_),_=v(v(h*p)-v(o*d)),C[e+16>>2]=_,g=o,o=C[n+16>>2],m=v(C[a+16>>2]-o),y=v(C[r+16>>2]-o),o=v(v(g*m)-v(y*p)),C[e+20>>2]=o,h=v(v(y*d)-v(h*m)),C[e+24>>2]=h,!(v(v(h*h)+v(v(_*_)+v(o*o)))>v(0)))break n;if(f[(r=i+28|0)>>2]=0,f[r+4>>2]=4,r=f[t+364>>2]+-1|0,f[t+364>>2]=r,n=i,i=f[348+((r<<2)+t|0)>>2],f[n+12>>2]=i,pr(t,e+16|0,i),A(t))break r;if(r=f[t+364>>2],i=f[t+372>>2],a=f[i+32>>2]+-1|0,n=f[(a<<2)+i>>2],f[348+((r<<2)+t|0)>>2]=n,f[i+32>>2]=a,i=f[t+372>>2],f[t+364>>2]=r,a=f[i+32>>2],f[i+32>>2]=a+1,f[(i=i+(a<<2)|0)>>2]=n,f[e+12>>2]=0,C[e+8>>2]=-C[e+24>>2],C[e+4>>2]=-C[e+20>>2],C[e>>2]=-C[e+16>>2],f[i+16>>2]=0,pr(t,e,n),r=1,A(t))break A;n=f[t+364>>2],f[t+364>>2]=n+1,i=f[t+372>>2],r=f[i+32>>2]+-1|0,f[i+32>>2]=r,f[348+((n<<2)+t|0)>>2]=f[i+(r<<2)>>2];break n;case 2:}if(t=f[i>>2],n=f[i+12>>2],_=C[n+16>>2],p=v(C[t+16>>2]-_),a=f[i+4>>2],o=C[n+20>>2],d=v(C[a+20>>2]-o),i=f[i+8>>2],h=C[n+24>>2],m=v(C[i+24>>2]-h),y=v(C[t+20>>2]-o),g=v(C[a+24>>2]-h),R=v(C[i+16>>2]-_),h=v(C[t+24>>2]-h),_=v(C[a+16>>2]-_),o=v(C[i+20>>2]-o),r=1,(_=v(v(v(v(p*d)*m)+v(v(v(v(v(y*g)*R)+v(v(h*_)*o))-v(v(p*g)*o))-v(v(y*_)*m)))-v(v(h*d)*R)))!=v(0)&_==_)break A;break n}if(n=f[t+364>>2],i=f[t+372>>2],a=f[i+32>>2]+-1|0,r=f[(a<<2)+i>>2],f[348+((n<<2)+t|0)>>2]=r,f[i+32>>2]=a,i=f[t+372>>2],f[t+364>>2]=n,n=f[i+32>>2],f[i+32>>2]=n+1,f[(i=i+(n<<2)|0)>>2]=r,f[e+12>>2]=0,C[e+8>>2]=-C[e+24>>2],C[e+4>>2]=-C[e+20>>2],C[e>>2]=-C[e+16>>2],f[i+16>>2]=0,pr(t,e,r),A(t))break r;if(i=f[t+372>>2],r=f[i+32>>2]+-1|0,f[i+32>>2]=r,n=f[t+364>>2],i=f[i+(r<<2)>>2],f[348+((n<<2)+t|0)>>2]=i,f[(r=e+24|0)>>2]=0,f[r+4>>2]=0,f[r>>2]=1065353216,f[t+364>>2]=n,r=f[t+372>>2],n=f[r+32>>2],f[r+32>>2]=n+1,f[e+16>>2]=0,f[e+20>>2]=0,f[(r=r+(n<<2)|0)>>2]=i,f[r+16>>2]=0,pr(t,e+16|0,i),A(t))break r;if(n=f[t+364>>2],i=f[t+372>>2],a=f[i+32>>2]+-1|0,r=f[(a<<2)+i>>2],f[348+((n<<2)+t|0)>>2]=r,f[i+32>>2]=a,i=f[t+372>>2],f[t+364>>2]=n,n=f[i+32>>2],f[i+32>>2]=n+1,f[(i=i+(n<<2)|0)>>2]=r,f[e+12>>2]=0,C[e+8>>2]=-C[e+24>>2],C[e+4>>2]=-C[e+20>>2],C[e>>2]=-C[e+16>>2],f[i+16>>2]=0,pr(t,e,r),A(t))break r;n=f[t+364>>2],f[t+364>>2]=n+1,i=f[t+372>>2],r=f[i+32>>2]+-1|0,f[i+32>>2]=r,f[348+((n<<2)+t|0)>>2]=f[i+(r<<2)>>2]}r=0;break A}r=1}return Z=e+32|0,r}(e)){if(a=f[t+18496>>2]){for(o=f[t+18508>>2],y=f[t+18500>>2];(m=f[a+48>>2])&&(f[m+44>>2]=f[a+44>>2]),(m=f[a+44>>2])&&(f[m+48>>2]=f[a+48>>2]),(0|a)==f[t+18496>>2]&&(f[t+18496>>2]=f[a+48>>2]),f[a+44>>2]=0,f[a+48>>2]=f[t+18504>>2],(m=f[t+18504>>2])&&(f[m+44>>2]=a),y=y+-1|0,f[t+18504>>2]=a,o=o+1|0,a=f[t+18496>>2];);f[t+18508>>2]=o,f[t+18500>>2]=y}if(f[t+18492>>2]=0,f[t>>2]=0,o=f[p>>2],y=f[p+12>>2],h=C[y+16>>2],V=v(C[o+16>>2]-h),a=f[p+4>>2],g=C[y+20>>2],D=v(C[a+20>>2]-g),m=f[p+8>>2],R=C[y+24>>2],B=v(C[m+24>>2]-R),F=v(C[o+20>>2]-g),Q=v(C[a+24>>2]-R),W=v(C[m+16>>2]-h),R=v(C[o+24>>2]-R),h=v(C[a+16>>2]-h),g=v(C[m+20>>2]-g),v(v(v(v(V*D)*B)+v(v(v(v(v(F*Q)*W)+v(v(R*h)*g))-v(v(V*Q)*g))-v(v(F*h)*B)))-v(v(R*D)*W))<v(0)?(f[p+4>>2]=o,f[p>>2]=a,y=f[p+16>>2],G=p+20|0,f[p+16>>2]=f[G>>2],f[G>>2]=y,y=o):(y=a,a=o),y=Dr(t,a,y,m,1),m=Dr(t,f[p+4>>2],f[p>>2],f[p+12>>2],1),w=Dr(t,f[p+8>>2],f[p+4>>2],f[p+12>>2],1),G=Dr(t,f[p>>2],f[p+8>>2],f[p+12>>2],1),4==f[t+18500>>2]){if(o=f[t+18496>>2],h=C[o+16>>2],a=f[o+48>>2]){for(h=v(h*h);g=C[a+16>>2],o=(i=(g=v(g*g))<h)?a:o,h=i?g:h,a=f[a+48>>2];);h=C[o+16>>2]}for(i=f[o+28>>2],p=f[o+24>>2],Y=f[o+20>>2],D=C[o+12>>2],V=C[o+8>>2],R=C[o+4>>2],g=C[o>>2],f[y+32>>2]=m,n[y+52|0]=0,f[m+32>>2]=y,n[m+52|0]=0,f[y+36>>2]=w,n[y+53|0]=0,f[w+32>>2]=y,n[w+52|0]=1,f[y+40>>2]=G,n[y+54|0]=0,f[G+32>>2]=y,n[G+52|0]=2,f[m+36>>2]=G,n[m+53|0]=2,f[G+40>>2]=m,n[G+54|0]=1,f[m+40>>2]=w,n[m+54|0]=1,f[w+36>>2]=m,n[0|(a=w+53|0)]=258,n[a+1|0]=1,f[w+40>>2]=G,n[G+53|0]=2,f[G+36>>2]=w,f[t>>2]=0,m=0;;){A:{r:{if(!((a=f[t+18492>>2])>>>0<=127)){f[t>>2]=6;break A}if(f[t+18492>>2]=a+1,m=m+1|0,n[o+55|0]=m,f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0,pr(e,o,G=(a=(a<<5)+t|0)+60|0),!(v(v(v(v(C[o>>2]*C[a+76>>2])+v(C[o+4>>2]*C[a+80>>2]))+v(C[o+8>>2]*C[a+84>>2]))-C[o+16>>2])>v(9999999747378752e-20))){f[t>>2]=7;break A}for(y=o+32|0,a=52;;){if(!(w=Er(t,m,G,f[y>>2],_[o+a|0],r)))break r;if(yt=a+-51|0,y=y+4|0,a=a+1|0,!(yt>>>0<3))break}}if(w&d[r+8>>2]>2){if(i=f[r>>2],n[i+53|0]=2,a=f[r+4>>2],f[i+36>>2]=a,f[a+40>>2]=i,n[a+54|0]=1,(i=f[o+48>>2])&&(f[i+44>>2]=f[o+44>>2]),(i=f[o+44>>2])&&(f[i+48>>2]=f[o+48>>2]),(0|o)==f[t+18496>>2]&&(f[t+18496>>2]=f[o+48>>2]),f[o+44>>2]=0,f[o+48>>2]=f[t+18504>>2],f[t+18500>>2]=f[t+18500>>2]+-1,(i=f[t+18504>>2])&&(f[i+44>>2]=o),f[t+18504>>2]=o,f[t+18508>>2]=f[t+18508>>2]+1,o=f[t+18496>>2],h=C[o+16>>2],a=f[o+48>>2]){for(h=v(h*h);g=C[a+16>>2],o=(i=(g=v(g*g))<h)?a:o,h=i?g:h,a=f[a+48>>2];);h=C[o+16>>2]}if(i=f[o+28>>2],p=f[o+24>>2],Y=f[o+20>>2],D=C[o+12>>2],V=C[o+8>>2],R=C[o+4>>2],g=C[o>>2],255!=(0|m))continue}else f[t>>2]=4}break}C[t+56>>2]=h,C[t+40>>2]=g,C[t+52>>2]=D,C[t+48>>2]=V,C[t+44>>2]=R,e=t+20|0,g=v(g*h),D=v(C[p+16>>2]-g),a=i+20|0,R=v(R*h),B=v(C[a>>2]-R),F=v(C[(o=p+20|0)>>2]-R),Q=v(C[i+16>>2]-g),W=v(v(D*B)-v(F*Q)),y=i+24|0,h=v(V*h),V=v(C[y>>2]-h),z=v(F*V),F=v(C[(m=p+24|0)>>2]-h),B=v(z-v(F*B)),V=v(v(F*Q)-v(D*V)),V=v(E(v(v(W*W)+v(v(B*B)+v(V*V))))),C[e>>2]=V,G=t+24|0,D=v(C[i+16>>2]-g),B=v(C[(w=Y+20|0)>>2]-R),F=v(C[a>>2]-R),Q=v(C[Y+16>>2]-g),W=v(v(D*B)-v(F*Q)),pt=v(W*W),z=F,F=v(C[(a=Y+24|0)>>2]-h),W=v(C[y>>2]-h),B=v(v(z*F)-v(W*B)),D=v(v(W*Q)-v(D*F)),D=v(E(v(pt+v(v(B*B)+v(D*D))))),C[G>>2]=D,f[t+4>>2]=Y,f[t+36>>2]=3,f[t+12>>2]=i,f[t+8>>2]=p,B=v(C[Y+16>>2]-g),F=v(C[o>>2]-R),R=v(C[w>>2]-R),g=v(C[p+16>>2]-g),Q=v(v(B*F)-v(R*g)),z=R,R=v(C[m>>2]-h),h=v(C[a>>2]-h),F=v(v(z*R)-v(h*F)),h=v(v(h*g)-v(B*R)),g=v(E(v(v(Q*Q)+v(v(F*F)+v(h*h))))),h=v(g+v(V+D)),C[t+28>>2]=g/h,C[G>>2]=D/h,C[e>>2]=V/h,a=f[t>>2];break i}}f[t>>2]=8,h=C[i+8>>2],g=C[i+4>>2],R=C[i>>2],f[t+52>>2]=0,V=v(-R),C[t+40>>2]=V,D=v(-g),C[t+44>>2]=D,B=v(-h),C[t+48>>2]=B,(h=v(E(v(v(v(R*R)+v(g*g))+v(h*h)))))>v(0)?(h=v(v(1)/h),C[t+48>>2]=h*B,C[t+44>>2]=h*D,C[t+40>>2]=h*V):(f[t+48>>2]=0,f[t+40>>2]=1065353216,f[t+44>>2]=0),f[t+52>>2]=0,f[t+56>>2]=0,f[t+36>>2]=1,f[t+20>>2]=1065353216,f[t+4>>2]=f[p>>2],a=8}return Z=r+16|0,a}(h+16|0,h+18528|0,h))){if(!f[h+52>>2]){m=v(0),y=v(0),p=v(0);break e}for(r=h+36|0,p=v(0),a=0,y=v(0),m=v(0);t=f[h+19036>>2],i=f[h+18912>>2]+(t>>1)|0,D=f[h+19032>>2],yt[1&t?f[D+f[i>>2]>>2]:D](h,i,f[r+-16>>2]),R=C[r>>2],p=v(p+v(R*C[h+8>>2])),y=v(y+v(R*C[h+4>>2])),m=v(m+v(C[h>>2]*R)),r=r+4|0,(a=a+1|0)>>>0<d[h+52>>2];);break e}f[o>>2]=3;break t}f[o>>2]=2;break t}R=C[e+48>>2],V=C[e+8>>2],B=C[e>>2],G=C[e+4>>2],F=C[e+52>>2],w=C[e+24>>2],Q=C[e+16>>2],W=C[e+20>>2],Y=C[e+56>>2],z=C[e+40>>2],pt=C[e+32>>2],Dt=C[e+36>>2],f[o+16>>2]=0,C[o+12>>2]=Y+v(v(v(m*pt)+v(y*Dt))+v(p*z)),C[o+8>>2]=F+v(v(v(m*Q)+v(y*W))+v(p*w)),C[o+4>>2]=R+v(v(v(m*B)+v(y*G))+v(p*V)),Lt=1,f[o>>2]=1,V=C[e+56>>2],B=C[e+40>>2],G=C[e+32>>2],F=C[e+36>>2],w=C[e+52>>2],Q=C[e+24>>2],W=C[e+16>>2],Y=C[e+20>>2],z=C[e+48>>2],pt=C[e+8>>2],Dt=C[e>>2],Tt=C[e+4>>2],f[o+32>>2]=0,f[o+48>>2]=0,St=C[h+56>>2],C[o+36>>2]=-St,It=C[h+60>>2],C[o+40>>2]=-It,Et=C[h- -64>>2],C[o+44>>2]=-Et,R=C[h+72>>2],C[o+52>>2]=-R,m=v(m-v(St*R)),y=v(y-v(R*It)),p=v(p-v(R*Et)),C[o+20>>2]=z+v(v(v(Dt*m)+v(Tt*y))+v(pt*p)),C[o+24>>2]=w+v(v(v(m*W)+v(y*Y))+v(p*Q)),C[o+28>>2]=V+v(v(v(m*G)+v(y*F))+v(p*B))}return Z=h+19040|0,Lt}function Dr(t,e,i,r,a){var o,_=0,h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=0,B=v(0),F=v(0);if(o=f[t+18504>>2]){if((_=f[o+48>>2])&&(f[_+44>>2]=f[o+44>>2]),(_=f[o+44>>2])&&(f[_+48>>2]=f[o+48>>2]),(0|o)==f[t+18504>>2]&&(f[t+18504>>2]=f[o+48>>2]),f[o+44>>2]=0,f[o+48>>2]=f[t+18496>>2],f[(_=t+18508|0)>>2]=f[_>>2]+-1,(_=f[t+18496>>2])&&(f[_+44>>2]=o),f[t+18496>>2]=o,f[(_=t+18500|0)>>2]=f[_>>2]+1,n[o+55|0]=0,f[o+28>>2]=r,f[o+24>>2]=i,f[o+20>>2]=e,y=C[i+20>>2],p=C[r+24>>2],m=C[i+24>>2],h=C[e+24>>2],g=C[e+20>>2],R=C[r+20>>2],B=C[r+16>>2],F=C[i+16>>2],d=C[e+16>>2],f[o+12>>2]=0,y=v(y-g),p=v(p-h),m=v(m-h),R=v(R-g),h=v(v(y*p)-v(m*R)),C[o>>2]=h,g=m,m=v(B-d),d=v(F-d),g=v(v(g*m)-v(d*p)),C[o+4>>2]=g,d=v(v(d*R)-v(y*m)),C[o+8>>2]=d,D=2,(h=v(E(v(v(v(h*h)+v(g*g))+v(d*d)))))>v(9999999747378752e-20)){if(Zr(o,e,i,_=o+16|0)||Zr(o,i,r,_)||Zr(o,r,e,_)||(C[o+16>>2]=v(v(v(C[e+16>>2]*C[o>>2])+v(C[e+20>>2]*C[o+4>>2]))+v(C[e+24>>2]*C[o+8>>2]))/h),h=v(v(1)/h),C[o>>2]=h*C[o>>2],C[o+4>>2]=h*C[o+4>>2],C[o+8>>2]=h*C[o+8>>2],a)return o;if(D=3,C[_>>2]>=v(-9999999747378752e-21))return o}return f[t>>2]=D,(e=f[o+48>>2])&&(f[e+44>>2]=f[o+44>>2]),(e=f[o+44>>2])&&(f[e+48>>2]=f[o+48>>2]),(0|o)==f[t+18496>>2]&&(f[t+18496>>2]=f[o+48>>2]),f[o+44>>2]=0,f[o+48>>2]=f[t+18504>>2],f[t+18500>>2]=f[t+18500>>2]+-1,(e=f[t+18504>>2])&&(f[e+44>>2]=o),f[t+18504>>2]=o,f[t+18508>>2]=f[t+18508>>2]+1,0}return f[t>>2]=5,0}function Er(t,e,i,r,a,o){var h=0,d=0,g=0;t:if(_[r+55|0]!=(0|e)){if(d=f[(h=a<<2)+14768>>2],v(v(v(v(C[r>>2]*C[i+16>>2])+v(C[r+4>>2]*C[i+20>>2]))+v(C[r+8>>2]*C[i+24>>2]))-C[r+16>>2])<v(-9999999747378752e-21)){if(!(t=Dr(e=t,f[(t=r+20|0)+(d<<2)>>2],f[t+h>>2],i,0)))break t;return f[t+32>>2]=r,n[t+52|0]=a,n[52+(r+a|0)|0]=0,f[32+((a<<2)+r|0)>>2]=t,(e=f[o>>2])?(f[e+36>>2]=t,n[e+53|0]=2,f[t+40>>2]=e,n[t+54|0]=1):f[o+4>>2]=t,f[o>>2]=t,f[o+8>>2]=f[o+8>>2]+1,1}n[r+55|0]=e,Er(t,e,i,f[32+((d<<2)+r|0)>>2],_[52+(r+d|0)|0],o)&&(a=e,e=f[h+14780>>2],Er(t,a,i,f[32+((e<<2)+r|0)>>2],_[52+(e+r|0)|0],o)&&((e=f[r+48>>2])&&(f[e+44>>2]=f[r+44>>2]),(e=f[r+44>>2])&&(f[e+48>>2]=f[r+48>>2]),(0|r)==f[t+18496>>2]&&(f[t+18496>>2]=f[r+48>>2]),f[r+44>>2]=0,f[r+48>>2]=f[t+18504>>2],f[(e=t+18500|0)>>2]=f[e>>2]+-1,(e=f[t+18504>>2])&&(f[e+44>>2]=r),f[t+18504>>2]=r,g=1,f[(t=t+18508|0)>>2]=f[t>>2]+1))}return g}function Zr(t,e,i,r){var n=v(0),a=v(0),o=v(0),f=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0);return _=C[i+24>>2],n=C[e+24>>2],g=v(_-n),h=C[i+16>>2],o=C[e+16>>2],m=v(h-o),a=C[t+4>>2],d=C[i+20>>2],f=C[e+20>>2],y=v(d-f),p=C[t>>2],R=C[t+8>>2],t=0,v(v(n*v(v(m*a)-v(y*p)))+v(v(o*v(v(y*R)-v(g*a)))+v(f*v(v(g*p)-v(m*R)))))<v(0)&&(a=v(v(v(o*o)+v(f*f))+v(n*n)),v(v(v(o*m)+v(f*y))+v(n*g))>v(0)||(a=v(v(v(h*h)+v(d*d))+v(_*_)),v(v(v(h*m)+v(d*y))+v(_*g))<v(0)||(a=v(v(v(v(h*h)+v(d*d))+v(_*_))*v(v(v(o*o)+v(f*f))+v(n*n))),n=v(v(v(h*o)+v(d*f))+v(_*n)),a=(n=v(v(a-v(n*n))/v(v(v(m*m)+v(y*y))+v(g*g))))>v(0)?n:v(0))),C[r>>2]=E(a),t=1),t}function Yr(t){var e=0;n[t+356|0]=1,f[t>>2]=0,n[t+312|0]=0,f[t+292>>2]=1566444395,f[t+296>>2]=1566444395,f[(e=t+336|0)>>2]=0,f[e+4>>2]=0,f[(e=t+300|0)>>2]=1566444395,f[e+4>>2]=0,f[(e=t+344|0)>>2]=0,f[e+4>>2]=0,n[t+352|0]=0,n[0|(t=t+332|0)]=240&_[0|t]}function Vr(t,e,i,r){var a,o=0,_=0,h=0;o=f[e+4>>2],f[t+292>>2]=f[e>>2],f[t+296>>2]=o,h=f[(o=e+8|0)+4>>2],f[(_=t+300|0)>>2]=f[o>>2],f[_+4>>2]=h,n[t+356|0]=1,a=f[o+4>>2],_=(f[t>>2]<<4)+t|0,f[(h=_+12|0)>>2]=f[o>>2],f[h+4>>2]=a,o=_+4|0,_=f[e+4>>2],f[o>>2]=f[e>>2],f[o+4>>2]=_,h=f[(_=i+8|0)+4>>2],e=(f[t>>2]<<4)+t|0,f[(o=e+92|0)>>2]=f[_>>2],f[o+4>>2]=h,o=f[i+4>>2],f[(e=e+84|0)>>2]=f[i>>2],f[e+4>>2]=o,o=f[r+4>>2],e=(f[t>>2]<<4)+t|0,f[(i=e+164|0)>>2]=f[r>>2],f[i+4>>2]=o,r=f[(i=r+8|0)+4>>2],f[(e=e+172|0)>>2]=f[i>>2],f[e+4>>2]=r,f[t>>2]=f[t>>2]+1}function Nr(t){var e,i=0,r=0,a=0,o=0,h=0,d=0,g=v(0),m=0,y=0,p=v(0),R=0,D=0,B=v(0),E=v(0),F=0,V=v(0),G=0,w=0,Q=v(0),W=v(0),Y=0,z=v(0),yt=v(0),pt=0,Dt=0,It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=0;Z=e=Z-16|0;t:if(_[t+356|0]){n[t+356|0]=0,n[t+352|0]=0,f[(i=t+344|0)>>2]=0,f[i+4>>2]=0,f[(i=Dt=t+336|0)>>2]=0,f[i+4>>2]=0,i=-16&_[0|(o=t+332|0)],n[0|o]=i;e:if(!((o=f[t>>2])>>>0>4)){r=t+316|0;i:{A:{switch(o-1|0){case 1:o=t,V=C[t+4>>2],g=v(C[t+20>>2]-V),Q=C[t+8>>2],B=v(C[t+24>>2]-Q),W=C[t+12>>2],E=v(C[t+28>>2]-W);r:if((V=v(v(v(v(v(0)-V)*g)+v(v(v(0)-Q)*B))+v(v(v(0)-W)*E)))>v(0)){if(V<(p=v(v(v(g*g)+v(B*B))+v(E*E)))){p=v(V/p),r=3|i;break r}p=v(1),r=2|i}else r=1|i;n[o+332|0]=r,f[(i=t+344|0)>>2]=0,f[i+4>>2]=0,C[t+340>>2]=p,V=v(v(1)-p),C[t+336>>2]=V,f[t+256>>2]=0,g=C[t+92>>2],Q=v(g+v(p*v(C[t+108>>2]-g))),C[t+252>>2]=Q,g=C[t+88>>2],W=v(g+v(p*v(C[t+104>>2]-g))),C[t+248>>2]=W,g=C[t+84>>2],z=v(g+v(p*v(C[t+100>>2]-g))),C[t+244>>2]=z,yt=C[t+180>>2],It=C[t+184>>2],g=C[t+168>>2],St=C[t+188>>2],B=C[t+172>>2],E=C[t+164>>2],f[t+288>>2]=0,B=v(B+v(p*v(St-B))),C[t+284>>2]=Q-B,g=v(g+v(p*v(It-g))),C[t+280>>2]=W-g,E=v(E+v(p*v(yt-E))),C[t+276>>2]=z-E,f[t+272>>2]=0,C[t+268>>2]=B,C[t+264>>2]=g,C[t+260>>2]=E,o=1,2&r||(f[t>>2]=1,o=0),1&r||(f[t>>2]=o,o=f[(i=(r=(o<<4)+t|0)+12|0)>>2],i=f[i+4>>2],h=f[(m=r+4|0)>>2],m=f[m+4>>2],w=f[(R=r+84|0)+4>>2],f[(a=t+84|0)>>2]=f[R>>2],f[a+4>>2]=w,R=f[(d=r+92|0)+4>>2],f[(a=a+8|0)>>2]=f[d>>2],f[a+4>>2]=R,w=f[(R=r+164|0)+4>>2],f[(a=t+164|0)>>2]=f[R>>2],f[a+4>>2]=w,d=f[(r=r+172|0)+4>>2],f[(a=a+8|0)>>2]=f[r>>2],f[a+4>>2]=d,f[(r=t+4|0)>>2]=h,f[r+4>>2]=m,f[(r=r+8|0)>>2]=o,f[r+4>>2]=i),r=p>=v(0)&V>=v(0);break e;case 2:f[(i=e+8|0)>>2]=0,f[i+4>>2]=0,f[e>>2]=0,f[e+4>>2]=0,Ir(e,m=t+4|0,h=t+20|0,a=t+36|0,r),f[t+256>>2]=0,B=C[t+336>>2],p=C[t+340>>2],g=C[t+344>>2],E=v(v(v(B*C[t+92>>2])+v(p*C[t+108>>2]))+v(g*C[t+124>>2])),C[t+252>>2]=E,V=v(v(v(B*C[t+88>>2])+v(p*C[t+104>>2]))+v(g*C[t+120>>2])),C[t+248>>2]=V,d=t+100|0,R=t+116|0,Q=v(v(v(B*C[t+84>>2])+v(p*C[d>>2]))+v(g*C[R>>2])),C[t+244>>2]=Q,W=C[(w=t+180|0)>>2],z=C[(F=t+196|0)>>2],yt=C[t+168>>2],It=C[t+184>>2],St=C[t+200>>2],Et=C[t+172>>2],Ot=C[t+188>>2],Nt=C[t+204>>2],Ft=C[t+164>>2],f[t+288>>2]=0,Tt=E,E=v(v(v(B*Et)+v(p*Ot))+v(g*Nt)),C[t+284>>2]=Tt-E,Tt=V,V=v(v(v(B*yt)+v(p*It))+v(g*St)),C[t+280>>2]=Tt-V,B=v(v(v(B*Ft)+v(p*W))+v(g*z)),C[t+276>>2]=Q-B,f[t+272>>2]=0,C[t+268>>2]=E,C[t+264>>2]=V,C[t+260>>2]=B;r:{n:{a:{o:{s:{l:if((0|(i=f[t>>2]))>=4){if(8&(o=_[t+332|0])){r=i;break l}r=i+-1|0,f[t>>2]=r,G=f[(D=(i=(r<<4)+t|0)+12|0)+4>>2],f[(y=t+60|0)>>2]=f[D>>2],f[y+4>>2]=G,G=f[(D=i+4|0)+4>>2],f[(y=t+52|0)>>2]=f[D>>2],f[y+4>>2]=G,G=f[(D=i+92|0)+4>>2],f[(y=t+140|0)>>2]=f[D>>2],f[y+4>>2]=G,G=f[(D=i+84|0)+4>>2],f[(y=t+132|0)>>2]=f[D>>2],f[y+4>>2]=G,G=f[(D=i+164|0)+4>>2],f[(y=t+212|0)>>2]=f[D>>2],f[y+4>>2]=G,D=f[(i=i+172|0)+4>>2],f[(y=t+220|0)>>2]=f[i>>2],f[y+4>>2]=D}else{if(r=3,3!=(0|i))break s;o=_[t+332|0]}if(4&o)break o;r=r+-1|0,f[t>>2]=r,G=f[(D=(i=(r<<4)+t|0)+12|0)+4>>2],f[(y=a+8|0)>>2]=f[D>>2],f[y+4>>2]=G,D=f[(y=i+4|0)+4>>2],f[a>>2]=f[y>>2],f[a+4>>2]=D,D=f[(y=i+92|0)+4>>2],f[(a=R+8|0)>>2]=f[y>>2],f[a+4>>2]=D,y=f[(a=i+84|0)+4>>2],f[R>>2]=f[a>>2],f[R+4>>2]=y,R=f[(a=i+164|0)+4>>2],f[F>>2]=f[a>>2],f[F+4>>2]=R,R=f[(i=i+172|0)+4>>2],f[(a=F+8|0)>>2]=f[i>>2],f[a+4>>2]=R;break o}if(r=2,(0|i)<2)break a;o=_[t+332|0]}if(2&o)break n;r=r+-1|0,f[t>>2]=r,F=f[(R=(i=(r<<4)+t|0)+12|0)+4>>2],f[(a=h+8|0)>>2]=f[R>>2],f[a+4>>2]=F,R=f[(a=i+4|0)+4>>2],f[h>>2]=f[a>>2],f[h+4>>2]=R,R=f[(a=i+92|0)+4>>2],f[(h=d+8|0)>>2]=f[a>>2],f[h+4>>2]=R,a=f[(h=i+84|0)+4>>2],f[d>>2]=f[h>>2],f[d+4>>2]=a,a=f[(h=i+164|0)+4>>2],f[w>>2]=f[h>>2],f[w+4>>2]=a,a=f[(i=i+172|0)+4>>2],f[(h=w+8|0)>>2]=f[i>>2],f[h+4>>2]=a;break n}if(r=1,1!=(0|i))break r;o=_[t+332|0]}1&o||(r=r+-1|0,f[t>>2]=r,h=f[(o=(r=(r<<4)+t|0)+12|0)+4>>2],f[(i=m+8|0)>>2]=f[o>>2],f[i+4>>2]=h,o=f[(i=r+4|0)+4>>2],f[m>>2]=f[i>>2],f[m+4>>2]=o,h=f[(m=r+92|0)+4>>2],f[(o=(i=t+84|0)+8|0)>>2]=f[m>>2],f[o+4>>2]=h,m=f[(o=r+84|0)+4>>2],f[i>>2]=f[o>>2],f[i+4>>2]=m,h=f[(m=r+164|0)+4>>2],f[(i=t+164|0)>>2]=f[m>>2],f[i+4>>2]=h,o=f[(r=r+172|0)+4>>2],f[(i=i+8|0)>>2]=f[r>>2],f[i+4>>2]=o)}if(r=0,C[Dt>>2]>=v(0)^1|p>=v(0)^1|g>=v(0)^1)break e;r=C[t+348>>2]>=v(0);break e;case 3:if(f[(i=e+8|0)>>2]=0,f[i+4>>2]=0,f[e>>2]=0,f[e+4>>2]=0,function(t,e,i,r,a,o){var h,d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=0,D=0,B=v(0),E=v(0),F=v(0),V=v(0),G=0,w=v(0),Q=v(0),W=0,Y=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=0,Ot=0,Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0);return Z=h=Z-48|0,R=f[t+4>>2],f[o>>2]=f[t>>2],f[o+4>>2]=R,D=f[(R=t+8|0)+4>>2],R=f[R>>2],n[o+16|0]=15|_[o+16|0],f[(W=o+8|0)>>2]=R,f[W+4>>2]=D,n[h+24|0]=0,R=-1,D=-1,Nt=C[a>>2],p=C[e>>2],y=v(Nt-p),B=C[i+4>>2],d=C[e+4>>2],F=v(B-d),Ft=C[r+8>>2],m=C[e+8>>2],g=v(Ft-m),Y=C[i+8>>2],V=v(Y-m),Vt=C[r+4>>2],w=v(Vt-d),z=v(v(F*g)-v(V*w)),Gt=C[a+4>>2],Q=v(Gt-d),Lt=C[r>>2],yt=v(Lt-p),pt=C[i>>2],Dt=v(pt-p),It=v(v(V*yt)-v(Dt*g)),St=v(v(Dt*w)-v(F*yt)),wt=C[a+8>>2],Tt=v(wt-m),E=v(v(v(y*z)+v(Q*It))+v(St*Tt)),v(E*E)<v(9.99999905104687e-9)||(D=v(E*v(v(v(z*v(C[t>>2]-p))+v(It*v(C[t+4>>2]-d)))+v(St*v(C[t+8>>2]-m))))<v(0)),z=v(v(yt*Q)-v(w*y)),It=v(v(w*Tt)-v(g*Q)),St=v(v(g*y)-v(yt*Tt)),E=v(v(V*z)+v(v(Dt*It)+v(F*St))),v(E*E)<v(9.99999905104687e-9)||(R=v(E*v(v(v(It*v(C[t>>2]-p))+v(St*v(C[t+4>>2]-d)))+v(z*v(C[t+8>>2]-m))))<v(0)),W=-1,Ot=-1,E=g,g=v(v(F*y)-v(Dt*Q)),F=v(v(V*Q)-v(F*Tt)),V=v(v(Dt*Tt)-v(V*y)),y=v(v(E*g)+v(v(yt*F)+v(w*V))),v(y*y)<v(9.99999905104687e-9)||(Ot=v(y*v(v(v(F*v(C[t>>2]-p))+v(V*v(C[t+4>>2]-d)))+v(g*v(C[t+8>>2]-m))))<v(0)),w=v(m-Y),m=v(Vt-B),y=v(Nt-pt),F=v(Lt-pt),g=v(Gt-B),V=v(v(m*y)-v(F*g)),Q=v(p-pt),p=v(Ft-Y),E=m,m=v(wt-Y),g=v(v(p*g)-v(E*m)),E=v(d-B),d=v(v(F*m)-v(p*y)),p=v(v(w*V)+v(v(Q*g)+v(E*d))),v(p*p)<v(9.99999905104687e-9)||(W=v(p*v(v(v(g*v(C[t>>2]-pt))+v(d*v(C[t+4>>2]-B)))+v(V*v(C[t+8>>2]-Y))))<v(0)),(0|(Et=D|R|Ot|W))<=-1?(n[o+36|0]=1,G=0):(G=0,Et&&(g=v(34028234663852886e22),D&&(Ir(t,e,i,r,h+8|0),p=C[h+8>>2],d=v(p-C[t>>2]),g=v(d*d),d=C[h+12>>2],m=v(d-C[t+4>>2]),g=v(g+v(m*m)),m=C[h+16>>2],y=v(m-C[t+8>>2]),y=v(g+v(y*y)),g=v(34028234663852886e22),y<v(34028234663852886e22)&&(f[o+12>>2]=f[h+20>>2],C[o+8>>2]=m,C[o+4>>2]=d,C[o>>2]=p,D=f[h+32>>2],f[o+20>>2]=f[h+28>>2],f[o+24>>2]=D,f[o+32>>2]=0,f[o+28>>2]=f[h+36>>2],D=_[h+24|0],n[o+16|0]=1&D|240&_[o+16|0]|2&D|4&D,g=y)),p=g,R&&(Ir(t,e,r,a,h+8|0),m=C[h+8>>2],d=v(m-C[t>>2]),g=v(d*d),y=C[h+12>>2],d=v(y-C[t+4>>2]),g=v(g+v(d*d)),B=C[h+16>>2],d=v(B-C[t+8>>2]),(d=v(g+v(d*d)))<p&&(f[o+12>>2]=f[h+20>>2],C[o+8>>2]=B,C[o+4>>2]=y,C[o>>2]=m,f[o+20>>2]=f[h+28>>2],f[o+24>>2]=0,D=f[(R=h+32|0)+4>>2],f[(Et=o+28|0)>>2]=f[R>>2],f[Et+4>>2]=D,D=(R=_[h+24|0])<<1,n[o+16|0]=8&D|4&D|1&R|240&_[o+16|0],p=d)),Ot&&(Ir(t,e,a,i,h+8|0),m=C[h+8>>2],d=v(m-C[t>>2]),g=v(d*d),y=C[h+12>>2],d=v(y-C[t+4>>2]),g=v(g+v(d*d)),B=C[h+16>>2],d=v(B-C[t+8>>2]),(d=v(g+v(d*d)))<p&&(f[o+12>>2]=f[h+20>>2],C[o+8>>2]=B,C[o+4>>2]=y,C[o>>2]=m,f[o+20>>2]=f[h+28>>2],f[o+28>>2]=0,f[o+32>>2]=f[h+32>>2],f[o+24>>2]=f[h+36>>2],e=_[h+24|0],n[o+16|0]=1&e|240&_[o+16|0]|e>>>1&2|e<<2&8,p=d)),G=1,W&&(Ir(t,i,a,r,h+8|0),d=C[h+8>>2],m=v(d-C[t>>2]),g=v(m*m),m=C[h+12>>2],y=v(m-C[t+4>>2]),g=v(g+v(y*y)),y=C[h+16>>2],B=v(y-C[t+8>>2]),G=1,v(g+v(B*B))<p&&(f[o+12>>2]=f[h+20>>2],C[o+8>>2]=y,C[o+4>>2]=m,C[o>>2]=d,f[o+20>>2]=0,f[o+24>>2]=f[h+28>>2],f[o+32>>2]=f[h+32>>2],f[o+28>>2]=f[h+36>>2],t=_[h+24|0],n[o+16|0]=4&t|240&_[o+16|0]|t<<1&2|t<<2&8,G=1)))),Z=h+48|0,t=G}(e,m=t+4|0,h=t+20|0,a=t+36|0,d=t+52|0,r)){f[t+256>>2]=0,g=C[t+336>>2],B=C[t+340>>2],E=C[t+344>>2],p=C[t+348>>2],V=v(v(v(v(g*C[t+92>>2])+v(B*C[t+108>>2]))+v(E*C[t+124>>2]))+v(p*C[t+140>>2])),C[t+252>>2]=V,Q=v(v(v(v(g*C[t+88>>2])+v(B*C[t+104>>2]))+v(E*C[t+120>>2]))+v(p*C[t+136>>2])),C[t+248>>2]=Q,R=t+100|0,w=t+116|0,F=t+132|0,W=v(v(v(v(g*C[t+84>>2])+v(B*C[R>>2]))+v(E*C[w>>2]))+v(p*C[F>>2])),C[t+244>>2]=W,f[t+288>>2]=0,f[t+272>>2]=0,y=t+180|0,D=t+196|0,G=t+212|0,z=v(v(v(v(g*C[t+164>>2])+v(B*C[y>>2]))+v(E*C[D>>2]))+v(p*C[G>>2])),C[t+260>>2]=z,yt=v(v(v(v(g*C[t+168>>2])+v(B*C[t+184>>2]))+v(E*C[t+200>>2]))+v(p*C[t+216>>2])),C[t+264>>2]=yt,g=v(v(v(v(g*C[t+172>>2])+v(B*C[t+188>>2]))+v(E*C[t+204>>2]))+v(p*C[t+220>>2])),C[t+268>>2]=g,C[t+276>>2]=W-z,C[t+280>>2]=Q-yt,C[t+284>>2]=V-g;r:{n:{a:{o:{s:{l:if((0|(i=f[t>>2]))>=4){if(8&(o=_[t+332|0])){r=i;break l}r=i+-1|0,f[t>>2]=r,Vt=f[(pt=(i=(r<<4)+t|0)+12|0)+4>>2],f[(Y=d+8|0)>>2]=f[pt>>2],f[Y+4>>2]=Vt,pt=f[(Y=i+4|0)+4>>2],f[d>>2]=f[Y>>2],f[d+4>>2]=pt,pt=f[(Y=i+92|0)+4>>2],f[(d=F+8|0)>>2]=f[Y>>2],f[d+4>>2]=pt,Y=f[(d=i+84|0)+4>>2],f[F>>2]=f[d>>2],f[F+4>>2]=Y,F=f[(d=i+164|0)+4>>2],f[G>>2]=f[d>>2],f[G+4>>2]=F,F=f[(i=i+172|0)+4>>2],f[(d=G+8|0)>>2]=f[i>>2],f[d+4>>2]=F}else{if(r=3,3!=(0|i))break s;o=_[t+332|0]}if(4&o)break o;r=r+-1|0,f[t>>2]=r,G=f[(F=(i=(r<<4)+t|0)+12|0)+4>>2],f[(d=a+8|0)>>2]=f[F>>2],f[d+4>>2]=G,F=f[(d=i+4|0)+4>>2],f[a>>2]=f[d>>2],f[a+4>>2]=F,F=f[(d=i+92|0)+4>>2],f[(a=w+8|0)>>2]=f[d>>2],f[a+4>>2]=F,d=f[(a=i+84|0)+4>>2],f[w>>2]=f[a>>2],f[w+4>>2]=d,d=f[(a=i+164|0)+4>>2],f[D>>2]=f[a>>2],f[D+4>>2]=d,d=f[(i=i+172|0)+4>>2],f[(a=D+8|0)>>2]=f[i>>2],f[a+4>>2]=d;break o}if(r=2,(0|i)<2)break a;o=_[t+332|0]}if(2&o)break n;r=r+-1|0,f[t>>2]=r,w=f[(d=(i=(r<<4)+t|0)+12|0)+4>>2],f[(a=h+8|0)>>2]=f[d>>2],f[a+4>>2]=w,d=f[(a=i+4|0)+4>>2],f[h>>2]=f[a>>2],f[h+4>>2]=d,d=f[(a=i+92|0)+4>>2],f[(h=R+8|0)>>2]=f[a>>2],f[h+4>>2]=d,a=f[(h=i+84|0)+4>>2],f[R>>2]=f[h>>2],f[R+4>>2]=a,a=f[(h=i+164|0)+4>>2],f[y>>2]=f[h>>2],f[y+4>>2]=a,a=f[(i=i+172|0)+4>>2],f[(h=y+8|0)>>2]=f[i>>2],f[h+4>>2]=a;break n}if(r=1,1!=(0|i))break r;o=_[t+332|0]}1&o||(r=r+-1|0,f[t>>2]=r,h=f[(o=(r=(r<<4)+t|0)+12|0)+4>>2],f[(i=m+8|0)>>2]=f[o>>2],f[i+4>>2]=h,o=f[(i=r+4|0)+4>>2],f[m>>2]=f[i>>2],f[m+4>>2]=o,h=f[(m=r+92|0)+4>>2],f[(o=(i=t+84|0)+8|0)>>2]=f[m>>2],f[o+4>>2]=h,m=f[(o=r+84|0)+4>>2],f[i>>2]=f[o>>2],f[i+4>>2]=m,h=f[(m=r+164|0)+4>>2],f[(i=t+164|0)>>2]=f[m>>2],f[i+4>>2]=h,o=f[(r=r+172|0)+4>>2],f[(i=i+8|0)>>2]=f[r>>2],f[i+4>>2]=o)}if(r=0,C[Dt>>2]>=v(0)^1|C[t+340>>2]>=v(0)^1|C[t+344>>2]>=v(0)^1)break e;r=p>=v(0);break e}if(!_[t+352|0])break A;break;case 0:break i}r=0;break e}f[t+276>>2]=0,f[t+280>>2]=0,r=1,n[t+312|0]=1,f[(t=t+284|0)>>2]=0,f[t+4>>2]=0;break t}r=f[t+168>>2],f[t+260>>2]=f[t+164>>2],f[t+264>>2]=r,r=f[t+88>>2],f[t+244>>2]=f[t+84>>2],f[t+248>>2]=r,h=f[(m=t+172|0)+4>>2],f[(r=o=t+268|0)>>2]=f[m>>2],f[r+4>>2]=h,h=f[(m=t+92|0)+4>>2],f[(r=t+252|0)>>2]=f[m>>2],f[r+4>>2]=h,n[t+352|0]=0,f[t+288>>2]=0,C[t+280>>2]=C[t+248>>2]-C[t+264>>2],C[t+276>>2]=C[t+244>>2]-C[t+260>>2],C[t+284>>2]=C[r>>2]-C[o>>2],f[(r=t+344|0)>>2]=0,f[r+4>>2]=0,f[t+336>>2]=1065353216,f[t+340>>2]=0,n[t+332|0]=i,r=1}n[t+312|0]=r}else r=_[t+312|0];return Z=e+16|0,0!=(255&r)}function Ir(t,e,i,r,a){var o,h,d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),Z=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0);o=-16&_[a+16|0],n[a+16|0]=o,It=C[r>>2],D=C[e>>2],G=v(It-D),R=C[t>>2],d=v(R-D),St=C[r+4>>2],B=C[e+4>>2],w=v(St-B),y=C[t+4>>2],g=v(y-B),Tt=C[r+8>>2],E=C[e+8>>2],Q=v(Tt-E),F=C[t+8>>2],m=v(F-E),p=v(v(v(G*d)+v(w*g))+v(Q*m)),h=a,z=C[i>>2],W=v(z-D),yt=C[i+4>>2],Y=v(yt-B),pt=C[i+8>>2],Z=v(pt-E),(g=v(v(v(W*d)+v(Y*g))+v(Z*m)))<=v(0)^1|p<=v(0)^1?(d=v(R-z),m=v(y-yt),V=v(F-pt),Dt=v(v(v(G*d)+v(w*m))+v(Q*V)),(m=v(v(v(W*d)+v(Y*m))+v(Z*V)))>=v(0)^1|Dt<=m^1?(V=v(v(g*Dt)-v(m*p)),m<=v(0)^1|g>=v(0)^1||(d=v(0),!(V<=v(0)))?(d=v(R-It),y=v(y-St),F=v(F-Tt),R=v(v(v(W*d)+v(Y*y))+v(Z*F)),(d=v(v(v(G*d)+v(w*y))+v(Q*F)))>=v(0)^1|R<=d^1?(y=v(v(R*p)-v(g*d)),d<=v(0)^1|p>=v(0)^1||(g=v(0),!(y<=v(0)))?(p=v(v(m*d)-v(R*Dt)))<=v(0)&&((g=v(Dt-m))>=v(0)&&(d=v(R-d))>=v(0))?(f[a+12>>2]=0,n[a+16|0]=6|o,d=v(g/v(g+d)),C[a+8>>2]=pt+v(v(Tt-pt)*d),C[a+4>>2]=yt+v(v(St-yt)*d),C[a>>2]=z+v(v(It-z)*d),g=v(v(1)-d),m=v(0)):(f[a+12>>2]=0,n[a+16|0]=7|o,g=v(v(1)/v(V+v(p+y))),d=v(V*g),g=v(y*g),C[a+8>>2]=v(Q*d)+v(E+v(Z*g)),C[a+4>>2]=v(w*d)+v(B+v(Y*g)),C[a>>2]=v(G*d)+v(D+v(W*g)),m=v(v(v(1)-g)-d)):(f[a+12>>2]=0,n[a+16|0]=5|o,d=v(p/v(p-d)),C[a+8>>2]=E+v(Q*d),C[a+4>>2]=B+v(w*d),C[a>>2]=D+v(G*d),m=v(v(1)-d))):(t=f[r+4>>2],f[a>>2]=f[r>>2],f[a+4>>2]=t,e=f[(t=r+8|0)+4>>2],f[(i=a+8|0)>>2]=f[t>>2],f[i+4>>2]=e,n[a+16|0]=4|o,d=v(1),g=v(0),m=v(0))):(f[a+12>>2]=0,n[a+16|0]=3|o,g=v(g/v(g-m)),C[a+8>>2]=E+v(Z*g),C[a+4>>2]=B+v(Y*g),C[a>>2]=D+v(W*g),m=v(v(1)-g))):(t=f[i+4>>2],f[a>>2]=f[i>>2],f[a+4>>2]=t,e=f[(t=i+8|0)+4>>2],f[(i=a+8|0)>>2]=f[t>>2],f[i+4>>2]=e,n[a+16|0]=2|o,g=v(1),d=v(0),m=v(0))):(t=f[e+4>>2],f[a>>2]=f[e>>2],f[a+4>>2]=t,e=f[(t=e+8|0)+4>>2],f[(i=a+8|0)>>2]=f[t>>2],f[i+4>>2]=e,n[a+16|0]=1|o,g=v(0),d=v(0),m=v(1)),C[h+20>>2]=m,f[a+32>>2]=0,C[a+28>>2]=d,C[a+24>>2]=g}function Jr(t,e){var i,r,n,a=0;return r=Nr(t),n=f[(i=t+284|0)+4>>2],f[(a=e+8|0)>>2]=f[i>>2],f[a+4>>2]=n,a=f[t+280>>2],f[e>>2]=f[t+276>>2],f[e+4>>2]=a,r}function xr(t,e){var i=0,r=v(0),n=0,a=0,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0);n=0;t:if(!((0|(a=f[t>>2]))<1)){for(i=t+8|0,_=C[t+308>>2],h=C[e+8>>2],d=C[e+4>>2],g=C[e>>2];;){if(r=v(g-C[i+-4>>2]),o=v(r*r),r=v(d-C[i>>2]),o=v(o+v(r*r)),r=v(h-C[i+4>>2]),n=1,v(o+v(r*r))<=_)break t;if(i=i+16|0,!(a=a+-1|0))break}n=0}return i=n,C[e+12>>2]!=C[t+304>>2]|C[e+8>>2]!=C[t+300>>2]|C[e+4>>2]!=C[t+296>>2]|C[e>>2]!=C[t+292>>2]||(i=1),i}function Ur(t,e,i){var r=0,n=0;Nr(t),r=f[t+248>>2],f[e>>2]=f[t+244>>2],f[e+4>>2]=r,n=f[(r=t+252|0)+4>>2],f[(e=e+8|0)>>2]=f[r>>2],f[e+4>>2]=n,n=f[(r=t+268|0)+4>>2],f[(e=i+8|0)>>2]=f[r>>2],f[e+4>>2]=n,e=f[t+264>>2],f[i>>2]=f[t+260>>2],f[i+4>>2]=e}function Mr(t,e,i,r,a){var o,_=v(0),h=v(0);return f[t>>2]=14908,f[t+32>>2]=i,f[t+28>>2]=e,f[t+24>>2]=r,f[t+20>>2]=a,f[t+4>>2]=0,f[t+8>>2]=1065353216,f[(r=t+12|0)>>2]=0,f[r+4>>2]=0,f[t+36>>2]=f[e+4>>2],f[t+40>>2]=f[i+4>>2],o=t,h=v(yt[f[f[e>>2]+48>>2]](e)),C[o+44>>2]=h,_=v(yt[f[f[i>>2]+48>>2]](i)),f[t+72>>2]=1,f[t+76>>2]=1,f[t+60>>2]=-1,n[t+52|0]=0,C[t+48>>2]=_,t}function Sr(t,e,i,r,n){(function(t,e,i,r){var n,a=0,o=v(0),h=v(0),d=0,g=v(0),m=v(0),y=v(0),p=0,R=0,D=v(0),B=v(0),F=v(0),V=v(0),G=0,w=v(0),Q=v(0),W=0,Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=0,St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0),Zt=v(0),Ut=v(0),Xt=v(0),Jt=v(0),jt=v(0),zt=v(0),Ht=v(0);for(Z=n=Z-272|0,f[t+56>>2]=0,f[(p=n+264|0)>>2]=0,f[p+4>>2]=0,f[n+256>>2]=0,f[n+260>>2]=0,d=f[(a=e+8|0)+4>>2],f[(p=n+168|0)>>2]=f[a>>2],f[p+4>>2]=d,d=f[(a=e+24|0)+4>>2],f[(p=n+184|0)>>2]=f[a>>2],f[p+4>>2]=d,d=f[(a=e+40|0)+4>>2],f[(p=n+200|0)>>2]=f[a>>2],f[p+4>>2]=d,R=f[(d=e+56|0)+4>>2],f[(a=p=n+216|0)>>2]=f[d>>2],f[a+4>>2]=R,a=f[e+4>>2],f[n+160>>2]=f[e>>2],f[n+164>>2]=a,a=f[e+20>>2],f[n+176>>2]=f[e+16>>2],f[n+180>>2]=a,a=f[e+36>>2],f[n+192>>2]=f[e+32>>2],f[n+196>>2]=a,a=f[e+52>>2],f[n+208>>2]=f[e+48>>2],f[n+212>>2]=a,G=f[(R=e+120|0)+4>>2],f[(a=n+152|0)>>2]=f[R>>2],f[a+4>>2]=G,G=f[(R=e+72|0)+4>>2],f[(d=n+104|0)>>2]=f[R>>2],f[d+4>>2]=G,G=f[(R=e+88|0)+4>>2],f[(d=n+120|0)>>2]=f[R>>2],f[d+4>>2]=G,G=f[(R=e+104|0)+4>>2],f[(d=n+136|0)>>2]=f[R>>2],f[d+4>>2]=G,d=f[e+68>>2],f[n+96>>2]=f[e+64>>2],f[n+100>>2]=d,R=f[(d=e+80|0)+4>>2],f[n+112>>2]=f[d>>2],f[n+116>>2]=R,R=f[(d=e+96|0)+4>>2],f[n+128>>2]=f[d>>2],f[n+132>>2]=R,R=f[(d=e+112|0)+4>>2],f[n+144>>2]=f[d>>2],f[n+148>>2]=R,o=C[(d=n+148|0)>>2],h=C[(R=n+212|0)>>2],g=C[n+144>>2],m=C[n+208>>2],B=C[p>>2],y=C[a>>2],z=v(v(B+y)*v(.5)),C[p>>2]=B-z,pt=v(v(h+o)*v(.5)),C[R>>2]=h-pt,Dt=v(v(m+g)*v(.5)),C[n+208>>2]=m-Dt,C[a>>2]=y-z,C[d>>2]=o-pt,C[n+144>>2]=g-Dt,R=0,R=f[f[t+28>>2]+4>>2]+-17>>>0<=1?f[f[t+32>>2]+4>>2]+-17>>>0<2:R,f[t+68>>2]=0,f[t+4>>2]=0,f[t+8>>2]=1065353216,f[t+60>>2]=-1,f[t+64>>2]=0,f[(p=t+12|0)>>2]=0,f[p+4>>2]=0,f[432]=f[432]+1,D=C[t+44>>2],o=C[t+48>>2],G=_[t+52|0],Yr(f[t+24>>2]),B=G?v(0):o,p=t+4|0,h=v(0xde0b6b000000000),d=0;;){f[n+252>>2]=0,m=C[t+4>>2],y=v(-m),o=C[t+8>>2],g=C[t+12>>2],C[n+248>>2]=v(v(C[e+8>>2]*y)-v(C[e+24>>2]*o))-v(C[e+40>>2]*g),C[n+244>>2]=v(v(C[e+4>>2]*y)-v(o*C[e+20>>2]))-v(g*C[e+36>>2]),C[n+240>>2]=v(v(C[e>>2]*y)-v(o*C[e+16>>2]))-v(g*C[e+32>>2]),f[n+236>>2]=0,C[n+232>>2]=v(v(m*C[e+72>>2])+v(o*C[e+88>>2]))+v(g*C[e+104>>2]),C[n+228>>2]=v(v(m*C[e+68>>2])+v(o*C[e+84>>2]))+v(g*C[e+100>>2]),C[n+224>>2]=v(v(m*C[e+64>>2])+v(o*C[e+80>>2]))+v(g*C[e+96>>2]),hA(n+80|0,f[t+28>>2],n+240|0),hA(n- -64|0,f[t+32>>2],n+224|0),f[n+60>>2]=0,o=C[n+80>>2],m=C[n+84>>2],y=C[n+88>>2],g=v(v(v(v(o*C[n+192>>2])+v(m*C[n+196>>2]))+v(y*C[n+200>>2]))+C[n+216>>2]),C[n+56>>2]=g,V=v(v(v(v(o*C[n+176>>2])+v(m*C[n+180>>2]))+v(y*C[n+184>>2]))+C[n+212>>2]),C[n+52>>2]=V,Q=v(v(v(v(o*C[n+160>>2])+v(m*C[n+164>>2]))+v(y*C[n+168>>2]))+C[n+208>>2]),C[n+48>>2]=Q,f[n+44>>2]=0,o=C[n+64>>2],y=C[n+68>>2],F=C[n+72>>2],m=v(v(v(v(o*C[n+128>>2])+v(y*C[n+132>>2]))+v(F*C[n+136>>2]))+C[n+152>>2]),C[n+40>>2]=m,w=v(v(v(v(o*C[n+112>>2])+v(y*C[n+116>>2]))+v(F*C[n+120>>2]))+C[n+148>>2]),C[n+36>>2]=w,o=v(v(v(v(o*C[n+96>>2])+v(y*C[n+100>>2]))+v(F*C[n+104>>2]))+C[n+144>>2]),C[n+32>>2]=o,R&&(f[n+40>>2]=0,f[n+56>>2]=0,m=v(0),g=v(0)),f[n+28>>2]=0,y=v(V-w),C[n+20>>2]=y,F=C[t+8>>2],o=v(Q-o),C[n+16>>2]=o,V=C[t+4>>2],g=v(g-m),C[n+24>>2]=g;t:{if((o=v(v(v(o*V)+v(y*F))+v(g*C[t+12>>2])))>v(0)^1|v(o*o)>v(h*C[e+128>>2])^1){if(xr(f[t+24>>2],n+16|0)){d=1,f[t+68>>2]=1,a=2;break t}if((o=v(h-o))<=v(h*v(9.999999974752427e-7))){a=2,f[t+68>>2]=o<=v(0)?2:11,d=1;break t}if(Vr(f[t+24>>2],n+16|0,n+48|0,n+32|0),Jr(f[t+24>>2],n)){if(o=C[n>>2],g=v(o*o),o=C[n+4>>2],g=v(g+v(o*o)),o=C[n+8>>2],!((o=v(g+v(o*o)))<v(9.999999974752427e-7))){v(h-o)<=v(h*v(1.1920928955078125e-7))?(f[t+68>>2]=12,d=1,a=2):(a=f[n+4>>2],f[p>>2]=f[n>>2],f[p+4>>2]=a,It=f[(W=n+8|0)+4>>2],f[(a=p+8|0)>>2]=f[W>>2],f[a+4>>2]=It,W=f[t+64>>2],f[t+64>>2]=W+1,a=2,(0|W)>1e3||(4==f[f[t+24>>2]>>2]?f[t+68>>2]=13:a=0)),h=o;break t}a=f[n+4>>2],f[p>>2]=f[n>>2],f[p+4>>2]=a,f[t+68>>2]=6,W=f[(d=n+8|0)+4>>2],f[(a=p+8|0)>>2]=f[d>>2],f[a+4>>2]=W}else f[t+68>>2]=3}else f[t+68>>2]=10;d=1,a=2}if(a)break}o=v(0),g=G?v(0):D,m=v(g+B),R=0,a=0,1&d&&(Ur(f[t+24>>2],n+240|0,n+224|0),G=f[(d=p+8|0)+4>>2],f[(a=n+264|0)>>2]=f[d>>2],f[a+4>>2]=G,a=f[p+4>>2],f[n+256>>2]=f[p>>2],f[n+260>>2]=a,o=C[t+4>>2],y=C[t+8>>2],F=C[t+12>>2],(D=v(v(v(o*o)+v(y*y))+v(F*F)))<v(9.999999974752427e-7)&&(f[t+68>>2]=5),d=1,D>v(14210854715202004e-30)?(D=v(v(1)/v(E(D))),C[n+256>>2]=D*C[n+256>>2],C[n+260>>2]=D*C[n+260>>2],C[n+264>>2]=D*C[n+264>>2],V=v(E(h)),h=v(g/V),C[n+240>>2]=C[n+240>>2]-v(h*o),C[n+244>>2]=C[n+244>>2]-v(h*y),C[n+248>>2]=C[n+248>>2]-v(h*F),h=v(B/V),C[n+224>>2]=v(h*o)+C[n+224>>2],C[n+228>>2]=v(h*y)+C[n+228>>2],C[n+232>>2]=v(h*F)+C[n+232>>2],a=1,o=v(v(v(1)/D)-m)):(a=0,d=2,o=v(0)),f[t+60>>2]=d),!f[t+68>>2]|!f[t+72>>2]|!f[t+20>>2]||(R=v(m+o)<C[746]);t:{e:{if(((d=1^a)||R)&&(R=f[t+20>>2])){if(f[p>>2]=0,f[p+4>>2]=0,f[(G=p+8|0)>>2]=0,f[G+4>>2]=0,f[431]=f[431]+1,yt[f[f[R>>2]+8>>2]](R,f[t+24>>2],f[t+28>>2],f[t+32>>2],n+160|0,n+96|0,p,n+80|0,n- -64|0,r)){if(F=v(0),h=C[n+64>>2],D=C[n+80>>2],B=v(h-D),V=C[n+68>>2],Q=C[n+84>>2],y=v(V-Q),w=C[n+72>>2],Y=C[n+88>>2],g=v(w-Y),(m=v(v(v(B*B)+v(y*y))+v(g*g)))<=v(14210854715202004e-30)&&(F=C[t+16>>2],B=C[t+4>>2],y=C[t+8>>2],g=C[t+12>>2],m=v(v(v(B*B)+v(y*y))+v(g*g))),m>v(14210854715202004e-30)){if(f[t+60>>2]=3,h=v(D-h),D=v(h*h),h=v(Q-V),D=v(D+v(h*h)),h=v(Y-w),!((o>(h=v(-v(E(v(D+v(h*h))))))^-1)&(1^d))){d=f[(a=n+88|0)+4>>2],f[(r=n+248|0)>>2]=f[a>>2],f[r+4>>2]=d,d=f[(a=n+72|0)+4>>2],f[(r=n+232|0)>>2]=f[a>>2],f[r+4>>2]=d,r=f[n+84>>2],f[n+240>>2]=f[n+80>>2],f[n+244>>2]=r,r=f[n+68>>2],f[n+224>>2]=f[n+64>>2],f[n+228>>2]=r,C[n+268>>2]=F,o=v(v(1)/v(E(m))),C[n+264>>2]=g*o,C[n+260>>2]=y*o,C[n+256>>2]=B*o,o=h;break e}if(f[t+60>>2]=8,a)break e;break t}if(f[t+60>>2]=9,a)break e;break t}if(y=C[t+4>>2],F=C[t+8>>2],D=C[t+12>>2],v(v(v(y*y)+v(F*F))+v(D*D))>v(0)){if(h=v(C[n+80>>2]-C[n+64>>2]),V=v(h*h),h=v(C[n+84>>2]-C[n+68>>2]),V=v(V+v(h*h)),h=v(C[n+88>>2]-C[n+72>>2]),!(((h=v(v(E(v(V+v(h*h))))-m))<o^-1)&(1^d))){R=f[(d=n+88|0)+4>>2],f[(a=n+248|0)>>2]=f[d>>2],f[a+4>>2]=R,R=f[(d=n+72|0)+4>>2],f[(r=n+232|0)>>2]=f[d>>2],f[r+4>>2]=R,C[a>>2]=C[a>>2]-v(g*D),C[r>>2]=v(B*D)+C[r>>2],r=f[n+68>>2],f[n+224>>2]=f[n+64>>2],f[n+228>>2]=r,r=f[n+84>>2],f[n+240>>2]=f[n+80>>2],f[n+244>>2]=r,C[n+224>>2]=v(B*y)+C[n+224>>2],C[n+228>>2]=v(B*F)+C[n+228>>2],C[n+240>>2]=C[n+240>>2]-v(g*y),C[n+244>>2]=C[n+244>>2]-v(g*F),R=f[(d=p+8|0)+4>>2],f[(a=r=n+264|0)>>2]=f[d>>2],f[a+4>>2]=R,a=f[p+4>>2],f[n+256>>2]=f[p>>2],f[n+260>>2]=a,g=C[n+256>>2],m=C[n+260>>2],B=C[r>>2],o=v(v(1)/v(E(v(v(v(g*g)+v(m*m))+v(B*B))))),C[r>>2]=B*o,C[n+260>>2]=m*o,C[n+256>>2]=g*o,f[t+60>>2]=6,o=h;break e}f[t+60>>2]=5}}if(!a)break t}v(o*o)<C[e+128>>2]^1&&!(o<v(0))||(r=f[n+260>>2],f[p>>2]=f[n+256>>2],f[p+4>>2]=r,C[t+56>>2]=o,a=f[(r=n+264|0)+4>>2],f[(p=p+8|0)>>2]=f[r>>2],f[p+4>>2]=a,f[n+92>>2]=0,m=C[n+256>>2],h=C[n+260>>2],g=C[r>>2],C[n+88>>2]=v(v(m*C[e+8>>2])+v(h*C[e+24>>2]))+v(g*C[e+40>>2]),C[n+84>>2]=v(v(m*C[e+4>>2])+v(h*C[e+20>>2]))+v(g*C[e+36>>2]),C[n+80>>2]=v(v(m*C[e>>2])+v(h*C[e+16>>2]))+v(g*C[e+32>>2]),f[n+76>>2]=0,m=v(-m),C[n+72>>2]=v(v(C[e+72>>2]*m)-v(h*C[e+88>>2]))-v(g*C[e+104>>2]),C[n+68>>2]=v(v(C[e+68>>2]*m)-v(h*C[e+84>>2]))-v(g*C[e+100>>2]),C[n+64>>2]=v(v(C[e+64>>2]*m)-v(h*C[e+80>>2]))-v(g*C[e+96>>2]),hA(n+48|0,f[t+28>>2],n+80|0),hA(n+32|0,f[t+32>>2],n- -64|0),h=C[r>>2],Y=C[n+216>>2],St=C[n+200>>2],Tt=C[n+192>>2],Et=C[n+196>>2],Ot=C[n+152>>2],Nt=C[n+136>>2],Ft=C[n+128>>2],Vt=C[n+132>>2],Gt=C[n+208>>2],Lt=C[n+168>>2],wt=C[n+160>>2],xt=C[n+164>>2],Qt=C[n+144>>2],Wt=C[n+104>>2],Yt=C[n+96>>2],Pt=C[n+100>>2],Mt=C[n+212>>2],Zt=C[n+184>>2],B=C[n+56>>2],Ut=C[n+176>>2],y=C[n+48>>2],Xt=C[n+180>>2],F=C[n+52>>2],Jt=C[n+148>>2],jt=C[n+120>>2],D=C[n+40>>2],zt=C[n+112>>2],V=C[n+32>>2],Ht=C[n+116>>2],Q=C[n+36>>2],m=C[n+256>>2],g=C[n+260>>2],f[n+92>>2]=0,w=v(-m),C[n+88>>2]=v(v(C[e+8>>2]*w)-v(g*C[e+24>>2]))-v(h*C[e+40>>2]),C[n+84>>2]=v(v(C[e+4>>2]*w)-v(g*C[e+20>>2]))-v(h*C[e+36>>2]),C[n+80>>2]=v(v(C[e>>2]*w)-v(g*C[e+16>>2]))-v(h*C[e+32>>2]),f[n+76>>2]=0,C[n+72>>2]=v(v(m*C[e+72>>2])+v(g*C[e+88>>2]))+v(h*C[e+104>>2]),C[n+68>>2]=v(v(m*C[e+68>>2])+v(g*C[e+84>>2]))+v(h*C[e+100>>2]),C[n+64>>2]=v(v(m*C[e+64>>2])+v(g*C[e+80>>2]))+v(h*C[e+96>>2]),hA(n+48|0,f[t+28>>2],n+80|0),hA(n+32|0,f[t+32>>2],n- -64|0),Q=v(v(v(v(v(Gt+v(v(v(y*wt)+v(F*xt))+v(B*Lt)))-v(Qt+v(v(v(V*Yt)+v(Q*Pt))+v(D*Wt))))*w)-v(g*v(v(Mt+v(v(v(y*Ut)+v(F*Xt))+v(B*Zt)))-v(Jt+v(v(v(V*zt)+v(Q*Ht))+v(D*jt))))))-v(h*v(v(Y+v(v(v(y*Tt)+v(F*Et))+v(B*St)))-v(Ot+v(v(v(V*Ft)+v(Q*Vt))+v(D*Nt)))))),h=C[n+48>>2],g=C[n+52>>2],m=C[n+56>>2],B=C[n+32>>2],y=C[n+36>>2],F=C[n+40>>2],D=C[n+256>>2],V=C[n+260>>2],w=v(v(v(v(v(v(v(h*C[n+160>>2])+v(g*C[n+164>>2]))+v(m*C[n+168>>2]))+C[n+208>>2])-v(v(v(v(B*C[n+96>>2])+v(y*C[n+100>>2]))+v(F*C[n+104>>2]))+C[n+144>>2]))*D)+v(v(v(v(v(v(h*C[n+176>>2])+v(g*C[n+180>>2]))+v(m*C[n+184>>2]))+C[n+212>>2])-v(v(v(v(B*C[n+112>>2])+v(y*C[n+116>>2]))+v(F*C[n+120>>2]))+C[n+148>>2]))*V)),g=v(v(v(v(v(h*C[n+192>>2])+v(g*C[n+196>>2]))+v(m*C[n+200>>2]))+C[n+216>>2])-v(v(v(v(B*C[n+128>>2])+v(y*C[n+132>>2]))+v(F*C[n+136>>2]))+C[n+152>>2])),h=C[r>>2],Q>v(w+v(g*h))&&(f[t+60>>2]=10,C[n+264>>2]=-h,C[n+260>>2]=-V,C[n+256>>2]=-D),f[n+92>>2]=0,C[n+88>>2]=z+C[n+232>>2],C[n+84>>2]=pt+C[n+228>>2],C[n+80>>2]=Dt+C[n+224>>2],yt[f[f[i>>2]+16>>2]](i,n+256|0,n+80|0,o))}Z=n+272|0})(t|=0,e|=0,i|=0,r|=0)}function Xr(){_[2736]||(f[602]=1062847606,f[603]=0,f[600]=1042701022,f[601]=1056964440,f[598]=1062847606,f[599]=0,f[596]=-1093024784,f[597]=1050556081,f[594]=1062847606,f[595]=0,f[592]=-1093024784,f[593]=-1096927567,f[590]=1062847606,f[591]=0,f[588]=1042701022,f[589]=-1090519208,f[586]=1062847572,f[587]=0,f[584]=1057396286,f[585]=0,f[582]=1057396386,f[583]=0,f[580]=1060121912,f[581]=1056964507,f[578]=1057396420,f[579]=0,f[576]=-1098475836,f[577]=1062148969,f[574]=1057396386,f[575]=0,f[572]=-1084636143,f[573]=0,f[570]=1057396420,f[571]=0,f[568]=-1098475836,f[569]=-1085334679,f[566]=1057396386,f[567]=0,f[564]=1060121912,f[565]=-1090519141,f[562]=-2147483648,f[563]=0,f[560]=1058437413,f[561]=1062149053,f[558]=-2147483648,f[559]=0,f[556]=-2147483648,f[557]=1065353216,f[554]=-2147483648,f[555]=0,f[552]=-1089046235,f[553]=1062149053,f[550]=-2147483648,f[551]=0,f[548]=-1082951543,f[549]=1050556148,f[546]=-2147483648,f[547]=0,f[544]=-1082951543,f[545]=-1096927500,f[542]=0,f[543]=0,f[540]=-1089046235,f[541]=-1085334595,f[538]=0,f[539]=0,f[536]=0,f[537]=-1082130432,f[534]=0,f[535]=0,f[532]=1058437413,f[533]=-1085334595,f[530]=0,f[531]=0,f[528]=1064532105,f[529]=-1096927500,f[526]=0,f[527]=0,f[524]=1064532105,f[525]=1050556148,f[522]=-1090087228,f[523]=0,f[520]=1049007812,f[521]=1062148969,f[518]=-1090087262,f[519]=0,f[516]=-1087361736,f[517]=1056964507,f[514]=-1084636042,f[515]=0,f[512]=-1104782626,f[513]=1056964440,f[510]=-1090087262,f[511]=0,f[508]=-1087361736,f[509]=-1090519141,f[506]=-1084636076,f[507]=0,f[504]=-1090087362,f[505]=-2147483648,f[502]=-1090087262,f[503]=0,f[500]=1062847505,f[501]=-2147483648,f[498]=-1084636042,f[499]=0,f[496]=1054458864,f[497]=1050556081,f[494]=-1090087228,f[495]=0,f[492]=1049007812,f[493]=-1085334679,f[490]=-1084636042,f[491]=0,f[488]=-1104782626,f[489]=-1090519208,f[486]=-1084636042,f[487]=0,f[484]=1054458864,f[485]=-1096927567,f[482]=1065353216,f[483]=0,f[480]=-2147483648,f[481]=0,f[478]=1055193471,f[479]=0,f[476]=1063581978,f[477]=0,f[474]=1055193572,f[475]=0,f[472]=1049461434,f[473]=1062847522,f[470]=1055193572,f[471]=0,f[468]=-1086767520,f[469]=1057396202,f[466]=1055193572,f[467]=0,f[464]=-1086767520,f[465]=-1090087446,f[462]=1055193605,f[463]=0,f[460]=1049461434,f[461]=-1084636126,f[458]=-1092290076,f[459]=0,f[456]=1060716128,f[457]=1057396202,f[454]=-1092290043,f[455]=0,f[452]=-1098022214,f[453]=1062847522,f[450]=-1092290177,f[451]=0,f[448]=-1083901670,f[449]=-2147483648,f[446]=-1092290076,f[447]=0,f[444]=-1098022214,f[445]=-1084636126,f[442]=-1092290076,f[443]=0,f[440]=1060716128,f[441]=-1090087446,f[438]=-1082130432,f[439]=0,f[436]=0,f[437]=-2147483648,n[2736]=1)}function Tr(t,e,i,r){var a=0,o=0,h=0,d=0,g=v(0),m=0,y=0,p=0,R=v(0),D=v(0),B=0,E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=0,W=v(0),Y=v(0),Z=v(0),z=0;t:if(Q=f[t+4>>2],!((0|Q)<2))for(d=f[t+12>>2],a=(d+(Q<<4)|0)-16|0,E=C[a>>2],W=C[i>>2],R=C[a+4>>2],Y=C[i+4>>2],D=C[a+8>>2],Z=C[i+8>>2],g=v(v(v(v(E*W)+v(R*Y))+v(D*Z))+r);;){F=C[(a=(z<<4)+d|0)>>2],V=C[a+4>>2],G=C[a+8>>2],w=v(v(v(v(F*W)+v(V*Y))+v(G*Z))+r),B=f[a+12>>2];e:{i:if(g<v(0)){if(w<v(0)){if((0|(a=f[e+4>>2]))==f[e+8>>2]&&!((0|a)>=(0|(m=a?a<<1:1)))){if(m?(y=dA(m<<4),a=f[e+4>>2]):y=0,(0|a)>=1)for(d=0;o=f[e+12>>2]+d|0,p=f[o+4>>2],f[(h=d+y|0)>>2]=f[o>>2],f[h+4>>2]=p,p=f[(o=o+8|0)+4>>2],f[(h=h+8|0)>>2]=f[o>>2],f[h+4>>2]=p,d=d+16|0,a=a+-1|0;);(a=f[e+12>>2])&&(_[e+16|0]&&CA(a),f[e+12>>2]=0),f[e+12>>2]=y,n[e+16|0]=1,f[e+8>>2]=m,a=f[e+4>>2]}a=f[e+12>>2]+(a<<4)|0,f[a+12>>2]=B,C[a+8>>2]=G,C[a+4>>2]=V,C[a>>2]=F;break i}if(g=v(g/v(g-w)),D=v(D+v(v(G-D)*g)),R=v(R+v(v(V-R)*g)),g=v(E+v(v(F-E)*g)),(0|(a=f[e+4>>2]))==f[e+8>>2]&&!((0|a)>=(0|(y=a?a<<1:1)))){if(y?(m=dA(y<<4),a=f[e+4>>2]):m=0,(0|a)>=1)for(d=0;B=f[e+12>>2]+d|0,p=f[B+4>>2],f[(o=d+m|0)>>2]=f[B>>2],f[o+4>>2]=p,h=f[(B=B+8|0)+4>>2],f[(o=o+8|0)>>2]=f[B>>2],f[o+4>>2]=h,d=d+16|0,a=a+-1|0;);(a=f[e+12>>2])&&(_[e+16|0]&&CA(a),f[e+12>>2]=0),f[e+12>>2]=m,n[e+16|0]=1,f[e+8>>2]=y,a=f[e+4>>2]}a=f[e+12>>2]+(a<<4)|0,f[a+12>>2]=0,C[a+8>>2]=D,C[a+4>>2]=R,C[a>>2]=g}else{if(!(w<v(0)))break e;if(g=v(g/v(g-w)),D=v(D+v(v(G-D)*g)),R=v(R+v(v(V-R)*g)),g=v(E+v(v(F-E)*g)),(0|(a=f[e+4>>2]))==f[e+8>>2]&&!((0|a)>=(0|(m=a?a<<1:1)))){if(m?(y=dA(m<<4),a=f[e+4>>2]):y=0,(0|a)>=1)for(d=0;o=f[e+12>>2]+d|0,p=f[o+4>>2],f[(h=d+y|0)>>2]=f[o>>2],f[h+4>>2]=p,p=f[(o=o+8|0)+4>>2],f[(h=h+8|0)>>2]=f[o>>2],f[h+4>>2]=p,d=d+16|0,a=a+-1|0;);(a=f[e+12>>2])&&(_[e+16|0]&&CA(a),f[e+12>>2]=0),f[e+12>>2]=y,n[e+16|0]=1,f[e+8>>2]=m,a=f[e+4>>2]}if(a=f[e+12>>2]+(a<<4)|0,f[a+12>>2]=0,C[a+8>>2]=D,C[a+4>>2]=R,C[a>>2]=g,a=f[e+4>>2]+1|0,f[e+4>>2]=a,f[e+8>>2]==(0|a)&&!((0|a)>=(0|(m=a?a<<1:1)))){if(m?(y=dA(m<<4),a=f[e+4>>2]):y=0,(0|a)>=1)for(d=0;o=f[e+12>>2]+d|0,p=f[o+4>>2],f[(h=d+y|0)>>2]=f[o>>2],f[h+4>>2]=p,p=f[(o=o+8|0)+4>>2],f[(h=h+8|0)>>2]=f[o>>2],f[h+4>>2]=p,d=d+16|0,a=a+-1|0;);(a=f[e+12>>2])&&(_[e+16|0]&&CA(a),f[e+12>>2]=0),f[e+12>>2]=y,n[e+16|0]=1,f[e+8>>2]=m,a=f[e+4>>2]}a=f[e+12>>2]+(a<<4)|0,f[a+12>>2]=B,C[a+8>>2]=G,C[a+4>>2]=V,C[a>>2]=F}f[e+4>>2]=f[e+4>>2]+1}if((0|(z=z+1|0))==(0|Q))break t;Z=C[i+8>>2],Y=C[i+4>>2],W=C[i>>2],d=f[t+12>>2],g=w,D=G,R=V,E=F}}function jr(t,e,i,r,n,a,o){var f=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0);return f=C[r>>2],d=C[r+4>>2],g=C[r+8>>2],y=v(v(v(C[i>>2]*f)+v(C[i+4>>2]*d))+v(C[i+8>>2]*g)),_=v(v(v(f*C[t>>2])+v(d*C[t+16>>2]))+v(g*C[t+32>>2])),h=C[n+80>>2],m=v(_*(_<v(0)?v(-h):h)),_=v(v(v(f*C[t+4>>2])+v(d*C[t+20>>2]))+v(g*C[t+36>>2])),h=C[n+84>>2],m=v(m+v(_*(_<v(0)?v(-h):h))),_=v(v(v(f*C[t+8>>2])+v(d*C[t+24>>2]))+v(g*C[t+40>>2])),h=C[n+88>>2],m=(_=v(m+v(_*(_<v(0)?v(-h):h))))>(h=C[n+96>>2])?_:h,_=v(v(v(f*C[e>>2])+v(d*C[e+16>>2]))+v(g*C[e+32>>2])),h=C[a+80>>2],p=v(_*(_<v(0)?v(-h):h)),_=v(v(v(f*C[e+4>>2])+v(d*C[e+20>>2]))+v(g*C[e+36>>2])),h=C[a+84>>2],f=v(v(v(f*C[e+8>>2])+v(d*C[e+24>>2]))+v(g*C[e+40>>2])),d=C[a+88>>2],f=v(v(p+v(_*(_<v(0)?v(-h):h)))+v(f*(f<v(0)?v(-d):d))),d=C[a+96>>2],f=v(m+(f>d?f:d)),((d=v(y+f))<(f=v(f-y))?d:f)>o^1}function Or(t,e,i,r,a,o,h,d){var g,y=0,p=0,R=0,D=0,B=0,E=v(0),F=v(0),V=v(0),G=v(0),w=0,Q=v(0),W=v(0),Y=v(0),z=v(0),pt=0,Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=0,wt=0,xt=0,Qt=v(0),Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0),Zt=0,Ut=0,Xt=0,Jt=v(0),jt=v(0),zt=v(0);if(Z=g=Z-32|0,(0|(y=f[a+4>>2]))<=-1)for(f[a+8>>2]<=-1&&((p=f[a+12>>2])&&(_[a+16|0]&&CA(p),f[a+12>>2]=0),n[a+16|0]=1,f[a+8>>2]=0,f[a+12>>2]=0),R=y<<4;D=f[g+20>>2],p=f[a+12>>2]+R|0,f[p>>2]=f[g+16>>2],f[p+4>>2]=D,D=f[(B=g+24|0)+4>>2],f[(p=p+8|0)>>2]=f[B>>2],f[p+4>>2]=D,R=R+16|0,B=(p=y+1|0)>>>0>=y>>>0,y=p,B;);if(p=0,f[a+4>>2]=0,B=f[r+4>>2],f[a+8>>2]<(0|B)){if(B&&(p=dA(B<<4),!((0|(R=f[a+4>>2]))<1)))for(y=0;D=f[a+12>>2]+y|0,wt=f[D+4>>2],f[(w=y+p|0)>>2]=f[D>>2],f[w+4>>2]=wt,Lt=f[(D=D+8|0)+4>>2],f[(w=w+8|0)>>2]=f[D>>2],f[w+4>>2]=Lt,y=y+16|0,R=R+-1|0;);(y=f[a+12>>2])&&(_[a+16|0]&&CA(y),f[a+12>>2]=0),f[a+12>>2]=p,n[a+16|0]=1,f[a+8>>2]=B}if(!((0|(D=f[e+28>>2]))<1)){for(y=f[e+36>>2]+20|0,Y=C[i+40>>2],Dt=C[i+36>>2],G=C[i+24>>2],It=C[i+20>>2],z=C[t+8>>2],St=C[t+4>>2],Tt=C[t>>2],Et=C[i+32>>2],Ot=C[i+16>>2],Nt=C[i+8>>2],Ft=C[i+4>>2],Q=C[i>>2],R=0,V=v(34028234663852886e22),B=-1;F=C[y>>2],E=C[y+4>>2],W=C[y+8>>2],V=(p=(F=v(v(v(v(v(v(F*Q)+v(E*Ft))+v(W*Nt))*Tt)+v(v(v(v(F*Ot)+v(E*It))+v(W*G))*St))+v(v(v(v(F*Et)+v(E*Dt))+v(W*Y))*z)))<V)?F:V,B=p?R:B,y=y+36|0,(0|(R=R+1|0))<(0|D););if(!((0|B)<0)){if(D=f[e+36>>2]+m(B,36)|0,(0|(Lt=f[D+4>>2]))<1)p=r;else for(wt=D+28|0,Zt=D+24|0,Ut=D+20|0,Xt=D+12|0,y=0;;){if(p=a,w=(0|(B=y+1|0))==(0|Lt),pt=f[e+16>>2],R=f[Xt>>2],a=pt+(f[R+((w?0:B)<<2)>>2]<<4)|0,Vt=C[a+8>>2],Q=C[a>>2],Gt=C[a+4>>2],a=pt+(f[R+(y<<2)>>2]<<4)|0,V=C[a+8>>2],F=C[a>>2],E=C[a+4>>2],Jt=C[i+56>>2],jt=C[i+48>>2],zt=C[i+52>>2],W=C[i+40>>2],Y=C[i+32>>2],Dt=C[i+36>>2],G=C[wt>>2],It=C[i+8>>2],z=C[Ut>>2],St=C[i>>2],Tt=C[Zt>>2],Et=C[i+4>>2],Ot=C[i+24>>2],Nt=C[i+16>>2],Ft=C[i+20>>2],f[g+28>>2]=0,Q=v(F-Q),Gt=v(E-Gt),Vt=v(V-Vt),Qt=v(v(v(St*Q)+v(Et*Gt))+v(It*Vt)),Wt=v(v(v(Nt*z)+v(Ft*Tt))+v(Ot*G)),Yt=v(v(v(Q*Nt)+v(Gt*Ft))+v(Vt*Ot)),Pt=v(v(v(St*z)+v(Et*Tt))+v(It*G)),Mt=v(v(Qt*Wt)-v(Yt*Pt)),C[g+24>>2]=-Mt,Q=v(v(v(Q*Y)+v(Gt*Dt))+v(Vt*W)),G=v(v(v(Y*z)+v(Dt*Tt))+v(W*G)),z=v(v(Q*Pt)-v(Qt*G)),C[g+20>>2]=-z,G=v(-v(v(Yt*G)-v(Q*Wt))),C[g+16>>2]=G,Tr(a=r,p,g+16|0,v(-v(v(v(v(jt+v(v(v(F*St)+v(E*Et))+v(V*It)))*G)-v(v(zt+v(v(v(F*Nt)+v(E*Ft))+v(V*Ot)))*z))-v(v(Jt+v(v(v(F*Y)+v(E*Dt))+v(V*W)))*Mt)))),(0|(y=f[a+4>>2]))<=-1)for(f[a+8>>2]<=-1&&((r=f[a+12>>2])&&(_[a+16|0]&&CA(r),f[a+12>>2]=0),n[a+16|0]=1,f[a+8>>2]=0,f[a+12>>2]=0),R=y<<4;xt=f[g+4>>2],r=f[a+12>>2]+R|0,f[r>>2]=f[g>>2],f[r+4>>2]=xt,xt=f[(pt=g+8|0)+4>>2],f[(r=r+8|0)>>2]=f[pt>>2],f[r+4>>2]=xt,R=R+16|0,pt=(r=y+1|0)>>>0>=y>>>0,y=r,pt;);if(f[a+4>>2]=0,y=B,r=p,w)break}if(!((0|(r=f[p+4>>2]))<1))for(V=C[D+20>>2],F=C[D+24>>2],E=C[D+28>>2],W=v(v(v(V*C[i>>2])+v(F*C[i+4>>2]))+v(E*C[i+8>>2])),Y=v(v(v(V*C[i+16>>2])+v(F*C[i+20>>2]))+v(E*C[i+24>>2])),V=v(v(v(V*C[i+32>>2])+v(F*C[i+36>>2]))+v(E*C[i+40>>2])),F=v(C[D+32>>2]-v(v(v(W*C[i+48>>2])+v(Y*C[i+52>>2]))+v(V*C[i+56>>2]))),R=0,B=0;i=(e=f[p+12>>2]+R|0)+8|0,(E=(E=v(F+v(v(v(W*C[e>>2])+v(Y*C[e+4>>2]))+v(V*C[i>>2]))))<=o?o:E)<=h&&(a=f[i+4>>2],f[(r=g+24|0)>>2]=f[i>>2],f[r+4>>2]=a,i=f[e+4>>2],f[g+16>>2]=f[e>>2],f[g+20>>2]=i,yt[f[f[d>>2]+16>>2]](d,t,g+16|0,E),r=f[p+4>>2]),R=R+16|0,(0|(B=B+1|0))<(0|r););}}Z=g+32|0}function Hr(t,e,i,r){return f[t+12>>2]=i,f[t+8>>2]=e,f[t+4>>2]=r,f[t>>2]=15312,t}function zr(t,e,i,r,a,o){t|=0,e|=0,i|=0,r|=0,a|=0,o|=0;var h,d,g=0,m=0,y=v(0),p=v(0),R=0,D=v(0),B=0,E=v(0),F=v(0),V=v(0),G=0,w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0);Z=h=Z-288|0,Yr(f[t+4>>2]),y=C[e+52>>2],p=C[i+52>>2],D=C[r+52>>2],E=C[a+52>>2],F=C[(g=e+56|0)>>2],V=C[i+56>>2],w=C[(R=r+56|0)>>2],Q=C[a+56>>2],W=C[e+48>>2],Y=C[i+48>>2],z=C[r+48>>2],pt=C[a+48>>2],n[h+264|0]=0,f[h+260>>2]=1566444395,f[h+224>>2]=15364,d=Mr(h+144|0,f[t+8>>2],f[t+12>>2],f[t+4>>2],0),B=f[(m=e+8|0)+4>>2],f[(t=h+16|0)>>2]=f[m>>2],f[t+4>>2]=B,B=f[(m=e+24|0)+4>>2],f[(t=h+32|0)>>2]=f[m>>2],f[t+4>>2]=B,B=f[(m=e+40|0)+4>>2],f[(t=h+48|0)>>2]=f[m>>2],f[t+4>>2]=B,m=f[g+4>>2],f[(t=h- -64|0)>>2]=f[g>>2],f[t+4>>2]=m,m=f[(g=r+8|0)+4>>2],f[(t=h+80|0)>>2]=f[g>>2],f[t+4>>2]=m,f[h+136>>2]=1566444395,t=f[e+4>>2],f[h+8>>2]=f[e>>2],f[h+12>>2]=t,t=f[e+20>>2],f[h+24>>2]=f[e+16>>2],f[h+28>>2]=t,t=f[e+36>>2],f[h+40>>2]=f[e+32>>2],f[h+44>>2]=t,t=f[e+52>>2],f[h+56>>2]=f[e+48>>2],f[h+60>>2]=t,t=f[r+4>>2],f[h+72>>2]=f[r>>2],f[h+76>>2]=t,m=f[(g=r+24|0)+4>>2],f[(t=h+96|0)>>2]=f[g>>2],f[t+4>>2]=m,g=f[r+20>>2],f[(t=h+88|0)>>2]=f[r+16>>2],f[t+4>>2]=g,m=f[(g=r+40|0)+4>>2],f[(t=h+112|0)>>2]=f[g>>2],f[t+4>>2]=m,g=f[r+36>>2],f[(t=h+104|0)>>2]=f[r+32>>2],f[t+4>>2]=g,g=f[R+4>>2],f[(t=h+128|0)>>2]=f[R>>2],f[t+4>>2]=g,g=f[r+52>>2],f[(t=h+120|0)>>2]=f[r+48>>2],f[t+4>>2]=g,Sr(d,h+8|0,h+224|0,0),R=f[(g=h+252|0)+4>>2],f[(t=h+280|0)>>2]=f[g>>2],f[t+4>>2]=R,t=f[h+248>>2],f[h+272>>2]=f[h+244>>2],f[h+276>>2]=t,g=0;t:if(_[h+264|0]){F=v(v(V-F)-v(Q-w)),E=v(v(p-y)-v(E-D)),V=v(v(Y-W)-v(pt-z)),t=f[h+232>>2],m=f[h+236>>2],B=f[h+228>>2];e:{if((D=C[h+260>>2])>v(.0010000000474974513)){for(R=h+244|0,G=33,p=v(0);;){if(g=0,!(G=G+-1|0))break t;if(g=0,(y=v(p-v(D/v(v(F*(b(0,m),k()))+v(v(E*(b(0,t),k()))+v(V*(b(0,B),k())))))))<=p)break t;if(g=0,y<v(0))break t;if(g=0,y>v(1))break t;if(yt[f[f[o>>2]>>2]](o,y),p=v(v(1)-y),C[h+56>>2]=v(p*C[e+48>>2])+v(y*C[i+48>>2]),C[h+60>>2]=v(p*C[e+52>>2])+v(y*C[i+52>>2]),C[h+64>>2]=v(p*C[e+56>>2])+v(y*C[i+56>>2]),C[h+120>>2]=v(p*C[r+48>>2])+v(y*C[a+48>>2]),C[h+124>>2]=v(p*C[r+52>>2])+v(y*C[a+52>>2]),C[h+128>>2]=v(p*C[r+56>>2])+v(y*C[a+56>>2]),Sr(d,h+8|0,h+224|0,0),g=0,!_[h+264|0])break t;if((D=C[h+260>>2])<v(0)){C[o+164>>2]=y,t=f[h+232>>2],f[o+132>>2]=f[h+228>>2],f[o+136>>2]=t,e=f[h+240>>2],f[(t=o+140|0)>>2]=f[h+236>>2],f[t+4>>2]=e,t=f[R+4>>2],f[o+148>>2]=f[R>>2],f[o+152>>2]=t,i=f[(e=R+8|0)+4>>2],f[(t=o+156|0)>>2]=f[e>>2],f[t+4>>2]=i;break e}if(m=f[(g=R+8|0)+4>>2],f[(t=h+280|0)>>2]=f[g>>2],f[t+4>>2]=m,t=f[R+4>>2],f[h+272>>2]=f[R>>2],f[h+276>>2]=t,B=f[h+228>>2],t=f[h+232>>2],m=f[h+236>>2],p=y,!(D>v(.0010000000474974513)))break}D=C[h+240>>2]}else y=v(0),D=C[h+240>>2];if(g=0,v(v(F*(b(0,m),k()))+v(v(E*(b(0,t),k()))+v(V*(b(0,B),k()))))>=v(-C[o+172>>2]))break t;f[o+132>>2]=B,C[o+164>>2]=y,e=f[h+276>>2],f[o+148>>2]=f[h+272>>2],f[o+152>>2]=e,C[o+144>>2]=D,f[o+140>>2]=m,f[o+136>>2]=t,i=f[(e=h+280|0)+4>>2],f[(t=o+156|0)>>2]=f[e>>2],f[t+4>>2]=i}g=1}return Z=h+288|0,0|g}function Pr(t,e,i,r,n,a,o,_,h,d,g){var m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),Z=v(0),z=v(0);V=C[(_=(_<<2)+d|0)>>2],G=v(C[d+48>>2]-C[h+48>>2]),W=C[_+16>>2],Y=v(C[d+52>>2]-C[h+52>>2]),Z=C[_+32>>2],z=v(C[d+56>>2]-C[h+56>>2]),R=v(v(v(V*G)+v(W*Y))+v(Z*z)),w=C[(o=(o<<2)+h|0)>>2],D=C[o+16>>2],F=C[o+32>>2],Q=v(v(v(w*G)+v(D*Y))+v(F*z)),B=v(v(v(w*V)+v(D*W))+v(F*Z)),(p=v(v(1)-v(B*B)))!=v(0)&&((p=v(v(Q-v(B*R))/p))<(m=v(-i))||(m=p)>i&&(m=i));t:{if((p=v(v(B*m)-R))<(R=v(-n))){if((n=v(v(B*R)+Q))<(m=v(-i))){p=R;break t}if(!(n>i)){p=R,m=n;break t}n=R}else{if(!(p>n))break t;if((R=v(v(B*n)+Q))<(m=v(-i))){p=n;break t}if(!(R>i)){p=n,m=R;break t}}p=n,m=i}if(R=v(Z*p),i=v(R+v(z-v(F*m))),B=v(V*p),n=v(B+v(G-v(w*m))),Q=v(W*p),p=v(Q+v(Y-v(D*m))),m=v(v(i*i)+v(v(n*n)+v(p*p))),V=v(E(m)),!((G=v(v(V-r)-a))>g)){t:if(m<=v(14210854715202004e-30)){if(v(y(F))>v(.7071067690849304)){f[t>>2]=0,r=v(v(1)/v(E(v(v(D*D)+v(F*F))))),i=v(D*r),C[t+8>>2]=i,m=v(-v(F*r)),C[t+4>>2]=m,r=v(0);break t}f[t+8>>2]=0,i=v(v(1)/v(E(v(v(w*w)+v(D*D))))),m=v(w*i),C[t+4>>2]=m,r=v(-v(D*i)),C[t>>2]=r,i=v(0)}else f[t+12>>2]=0,r=v(v(-1)/V),i=v(i*r),C[t+8>>2]=i,m=v(p*r),C[t+4>>2]=m,r=v(n*r),C[t>>2]=r;n=C[d+48>>2],g=C[d+52>>2],p=C[d+56>>2],f[e+12>>2]=0,C[e+8>>2]=v(R+p)+v(i*a),C[e+4>>2]=v(Q+g)+v(m*a),C[e>>2]=v(B+n)+v(r*a)}return G}function Kr(t,e,i,r){r=v(r)}function Lr(t,e){return yt[f[748]](e),t}function qr(){yt[f[749]]()}function $r(t,e,i,r){return f[t+12>>2]=i,f[t+8>>2]=e,f[t+4>>2]=r,f[t>>2]=16060,t}function Ai(t,e,i,r,n,a){t|=0,e|=0,i|=0,r|=0,n|=0,a|=0;var o,_,h,d,g,m,y,p,R,D,B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=0,z=0,pt=v(0),Dt=v(0),It=0,St=v(0),Tt=v(0),Et=v(0),Ot=0,Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0),Zt=v(0),Ut=v(0),Xt=v(0),Jt=v(0),jt=v(0),zt=v(0),Ht=v(0),Kt=v(0),qt=v(0),$t=v(0),bi=v(0),di=v(0),yi=v(0),Ii=v(0),Bi=0;Z=o=Z-96|0,Yr(f[t+4>>2]),jt=C[(Y=r+40|0)>>2],zt=C[(It=r+36|0)>>2],Ht=C[(z=r+24|0)>>2],Kt=C[(_=r+20|0)>>2],Nt=C[(h=e+20|0)>>2],Ft=C[(d=e+36|0)>>2],Vt=C[(g=e+24|0)>>2],Gt=C[(m=e+52|0)>>2],w=C[i+52>>2],Lt=C[(y=r+52|0)>>2],Q=C[n+52>>2],wt=C[(p=e+40|0)>>2],xt=C[(R=e+56|0)>>2],B=C[i+56>>2],Qt=C[(D=r+56|0)>>2],G=C[n+56>>2],qt=C[r+32>>2],$t=C[r+16>>2],bi=C[r+8>>2],di=C[r+4>>2],yi=C[r>>2],Wt=C[e>>2],Yt=C[e+16>>2],Pt=C[e+32>>2],Mt=C[e+4>>2],Zt=C[e+8>>2],Ut=C[e+48>>2],F=C[i+48>>2],Xt=C[r+48>>2],V=C[n+48>>2],Ot=f[t+8>>2],f[o+60>>2]=0,St=v(v(F-Ut)-v(V-Xt)),F=v(-St),pt=v(v(w-Gt)-v(Q-Lt)),Dt=v(v(B-xt)-v(G-Qt)),C[o+56>>2]=v(v(Zt*F)-v(Vt*pt))-v(wt*Dt),C[o+52>>2]=v(v(Mt*F)-v(Nt*pt))-v(Ft*Dt),C[o+48>>2]=v(v(Wt*F)-v(Yt*pt))-v(Pt*Dt),yt[f[f[Ot>>2]+64>>2]](o+80|0,Ot,o+48|0),f[o+76>>2]=0,F=C[o+80>>2],w=C[o+84>>2],Q=C[o+88>>2],C[o+72>>2]=v(v(v(F*C[e+32>>2])+v(w*C[d>>2]))+v(Q*C[p>>2]))+C[R>>2],C[o+68>>2]=v(v(v(F*C[e+16>>2])+v(w*C[h>>2]))+v(Q*C[g>>2]))+C[m>>2],C[o+64>>2]=v(v(v(F*C[e>>2])+v(w*C[e+4>>2]))+v(Q*C[e+8>>2]))+C[e+48>>2],Ot=f[t+12>>2],f[o+28>>2]=0,C[o+24>>2]=v(v(St*C[r+8>>2])+v(pt*C[z>>2]))+v(Dt*C[Y>>2]),C[o+20>>2]=v(v(St*C[r+4>>2])+v(pt*C[_>>2]))+v(Dt*C[It>>2]),C[o+16>>2]=v(v(St*C[r>>2])+v(pt*C[r+16>>2]))+v(Dt*C[r+32>>2]),yt[f[f[Ot>>2]+64>>2]](o+32|0,Ot,o+16|0),f[o+60>>2]=0,F=C[o+32>>2],w=C[o+36>>2],Q=C[o+40>>2],V=v(v(v(v(F*C[r+32>>2])+v(w*C[It>>2]))+v(Q*C[Y>>2]))+C[D>>2]),C[o+56>>2]=V,G=v(v(v(v(F*C[r>>2])+v(w*C[r+4>>2]))+v(Q*C[r+8>>2]))+C[r+48>>2]),C[o+48>>2]=G,F=v(v(v(v(F*C[r+16>>2])+v(w*C[_>>2]))+v(Q*C[z>>2]))+C[y>>2]),C[o+52>>2]=F,f[o+92>>2]=0,B=v(C[o+68>>2]-F),C[o+84>>2]=B,G=v(C[o+64>>2]-G),C[o+80>>2]=G,V=v(C[o+72>>2]-V),C[o+88>>2]=V,F=v(0),w=v(0),Q=v(0);t:{e:if(v(v(v(G*G)+v(B*B))+v(V*V))>v(9999999747378752e-20))for(Y=-33;;){if((It=Y+1|0)>>>0<Y>>>0)break e;if(z=f[t+8>>2],Y=0,f[o+12>>2]=0,B=v(-C[o+80>>2]),G=C[o+84>>2],V=C[o+88>>2],C[o+8>>2]=v(v(Zt*B)-v(Vt*G))-v(wt*V),C[o+4>>2]=v(v(Mt*B)-v(Nt*G))-v(Ft*V),C[o>>2]=v(v(Wt*B)-v(Yt*G))-v(Pt*V),yt[f[f[z>>2]+64>>2]](o+16|0,z,o),f[o+76>>2]=0,B=C[o+16>>2],G=C[o+20>>2],V=C[o+24>>2],C[o+72>>2]=xt+v(v(v(Pt*B)+v(Ft*G))+v(wt*V)),C[o+68>>2]=Gt+v(v(v(Yt*B)+v(Nt*G))+v(Vt*V)),C[o+64>>2]=Ut+v(v(v(Wt*B)+v(Mt*G))+v(Zt*V)),z=f[t+12>>2],f[o+12>>2]=0,B=C[o+80>>2],G=C[o+84>>2],V=C[o+88>>2],C[o+8>>2]=v(v(bi*B)+v(Ht*G))+v(jt*V),C[o+4>>2]=v(v(di*B)+v(Kt*G))+v(zt*V),C[o>>2]=v(v(yi*B)+v($t*G))+v(qt*V),yt[f[f[z>>2]+64>>2]](o+16|0,z,o),f[o+60>>2]=0,f[o+44>>2]=0,B=C[o+16>>2],G=C[o+20>>2],V=C[o+24>>2],Tt=v(Qt+v(v(v(qt*B)+v(zt*G))+v(jt*V))),C[o+56>>2]=Tt,Tt=v(C[o+72>>2]-Tt),C[o+40>>2]=Tt,Et=v(Lt+v(v(v($t*B)+v(Kt*G))+v(Ht*V))),C[o+52>>2]=Et,Et=v(C[o+68>>2]-Et),C[o+36>>2]=Et,B=v(Xt+v(v(v(yi*B)+v(di*G))+v(bi*V))),C[o+48>>2]=B,Jt=v(C[o+64>>2]-B),C[o+32>>2]=Jt,W>v(1))break t;if(B=C[o+80>>2],G=C[o+84>>2],V=C[o+88>>2],(Ii=v(v(v(Jt*B)+v(Et*G))+v(Tt*V)))>v(0)){if((F=v(v(v(St*B)+v(pt*G))+v(Dt*V)))>=v(-14210854715202004e-30))break t;f[o+44>>2]=0,C[o+40>>2]=Tt,C[o+36>>2]=Et,C[o+32>>2]=Jt,W=v(W-v(Ii/F)),F=v(v(1)-W),Qt=v(v(F*C[r+56>>2])+v(W*C[n+56>>2])),Lt=v(v(F*C[r+52>>2])+v(W*C[n+52>>2])),Xt=v(v(F*C[r+48>>2])+v(W*C[n+48>>2])),xt=v(v(F*C[e+56>>2])+v(W*C[i+56>>2])),Gt=v(v(F*C[e+52>>2])+v(W*C[i+52>>2])),Ut=v(v(F*C[e+48>>2])+v(W*C[i+48>>2])),Bi=f[o+92>>2],w=G,Q=V,F=B}if(xr(f[t+4>>2],o+32|0)||Vr(f[t+4>>2],o+32|0,o- -64|0,o+48|0),!Jr(f[t+4>>2],o+80|0))break e;if(Y=It,B=C[o+80>>2],V=v(B*B),B=C[o+84>>2],V=v(V+v(B*B)),B=C[o+88>>2],!(v(V+v(B*B))>v(9999999747378752e-20)))break}C[a+164>>2]=W,(B=v(v(v(F*F)+v(w*w))+v(Q*Q)))>=v(14210854715202004e-30)?(f[a+144>>2]=Bi,V=Q,Q=v(v(1)/v(E(B))),W=v(V*Q),C[a+140>>2]=W,w=v(w*Q),C[a+136>>2]=w,F=v(F*Q),C[a+132>>2]=F):(f[a+132>>2]=0,f[a+136>>2]=0,f[(e=a+140|0)>>2]=0,f[e+4>>2]=0,W=v(0),w=v(0),F=v(0)),Y=0,v(v(v(St*F)+v(pt*w))+v(Dt*W))>=v(-C[a+172>>2])||(Ur(f[t+4>>2],o+16|0,o),i=f[(e=o+8|0)+4>>2],f[(t=a+156|0)>>2]=f[e>>2],f[t+4>>2]=i,t=f[o+4>>2],f[a+148>>2]=f[o>>2],f[a+152>>2]=t,Y=1)}return Z=o+96|0,0|Y}function ei(t,e,i,r,a){var o;vA(t,e),f[t>>2]=16120,f[t+8>>2]=16148,f[t+60>>2]=0,o=a?i:r,f[t+48>>2]=o,i=a?r:i,f[t+44>>2]=i,r=t+56|0,e=f[e>>2],f[r>>2]=e,e=0|yt[f[f[e>>2]+12>>2]](e,f[i+8>>2],f[o+8>>2]),f[t+72>>2]=e,i=f[r>>2],yt[f[f[i>>2]+20>>2]](i,e),n[t+76|0]=a}function ri(t,e,i,r,a){var o=0;vA(t,e),n[t+24|0]=1,f[t>>2]=16696,f[t+20>>2]=0,n[t+44|0]=1,f[(o=t+12|0)>>2]=0,f[o+4>>2]=0,f[t+40>>2]=0,n[t- -64|0]=1,f[(o=t+32|0)>>2]=0,f[o+4>>2]=0,f[t+60>>2]=0,n[t+68|0]=a,f[(o=t+52|0)>>2]=0,f[o+4>>2]=0,n[t+76|0]=0,f[t+72>>2]=f[e+4>>2],f[t+80>>2]=f[f[(a?r:i)+4>>2]+72>>2],ii(t,i,r)}function ii(t,e,i){var r,a,o,h,d,C=0,g=0,m=0,v=0;if(Z=r=Z-32|0,v=f[t+52>>2],d=_[t+68|0],h=f[(o=d?i:e)+4>>2],(0|v)<(0|(a=f[h+20>>2]))){if(f[t+56>>2]<(0|a)){if(a?(m=dA(a<<2),C=f[t+52>>2]):C=v,(0|C)>=1)for(;f[g+m>>2]=f[f[t+60>>2]+g>>2],g=g+4|0,C=C+-1|0;);(C=f[t+60>>2])&&(_[t- -64|0]&&CA(C),f[t+60>>2]=0),f[t+60>>2]=m,f[t+56>>2]=a,n[t- -64|0]=1}for(g=v<<2,C=a-v|0;f[f[t+60>>2]+g>>2]=0,g=g+4|0,C=C+-1|0;);}if(f[t+52>>2]=a,(0|a)>=1)for(e=d?e:i,C=64,g=0,m=0;f[h+68>>2]?f[f[t+60>>2]+g>>2]=0:(i=f[f[h+28>>2]+C>>2],f[r+28>>2]=m,f[r+24>>2]=-1,f[r+8>>2]=o,v=f[o+12>>2],f[r+16>>2]=f[o+8>>2],f[r+20>>2]=v,f[r+12>>2]=i,i=f[t+4>>2],i=0|yt[f[f[i>>2]+8>>2]](i,r+8|0,e,f[t+72>>2],1),f[f[t+60>>2]+g>>2]=i),C=C+80|0,g=g+4|0,(0|(m=m+1|0))!=(0|a););Z=r+32|0}function fi(t){var e=0,i=0,r=0;if(f[(t|=0)>>2]=16696,(0|(r=f[t+52>>2]))>=1)for(;(i=f[f[t+60>>2]+e>>2])&&(yt[f[f[i>>2]>>2]](i),i=f[t+4>>2],yt[f[f[i>>2]+60>>2]](i,f[f[t+60>>2]+e>>2])),e=e+4|0,r=r+-1|0;);return(e=f[t+60>>2])&&(_[t- -64|0]&&CA(e),f[t+60>>2]=0),f[t+60>>2]=0,f[t+52>>2]=0,f[t+56>>2]=0,n[t- -64|0]=1,(e=f[t+40>>2])&&(_[t+44|0]&&CA(e),f[t+40>>2]=0),f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,n[t+44|0]=1,(e=f[t+20>>2])&&(_[t+24|0]&&CA(e),f[t+20>>2]=0),f[t+20>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,n[t+24|0]=1,0|t}function ti(t,e,i,r,a){t|=0,e|=0,i|=0,r|=0,a|=0;var o,h,d,g=0,m=0,y=0,p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=0,W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=0,xt=0,Qt=0,Wt=0;if(Z=o=Z-176|0,Q=_[t+68|0],h=f[(d=Q?i:e)+4>>2],f[h+72>>2]!=f[t+80>>2]){if((0|(y=f[t+52>>2]))>=1)for(;(m=f[f[t+60>>2]+g>>2])&&(yt[f[f[m>>2]>>2]](m),m=f[t+4>>2],yt[f[f[m>>2]+60>>2]](m,f[f[t+60>>2]+g>>2])),g=g+4|0,y=y+-1|0;);ii(t,e,i),f[t+80>>2]=f[h+72>>2]}if(m=f[t+52>>2]){if(y=f[h+68>>2],f[o+164>>2]=a,f[o+160>>2]=r,Q=Q?e:i,f[o+152>>2]=Q,f[o+148>>2]=d,f[o+144>>2]=16768,f[o+172>>2]=f[t+72>>2],f[o+168>>2]=f[t+60>>2],f[o+156>>2]=f[t+4>>2],(0|(g=f[t+32>>2]))<=-1){for(f[t+36>>2]<=-1&&((e=f[t+40>>2])&&(_[t+44|0]&&CA(e),f[t+40>>2]=0),f[t+36>>2]=0,f[t+40>>2]=0,n[t+44|0]=1),m=g<<2;f[f[t+40>>2]+m>>2]=0,m=m+4|0,i=(e=g+1|0)>>>0>=g>>>0,g=e,i;);m=f[t+52>>2]}if(f[t+32>>2]=0,(0|m)>=1)for(Qt=t+28|0,i=0;;){if(e=f[f[t+60>>2]+(i<<2)>>2]){if(yt[f[f[e>>2]+16>>2]](e,Qt),(0|(g=f[t+32>>2]))>=1)for(m=0,e=0;r=f[f[t+40>>2]+m>>2],f[r+780>>2]&&(f[a+4>>2]=r,g=(0|(wt=f[r+772>>2]))==(0|(xt=f[f[a+8>>2]+8>>2])),Wt=r,r=f[f[a+12>>2]+8>>2],se(Wt,(g?wt:r)+4|0,(g?r:xt)+4|0),f[a+4>>2]=0,g=f[t+32>>2]),m=m+4|0,(0|(e=e+1|0))<(0|g););if((0|g)<=-1)for(f[t+36>>2]<=-1&&((e=f[t+40>>2])&&(_[t+44|0]&&CA(e),f[t+40>>2]=0),n[t+44|0]=1,f[t+36>>2]=0,f[t+40>>2]=0),m=g<<2;f[f[t+40>>2]+m>>2]=0,m=m+4|0,r=(e=g+1|0)>>>0>=g>>>0,g=e,r;);f[t+32>>2]=0,m=f[t+52>>2]}if(!((0|(i=i+1|0))<(0|m)))break}t:if(y)e=f[d+12>>2],W=C[e+52>>2],Y=C[e+56>>2],i=f[Q+12>>2],z=C[i+52>>2],pt=C[i+56>>2],p=C[e+20>>2],R=C[e+36>>2],Dt=C[i+20>>2],It=C[i+36>>2],St=C[i+24>>2],D=C[e+24>>2],Tt=C[i+40>>2],B=C[e+40>>2],Et=C[i+32>>2],E=C[e+32>>2],Ot=C[i>>2],F=C[e>>2],Nt=C[i+16>>2],V=C[e+16>>2],Ft=C[e+48>>2],Vt=C[i+48>>2],G=C[e+4>>2],Gt=C[i+4>>2],Lt=C[i+8>>2],w=C[e+8>>2],f[o+108>>2]=0,f[o+92>>2]=0,f[o+76>>2]=0,C[o+88>>2]=v(v(w*Lt)+v(D*St))+v(B*Tt),C[o+84>>2]=v(v(w*Gt)+v(D*Dt))+v(B*It),C[o+72>>2]=v(v(G*Lt)+v(p*St))+v(R*Tt),C[o+68>>2]=v(v(G*Gt)+v(p*Dt))+v(R*It),Ft=v(-Ft),C[o+104>>2]=v(v(v(w*Ft)-v(D*W))-v(B*Y))+v(v(v(w*Vt)+v(D*z))+v(B*pt)),C[o+100>>2]=v(v(v(G*Ft)-v(p*W))-v(R*Y))+v(v(v(G*Vt)+v(p*z))+v(R*pt)),f[o+60>>2]=0,C[o+48>>2]=v(v(F*Ot)+v(V*Nt))+v(E*Et),C[o+80>>2]=v(v(w*Ot)+v(D*Nt))+v(B*Et),C[o+64>>2]=v(v(G*Ot)+v(p*Nt))+v(R*Et),C[o+56>>2]=v(v(F*Lt)+v(V*St))+v(E*Tt),C[o+52>>2]=v(v(F*Gt)+v(V*Dt))+v(E*It),C[o+96>>2]=v(v(v(F*Ft)-v(V*W))-v(E*Y))+v(v(v(F*Vt)+v(V*z))+v(E*pt)),e=f[Q+4>>2],yt[f[f[e>>2]+8>>2]](e,o+48|0,o+128|0,o+112|0),p=C[a+32>>2],C[o+128>>2]=C[o+128>>2]-p,C[o+132>>2]=C[o+132>>2]-p,C[o+136>>2]=C[o+136>>2]-p,C[o+112>>2]=p+C[o+112>>2],C[o+116>>2]=p+C[o+116>>2],C[o+120>>2]=p+C[o+120>>2],i=f[o+140>>2],e=o+24|0,f[e>>2]=f[o+136>>2],f[e+4>>2]=i,i=f[o+124>>2],e=o+40|0,f[e>>2]=f[o+120>>2],f[e+4>>2]=i,e=f[o+116>>2],f[o+32>>2]=f[o+112>>2],f[o+36>>2]=e,e=f[o+132>>2],f[o+16>>2]=f[o+128>>2],f[o+20>>2]=e,function(t,e,i,r){var a=0,o=0,h=0,d=0,g=0,m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0);if(t){if(m=C[e+24>>2],y=C[e+20>>2],o=f[i+8>>2],p=C[e+16>>2],R=C[e+8>>2],D=C[e+4>>2],B=C[e>>2],(0|(e=f[i+4>>2]))<=-1)for((0|o)<=-1&&((a=f[i+12>>2])&&(_[i+16|0]&&CA(a),f[i+12>>2]=0),n[i+16|0]=1,f[i+8>>2]=0,f[i+12>>2]=0,o=0),a=e<<2;f[f[i+12>>2]+a>>2]=0,a=a+4|0,d=(h=e+1|0)>>>0>=e>>>0,e=h,d;);if(h=0,f[i+4>>2]=0,(0|o)<=63){if(o=dA(256),(0|(h=f[i+4>>2]))>=1)for(e=0,a=h;f[e+o>>2]=f[f[i+12>>2]+e>>2],e=e+4|0,a=a+-1|0;);(e=f[i+12>>2])&&(_[i+16|0]&&(CA(e),h=f[i+4>>2]),f[i+12>>2]=0),f[i+12>>2]=o,n[i+16|0]=1,f[i+8>>2]=64,o=64}if((0|o)==(0|h))if((0|o)>=(0|(g=o<<1)))h=o;else{e=0;e:{if(o){if(d=dA(o<<3),(0|(h=f[i+4>>2]))<1)break e}else d=0,h=o;for(a=h;f[e+d>>2]=f[f[i+12>>2]+e>>2],e=e+4|0,a=a+-1|0;);}(e=f[i+12>>2])&&(_[i+16|0]&&(CA(e),h=f[i+4>>2]),f[i+12>>2]=0),f[i+12>>2]=d,n[i+16|0]=1,f[i+8>>2]=g}for(e=h+1|0,f[i+4>>2]=e,f[f[i+12>>2]+(h<<2)>>2]=t;;){if(a=e+-1|0,f[i+4>>2]=a,h=f[i+12>>2],d=f[h+(a<<2)>>2],C[d>>2]<=p)if(C[d+16>>2]>=B)if(C[d+4>>2]<=y)if(C[d+20>>2]>=D)if(C[d+8>>2]<=m)if(C[d+24>>2]>=R)if(f[d+40>>2]){if(g=f[d+36>>2],(0|a)==(0|(t=f[i+8>>2])))if((0|e)>(0|(t=a?a<<1:1)))t=a;else{if(t?(h=dA(t<<2),a=f[i+4>>2]):h=0,(0|a)>=1)for(e=0,o=a;f[e+h>>2]=f[f[i+12>>2]+e>>2],e=e+4|0,o=o+-1|0;);(e=f[i+12>>2])&&(_[i+16|0]&&(CA(e),a=f[i+4>>2]),f[i+12>>2]=0),f[i+12>>2]=h,n[i+16|0]=1,f[i+8>>2]=t}if(o=a+1|0,f[i+4>>2]=o,f[(a<<2)+h>>2]=g,g=f[d+40>>2],(0|t)==(0|o))if((0|t)>=(0|(h=t?t<<1:1)))o=t;else{if(h?(d=dA(h<<2),t=f[i+4>>2]):d=0,(0|(o=t))>=1)for(e=0,a=o;f[e+d>>2]=f[f[i+12>>2]+e>>2],e=e+4|0,a=a+-1|0;);(t=f[i+12>>2])&&(_[i+16|0]&&(CA(t),o=f[i+4>>2]),f[i+12>>2]=0),f[i+12>>2]=d,n[i+16|0]=1,f[i+8>>2]=h}e=o+1|0,f[i+4>>2]=e,f[f[i+12>>2]+(o<<2)>>2]=g}else yt[f[f[r>>2]+12>>2]](r,d),e=f[i+4>>2];else e=a;else e=a;else e=a;else e=a;else e=a;else e=a;if(!((0|e)>0))break}}}(f[y>>2],o+16|0,t+8|0,o+144|0);else{if((0|m)<1)break t;for(g=0,y=64;ni(o+144|0,f[f[h+28>>2]+y>>2],g),y=y+80|0,(0|m)!=(0|(g=g+1|0)););}if(e=f[t+52>>2],(0|(g=f[t+32>>2]))<=-1)for(f[t+36>>2]<=-1&&((i=f[t+40>>2])&&(_[t+44|0]&&CA(i),f[t+40>>2]=0),f[t+36>>2]=0,f[t+40>>2]=0,n[t+44|0]=1),m=g<<2;f[f[t+40>>2]+m>>2]=0,m=m+4|0,r=(i=g+1|0)>>>0>=g>>>0,g=i,r;);if(f[t+32>>2]=0,!((0|e)<1))for(a=64,y=0;f[f[t+60>>2]+y>>2]&&(i=f[h+28>>2]+a|0,g=f[i>>2],r=f[d+12>>2],Gt=C[r+52>>2],Lt=C[r+56>>2],W=C[i+-16>>2],Y=C[i+-12>>2],z=C[i+-8>>2],p=C[r+20>>2],R=C[r+24>>2],pt=C[i+-64>>2],Dt=C[i+-48>>2],It=C[i+-32>>2],St=C[i+-60>>2],Tt=C[i+-44>>2],Et=C[i+-28>>2],Ot=C[i+-56>>2],D=C[r+36>>2],Nt=C[i+-40>>2],B=C[r+40>>2],Vt=C[i+-24>>2],Ft=C[r+48>>2],E=C[r+8>>2],F=C[r>>2],V=C[r+4>>2],G=C[r+16>>2],w=C[r+32>>2],m=0,f[o+108>>2]=0,f[o+92>>2]=0,f[o+76>>2]=0,f[o+60>>2]=0,C[o+88>>2]=v(v(w*Ot)+v(D*Nt))+v(B*Vt),C[o+84>>2]=v(v(w*St)+v(D*Tt))+v(B*Et),C[o+80>>2]=v(v(w*pt)+v(D*Dt))+v(B*It),C[o+72>>2]=v(v(G*Ot)+v(p*Nt))+v(R*Vt),C[o+68>>2]=v(v(G*St)+v(p*Tt))+v(R*Et),C[o+64>>2]=v(v(G*pt)+v(p*Dt))+v(R*It),C[o+56>>2]=v(v(F*Ot)+v(V*Nt))+v(E*Vt),C[o+52>>2]=v(v(F*St)+v(V*Tt))+v(E*Et),C[o+48>>2]=v(v(F*pt)+v(V*Dt))+v(E*It),C[o+104>>2]=Lt+v(v(v(w*W)+v(D*Y))+v(B*z)),C[o+100>>2]=Gt+v(v(v(G*W)+v(p*Y))+v(R*z)),C[o+96>>2]=Ft+v(v(v(F*W)+v(V*Y))+v(E*z)),yt[f[f[g>>2]+8>>2]](g,o+48|0,o+16|0,o+128|0),i=f[Q+4>>2],yt[f[f[i>>2]+8>>2]](i,f[Q+12>>2],o+112|0,o),g=0,C[o+16>>2]>C[o>>2]||(g=0,C[o+128>>2]<C[o+112>>2]||(g=1)),(1^(m=C[o+136>>2]<C[o+120>>2]|C[o+24>>2]>C[o+8>>2]?m:g)||C[o+132>>2]<C[o+116>>2]|C[o+20>>2]>C[o+4>>2])&&(i=f[f[t+60>>2]+y>>2],yt[f[f[i>>2]>>2]](i),i=f[t+4>>2],yt[f[f[i>>2]+60>>2]](i,f[f[t+60>>2]+y>>2]),f[f[t+60>>2]+y>>2]=0)),a=a+80|0,y=y+4|0,e=e+-1|0;);}Z=o+176|0}function ni(t,e,i){var r,n,a=0,o=0,_=v(0),h=v(0),d=v(0),g=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0);Z=r=Z-160|0,a=f[t+4>>2],o=f[a+12>>2],F=C[o+52>>2],y=C[o+56>>2],_=C[o+24>>2],p=C[o+20>>2],h=C[o+40>>2],d=C[o+36>>2],a=f[f[a+4>>2]+28>>2],It=C[o+48>>2],R=C[o+8>>2],D=C[o>>2],B=C[o+4>>2],E=C[o+16>>2],g=C[o+32>>2],o=0,f[r+156>>2]=0,f[r+140>>2]=0,f[r+124>>2]=0,a=a+m(i,80)|0,V=C[a+8>>2],G=C[a+24>>2],w=C[a+40>>2],C[r+136>>2]=v(v(g*V)+v(d*G))+v(h*w),Q=C[a+4>>2],W=C[a+20>>2],Y=C[a+36>>2],C[r+132>>2]=v(v(g*Q)+v(d*W))+v(h*Y),C[r+120>>2]=v(v(E*V)+v(p*G))+v(_*w),C[r+116>>2]=v(v(E*Q)+v(p*W))+v(_*Y),z=y,y=C[a+48>>2],pt=C[a+52>>2],Dt=C[a+56>>2],C[r+152>>2]=z+v(v(v(g*y)+v(d*pt))+v(h*Dt)),C[r+148>>2]=F+v(v(v(E*y)+v(p*pt))+v(_*Dt)),f[r+108>>2]=0,z=g,g=C[a>>2],F=d,d=C[a+16>>2],St=h,h=C[a+32>>2],C[r+128>>2]=v(v(z*g)+v(F*d))+v(St*h),C[r+112>>2]=v(v(E*g)+v(p*d))+v(_*h),C[r+96>>2]=v(v(D*g)+v(B*d))+v(R*h),C[r+104>>2]=v(v(D*V)+v(B*G))+v(R*w),C[r+100>>2]=v(v(D*Q)+v(B*W))+v(R*Y),C[r+144>>2]=It+v(v(v(D*y)+v(B*pt))+v(R*Dt)),yt[f[f[e>>2]+8>>2]](e,r+96|0,r+80|0,r- -64|0),_=C[f[t+20>>2]+32>>2],C[r+80>>2]=C[r+80>>2]-_,C[r+84>>2]=C[r+84>>2]-_,C[r+88>>2]=C[r+88>>2]-_,C[r+64>>2]=_+C[r+64>>2],C[r+68>>2]=_+C[r+68>>2],C[r+72>>2]=_+C[r+72>>2],a=f[t+8>>2],n=f[a+4>>2],yt[f[f[n>>2]+8>>2]](n,f[a+12>>2],r+48|0,r+32|0),(a=f[689])&&!yt[a](f[f[t+8>>2]+4>>2],e)||(o=C[r+64>>2]<C[r+48>>2]|C[r+80>>2]>C[r+32>>2]?o:1,a=0,a=C[r+72>>2]<C[r+56>>2]|C[r+88>>2]>C[r+40>>2]?a:o,C[r+68>>2]<C[r+52>>2]|C[r+84>>2]>C[r+36>>2]|1^a||(f[r+28>>2]=i,f[r+24>>2]=-1,f[r+12>>2]=e,e=f[t+4>>2],f[r+8>>2]=e,f[r+16>>2]=f[e+8>>2],_=C[f[t+20>>2]+32>>2],f[r+20>>2]=r+96,_>v(0)?(e=f[t+12>>2],e=0|yt[f[f[e>>2]+8>>2]](e,r+8|0,f[t+8>>2],0,2)):(e=f[(o=i<<2)+f[t+24>>2]>>2])||(e=f[t+12>>2],e=0|yt[f[f[e>>2]+8>>2]](e,r+8|0,f[t+8>>2],f[t+28>>2],1),f[o+f[t+24>>2]>>2]=e,e=f[o+f[t+24>>2]>>2]),o=f[t+20>>2],a=f[o+8>>2],f[a+8>>2]!=f[f[t+4>>2]+8>>2]?(a=f[o+12>>2],f[o+12>>2]=r+8,yt[f[f[o>>2]+12>>2]](o,-1,i)):(f[o+8>>2]=r+8,yt[f[f[o>>2]+8>>2]](o,-1,i)),yt[f[f[e>>2]+8>>2]](e,r+8|0,f[t+8>>2],f[t+16>>2],f[t+20>>2]),e=f[t+20>>2],f[(f[f[e+8>>2]+8>>2]==f[f[t+4>>2]+8>>2]?8:12)+e>>2]=a)),Z=r+160|0}function ai(t){var e,i,r=0,a=0,o=0,h=0,d=0,C=0,g=0;if(!((0|(i=f[t+28>>2]))>=(0|(e=f[t+12>>2])))){t:if(f[t+32>>2]>=(0|e))o=f[t+36>>2];else{if(e?(o=dA(e<<2),a=f[t+28>>2]):a=i,r=f[t+36>>2],(0|a)>=1)for(h=o,d=r;f[h>>2]=f[d>>2],h=h+4|0,d=d+4|0,a=a+-1|0;);else if(!r){f[t+36>>2]=o,f[t+32>>2]=e,n[t+40|0]=1;break t}_[t+40|0]&&CA(r),f[t+36>>2]=o,n[t+40|0]=1,f[t+32>>2]=e}if(X((a=i<<2)+o|0,0,(C=e<<2)-a|0),f[t+28>>2]=e,(0|(g=f[t+48>>2]))<(0|e)){t:if(f[t+52>>2]>=(0|e))o=f[t+56>>2];else{if(e?(o=dA(C),a=f[t+48>>2]):(o=0,a=g),r=f[t+56>>2],(0|a)>=1)for(h=o,d=r;f[h>>2]=f[d>>2],h=h+4|0,d=d+4|0,a=a+-1|0;);else if(!r){f[t+56>>2]=o,f[t+52>>2]=e,n[t+60|0]=1;break t}_[t+60|0]&&CA(r),f[t+56>>2]=o,n[t+60|0]=1,f[t+52>>2]=e}X((a=g<<2)+o|0,0,C-a|0)}if(f[t+48>>2]=e,(0|e)>=1&&(X(f[t+36>>2],255,C),X(f[t+56>>2],255,C)),!((0|i)<1))for(d=f[t+56>>2],h=f[t+16>>2],o=f[t+36>>2],a=0;r=f[h>>2]|f[h+4>>2]<<16,r=m((r=(r<<15^-1)+r|0)>>>10^r,9),r=((r^=r>>>6)<<11^-1)+r|0,r=o+((f[t+12>>2]+-1&(r>>>16^r))<<2)|0,f[d>>2]=f[r>>2],f[r>>2]=a,h=h+12|0,d=d+4|0,(0|(a=a+1|0))!=(0|i););}}function oi(t){var e=0,i=0,r=0,a=0,o=0,h=0;if((e=f[t+16>>2])&&(_[t+20|0]&&CA(e),f[t+16>>2]=0),f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,n[t+20|0]=1,(e=f[t+36>>2])&&(_[t+40|0]&&CA(e),f[t+36>>2]=0),f[t+36>>2]=0,f[t+28>>2]=0,f[t+32>>2]=0,n[t+40|0]=1,(e=f[t+56>>2])&&(_[t+60|0]&&CA(e),f[t+56>>2]=0),f[t+56>>2]=0,f[t+48>>2]=0,f[t+52>>2]=0,n[t+60|0]=1,f[t+12>>2]<=1){if(o=dA(24),(0|(i=f[t+8>>2]))>=1)for(e=0;r=f[t+16>>2]+e|0,h=f[r+4>>2],f[(a=e+o|0)>>2]=f[r>>2],f[a+4>>2]=h,f[a+8>>2]=f[r+8>>2],e=e+12|0,i=i+-1|0;);(e=f[t+16>>2])&&(_[t+20|0]&&CA(e),f[t+16>>2]=0),f[t+16>>2]=o,n[t+20|0]=1,f[t+12>>2]=2}ai(t)}function ci(t){return f[(t|=0)+16>>2]}function li(t){var e=0,i=0,r=0,a=0,o=0;if(f[(t|=0)>>2]=16908,e=8,i=f[t+84>>2],(0|(r=f[i+8>>2]))>=1){for(;(a=f[f[i+16>>2]+e>>2])&&(yt[f[f[a>>2]>>2]](a),o=f[t+4>>2],yt[f[f[o>>2]+60>>2]](o,a)),e=e+12|0,r=r+-1|0;);i=f[t+84>>2]}return oi(i),e=f[t+84>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+84>>2]),(e=f[t+100>>2])&&(_[t+104|0]&&CA(e),f[t+100>>2]=0),f[t+100>>2]=0,f[t+92>>2]=0,f[t+96>>2]=0,n[t+104|0]=1,fi(t),0|t}function ui(t,e){e|=0;var i=0,r=0,a=0,o=0,h=0;if(!(!(r=f[(t|=0)+12>>2])|!_[t+8|0])){if((0|(i=f[e+4>>2]))==f[e+8>>2]&&!((0|i)>=(0|(o=i?i<<1:1)))){if(o&&(h=dA(o<<2),i=f[e+4>>2]),(0|i)>=1)for(r=0,a=i;f[r+h>>2]=f[f[e+12>>2]+r>>2],r=r+4|0,a=a+-1|0;);(a=f[e+12>>2])&&(_[e+16|0]&&(CA(a),i=f[e+4>>2]),f[e+12>>2]=0),f[e+12>>2]=h,n[e+16|0]=1,f[e+8>>2]=o,r=f[t+12>>2]}f[e+4>>2]=i+1,f[f[e+12>>2]+(i<<2)>>2]=r}}function si(t,e,i,r,n){t|=0,e|=0,i|=0,r|=0,n|=0;var a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0);Z=r=Z-144|0,f[r+108>>2]=0,a=C[e+80>>2],o=C[e+96>>2],F=C[e+120>>2],Dt=C[e+56>>2],Q=C[e+112>>2],W=C[e+116>>2],It=C[e+52>>2],_=C[e+68>>2],d=C[e+84>>2],g=C[e+100>>2],h=C[e+20>>2],D=C[e+36>>2],m=C[e+72>>2],y=C[e+88>>2],B=C[e+24>>2],p=C[e+104>>2],V=C[e+40>>2],R=C[e+64>>2],G=C[e+32>>2],w=C[e>>2],Y=C[e+16>>2],St=C[e+48>>2],z=C[e+4>>2],pt=C[e+8>>2],f[r+100>>2]=0,f[r+84>>2]=0,f[r+68>>2]=0,C[r+80>>2]=v(v(pt*m)+v(B*y))+v(V*p),C[r+76>>2]=v(v(z*m)+v(h*y))+v(D*p),C[r- -64>>2]=v(v(pt*_)+v(B*d))+v(V*g),C[r+60>>2]=v(v(z*_)+v(h*d))+v(D*g),Q=v(St-Q),W=v(It-W),F=v(Dt-F),C[r+96>>2]=v(v(m*Q)+v(y*W))+v(p*F),C[r+92>>2]=v(v(Q*_)+v(W*d))+v(F*g),f[r+52>>2]=0,C[r+72>>2]=v(v(w*m)+v(Y*y))+v(G*p),C[r+56>>2]=v(v(w*_)+v(Y*d))+v(G*g),C[r+48>>2]=v(v(R*pt)+v(a*B))+v(o*V),C[r+44>>2]=v(v(R*z)+v(a*h))+v(o*D),C[r+40>>2]=v(v(R*w)+v(a*Y))+v(o*G),C[r+88>>2]=v(v(Q*R)+v(W*a))+v(F*o),function(t,e,i,r,n,a){var o,_=v(0),h=v(0),d=v(0),g=0,m=v(0),y=v(0),p=0,R=v(0),D=v(0),B=v(0),F=v(0),V=0,G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=0;Z=o=Z-32|0,g=f[t+8>>2],h=C[g+60>>2],_=v(C[g+76>>2]-h),D=C[g- -64>>2],d=v(C[g+96>>2]-D),m=v(C[g+80>>2]-D),R=v(C[g+92>>2]-h),B=v(v(_*d)-v(m*R)),G=m,F=C[g+68>>2],m=v(C[g+100>>2]-F),y=v(C[g+84>>2]-F),d=v(v(G*m)-v(y*d)),R=v(v(y*R)-v(_*m));t:if((m=v(v(B*B)+v(v(d*d)+v(R*R))))>=v(14210854715202004e-30)&&(V=f[t+4>>2],G=v(C[V+32>>2]*C[V+16>>2]),_=v(G+a),a=v(v(1)/v(E(m))),m=v(d*a),d=C[e>>2],R=v(R*a),y=C[e+4>>2],w=v(v(m*v(d-h))+v(R*v(y-D))),D=v(B*a),h=C[e+8>>2],a=v(w+v(D*v(h-F))),a<v(0)&&(D=v(-D),R=v(-R),m=v(-m),a=v(-a)),a<_)){if(V=f[(p=e+8|0)+4>>2],f[(St=o+24|0)>>2]=f[p>>2],f[St+4>>2]=V,p=f[e+4>>2],f[o+16>>2]=f[e>>2],f[o+20>>2]=p,p=0,f[o+12>>2]=0,C[o+8>>2]=D,C[o+4>>2]=R,C[o>>2]=m,function(t,e,i){var r=v(0),n=v(0),a=v(0),o=v(0),f=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0);return d=C[t+40>>2],_=C[t+24>>2],y=v(d-_),g=C[i+8>>2],R=C[t+32>>2],n=C[t+16>>2],f=v(R-n),a=C[e+4>>2],D=C[t+36>>2],h=C[t+20>>2],o=v(D-h),m=C[e>>2],p=v(v(g-_)*v(v(f*a)-v(o*m))),B=C[i>>2],r=o,o=C[e+8>>2],E=C[i+4>>2],y=v(p+v(v(v(B-n)*v(v(r*o)-v(y*a)))+v(v(E-h)*v(v(y*m)-v(f*o))))),r=_,_=C[t+8>>2],f=v(r-_),r=n,n=C[t>>2],p=v(r-n),r=h,h=C[t+4>>2],r=v(r-h),f=v(v(v(g-_)*v(v(p*a)-v(r*m)))+v(v(v(B-n)*v(v(r*o)-v(f*a)))+v(v(E-h)*v(v(f*m)-v(p*o))))),t=1,r=v(g-d),g=v(n-R),n=v(h-D),d=v(_-d),a=v(v(r*v(v(g*a)-v(n*m)))+v(v(v(B-R)*v(v(n*o)-v(d*a)))+v(v(E-D)*v(v(d*m)-v(g*o))))),(!(y>v(0))||a>v(0)^1|f>v(0)^1)&&(t=f<=v(0)&y<=v(0)&a<=v(0)),t}(g+60|0,o,o+16|0))Q=v(h-v(a*D)),W=v(y-v(a*R)),Y=v(d-v(a*m)),w=v(_*_);else{if((0|yt[f[f[g>>2]+100>>2]](g))<1)break t;for(w=v(_*_),V=0,g=0;p=f[t+8>>2],yt[f[f[p>>2]+104>>2]](p,g,o+16|0,o),_=v(0),z=C[o+16>>2],a=v(C[e>>2]-z),y=v(C[o>>2]-z),pt=C[o+20>>2],h=v(C[e+4>>2]-pt),B=v(C[o+4>>2]-pt),Dt=C[o+24>>2],d=v(C[e+8>>2]-Dt),F=v(C[o+8>>2]-Dt),(It=v(v(v(a*y)+v(h*B))+v(d*F)))>v(0)&&(It<(_=v(v(v(y*y)+v(B*B))+v(F*F)))?(_=v(It/_),d=v(d-v(F*_)),h=v(h-v(B*_)),a=v(a-v(y*_))):(d=v(d-F),h=v(h-B),a=v(a-y),_=v(1))),v(v(v(a*a)+v(h*h))+v(d*d))<w&&(Y=v(z+v(y*_)),W=v(pt+v(B*_)),V=1,Q=v(Dt+v(F*_))),g=g+1|0,p=f[t+8>>2],(0|g)<(0|yt[f[f[p>>2]+100>>2]](p)););if(p=0,!V)break t;h=C[e+8>>2],y=C[e+4>>2],d=C[e>>2]}a=v(d-Y),d=v(y-W),h=v(h-Q),(_=v(v(v(a*a)+v(d*d))+v(h*h)))<w&&(_>v(1.1920928955078125e-7)?(m=h,_=v(E(_)),h=v(v(1)/_),C[r+8>>2]=m*h,C[r+4>>2]=d*h,C[r>>2]=a*h,G=v(G-_)):(C[r+8>>2]=D,C[r+4>>2]=R,C[r>>2]=m),f[r+12>>2]=0,f[i+12>>2]=0,C[i+8>>2]=Q,C[i+4>>2]=W,C[i>>2]=Y,C[n>>2]=-G,p=1)}return Z=o+32|0,p}(t,r+88|0,r+128|0,r+112|0,r+108|0,C[t+12>>2])&&(n?(d=C[e+72>>2],g=C[e+64>>2],m=C[e+68>>2],y=C[e+88>>2],p=C[e+80>>2],R=C[e+84>>2],h=C[e+104>>2],D=C[e+96>>2],B=C[e+100>>2],a=C[r+120>>2],o=C[r+112>>2],_=C[r+116>>2],f[r+36>>2]=0,V=v(v(v(o*D)+v(_*B))+v(a*h)),C[r+32>>2]=-V,G=v(v(v(o*p)+v(_*R))+v(a*y)),C[r+28>>2]=-G,w=v(v(v(g*o)+v(m*_))+v(d*a)),C[r+24>>2]=-w,f[r+20>>2]=0,o=C[r+128>>2],_=C[r+132>>2],F=h,h=C[r+136>>2],a=C[r+108>>2],C[r+16>>2]=v(v(v(v(D*o)+v(B*_))+v(F*h))+C[e+120>>2])+v(V*a),C[r+12>>2]=v(v(v(v(o*p)+v(_*R))+v(h*y))+C[e+116>>2])+v(G*a),C[r+8>>2]=v(v(v(v(o*g)+v(_*m))+v(h*d))+C[e+112>>2])+v(w*a),yt[f[f[i>>2]+16>>2]](i,r+24|0,r+8|0,a)):(f[r+36>>2]=0,a=C[r+112>>2],d=C[e+96>>2],o=C[r+116>>2],g=C[e+100>>2],_=C[r+120>>2],m=C[e+104>>2],C[r+32>>2]=v(v(a*d)+v(o*g))+v(_*m),y=C[e+80>>2],p=C[e+84>>2],R=C[e+88>>2],C[r+28>>2]=v(v(a*y)+v(o*p))+v(_*R),h=C[e+64>>2],D=C[e+68>>2],B=C[e+72>>2],C[r+24>>2]=v(v(a*h)+v(o*D))+v(_*B),f[r+20>>2]=0,a=C[r+128>>2],o=C[r+132>>2],_=C[r+136>>2],C[r+16>>2]=v(v(v(d*a)+v(g*o))+v(m*_))+C[e+120>>2],C[r+12>>2]=v(v(v(a*y)+v(o*p))+v(_*R))+C[e+116>>2],C[r+8>>2]=v(v(v(a*h)+v(o*D))+v(_*B))+C[e+112>>2],yt[f[f[i>>2]+16>>2]](i,r+24|0,r+8|0,C[r+108>>2]))),Z=r+144|0}function ki(t){var e,i=0,r=v(0),n=0,a=v(0),o=v(0);s(t),e=(i=c(0))>>>31;t:{if((i&=2147483647)>>>0>=1283457024){if(t!=t)break t;return v(e?-1.570796251296997:1.570796251296997)}e:{if(i>>>0<=1054867455){if(n=-1,i>>>0>=964689920)break e;break t}if(t=v(y(t)),i>>>0<=1066926079){if(i>>>0<=1060110335){t=v(v(v(t+t)+v(-1))/v(t+v(2))),n=0;break e}t=v(v(t+v(-1))/v(t+v(1))),n=1}else i>>>0<=1075576831?(t=v(v(t+v(-1.5))/v(v(t*v(1.5))+v(1))),n=2):(t=v(v(-1)/t),n=3)}if(i=n,a=v(t*t),r=v(a*a),o=v(r*v(v(r*v(-.106480173766613))+v(-.19999158382415771))),r=v(a*v(v(r*v(v(r*v(.06168760731816292))+v(.14253635704517365)))+v(.333333283662796))),(0|i)<=-1)return v(t-v(t*v(o+r)));t=v(C[(i<<=2)+17392>>2]-v(v(v(t*v(o+r))-C[i+17408>>2])-t)),t=e?v(-t):t}return t}function vi(t,e){var i,r,n,a=0,o=0,f=v(0);if(!(e==e&t==t))return v(t+e);if(s(e),1065353216==(0|(a=c(0))))return ki(t);n=a>>>30&2,s(t),i=n|(r=(o=c(0))>>>31);t:{e:{i:{if(!(o&=2147483647)){A:switch(i-2|0){case 0:break i;case 1:break A;default:break e}return v(-3.1415927410125732)}if(2139095040!=(0|(a&=2147483647))){if(!a)return v(r?-1.5707963705062866:1.5707963705062866);if(!(a+218103808>>>0>=o>>>0&&2139095040!=(0|o)))return v(r?-1.5707963705062866:1.5707963705062866);if(o+218103808>>>0<a>>>0&&(f=v(0),n)||(f=ki(v(y(v(t/e))))),e=f,i>>>0<=2){t=e;A:switch(i-1|0){case 0:return v(-e);case 1:break A;default:break e}return v(v(3.1415927410125732)-v(e+v(8.742277657347586e-8)))}return v(v(e+v(8.742277657347586e-8))+v(-3.1415927410125732))}if(2139095040==(0|o))break t;return C[17440+(i<<2)>>2]}t=v(3.1415927410125732)}return t}return C[17424+(i<<2)>>2]}function Ci(t,e,i,r,n){t|=0,e|=0,i|=0,r|=0,n|=0;var a=v(0),o=v(0),_=0,h=v(0),d=v(0),g=v(0),p=v(0);Z=r=Z-160|0,f[r+112>>2]=f[e>>2],f[r+64>>2]=f[e+64>>2],n=f[e+8>>2],f[r+116>>2]=f[e+4>>2],f[r+120>>2]=n,_=f[(n=e+68|0)+4>>2],f[r+68>>2]=f[n>>2],f[r+72>>2]=_,n=f[e+20>>2],f[r+128>>2]=f[e+16>>2],f[r+132>>2]=n,_=f[(n=e+80|0)+4>>2],f[r+80>>2]=f[n>>2],f[r+84>>2]=_,f[r+136>>2]=f[e+24>>2],f[r+88>>2]=f[e+88>>2],f[r+144>>2]=f[e+32>>2],f[r+96>>2]=f[e+96>>2],f[r+100>>2]=f[e+100>>2],_=f[(n=e+36|0)+4>>2],f[r+148>>2]=f[n>>2],f[r+152>>2]=_,f[r+104>>2]=f[e+104>>2],n=f[t+4>>2],o=C[n+40>>2],a=C[n+36>>2],h=C[n+32>>2],d=v(yt[f[f[n>>2]+48>>2]](n)),g=v(yt[f[f[n>>2]+48>>2]](n)),p=v(yt[f[f[n>>2]+48>>2]](n)),f[r+36>>2]=0,a=v(a+g),C[r+28>>2]=a+a,a=v(h+d),C[r+24>>2]=a+a,o=v(o+p),C[r+32>>2]=o+o,t=f[t+8>>2],o=C[t+40>>2],a=C[t+36>>2],h=C[t+32>>2],d=v(yt[f[f[t>>2]+48>>2]](t)),g=v(yt[f[f[t>>2]+48>>2]](t)),p=v(yt[f[f[t>>2]+48>>2]](t)),f[r+20>>2]=0,a=v(a+g),C[r+12>>2]=a+a,a=v(h+d),C[r+8>>2]=a+a,o=v(o+p),C[r+16>>2]=o+o,function(t,e,i,r,n,a,o,_,h,d){var g,p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=0,Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=0,Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=0,Qt=v(0),Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0),Zt=v(0),Ut=v(0),Xt=v(0),Jt=v(0),jt=v(0),zt=v(0),Ht=v(0),Kt=v(0),qt=v(0),$t=v(0),bi=v(0),di=v(0),yi=v(0),Ii=v(0),Bi=v(0),BA=v(0),gr=0,tn=0,en=0,An=0,rn=0,nn=0,an=0;Z=g=Z-368|0,Pt=v(C[i>>2]*v(.5)),C[g+356>>2]=Pt,Vt=C[e+36>>2],Gt=C[(gr=e+4|0)>>2],pt=C[e+20>>2],jt=C[e+40>>2],zt=C[(xt=e+8|0)>>2],Lt=C[e+24>>2],G=C[e+16>>2],W=C[e+32>>2],V=C[t>>2],Q=C[r>>2],B=C[t+4>>2],R=C[r+4>>2],p=C[t+8>>2],D=C[r+8>>2],BA=C[e>>2],Mt=v(C[i+4>>2]*v(.5)),C[g+360>>2]=Mt,Wt=v(C[i+8>>2]*v(.5)),C[g+364>>2]=Wt,Yt=v(C[a>>2]*v(.5)),C[g+344>>2]=Yt,Zt=v(C[a+4>>2]*v(.5)),C[g+348>>2]=Zt,Ut=v(C[a+8>>2]*v(.5)),C[g+352>>2]=Ut,F=v(Q-V),Y=v(R-B),St=v(D-p),Ht=v(v(v(BA*F)+v(G*Y))+v(W*St)),Qt=C[n>>2],Xt=C[n+16>>2],R=C[n+32>>2],qt=v(v(v(BA*Qt)+v(G*Xt))+v(W*R)),V=v(y(qt)),Jt=C[n+4>>2],Tt=C[n+20>>2],Et=C[n+36>>2],$t=v(v(v(BA*Jt)+v(G*Tt))+v(W*Et)),Q=v(y($t)),Ot=C[n+8>>2],z=C[n+24>>2],It=C[n+40>>2],bi=v(v(v(BA*Ot)+v(G*z))+v(W*It)),B=v(y(bi));t:if(!((p=v(v(y(Ht))-v(v(v(Pt+v(Yt*V))+v(Zt*Q))+v(Ut*B))))>v(0)||(di=v(v(v(Gt*Ot)+v(pt*z))+v(Vt*It)),wt=v(y(di)),yi=v(v(v(Gt*Jt)+v(pt*Tt))+v(Vt*Et)),Nt=v(y(yi)),Ii=v(v(v(Gt*Qt)+v(pt*Xt))+v(Vt*R)),Dt=v(y(Ii)),D=v(-34028234663852886e22),i=0,p>v(-34028234663852886e22)&&(Ft=Ht<v(0),D=p,w=e,i=1),Kt=v(v(v(F*Gt)+v(Y*pt))+v(St*Vt)),p=v(v(y(Kt))-v(v(v(Mt+v(Yt*Dt))+v(Zt*Nt))+v(Ut*wt))),p>v(0)||(Bi=v(v(v(zt*Ot)+v(Lt*z))+v(jt*It)),pt=v(y(Bi)),Vt=v(v(v(zt*Jt)+v(Lt*Tt))+v(jt*Et)),G=v(y(Vt)),Gt=v(v(v(zt*Qt)+v(Lt*Xt))+v(jt*R)),W=v(y(Gt)),p>D&&(Ft=Kt<v(0),D=p,w=gr,i=2),Lt=v(v(v(F*zt)+v(Y*Lt))+v(St*jt)),p=v(v(y(Lt))-v(v(v(Wt+v(Yt*W))+v(Zt*G))+v(Ut*pt))),p>v(0)||(p>D&&(Ft=Lt<v(0),D=p,w=xt,i=3),R=v(v(v(F*Qt)+v(Y*Xt))+v(St*R)),p=v(v(y(R))-v(Yt+v(v(Wt*W)+v(v(Pt*V)+v(Mt*Dt))))),p>v(0)||(p>D&&(Ft=R<v(0),D=p,w=n,i=4),R=v(v(v(F*Jt)+v(Y*Tt))+v(St*Et)),p=v(v(y(R))-v(Zt+v(v(Wt*G)+v(v(Pt*Q)+v(Mt*Nt))))),p>v(0)||(p>D&&(w=n+4|0,Ft=R<v(0),D=p,i=5),R=v(v(v(F*Ot)+v(Y*z))+v(St*It)),p=v(v(y(R))-v(Ut+v(v(Wt*pt)+v(v(Pt*B)+v(Mt*wt))))),p>v(0)||(p>D&&(w=n+8|0,Ft=R<v(0),D=p,i=6),R=v(v(Lt*Ii)-v(Kt*Gt)),Et=v(Q+v(9999999747378752e-21)),Ot=v(W+v(9999999747378752e-21)),z=v(Dt+v(9999999747378752e-21)),It=v(B+v(9999999747378752e-21)),p=v(v(y(R))-v(v(Ut*Et)+v(v(v(Mt*Ot)+v(Wt*z))+v(Zt*It)))),p>v(1.1920928955078125e-7)||(Qt=v(G+v(9999999747378752e-21)),Xt=v(Nt+v(9999999747378752e-21)),Jt=v(V+v(9999999747378752e-21)),St=v(0),Dt=v(Ii*Ii),Q=v(v(Gt*Gt)+v(0)),B=v(E(v(Dt+Q))),B>v(1.1920928955078125e-7)?(Y=v(0),p=v(p/B),F=v(0),v(p*v(1.0499999523162842))>D&&(Ft=R<v(0),Y=v(Ii/B),St=v(v(0)/B),w=0,i=7,D=p,F=v(v(-Gt)/B))):(Y=v(0),F=v(0)),R=v(v(Lt*yi)-v(Kt*Vt)),p=v(v(y(R))-v(v(Ut*Jt)+v(v(v(Mt*Qt)+v(Wt*Xt))+v(Yt*It)))),p>v(1.1920928955078125e-7)||(Tt=v(pt+v(9999999747378752e-21)),Nt=v(wt+v(9999999747378752e-21)),pt=v(yi*yi),B=v(v(Vt*Vt)+v(0)),V=v(E(v(pt+B))),V>v(1.1920928955078125e-7)&&(p=v(p/V),v(p*v(1.0499999523162842))>D&&(Ft=R<v(0),Y=v(yi/V),F=v(v(-Vt)/V),St=v(v(0)/V),w=0,i=8,D=p)),R=v(v(Lt*di)-v(Kt*Bi)),p=v(v(y(R))-v(v(Zt*Jt)+v(v(Yt*Et)+v(v(Mt*Tt)+v(Wt*Nt))))),p>v(1.1920928955078125e-7)||(G=v(di*di),W=v(v(Bi*Bi)+v(0)),V=v(E(v(G+W))),V>v(1.1920928955078125e-7)&&(p=v(p/V),v(p*v(1.0499999523162842))>D&&(Ft=R<v(0),Y=v(di/V),F=v(v(-Bi)/V),St=v(v(0)/V),w=0,i=9,D=p)),R=v(v(Ht*Gt)-v(Lt*qt)),p=v(v(y(R))-v(v(Ut*Xt)+v(v(v(Pt*Ot)+v(Wt*Jt))+v(Zt*Nt)))),p>v(1.1920928955078125e-7)||(V=v(qt*qt),Q=v(E(v(V+Q))),Q>v(1.1920928955078125e-7)&&(p=v(p/Q),v(p*v(1.0499999523162842))>D&&(Ft=R<v(0),Y=v(v(-qt)/Q),F=v(v(0)/Q),St=v(Gt/Q),w=0,i=10,D=p)),R=v(v(Ht*Vt)-v(Lt*$t)),p=v(v(y(R))-v(v(Ut*z)+v(v(v(Pt*Qt)+v(Wt*Et))+v(Yt*Nt)))),p>v(1.1920928955078125e-7)||(Q=v($t*$t),B=v(E(v(Q+B))),B>v(1.1920928955078125e-7)&&(p=v(p/B),v(p*v(1.0499999523162842))>D&&(Ft=R<v(0),Y=v(v(-$t)/B),F=v(v(0)/B),St=v(Vt/B),w=0,i=11,D=p)),R=v(v(Ht*Bi)-v(Lt*bi)),p=v(v(y(R))-v(v(Zt*z)+v(v(Yt*Xt)+v(v(Pt*Tt)+v(Wt*It))))),p>v(1.1920928955078125e-7)||(B=v(bi*bi),W=v(E(v(B+W))),W>v(1.1920928955078125e-7)&&(p=v(p/W),v(p*v(1.0499999523162842))>D&&(Ft=R<v(0),Y=v(v(-bi)/W),F=v(v(0)/W),St=v(Bi/W),w=0,i=12,D=p)),R=v(v(Kt*qt)-v(Ht*Ii)),p=v(v(y(R))-v(v(Ut*Qt)+v(v(v(Pt*z)+v(Mt*Jt))+v(Zt*Tt)))),p>v(1.1920928955078125e-7)||(V=v(E(v(v(Dt+V)+v(0)))),V>v(1.1920928955078125e-7)&&(p=v(p/V),v(p*v(1.0499999523162842))>D&&(Ft=R<v(0),Y=v(v(0)/V),F=v(qt/V),St=v(v(-Ii)/V),w=0,i=13,D=p)),R=v(v(Kt*$t)-v(Ht*yi)),p=v(v(y(R))-v(v(Ut*Ot)+v(v(v(Pt*Xt)+v(Mt*Et))+v(Yt*Tt)))),p>v(1.1920928955078125e-7)||(Q=v(E(v(v(pt+Q)+v(0)))),Q>v(1.1920928955078125e-7)&&(p=v(p/Q),v(p*v(1.0499999523162842))>D&&(Ft=R<v(0),Y=v(v(0)/Q),F=v($t/Q),St=v(v(-yi)/Q),w=0,i=14,D=p)),R=v(v(Kt*bi)-v(Ht*di)),p=v(v(y(R))-v(v(Zt*Ot)+v(v(Yt*Qt)+v(v(Pt*Nt)+v(Mt*It))))),p>v(1.1920928955078125e-7))))))))))))))))){e:{i:{if((B=v(E(v(v(G+B)+v(0)))))>v(1.1920928955078125e-7)&&(p=v(p/B),v(p*v(1.0499999523162842))>D))Ft=R<v(0),Y=v(v(0)/B),F=v(bi/B),St=v(v(-di)/B),i=15;else{if(!i)break t;if(w)break i;p=D}B=v(v(v(BA*St)+v(F*C[e+4>>2]))+v(Y*C[e+8>>2])),C[o>>2]=B,G=v(v(v(St*C[e+16>>2])+v(F*C[e+20>>2]))+v(Y*C[e+24>>2])),C[o+4>>2]=G,F=v(v(v(St*C[e+32>>2])+v(F*C[e+36>>2]))+v(Y*C[e+40>>2])),C[o+8>>2]=F;break e}B=C[w>>2],f[o>>2]=f[w>>2],G=C[w+16>>2],f[o+4>>2]=f[w+16>>2],F=C[w+32>>2],f[o+8>>2]=f[w+32>>2],p=D}if(Ft&&(C[o+8>>2]=-F,C[o+4>>2]=-G,C[o>>2]=-B),C[_>>2]=-p,(0|i)>=7)f[(w=g+120|0)>>2]=f[t+8>>2],a=f[t+4>>2],f[g+112>>2]=f[t>>2],f[g+116>>2]=a,D=v(0),It=C[g+112>>2],Dt=C[g+116>>2],Tt=C[o>>2],pt=C[e>>2],wt=C[(_=o+4|0)>>2],G=C[e+16>>2],Nt=C[(a=o+8|0)>>2],R=C[e+32>>2],Et=v((v(v(v(Tt*pt)+v(wt*G))+v(Nt*R))>v(0)?v(1):v(-1))*C[g+356>>2]),F=v(C[w>>2]+v(Et*R)),W=C[e+4>>2],V=C[e+20>>2],R=C[e+36>>2],Ot=v((v(v(v(Tt*W)+v(wt*V))+v(Nt*R))>v(0)?v(1):v(-1))*C[g+360>>2]),F=v(F+v(Ot*R)),Q=C[e+8>>2],B=C[e+24>>2],R=C[e+40>>2],z=v((v(v(v(Tt*Q)+v(wt*B))+v(Nt*R))>v(0)?v(1):v(-1))*Wt),C[w>>2]=F+v(z*R),C[g+116>>2]=v(v(Dt+v(Et*G))+v(Ot*V))+v(z*B),C[g+112>>2]=v(v(It+v(Et*pt))+v(Ot*W))+v(z*Q),f[(t=g+216|0)>>2]=f[r+8>>2],pt=C[n>>2],G=C[n+16>>2],R=C[n+32>>2],z=v((v(v(v(Tt*pt)+v(wt*G))+v(Nt*R))>v(0)?v(-1):v(1))*Yt),F=v(C[t>>2]+v(z*R)),W=C[n+4>>2],V=C[n+20>>2],R=C[n+36>>2],It=v((v(v(v(Tt*W)+v(wt*V))+v(Nt*R))>v(0)?v(-1):v(1))*C[g+348>>2]),F=v(F+v(It*R)),Q=C[n+8>>2],B=C[n+24>>2],R=C[n+40>>2],Dt=v((v(v(v(Tt*Q)+v(wt*B))+v(Nt*R))>v(0)?v(-1):v(1))*C[g+352>>2]),Et=v(F+v(Dt*R)),C[t>>2]=Et,t=f[r+4>>2],f[g+208>>2]=f[r>>2],f[g+212>>2]=t,Ot=v(v(v(C[g+208>>2]+v(z*pt))+v(It*W))+v(Dt*Q)),C[g+208>>2]=Ot,z=v(v(v(C[g+212>>2]+v(z*G))+v(It*V))+v(Dt*B)),C[g+212>>2]=z,R=C[(e=e+((t=(0|(r=i+-7|0))/3|0)<<2)|0)>>2],t=(r-m(t,3)<<2)+n|0,It=C[t>>2],W=C[e+16>>2],Dt=C[t+16>>2],V=C[e+32>>2],pt=C[t+32>>2],G=v(v(v(R*It)+v(W*Dt))+v(V*pt)),(Q=v(v(1)-v(G*G)))<=v(9999999747378752e-20)||(B=v(Ot-C[g+112>>2]),F=v(B*R),R=v(z-C[g+116>>2]),D=v(Et-C[w>>2]),D=v(v(v(v(v(F+v(R*W))+v(D*V))*G)-v(v(v(B*It)+v(R*Dt))+v(D*pt)))*v(v(1)/Q))),C[g+216>>2]=Et+v(D*pt),C[g+212>>2]=z+v(D*Dt),C[g+208>>2]=Ot+v(D*It),f[g+284>>2]=0,C[g+280>>2]=-C[a>>2],C[g+276>>2]=-C[_>>2],C[g+272>>2]=-C[o>>2],yt[f[f[d>>2]+16>>2]](d,g+272|0,g+208|0,p),f[h>>2]=i;else{Vt=C[o>>2],(0|i)<=3?(Gt=C[o+8>>2],jt=C[o+4>>2],Ft=g+356|0,w=n,xt=g+344|0):(Vt=v(-Vt),Gt=v(-C[o+8>>2]),jt=v(-C[o+4>>2]),a=r,Ft=g+344|0,r=t,t=a,w=e,e=n,xt=g+356|0),R=v(v(v(Vt*C[w>>2])+v(jt*C[w+16>>2]))+v(Gt*C[w+32>>2])),C[g+328>>2]=R,p=v(v(v(Vt*C[w+4>>2])+v(jt*C[w+20>>2]))+v(Gt*C[w+36>>2])),C[g+332>>2]=p,D=v(v(v(Vt*C[w+8>>2])+v(jt*C[w+24>>2]))+v(Gt*C[w+40>>2])),C[g+336>>2]=D,B=v(y(D)),(p=v(y(p)))>(D=v(y(R)))?(n=(_=p>B)?1:2,a=0):(n=(1^(_=D>B))<<1,a=_),rn=a,R=C[(n<<=2)+xt>>2],p=v(R*C[n+w>>2]),D=v(C[r>>2]-C[t>>2]),nn=_?2:1,a=g,C[n+(g+328|0)>>2]<v(0)?(F=v(D+p),C[g+312>>2]=F,p=v(v(C[r+4>>2]-C[t+4>>2])+v(R*C[(16|n)+w>>2])),C[g+316>>2]=p,wt=v(v(C[r+8>>2]-C[t+8>>2])+v(R*C[(32|n)+w>>2]))):(F=v(D-p),C[g+312>>2]=F,p=v(v(C[r+4>>2]-C[t+4>>2])-v(R*C[(16|n)+w>>2])),C[g+316>>2]=p,wt=v(v(C[r+8>>2]-C[t+8>>2])-v(R*C[(32|n)+w>>2]))),C[a+320>>2]=wt,_=1;e:{if((An=((0|i)<4?-1:-4)+i|0)>>>0<=1){if(n=2,An-1)break e}else n=1;_=0}r=2,V=C[(n=(a=n<<2)+e|0)>>2],Q=C[n+16>>2],B=C[n+32>>2],zt=v(v(v(F*V)+v(p*Q))+v(wt*B)),It=C[(tn=(n=rn<<2)+w|0)>>2],Dt=C[tn+16>>2],R=C[tn+32>>2],Nt=v(v(v(V*It)+v(Q*Dt))+v(B*R)),D=C[n+xt>>2],pt=v(Nt*D),G=v(zt+pt),W=C[(en=(n=nn<<2)+w|0)>>2],Y=v(V*W),V=C[en+16>>2],Y=v(Y+v(Q*V)),Q=C[en+32>>2],Et=v(Y+v(B*Q)),B=C[n+xt>>2],Tt=v(Et*B),C[g+300>>2]=G-Tt,Ot=C[(e=(n=_<<2)+e|0)>>2],z=C[e+16>>2],F=v(v(F*Ot)+v(p*z)),p=C[e+32>>2],Lt=v(F+v(wt*p)),Dt=v(v(v(Ot*It)+v(z*Dt))+v(p*R)),R=v(D*Dt),D=v(Lt+R),Q=v(v(v(Ot*W)+v(z*V))+v(p*Q)),V=v(B*Q),C[g+296>>2]=D-V,C[g+292>>2]=G+Tt,Y=v(D+V),C[g+288>>2]=Y,p=v(zt-pt),B=v(p+Tt),C[g+284>>2]=B,D=v(Lt-R),F=v(D+V),C[g+280>>2]=F,p=v(p-Tt),C[g+276>>2]=p,G=v(D-V),C[g+272>>2]=G,V=C[(e=a+Ft|0)>>2],an=f[e>>2],gr=f[(e=n+Ft|0)>>2],W=C[e>>2],R=v(-W);e:{i:{A:{r:{if(!(n=W>(St=v(-G)))){if(a=0,r=1,e=g+208|0,n^(_=W>(D=v(-F))))break r;break A}if(C[g+212>>2]=p,C[g+208>>2]=G,e=g+208|8,a=1,(0|n)==(0|(_=W>(D=v(-F)))))break A}if(C[e>>2]=R,C[e+4>>2]=p+v(v(R-G)*v(v(B-p)/v(F-G))),e=e+8|0,_)break i;a=r;break e}if(r=a,!_)break e}C[e+4>>2]=B,C[e>>2]=F,a=r+1|0,e=e+8|0,F=C[g+280>>2],D=v(-F),Y=C[g+288>>2]}e:{if((D<W|0)!=(W>v(-Y)|0)){if(D=C[g+292>>2],p=C[g+284>>2],C[e>>2]=R,C[e+4>>2]=p+v(v(R-F)*v(v(D-p)/v(Y-F))),8&(a=a+1|0))break e;e=e+8|0}if(F=C[g+288>>2],W>(B=v(-F))){if(C[e>>2]=F,f[e+4>>2]=f[g+292>>2],8&(a=a+1|0))break e;F=C[g+288>>2],B=v(-F),e=e+8|0}if(r=B<W,B=C[g+296>>2],(0|r)!=(W>(Y=v(-B))|0)){if(D=C[g+300>>2],p=C[g+292>>2],C[e>>2]=R,C[e+4>>2]=p+v(v(R-F)*v(v(D-p)/v(B-F))),8&(a=a+1|0))break e;B=C[g+296>>2],Y=v(-B),e=e+8|0}if(Y<W){if(C[e>>2]=B,f[e+4>>2]=f[g+300>>2],8&(a=a+1|0))break e;G=C[g+272>>2],St=v(-G),B=C[g+296>>2],Y=v(-B),e=e+8|0}i:{A:{if((Y<W|0)==(St<W|0)){if(!((0|a)>=1)){a=0;break A}}else if(D=C[g+276>>2],p=C[g+300>>2],C[e>>2]=R,C[e+4>>2]=p+v(v(R-B)*v(v(D-p)/v(G-B))),8&(a=a+1|0))break e;for(e=g+208|0,n=g+112|0,r=0;;){if((G=C[e>>2])<W){if(C[n>>2]=G,f[n+4>>2]=f[e+4>>2],8&(r=r+1|0)){a=r;break A}G=C[e>>2],n=n+8|0}if(_=e+8|0,(G<W|0)!=((p=C[(xt=(0|a)>1?_:g+208|0)>>2])<W|0)){if(R=C[e+4>>2],D=C[xt+4>>2],f[n>>2]=gr,C[n+4>>2]=R+v(v(W-G)*v(v(D-R)/v(p-G))),8&(r=r+1|0)){a=r;break A}n=n+8|0}if(e=_,!((0|(a=a+-1|0))>0))break}if((0|r)<1)a=0;else{for(B=v(-V),n=g+208|0,e=g+112|0,_=0;;){if(F=C[(a=e+4|0)>>2],V>(G=v(-F))){if(f[n>>2]=f[e>>2],f[n+4>>2]=f[a>>2],8&(_=_+1|0)){a=_;break i}F=C[a>>2],G=v(-F),n=n+8|0}if(a=e+8|0,p=C[(xt=(0|r)>1?a:g+112|0)+4>>2],(G<V|0)!=(V>v(-p)|0)){if(D=C[xt>>2],R=C[e>>2],C[n+4>>2]=B,C[n>>2]=R+v(v(B-F)*v(v(D-R)/v(p-F))),8&(_=_+1|0)){a=_;break i}n=n+8|0}if(e=a,!((0|(r=r+-1|0))>0))break}if((0|_)<1)a=0;else for(e=g+208|0,n=g+112|0,a=0;;){if((G=C[(r=e+4|0)>>2])<V){if(f[n>>2]=f[e>>2],f[n+4>>2]=f[r>>2],8&(a=a+1|0))break A;G=C[r>>2],n=n+8|0}if(r=e+8|0,(G<V|0)!=((p=C[(xt=(0|_)>1?r:g+208|0)+4>>2])<V|0)){if(D=C[xt>>2],R=C[e>>2],f[n+4>>2]=an,C[n>>2]=R+v(v(V-G)*v(v(D-R)/v(p-G))),8&(a=a+1|0))break A;n=n+8|0}if(e=r,!((0|(_=_+-1|0))>0))break}}}J(g+208|0,g+112|0,a<<3)}if(!((0|a)>=1))break t}for(D=v(v(1)/v(v(Dt*Et)-v(Nt*Q))),Xt=v(Et*D),Jt=v(Nt*D),Tt=v(Q*D),wt=v(Dt*D),Nt=C[(An<<2)+Ft>>2],Et=C[(32|(r=nn<<2))+w>>2],Ot=C[(32|(e=rn<<2))+w>>2],z=C[(16|r)+w>>2],It=C[(16|e)+w>>2],Dt=C[en>>2],pt=C[tn>>2],n=0,e=g+208|0,G=C[g+320>>2],W=C[g+316>>2],V=C[g+312>>2];r=(g+112|0)+m(n,12)|0,Q=C[e>>2],p=v(Q-Lt),B=C[e+4>>2],D=v(B-zt),Qt=v(v(Xt*p)-v(Tt*D)),D=v(v(wt*D)-v(Jt*p)),R=v(v(W+v(Qt*It))+v(D*z)),C[r+4>>2]=R,p=v(v(V+v(Qt*pt))+v(D*Dt)),C[r>>2]=p,D=v(v(G+v(Qt*Ot))+v(D*Et)),C[r+8>>2]=D,D=v(Nt-v(v(v(Vt*p)+v(jt*R))+v(Gt*D))),C[(g+80|0)+(n<<2)>>2]=D,D>=v(0)&&(C[(r=n<<3)+(g+208|0)>>2]=Q,C[(g+208|0)+(4|r)>>2]=B,n=n+1|0),e=e+8|0,a=a+-1|0;);if(!((0|n)<1)){e:if((0|n)<=(0|(a=(0|(e=(0|n)<4?n:4))>1?e:1))){if((0|i)>=4){for(r=g+80|0,e=g+112|0,a=n;R=C[o>>2],B=C[r>>2],C[g+32>>2]=v(C[e>>2]+C[t>>2])-v(R*B),p=C[o+4>>2],C[g+36>>2]=v(C[e+4>>2]+C[t+4>>2])-v(B*p),D=C[o+8>>2],C[g+40>>2]=v(C[e+8>>2]+C[t+8>>2])-v(B*D),f[g+76>>2]=0,C[g+72>>2]=-D,C[g+68>>2]=-p,C[g+64>>2]=-R,yt[f[f[d>>2]+16>>2]](d,g- -64|0,g+32|0,v(-B)),e=e+12|0,r=r+4|0,a=a+-1|0;);break e}for(r=g+80|0,e=g+112|0,a=n;C[g+32>>2]=C[e>>2]+C[t>>2],C[g+36>>2]=C[e+4>>2]+C[t+4>>2],C[g+40>>2]=C[e+8>>2]+C[t+8>>2],f[g+76>>2]=0,C[g+72>>2]=-C[o+8>>2],C[g+68>>2]=-C[o+4>>2],C[g+64>>2]=-C[o>>2],yt[f[f[d>>2]+16>>2]](d,g- -64|0,g+32|0,v(-C[r>>2])),e=e+12|0,r=r+4|0,a=a+-1|0;);}else{if(w=0,(0|n)>=2)for(e=g+80|4,B=C[g+80>>2],r=1;B=(_=(D=C[e>>2])>B)?D:B,w=_?r:w,e=e+4|0,(0|n)!=(0|(r=r+1|0)););if(function(t,e,i,r,n){var a,o=0,_=0,h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=0,F=v(0),V=0,G=0,w=v(0);Z=a=Z+-64|0;i:{A:{r:{n:{a:{if(!((_=t+-1|0)>>>0<=1)){if((0|_)>=1)break a;break n}if(_-1)break r;g=v(v(C[e+4>>2]+C[e+12>>2])*v(.5)),h=v(v(C[e>>2]+C[e+8>>2])*v(.5));break A}for(o=e;R=g,g=C[o+12>>2],d=C[o+4>>2],B=v(g+d),p=C[o>>2],D=C[(o=o+8|0)>>2],d=v(v(p*g)-v(D*d)),g=v(R+v(B*d)),h=v(h+d),m=v(m+v(v(p+D)*d)),_=_+-1|0;);}if(d=v(0xde0b6b000000000),R=h,p=C[(o=(t<<3)+e|0)+-8>>2],D=C[e+4>>2],F=C[e>>2],B=C[o+-4>>2],h=v(v(p*D)-v(F*B)),R=v(R+h),v(y(R))>v(1.1920928955078125e-7)&&(d=v(v(1)/v(R*v(3)))),_=0,(0|t)<=0)break i;g=v(v(g+v(v(D+B)*h))*d),h=v(v(m+v(v(p+F)*h))*d);break A}g=C[e+4>>2],h=C[e>>2]}for(o=a+32|0,_=t;G=o,w=vi(v(C[e+4>>2]-g),v(C[e>>2]-h)),C[G>>2]=w,e=e+8|0,o=o+4|0,_=_+-1|0;);for(e=a,o=t;_=1,f[e>>2]=1,e=e+4|0,o=o+-1|0;);}if(f[n>>2]=r,f[(o=(e=r<<2)+a|0)>>2]=0,!((0|i)<2))if(n=n+4|0,_)for(g=v(v(6.2831854820251465)/v(0|i)),d=C[e+(a+32|0)>>2],E=1;;){for(f[n>>2]=r,p=(h=v(v(g*v(0|E))+d))>v(3.1415927410125732)?v(h+v(-6.2831854820251465)):h,h=v(1e9),o=a+32|0,e=a,V=r,_=0;f[e>>2]&&((m=(m=v(y(v(C[o>>2]-p))))>v(3.1415927410125732)?v(v(6.2831854820251465)-m):m)<h&&(f[n>>2]=_,V=_,h=m)),e=e+4|0,o=o+4|0,(0|(_=_+1|0))!=(0|t););if(f[(V<<2)+a>>2]=0,n=n+4|0,(0|(E=E+1|0))==(0|i))break}else for(e=i+-1|0;f[n>>2]=r,f[o>>2]=0,n=n+4|0,e=e+-1|0;);Z=a- -64|0}(n,g+208|0,a,w,g+32|0),(0|i)>=4)for(e=g+32|0,r=0;n=f[e>>2],_=(g+112|0)+m(n,12)|0,V=v(C[_>>2]+C[t>>2]),C[g+64>>2]=V,Q=v(C[_+4>>2]+C[t+4>>2]),C[g+68>>2]=Q,B=v(C[_+8>>2]+C[t+8>>2]),C[g+72>>2]=B,f[g+28>>2]=0,R=C[o+8>>2],C[g+24>>2]=-R,p=C[o+4>>2],C[g+20>>2]=-p,D=C[o>>2],C[g+16>>2]=-D,f[g+12>>2]=0,F=R,R=C[(g+80|0)+(n<<2)>>2],C[g+8>>2]=B-v(F*R),C[g+4>>2]=Q-v(p*R),C[g>>2]=V-v(D*R),yt[f[f[d>>2]+16>>2]](d,g+16|0,g,v(-R)),e=e+4|0,(r=r+1|0)>>>0<a>>>0;);else for(e=g+32|0,r=0;n=f[e>>2],_=(g+112|0)+m(n,12)|0,C[g+64>>2]=C[_>>2]+C[t>>2],C[g+68>>2]=C[_+4>>2]+C[t+4>>2],C[g+72>>2]=C[_+8>>2]+C[t+8>>2],f[g+28>>2]=0,C[g+24>>2]=-C[o+8>>2],C[g+20>>2]=-C[o+4>>2],C[g+16>>2]=-C[o>>2],yt[f[f[d>>2]+16>>2]](d,g+16|0,g- -64|0,v(-C[(g+80|0)+(n<<2)>>2])),e=e+4|0,(r=r+1|0)>>>0<a>>>0;);}f[h>>2]=i}}}Z=g+368|0}(e+48|0,r+112|0,r+24|0,e+112|0,r- -64|0,r+8|0,r+48|0,r+44|0,r+40|0,i),Z=r+160|0}function gi(t,e,i,r,n){var a,o=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=0,R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=0,It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=0,xt=v(0),Qt=v(0),Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0),Zt=v(0),Ut=v(0),Xt=v(0),Jt=v(0),jt=v(0),zt=v(0),Ht=v(0),Kt=v(0),qt=v(0),$t=v(0);Z=a=Z-48|0,Dt=_[t+16|0],p=f[(wt=Dt?r:i)+12>>2],Zt=C[p+56>>2],Ut=C[p+52>>2],Xt=C[p+48>>2],i=f[(Dt=Dt?i:r)+12>>2],Jt=C[i+56>>2],xt=C[i+48>>2],jt=C[i+52>>2],wt=f[wt+4>>2],B=C[i+40>>2],g=C[i+8>>2],m=C[i+24>>2],y=C[i+32>>2],G=C[i>>2],w=C[i+16>>2],r=f[Dt+4>>2],W=C[i+36>>2],St=C[p+40>>2],Tt=C[p+32>>2],Et=C[p+36>>2],Y=C[i+4>>2],Ot=C[p+8>>2],Nt=C[p>>2],Ft=C[p+4>>2],z=C[i+20>>2],Vt=C[p+24>>2],Gt=C[p+16>>2],Lt=C[p+20>>2],d=C[e+12>>2],R=C[e+8>>2],o=C[e>>2],h=C[e+4>>2],f[a+28>>2]=0,E=v(v(2)/v(v(v(v(o*o)+v(h*h))+v(R*R))+v(d*d))),D=v(R*E),Qt=v(o*D),F=v(h*E),Wt=v(d*F),Q=v(Qt+Wt),It=v(h*D),V=v(o*E),Yt=v(d*V),E=v(It-Yt),Pt=v(o*V),Mt=v(h*F),h=v(v(1)-v(Pt+Mt)),V=v(v(v(Tt*Q)+v(Et*E))+v(St*h)),pt=v(v(v(Nt*Q)+v(Ft*E))+v(Ot*h)),h=v(v(v(Gt*Q)+v(Lt*E))+v(Vt*h)),E=v(-C[r+52>>2]),Q=C[(i=r+56|0)>>2],zt=v(v(v(v(y*V)+v(v(G*pt)+v(w*h)))*E)-v(v(v(W*V)+v(v(Y*pt)+v(z*h)))*Q)),V=v(v(B*V)+v(v(g*pt)+v(m*h))),h=C[(p=r+60|0)>>2],C[a+24>>2]=zt-v(V*h),V=v(It+Yt),F=v(o*F),pt=v(d*D),o=v(F-pt),It=v(R*D),d=v(v(1)-v(Pt+It)),R=v(v(St*V)+v(v(Tt*o)+v(Et*d))),D=v(v(Ot*V)+v(v(Nt*o)+v(Ft*d))),o=v(v(Vt*V)+v(v(Gt*o)+v(Lt*d))),C[a+20>>2]=v(v(v(v(y*R)+v(v(G*D)+v(w*o)))*E)-v(Q*v(v(W*R)+v(v(Y*D)+v(z*o)))))-v(h*v(v(B*R)+v(v(g*D)+v(m*o)))),o=v(Qt-Wt),d=v(F+pt),R=v(v(1)-v(Mt+It)),D=v(v(St*o)+v(v(Et*d)+v(Tt*R))),F=v(v(Ot*o)+v(v(Ft*d)+v(Nt*R))),o=v(v(Vt*o)+v(v(Lt*d)+v(Gt*R))),C[a+16>>2]=v(v(v(v(y*D)+v(v(G*F)+v(w*o)))*E)-v(Q*v(v(W*D)+v(v(Y*F)+v(z*o)))))-v(h*v(v(B*D)+v(v(g*F)+v(m*o)))),yt[f[f[wt>>2]+64>>2]](a+32|0,wt,a+16|0),e=f[Dt+12>>2],Q=C[e+48>>2],V=C[e+32>>2],pt=C[e+16>>2],Qt=C[e+8>>2],Wt=C[e+4>>2],It=C[e>>2],Yt=C[e+56>>2],Pt=C[e+52>>2],Mt=C[e+40>>2],zt=C[e+36>>2],Ht=C[e+24>>2],Kt=C[e+20>>2],qt=C[r+68>>2],R=C[p>>2],D=C[r+52>>2],E=C[i>>2],o=C[a+40>>2],d=C[a+32>>2],h=C[a+36>>2],$t=C[f[t+12>>2]+784>>2],f[n+4>>2]=f[t+12>>2],F=v(-xt),xt=v(v(v(v(v(Xt*g)+v(Ut*m))+v(Zt*B))+v(v(v(g*F)-v(m*jt))-v(B*Jt)))+v(v(v(d*v(v(v(Nt*g)+v(Gt*m))+v(Tt*B)))+v(h*v(v(v(Ft*g)+v(Lt*m))+v(Et*B))))+v(o*v(v(v(Ot*g)+v(Vt*m))+v(St*B))))),G=v(v(v(v(v(Xt*G)+v(Ut*w))+v(Zt*y))+v(v(v(G*F)-v(w*jt))-v(y*Jt)))+v(v(v(d*v(v(v(Nt*G)+v(Gt*w))+v(Tt*y)))+v(h*v(v(v(Ft*G)+v(Lt*w))+v(Et*y))))+v(o*v(v(v(Ot*G)+v(Vt*w))+v(St*y))))),w=v(v(v(v(v(Xt*Y)+v(Ut*z))+v(Zt*W))+v(v(v(Y*F)-v(z*jt))-v(W*Jt)))+v(v(v(d*v(v(v(Nt*Y)+v(Gt*z))+v(Tt*W)))+v(h*v(v(v(Ft*Y)+v(Lt*z))+v(Et*W))))+v(o*v(v(v(Ot*Y)+v(Vt*z))+v(St*W))))),(B=v(v(v(R*xt)+v(v(D*G)+v(E*w)))-qt))<$t&&(f[a+28>>2]=0,t=f[Dt+12>>2],g=C[r+52>>2],m=C[r+56>>2],y=C[r+60>>2],C[a+16>>2]=v(v(C[t>>2]*g)+v(C[t+4>>2]*m))+v(C[t+8>>2]*y),C[a+24>>2]=v(v(g*C[t+32>>2])+v(m*C[t+36>>2]))+v(y*C[t+40>>2]),C[a+20>>2]=v(v(g*C[t+16>>2])+v(m*C[t+20>>2]))+v(y*C[t+24>>2]),f[a+12>>2]=0,g=v(G-v(D*B)),m=v(w-v(E*B)),y=v(xt-v(R*B)),C[a+8>>2]=v(v(v(g*V)+v(m*zt))+v(y*Mt))+Yt,C[a+4>>2]=v(v(v(g*pt)+v(m*Kt))+v(y*Ht))+Pt,C[a>>2]=v(v(Qt*y)+v(v(It*g)+v(Wt*m)))+Q,yt[f[f[n>>2]+16>>2]](n,a+16|0,a,B)),Z=a+48|0}function _i(t){var e=0;return f[(t|=0)>>2]=17664,_[t+20|0]&&(CA(f[f[t+16>>2]+16>>2]),CA(f[t+16>>2])),_[t+12|0]&&(CA(f[f[t+8>>2]+16>>2]),CA(f[t+8>>2])),e=f[t+28>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+28>>2]),e=f[t+32>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+32>>2]),e=f[t+36>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+36>>2]),e=f[t+40>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+40>>2]),e=f[t+44>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+44>>2]),e=f[t+48>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+48>>2]),e=f[t+52>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+52>>2]),e=f[t+56>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+56>>2]),e=f[t+72>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+72>>2]),e=f[t+76>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+76>>2]),e=f[t+68>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+68>>2]),e=f[t+84>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+84>>2]),e=f[t+80>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+80>>2]),e=f[t+24>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+24>>2]),0|t}function mi(t){return f[(t|=0)+8>>2]}function Ri(t){var e=0,i=0,r=0,a=0,o=0,h=0,d=0,C=0;if(f[t>>2]=18600,f[t+24>>2]=0,f[t+68>>2]=0,n[t+20|0]=1,f[t+16>>2]=0,n[t+44|0]=1,f[(e=i=t+8|0)>>2]=0,f[e+4>>2]=0,f[t+40>>2]=0,n[t- -64|0]=1,f[(e=t+32|0)>>2]=0,f[e+4>>2]=0,f[t+60>>2]=0,f[(e=t+52|0)>>2]=0,f[e+4>>2]=0,e=dA(32),(0|(r=f[i>>2]))>=1)for(i=12;a=i+e|0,o=f[t+16>>2]+i|0,f[a+-12>>2]=f[o+-12>>2],C=f[(h=o+-8|0)+4>>2],f[(d=a+-8|0)>>2]=f[h>>2],f[d+4>>2]=C,f[a>>2]=f[o>>2],i=i+16|0,r=r+-1|0;);(i=f[t+16>>2])&&(_[t+20|0]&&CA(i),f[t+16>>2]=0),f[t+16>>2]=e,n[t+20|0]=1,f[t+12>>2]=2,Qi(t)}function Qi(t){var e,i,r=0,a=0,o=0,h=0,d=0,C=0,g=0;if(!((0|(i=f[t+32>>2]))>=(0|(e=f[t+12>>2])))){t:if(f[t+36>>2]>=(0|e))o=f[t+40>>2];else{if(e?(o=dA(e<<2),a=f[t+32>>2]):a=i,r=f[t+40>>2],(0|a)>=1)for(h=o,d=r;f[h>>2]=f[d>>2],h=h+4|0,d=d+4|0,a=a+-1|0;);else if(!r){f[t+40>>2]=o,f[t+36>>2]=e,n[t+44|0]=1;break t}_[t+44|0]&&CA(r),f[t+40>>2]=o,n[t+44|0]=1,f[t+36>>2]=e}if(X((a=i<<2)+o|0,0,(C=e<<2)-a|0),f[t+32>>2]=e,(0|(g=f[t+52>>2]))<(0|e)){t:if(f[t+56>>2]>=(0|e))o=f[t+60>>2];else{if(e?(o=dA(C),a=f[t+52>>2]):(o=0,a=g),r=f[t+60>>2],(0|a)>=1)for(h=o,d=r;f[h>>2]=f[d>>2],h=h+4|0,d=d+4|0,a=a+-1|0;);else if(!r){f[t+60>>2]=o,f[t+56>>2]=e,n[t- -64|0]=1;break t}_[t- -64|0]&&CA(r),f[t+60>>2]=o,n[t+64|0]=1,f[t+56>>2]=e}X((a=g<<2)+o|0,0,C-a|0)}if(f[t+52>>2]=e,(0|e)>=1&&(X(f[t+40>>2],255,C),X(f[t+60>>2],255,C)),!((0|i)<1))for(d=f[t+60>>2],h=f[t+16>>2],o=f[t+40>>2],a=0;r=f[f[h>>2]+12>>2]|f[f[h+4>>2]+12>>2]<<16,r=m((r=(r<<15^-1)+r|0)>>>10^r,9),r=((r^=r>>>6)<<11^-1)+r|0,r=o+((f[t+12>>2]+-1&(r>>>16^r))<<2)|0,f[d>>2]=f[r>>2],f[r>>2]=a,h=h+16|0,d=d+4|0,(0|(a=a+1|0))!=(0|i););}}function hi(t){return(t|=0)+4|0}function Gi(t,e){e|=0,f[(t|=0)+24>>2]=e}function pi(t,e){var i=0,r=0,a=0,o=0;if(f[t+4>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,n[t+16|0]=1,(0|(a=f[e+4>>2]))<=0)f[t+4>>2]=a;else{if(o=dA(a<<2),(0|(r=f[t+4>>2]))>=1)for(;f[i+o>>2]=f[f[t+12>>2]+i>>2],i=i+4|0,r=r+-1|0;);for((r=f[t+12>>2])&&(_[t+16|0]&&CA(r),f[t+12>>2]=0),f[t+12>>2]=o,n[t+16|0]=1,f[t+8>>2]=a,i=0,r=a;f[i+o>>2]=0,i=i+4|0,o=f[t+12>>2],r=r+-1|0;);if(f[t+4>>2]=a,(0|a)>=1)for(i=0;f[i+o>>2]=f[f[e+12>>2]+i>>2],i=i+4|0,a=a+-1|0;);}}function Fi(t){var e=0,i=0,r=0,a=0,o=0,h=0;if(f[(t|=0)>>2]=19124,_[t+152|0]&&(e=f[t+96>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+96>>2])),(0|(i=f[t+160>>2]))>=1)for(r=8;h=(e=f[t+168>>2]+r|0)+-4|0,(o=f[(a=e+4|0)>>2])&&(_[e+8|0]&&CA(o),f[a>>2]=0),f[h>>2]=0,f[a>>2]=0,f[e>>2]=0,n[e+8|0]=1,r=r+20|0,i=i+-1|0;);return(e=f[t+168>>2])&&(_[t+172|0]&&CA(e),f[t+168>>2]=0),f[t+168>>2]=0,f[t+160>>2]=0,f[t+164>>2]=0,n[t+172|0]=1,rr(t+44|0),rr(t+4|0),0|t}function Wi(t,e,i,r){var n,a=0,o=0,_=0,h=0,d=0,g=0,m=0,y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=0;if(Z=n=Z-256|0,e){for(y=C[i+24>>2],p=C[i+20>>2],R=C[i+16>>2],D=C[i+8>>2],B=C[i+4>>2],E=C[i>>2],f[n>>2]=e,a=64,t=n,i=1;;){t:{e:{i:{if(o=f[(m=(e=i+-1|0)<<2)+t>>2],!(C[o>>2]<=R^1|C[o+16>>2]>=E^1|C[o+4>>2]<=p^1|C[o+20>>2]>=B^1||C[o+8>>2]<=y^1|C[o+24>>2]>=D^1)){if(f[o+40>>2]){if(F=f[o+36>>2],(0|e)!=(0|a))break i;if((0|i)>(0|(e=a?a<<1:1)))break i;_=e?dA(e<<2):0;A:{r:{if((0|a)>=1){for(h=_,d=t;f[h>>2]=f[d>>2],h=h+4|0,d=d+4|0,a=a+-1|0;);if(g)break r;break A}if(!t|!g)break A}CA(t)}g=1;break e}yt[f[f[r>>2]+12>>2]](r,o)}break t}e=a,_=t}if(f[_+m>>2]=F,o=f[o+40>>2],(0|e)==(0|i))if((0|i)>=(0|(a=i?i<<1:1)))a=i,t=_;else{t=a?dA(a<<2):0;e:{i:{if((0|i)>=1){for(e=t,h=_,d=i;f[e>>2]=f[h>>2],e=e+4|0,h=h+4|0,d=d+-1|0;);if(g)break i;break e}if(!_|!g)break e}CA(_)}g=1}else a=e,t=_;f[(i<<2)+t>>2]=o,e=i+1|0}if(!((0|(i=e))>0))break}!t|!g||CA(t)}Z=n+256|0}function wi(t,e,i,r,a,o,h,d,g,m){var y,p=0,R=0,D=0,B=v(0),E=0,F=v(0),V=v(0),G=v(0),w=0,Q=v(0),W=v(0),Y=0,z=v(0);if(Z=y=Z-32|0,e){if((0|(R=f[g+4>>2]))<=127){if(f[g+8>>2]<=127){if(D=dA(512),(0|(t=f[g+4>>2]))>=1)for(;f[p+D>>2]=f[f[g+12>>2]+p>>2],p=p+4|0,t=t+-1|0;);(t=f[g+12>>2])&&(_[g+16|0]&&CA(t),f[g+12>>2]=0),f[g+12>>2]=D,n[g+16|0]=1,f[g+8>>2]=128}for(p=R<<2,t=R+-128|0;f[f[g+12>>2]+p>>2]=0,p=p+4|0,D=(R=t+1|0)>>>0>=t>>>0,t=R,D;);}for(f[g+4>>2]=128,f[f[g+12>>2]>>2]=e,p=126,t=1;;){f[y+12>>2]=0,D=f[g+12>>2],R=f[D+(Y=(e=t+-1|0)<<2)>>2],C[y+8>>2]=C[R+8>>2]-C[d+8>>2],C[y+4>>2]=C[R+4>>2]-C[d+4>>2],C[y>>2]=C[R>>2]-C[d>>2],F=C[R+24>>2],V=C[R+16>>2],B=C[h+8>>2],G=C[h>>2],C[y+20>>2]=C[R+20>>2]-C[h+4>>2],C[y+16>>2]=V-G,C[y+24>>2]=F-B,f[y+28>>2]=0,E=f[a+4>>2],G=C[i+4>>2],Q=C[r+4>>2],F=v(v(C[4+((E<<4)+y|0)>>2]-G)*Q),B=C[r>>2],w=f[a>>2],W=C[i>>2];t:{if(!(F>(V=v(B*v(C[(1-w<<4)+y>>2]-W)))||(B=v(v(C[(w<<4)+y>>2]-W)*B),G=v(Q*v(C[4+((1-E<<4)+y|0)>>2]-G)),B>G||(E=f[a+8>>2],W=C[i+8>>2],z=C[r+8>>2],Q=v(v(C[8+((E<<4)+y|0)>>2]-W)*z),V=G<V?G:V,Q>V||(F=F>B?F:B,B=v(z*v(C[8+((1-E<<4)+y|0)>>2]-W)),F>B|(Q>F?Q:F)<o^1|(B<V?B:V)>v(0)^1))))){if(f[R+40>>2]){if((0|e)>(0|p)){if((0|(e=f[g+4>>2]))<(0|(E=e<<1))){if(f[g+8>>2]<(0|E)){if(e){if(D=dA(e<<3),!((0|(w=f[g+4>>2]))<1))for(p=0;f[p+D>>2]=f[f[g+12>>2]+p>>2],p=p+4|0,w=w+-1|0;);}else D=0;(p=f[g+12>>2])&&(_[g+16|0]&&CA(p),f[g+12>>2]=0),f[g+12>>2]=D,n[g+16|0]=1,f[g+8>>2]=E}for(p=e<<2;f[p+D>>2]=0,p=p+4|0,D=f[g+12>>2],e=e+-1|0;);}f[g+4>>2]=E,p=E+-2|0}f[D+Y>>2]=f[R+36>>2],f[f[g+12>>2]+(t<<2)>>2]=f[R+40>>2],t=t+1|0;break t}yt[f[f[m>>2]+12>>2]](m,R)}t=e}if(!t)break}}Z=y+32|0}function Di(t,e,i,r){var a=0,o=0,h=0,d=0,g=0,m=0,v=0,y=0,p=0,R=0;if(!(!e|!i)){if(!(f[t+24>>2]>127|f[t+28>>2]>127)){if(g=dA(1024),(0|(a=f[t+24>>2]))>=1)for(;d=f[t+32>>2]+h|0,m=f[d+4>>2],f[(o=h+g|0)>>2]=f[d>>2],f[o+4>>2]=m,h=h+8|0,a=a+-1|0;);(a=f[t+32>>2])&&(_[t+36|0]&&CA(a),f[t+32>>2]=0),f[t+32>>2]=g,f[t+28>>2]=128,n[t+36|0]=1}for(f[t+24>>2]=128,g=f[t+32>>2],f[g+4>>2]=i,f[g>>2]=e,i=124,e=1;;){if(d=f[t+32>>2],g=e,o=f[(a=d+(v=(e=e+-1|0)<<3)|0)+4>>2],a=f[a>>2],(0|e)>(0|i)){if(!((0|(i=f[t+24>>2]))>=(0|(m=i<<1))|f[t+28>>2]>=(0|m))){if(i){if(d=dA(i<<4),!((0|(i=f[t+24>>2]))<1))for(h=0;y=f[t+32>>2]+h|0,R=f[y+4>>2],f[(p=h+d|0)>>2]=f[y>>2],f[p+4>>2]=R,h=h+8|0,i=i+-1|0;);}else d=0;(i=f[t+32>>2])&&(_[t+36|0]&&CA(i),f[t+32>>2]=0),f[t+32>>2]=d,n[t+36|0]=1,f[t+28>>2]=m}f[t+24>>2]=m,i=m+-4|0}t:if((0|a)!=(0|o)){if(!(C[a>>2]<=C[o+16>>2]^1|C[a+16>>2]>=C[o>>2]^1|C[a+4>>2]<=C[o+20>>2]^1|C[a+20>>2]>=C[o+4>>2]^1||C[a+8>>2]<=C[o+24>>2]^1|C[a+24>>2]>=C[o+8>>2]^1))if(h=f[o+40>>2],f[a+40>>2]){if(e=f[a+36>>2],h){f[(h=d+v|0)+4>>2]=f[o+36>>2],f[h>>2]=e,h=f[a+40>>2],d=(e=g<<3)+f[t+32>>2]|0,f[d+4>>2]=f[o+36>>2],f[d>>2]=h,h=f[a+36>>2],d=e+f[t+32>>2]|0,f[d+12>>2]=f[o+40>>2],f[d+8>>2]=h,a=f[a+40>>2],e=e+f[t+32>>2]|0,f[e+20>>2]=f[o+40>>2],f[e+16>>2]=a,e=g+3|0;break t}f[(h=d+v|0)+4>>2]=o,f[h>>2]=e,e=f[a+40>>2],a=f[t+32>>2]+(g<<3)|0,f[a+4>>2]=o,f[a>>2]=e,e=g+1|0}else h?(f[(e=d+v|0)+4>>2]=f[o+36>>2],f[e>>2]=a,e=f[t+32>>2]+(g<<3)|0,f[e+4>>2]=f[o+40>>2],f[e>>2]=a,e=g+1|0):yt[f[f[r>>2]+8>>2]](r,a,o)}else{if(!f[a+40>>2])break t;e=d+v|0,o=f[a+36>>2],f[e+4>>2]=o,f[e>>2]=o,o=(e=g<<3)+f[t+32>>2]|0,h=f[a+40>>2],f[o+4>>2]=h,f[o>>2]=h,o=f[a+40>>2],e=8+(e+f[t+32>>2]|0)|0,f[e>>2]=f[a+36>>2],f[e+4>>2]=o,e=g+2|0}if(!e)break}}}function Ei(t,e,i,r){for(var n=0,a=0,o=0,_=0,h=0,C=0,g=0,m=0,v=0,y=0,p=0,R=0,D=0,B=0;;){for(D=i,v=f[t+12>>2],R=f[(g=v+((i+r|0)/2<<4)|0)+8>>2],m=f[g+4>>2],p=f[g>>2],g=r;;){t:{if(!p)for(C=(i<<4)+v|0;;){_=-1,n=-1,(a=f[C>>2])&&(n=f[a+12>>2]),(o=f[C+4>>2])&&(_=f[o+12>>2]),h=m?f[m+12>>2]:-1;e:if(!((0|n)>-1)){if(!(a|(0|_)>(0|h))){if((0|o)!=(0|m))break t;if(d[C+8>>2]>R>>>0)break e;break t}if((0|_)<=(0|h)|a)break t}C=C+16|0,i=i+1|0}for(C=(i<<4)+v|0,y=f[p+12>>2];;){if(_=-1,n=-1,(a=f[C>>2])&&(n=f[a+12>>2]),(o=f[C+4>>2])&&(_=f[o+12>>2]),h=m?f[m+12>>2]:-1,!((0|n)>(0|y)))if((0|a)!=(0|p)|(0|_)>(0|h)){if((0|a)!=(0|p)|(0|_)<=(0|h))break t}else if((0|o)!=(0|m)|d[C+8>>2]<=R>>>0)break t;C=C+16|0,i=i+1|0}}t:{if(!p)for(n=(g<<4)+v|0;;){h=-1,_=-1,(o=f[n>>2])&&(_=f[o+12>>2]),h=m?f[m+12>>2]:h,a=-1,(y=f[n+4>>2])&&(a=f[y+12>>2]);e:if(!((0|_)<-1)){if(!(o|(0|h)>(0|a))){if((0|m)!=(0|y))break t;if(d[n+8>>2]<R>>>0)break e;break t}if((0|h)<=(0|a)|o)break t}n=n+-16|0,g=g+-1|0}for(n=(g<<4)+v|0,B=f[p+12>>2];;){if(h=-1,_=-1,(o=f[n>>2])&&(_=f[o+12>>2]),h=m?f[m+12>>2]:h,a=-1,(y=f[n+4>>2])&&(a=f[y+12>>2]),!((0|B)>(0|_)))if((0|o)!=(0|p)|(0|h)>(0|a)){if((0|o)!=(0|p)|(0|h)<=(0|a))break t}else if((0|m)!=(0|y)|d[n+8>>2]>=R>>>0)break t;n=n+-16|0,g=g+-1|0}}if((0|i)<=(0|g)&&(h=f[(_=(i<<4)+v|0)+4>>2],a=f[_+8>>2],_=f[_+12>>2],v=f[C>>2],o=f[n+4>>2],f[C>>2]=f[n>>2],f[C+4>>2]=o,o=f[(n=n+8|0)+4>>2],f[(C=C+8|0)>>2]=f[n>>2],f[C+4>>2]=o,n=f[t+12>>2]+(g<<4)|0,f[n+12>>2]=_,f[n+4>>2]=h,f[n+8>>2]=a,f[n>>2]=v,g=g+-1|0,i=i+1|0),!((0|i)<=(0|g)))break;v=f[t+12>>2]}if((0|g)>(0|D)&&Ei(t,e,D,g),!((0|i)<(0|r)))break}}function Zi(t,e){e|=0,t=f[(t|=0)+4>>2],yt[f[f[t>>2]+8>>2]](t,f[e+36>>2])}function Yi(t,e){return v((t?v(-e):e)*e)}function Vi(t,e){var i,r=0,n=0,a=0,o=0,_=0,h=v(0),d=0,C=0;s(e),i=(_=(a=c(0))<<1)+-1|0;t:{e:{i:{A:{s(t);r:{if((r=c(0))+-8388608>>>0<=2130706431){if(i>>>0>4278190078)break r;break i}if(i>>>0<4278190079)break A}if(h=v(1),!_|1065353216==(0|r))break e;if(r<<=1,!(_>>>0<4278190081&&r>>>0<=4278190080))return v(t+e);if(2130706432==(0|r))break e;return v((-1^a)>>>31==(r>>>0<2130706432|0)?0:e*e)}if((r<<1)-1>>>0>=4278190079){if(h=v(t*t),(0|r)>-1||((r=a>>>23&255)+-127>>>0>23||(h=(r=1<<150-r)&a?r+-1&a?h:v(-h):h)),(0|a)>-1)break e;return v(v(1)/h)}if((0|r)<=-1){if((o=a>>>23&255)>>>0<127)break t;A:{if(o>>>0<=150){if((o=1<<150-o)+-1&a)break t;if(_=65536,a&o)break A}_=0}o=_,r&=2147483647}r>>>0>8388607||(r=(2147483647&(s(v(t*v(8388608))),c(0)))-192937984|0)}if(d=(n=g[(_=(a=r+-1060306944|0)>>>15&240)+19464>>3]*(b(0,r-(-8388608&a)|0),+k())-1)*n,u(+(n=((g[2466]+g[2465]*n)*(d*d)+(d*(g[2468]+g[2467]*n)+(g[_+19472>>3]+ +(a>>23)+n*g[2469])))*+e)),r=0|c(1),c(0),!(1079967744==(0|(r&=2147450880))|r>>>0<1079967744)){if(n>127.99999995700433)return Yi(o,v(15845632502852868e13));if(n<=-150)return Yi(o,v(2524354896707238e-44))}n=(n=(C=n)-((d=C+(n=g[2502]))-n))*n*(g[2504]+g[2503]*n)+(n*g[2505]+1),u(+d),c(1),a=o+(r=0|c(0))<<15,r=_=f[(o=19760+((31&r)<<3)|0)>>2],a=f[o+4>>2]+a|0,b(0,0|r),b(1,0|(r>>>0<r>>>0?a+1|0:a)),h=v(n*+l())}return h}return t=v(t-t),v(t/t)}function Ni(t){var e,i,r=v(0),n=v(0);if(s(t),(e=2147483647&(i=c(0)))>>>0>=1065353216)return v(1065353216==(0|e)?(0|i)<0?3.141592502593994:0:v(0)/v(t-t));t:{if(e>>>0<=1056964607){if(r=v(1.570796251296997),e>>>0<847249409)break t;return r=v(t*t),v(v(v(v(7.549789415861596e-8)-v(v(v(r*v(v(r*v(v(r*v(-.008656363002955914))+v(-.04274342209100723)))+v(.16666586697101593)))/v(v(r*v(-.7066296339035034))+v(1)))*t))-t)+v(1.570796251296997))}if((0|i)<=-1)return t=v(v(t+v(1))*v(.5)),r=v(E(t)),t=v(v(1.570796251296997)-v(r+v(v(r*v(v(t*v(v(t*v(v(t*v(-.008656363002955914))+v(-.04274342209100723)))+v(.16666586697101593)))/v(v(t*v(-.7066296339035034))+v(1))))+v(-7.549789415861596e-8)))),v(t+t);t=v(v(v(1)-t)*v(.5)),b(0,-4096&(s(n=v(E(t))),c(0))),r=k(),t=v(v(v(n*v(v(t*v(v(t*v(v(t*v(-.008656363002955914))+v(-.04274342209100723)))+v(.16666586697101593)))/v(v(t*v(-.7066296339035034))+v(1))))+v(v(t-v(r*r))/v(n+r)))+r),r=v(t+t)}return r}function Ji(t,e,i){xi(t+4|0,t+372|0,t+388|0,e,i)}function xi(t,e,i,r,n){var a,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=0;Z=a=Z-16|0,o=C[t+52>>2],_=C[t+56>>2],d=C[t+48>>2],h=C[e>>2],g=C[e+4>>2],m=C[e+8>>2],f[n+60>>2]=0,C[n+56>>2]=_+v(m*r),C[n+52>>2]=o+v(g*r),C[n+48>>2]=d+v(h*r),d=C[i>>2],y=C[i+4>>2],p=C[i+8>>2],o=(o=v(v(v(d*d)+v(y*y))+v(p*p)))>v(1.1920928955078125e-7)?v(E(o)):v(0),o=(_=v(o*r)>v(.7853981852531433)?v(v(.7853981852531433)/r):o)<v(.0010000000474974513)?v(v(r*v(.5))+v(_*v(v(v(v(r*r)*r)*v(-.02083333395421505))*_))):v(dr(v(v(_*v(.5))*r))/_),tt(t,a),h=C[a+12>>2],g=Cr(v(v(_*r)*v(.5))),m=v(d*o),R=C[a>>2],y=v(y*o),D=C[a+4>>2],o=v(p*o),p=C[a+8>>2],_=v(v(v(v(h*g)-v(m*R))-v(y*D))-v(o*p)),d=v(v(v(v(o*h)+v(g*p))+v(m*D))-v(y*R)),r=v(v(v(v(g*R)+v(m*h))+v(y*p))-v(o*D)),o=v(v(v(o*R)+v(v(y*h)+v(g*D)))-v(m*p)),(h=v(v(_*_)+v(v(d*d)+v(v(r*r)+v(o*o)))))>v(1.1920928955078125e-7)&&(h=v(v(1)/v(E(h))),_=v(_*h),d=v(d*h),o=v(o*h),r=v(r*h),h=v(v(_*_)+v(v(d*d)+v(v(o*o)+v(r*r))))),h>v(1.1920928955078125e-7)?(f[n+12>>2]=0,f[n+44>>2]=0,f[n+28>>2]=0,g=v(v(2)/h),h=v(d*g),m=v(o*h),R=v(r*g),y=v(_*R),C[n+36>>2]=m+y,D=v(r*h),g=v(o*g),p=v(_*g),C[n+32>>2]=D-p,C[n+24>>2]=m-y,m=v(r*g),_=v(_*h),C[n+16>>2]=m+_,C[n+8>>2]=D+p,C[n+4>>2]=m-_,r=v(r*R),o=v(o*g),C[n+40>>2]=v(1)-v(r+o),_=r,r=v(d*h),C[n+20>>2]=v(1)-v(_+r),C[n>>2]=v(1)-v(o+r)):(e=f[t+4>>2],f[n>>2]=f[t>>2],f[n+4>>2]=e,B=f[(i=t+8|0)+4>>2],f[(e=n+8|0)>>2]=f[i>>2],f[e+4>>2]=B,e=f[t+20>>2],f[n+16>>2]=f[t+16>>2],f[n+20>>2]=e,B=f[(i=t+24|0)+4>>2],f[(e=n+24|0)>>2]=f[i>>2],f[e+4>>2]=B,e=f[t+36>>2],f[n+32>>2]=f[t+32>>2],f[n+36>>2]=e,i=f[(t=t+40|0)+4>>2],f[(e=n+40|0)>>2]=f[t>>2],f[e+4>>2]=i),Z=a+16|0}function Ui(t,e){var i,r=0,n=0,a=0,o=0,_=0,h=0,d=0,g=v(0),m=0;Z=i=Z-32|0,e!=v(0)&&((r=f[t+540>>2])&&yt[f[f[r>>2]+8>>2]](r,t+4|0),f[t+384>>2]=0,r=t+380|0,e=v(v(1)/e),o=t+60|0,_=t+124|0,C[r>>2]=e*v(C[o>>2]-C[_>>2]),C[t+376>>2]=e*v(C[t+56>>2]-C[t+120>>2]),h=t+52|0,d=t+116|0,C[t+372>>2]=e*v(C[h>>2]-C[d>>2]),Mi(t+68|0,t+4|0,i+16|0,i+12|0),f[t+400>>2]=0,n=t+396|0,g=C[i+12>>2],C[n>>2]=e*v(g*C[i+24>>2]),C[t+392>>2]=e*v(g*C[i+20>>2]),C[t+388>>2]=e*v(g*C[i+16>>2]),m=f[r+4>>2],f[(a=t+140|0)>>2]=f[r>>2],f[a+4>>2]=m,r=f[t+376>>2],f[t+132>>2]=f[t+372>>2],f[t+136>>2]=r,r=f[t+392>>2],f[t+148>>2]=f[t+388>>2],f[t+152>>2]=r,a=f[n+4>>2],f[(r=t+156|0)>>2]=f[n>>2],f[r+4>>2]=a,r=f[t+8>>2],f[t+68>>2]=f[t+4>>2],f[t+72>>2]=r,a=f[(n=t+12|0)+4>>2],f[(r=t+76|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=t+20|0)+4>>2],f[(r=t+84|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=t+28|0)+4>>2],f[(r=t+92|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=t+44|0)+4>>2],f[(r=t+108|0)>>2]=f[n>>2],f[r+4>>2]=a,r=t+100|0,n=f[(t=t+36|0)+4>>2],f[r>>2]=f[t>>2],f[r+4>>2]=n,t=f[o+4>>2],f[_>>2]=f[o>>2],f[_+4>>2]=t,t=f[h+4>>2],f[d>>2]=f[h>>2],f[d+4>>2]=t),Z=i+32|0}function Mi(t,e,i,r){var n,a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0);Z=n=Z+-64|0,F=C[e+24>>2],V=C[e+20>>2],G=C[e+40>>2],w=C[e+36>>2],d=C[t+40>>2],g=C[t+20>>2],p=C[t+36>>2],m=C[t+24>>2],Q=C[e+8>>2],W=C[e>>2],Y=C[e+4>>2],z=C[e+16>>2],yt=C[e+32>>2],o=C[t+8>>2],_=C[t+4>>2],B=C[t+32>>2],y=C[t+16>>2],h=C[t>>2],f[n+60>>2]=0,f[n+44>>2]=0,Dt=v(v(g*d)-v(m*p)),It=v(v(m*B)-v(d*y)),St=v(v(p*y)-v(g*B)),a=v(v(1)/v(v(v(h*Dt)+v(_*It))+v(o*St))),pt=v(v(v(m*_)-v(g*o))*a),m=v(v(v(y*o)-v(m*h))*a),g=v(v(v(g*h)-v(y*_))*a),C[n+56>>2]=v(v(yt*pt)+v(w*m))+v(G*g),y=v(v(v(p*o)-v(d*_))*a),o=v(v(v(d*h)-v(B*o))*a),_=v(v(v(B*_)-v(p*h))*a),C[n+52>>2]=v(v(yt*y)+v(w*o))+v(G*_),C[n+40>>2]=v(v(pt*z)+v(m*V))+v(g*F),C[n+36>>2]=v(v(y*z)+v(o*V))+v(_*F),f[n+28>>2]=0,h=v(Dt*a),d=v(It*a),a=v(St*a),C[n+48>>2]=v(v(yt*h)+v(w*d))+v(G*a),C[n+32>>2]=v(v(h*z)+v(d*V))+v(a*F),C[n+24>>2]=v(Q*g)+v(v(W*pt)+v(Y*m)),C[n+20>>2]=v(Q*_)+v(v(W*y)+v(Y*o)),C[n+16>>2]=v(Q*a)+v(v(W*h)+v(Y*d)),tt(n+16|0,n),h=C[n>>2],_=C[n+4>>2],o=C[n+8>>2],d=C[n+12>>2],a=v(v(1)/v(E(v(v(v(v(h*h)+v(_*_))+v(o*o))+v(d*d))))),o=v(o*a),C[n+8>>2]=o,_=v(_*a),C[n+4>>2]=_,h=v(h*a),C[n>>2]=h,a=v(d*a),C[n+12>>2]=a,a=Ni(v(R(v(D(a,v(-1))),v(1)))),C[r>>2]=a+a,f[i+12>>2]=0,C[i+8>>2]=o,C[i+4>>2]=_,C[i>>2]=h,(a=v(v(v(h*h)+v(_*_))+v(o*o)))<v(14210854715202004e-30)?(f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=1065353216,f[i+4>>2]=0):(a=v(v(1)/v(E(a))),C[i+8>>2]=o*a,C[i+4>>2]=_*a,C[i>>2]=h*a),Z=n- -64|0}function Si(t,e){var i=v(0),r=0,n=v(0),a=v(0),o=v(0);(i=C[t+404>>2])!=v(0)&&(n=C[e>>2],a=C[e+4>>2],o=C[e+8>>2],f[t+436>>2]=0,i=v(v(1)/i),C[t+432>>2]=o*i,C[t+428>>2]=i*a,C[t+424>>2]=i*n),r=f[e+4>>2],f[t+440>>2]=f[e>>2],f[t+444>>2]=r,r=f[(e=e+8|0)+4>>2],f[(t=t+448|0)>>2]=f[e>>2],f[t+4>>2]=r}function Xi(t,e){var i=0,r=v(0),n=v(0),a=v(0),o=v(0),h=v(0),d=v(0),g=v(0),m=v(0);if(g=C[t+504>>2],n=Vi(v(v(1)-g),e),o=v(n*C[t+372>>2]),C[t+372>>2]=o,r=v(n*C[(i=t+376|0)>>2]),C[i>>2]=r,n=v(n*C[(i=t+380|0)>>2]),C[i>>2]=n,m=C[t+508>>2],a=Vi(v(v(1)-m),e),e=v(a*C[t+388>>2]),C[t+388>>2]=e,h=v(a*C[(i=t+392|0)>>2]),C[i>>2]=h,a=v(a*C[(i=t+396|0)>>2]),C[i>>2]=a,_[t+512|0]&&(v(v(v(e*e)+v(h*h))+v(a*a))<C[t+524>>2]^1|v(v(v(o*o)+v(r*r))+v(n*n))<C[t+520>>2]^1||(d=C[t+516>>2],a=v(a*d),C[t+396>>2]=a,h=v(h*d),C[t+392>>2]=h,e=v(e*d),C[t+388>>2]=e,n=v(n*d),C[t+380>>2]=n,r=v(r*d),C[t+376>>2]=r,o=v(o*d),C[t+372>>2]=o),(d=v(E(v(v(v(o*o)+v(r*r))+v(n*n)))))<g&&(d>v(.004999999888241291)?(g=n,n=v(v(1)/d),C[t+380>>2]=g-v(v(g*n)*v(.004999999888241291)),C[t+376>>2]=r-v(v(r*n)*v(.004999999888241291)),C[t+372>>2]=o-v(v(o*n)*v(.004999999888241291))):(f[(i=t+372|0)>>2]=0,f[i+4>>2]=0,f[(i=i+8|0)>>2]=0,f[i+4>>2]=0)),(r=v(E(v(v(v(e*e)+v(h*h))+v(a*a)))))<m)){if(r>v(.004999999888241291))return r=v(v(1)/r),C[t+396>>2]=a-v(v(a*r)*v(.004999999888241291)),C[t+392>>2]=h-v(v(h*r)*v(.004999999888241291)),void(C[t+388>>2]=e-v(v(e*r)*v(.004999999888241291)));f[(t=t+388|0)>>2]=0,f[t+4>>2]=0,f[(t=t+8|0)>>2]=0,f[t+4>>2]=0}}function Ti(t){var e=0;3&_[t+204|0]||(C[t+472>>2]=v(C[t+424>>2]*C[t+408>>2])+C[t+472>>2],C[(e=t+476|0)>>2]=v(C[t+428>>2]*C[t+412>>2])+C[e>>2],C[(e=t+480|0)>>2]=v(C[t+432>>2]*C[t+416>>2])+C[e>>2])}function ji(t,e){!function(t,e){var i,r=0,n=0,a=0,o=0,h=0,d=v(0),g=v(0),m=v(0),y=0,p=v(0),R=v(0),D=v(0),B=0,E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),Z=v(0);2&_[t+204|0]?(r=f[t+8>>2],f[t+68>>2]=f[t+4>>2],f[t+72>>2]=r,a=f[(n=t+12|0)+4>>2],f[(r=t+76|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=t+20|0)+4>>2],f[(r=t+84|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=t+28|0)+4>>2],f[(r=t+92|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=t+36|0)+4>>2],f[(r=t+100|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=t+44|0)+4>>2],f[(r=t+108|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=t+52|0)+4>>2],f[(r=t+116|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=t+60|0)+4>>2],f[(r=t+124|0)>>2]=f[n>>2],f[r+4>>2]=a):(r=f[e+4>>2],f[t+68>>2]=f[e>>2],f[t+72>>2]=r,a=f[(n=e+8|0)+4>>2],f[(r=t+76|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=e+24|0)+4>>2],f[(r=t+92|0)>>2]=f[n>>2],f[r+4>>2]=a,n=f[e+20>>2],f[(r=t+84|0)>>2]=f[e+16>>2],f[r+4>>2]=n,n=f[e+36>>2],f[(r=t+100|0)>>2]=f[e+32>>2],f[r+4>>2]=n,a=f[(n=e+40|0)+4>>2],f[(r=t+108|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=e+56|0)+4>>2],f[(r=t+124|0)>>2]=f[n>>2],f[r+4>>2]=a,n=f[e+52>>2],f[(r=t+116|0)>>2]=f[e+48>>2],f[r+4>>2]=n),r=f[t+392>>2],f[t+148>>2]=f[t+388>>2],f[t+152>>2]=r,r=f[t+376>>2],f[t+132>>2]=f[t+372>>2],f[t+136>>2]=r,a=f[(n=t+396|0)+4>>2],f[(r=t+156|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=t+380|0)+4>>2],f[(r=t+140|0)>>2]=f[n>>2],f[r+4>>2]=a,B=f[(a=e+8|0)+4>>2],f[(r=t+12|0)>>2]=f[a>>2],f[r+4>>2]=B,n=f[e+4>>2],f[t+4>>2]=f[e>>2],f[t+8>>2]=n,h=f[(B=e+24|0)+4>>2],f[(n=t+28|0)>>2]=f[B>>2],f[n+4>>2]=h,h=f[e+20>>2],f[(a=t+20|0)>>2]=f[e+16>>2],f[a+4>>2]=h,y=f[(o=e+40|0)+4>>2],f[(h=B=t+44|0)>>2]=f[o>>2],f[h+4>>2]=y,y=f[e+36>>2],f[(o=h=t+36|0)>>2]=f[e+32>>2],f[o+4>>2]=y,i=f[(y=e+56|0)+4>>2],f[(o=t+60|0)>>2]=f[y>>2],f[o+4>>2]=i,y=f[e+52>>2],f[(o=t+52|0)>>2]=f[e+48>>2],f[o+4>>2]=y,E=C[t+8>>2],F=C[r>>2],V=C[n>>2],G=C[a>>2],w=C[t+24>>2],p=C[B>>2],W=C[t+464>>2],R=C[h>>2],D=C[t+40>>2],Y=C[t+460>>2],Q=C[t+4>>2],Z=C[t+456>>2],f[t+368>>2]=0,f[t+352>>2]=0,f[t+336>>2]=0,d=v(Z*R),g=v(Y*D),m=v(W*p),C[t+364>>2]=v(v(R*d)+v(D*g))+v(p*m),C[t+360>>2]=v(v(G*d)+v(w*g))+v(V*m),C[t+356>>2]=v(v(Q*d)+v(E*g))+v(F*m),d=v(Z*G),g=v(Y*w),m=v(W*V),C[t+348>>2]=v(v(R*d)+v(D*g))+v(p*m),C[t+344>>2]=v(v(G*d)+v(w*g))+v(V*m),C[t+340>>2]=v(v(Q*d)+v(E*g))+v(F*m),d=R,R=v(Q*Z),g=D,D=v(E*Y),m=p,p=v(F*W),C[t+332>>2]=v(v(d*R)+v(g*D))+v(m*p),C[t+328>>2]=v(v(R*G)+v(D*w))+v(p*V),C[t+324>>2]=v(v(Q*R)+v(E*D))+v(F*p)}(t,e)}function Oi(t,e,i){var r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0);f[t+12>>2]=0,n=C[e+388>>2],p=(r=C[e+456>>2])!=v(0)?v(v(1)/r):v(0),R=C[e+20>>2],a=v(p*R),h=C[e+4>>2],G=(r=C[e+460>>2])!=v(0)?v(v(1)/r):v(0),D=C[e+24>>2],d=v(G*D),g=C[e+8>>2],w=(r=C[e+464>>2])!=v(0)?v(v(1)/r):v(0),B=C[e+28>>2],m=v(w*B),F=C[e+12>>2],r=C[e+392>>2],y=v(v(n*v(v(v(a*h)+v(d*g))+v(m*F)))+v(v(v(v(a*R)+v(d*D))+v(m*B))*r)),V=C[e+36>>2],o=d,d=C[e+40>>2],_=m,m=C[e+44>>2],o=v(v(v(a*V)+v(o*d))+v(_*m)),a=C[e+396>>2],Q=v(y+v(o*a)),_=v(p*h),y=v(G*g),o=v(w*F),y=v(v(v(v(v(v(_*h)+v(y*g))+v(o*F))*n)+v(r*v(v(v(_*R)+v(y*D))+v(o*B))))+v(v(v(v(_*V)+v(y*d))+v(o*m))*a)),_=v(v(n*Q)-v(r*y)),C[t+8>>2]=_,o=n,n=v(p*V),p=v(h*n),h=v(G*d),p=v(p+v(g*h)),g=v(w*m),R=v(v(v(o*v(p+v(F*g)))+v(r*v(v(v(n*R)+v(h*D))+v(g*B))))+v(a*v(v(v(n*V)+v(h*d))+v(g*m)))),n=v(v(a*y)-v(o*R)),C[t+4>>2]=n,r=v(v(r*R)-v(a*Q)),C[t>>2]=r,(a=v(v(_*_)+v(v(r*r)+v(n*n))))>v(i*i)&&(i=v(v(v(1)/v(E(a)))*i),C[t+8>>2]=_*i,C[t+4>>2]=n*i,C[t>>2]=r*i)}function Hi(t,e,i){var r,n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0);Z=r=Z-16|0,d=C[e+464>>2],n=C[e+460>>2],w=C[e+396>>2],Q=C[e+392>>2],_=C[e+456>>2],W=C[e+388>>2],tt(e+4|0,r),f[t+12>>2]=0,g=C[r+12>>2],m=C[r+4>>2],p=C[r+8>>2],o=v(v(v(W*g)-v(w*m))+v(Q*p)),R=C[r>>2],F=v(v(v(Q*m)+v(W*R))+v(w*p)),h=v(v(v(w*g)-v(Q*R))+v(W*m)),V=v(v(v(Q*g)-v(W*p))+v(w*R)),a=v(v(v(m*o)+v(v(p*F)+v(g*h)))-v(R*V)),B=v(a*v(0)),D=v(v(v(p*V)+v(v(R*F)+v(g*o)))-v(m*h)),G=v(D*v(0)),n=n!=v(0)?v(v(1)/n):v(0),o=v(v(v(R*h)+v(v(m*F)+v(g*V)))-v(p*o)),F=v(B+v(G+v(n*o))),_=_!=v(0)?v(v(1)/_):v(0),St=v(v(v(v(v(G-v(_*o))+v(0))+v(F+v(0)))*i)+v(0)),h=d!=v(0)?v(v(1)/d):v(0),E=v(o*v(0)),V=v(v(a*h)+v(G+E)),pt=v(B+v(v(_*D)+E)),d=v(v(v(a*pt)-v(D*V))*i),Y=v(a*v(-0)),Tt=v(_+v(v(E+v(v(_*v(0))+Y))*i)),z=v(o*v(-0)),Dt=v(v(v(v(v(z+v(n*D))+v(0))-pt)*i)+v(0)),E=v(v(v(v(E+v(v(0)-v(n*a)))+V)*i)+v(0)),It=v(v(v(v(v(B+v(0))-v(h*D))+pt)*i)+v(0)),yt=v(D*v(-0)),n=v(n+v(v(yt+v(v(n*v(0))+B))*i)),B=v(v(v(v(v(h*o)+v(Y+v(0)))-F)*i)+v(0)),Y=v(v(E*It)-v(n*B)),h=v(h+v(v(v(h*v(0))+v(z+G))*i)),z=v(v(n*h)-v(Dt*It)),G=v(v(v(v(yt+v(v(_*a)+v(0)))-V)*i)+v(0)),yt=v(v(Dt*B)-v(h*E)),_=v(v(St*Y)+v(v(Tt*z)+v(G*yt))),_=v(y(_))>v(1.1920928955078125e-7)?v(v(1)/_):_,Et=a,a=v(v(v(o*V)-v(a*F))*i),i=v(v(v(D*F)-v(o*pt))*i),n=v(Et-v(v(v(St*v(v(E*d)-v(n*a)))+v(v(Tt*v(v(n*i)-v(Dt*d)))+v(G*v(v(Dt*a)-v(E*i)))))*_)),o=v(o-v(v(v(St*v(v(It*a)-v(B*d)))+v(v(Tt*v(v(h*d)-v(It*i)))+v(G*v(v(B*i)-v(h*a)))))*_)),i=v(D-v(v(v(i*Y)+v(v(a*z)+v(d*yt)))*_)),a=v(v(v(g*n)+v(R*o))-v(m*i)),D=v(v(v(-v(R*i))-v(m*o))-v(p*n)),d=v(v(v(g*i)+v(m*n))-v(p*o)),i=v(v(v(p*i)+v(g*o))-v(R*n)),C[t+8>>2]=v(v(v(v(g*a)-v(D*p))-v(d*m))+v(i*R))-w,C[t+4>>2]=v(v(v(v(g*i)-v(D*m))-v(a*R))+v(d*p))-Q,C[t>>2]=v(v(v(v(g*d)-v(D*R))-v(i*p))+v(a*m))-W,Z=r+16|0}function zi(t,e,i){var r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),Z=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0);f[t+12>>2]=0,Y=(r=C[e+456>>2])!=v(0)?v(v(1)/r):v(0),p=C[e+36>>2],Q=v(Y*p),R=C[e+4>>2],_=(r=C[e+460>>2])!=v(0)?v(v(1)/r):v(0),F=C[e+40>>2],Z=v(_*F),a=C[e+8>>2],D=(r=C[e+464>>2])!=v(0)?v(v(1)/r):v(0),h=C[e+44>>2],yt=v(D*h),n=C[e+12>>2],o=v(v(v(Q*R)+v(Z*a))+v(yt*n)),r=C[e+388>>2],d=C[e+20>>2],V=v(Y*d),g=C[e+24>>2],W=v(_*g),m=C[e+28>>2],G=v(D*m),z=v(v(v(V*R)+v(W*a))+v(G*n)),pt=v(r*z),B=C[e+392>>2],w=v(v(v(V*d)+v(W*g))+v(G*m)),E=C[e+396>>2],W=v(v(v(V*p)+v(W*F))+v(G*h)),It=v(E*W),V=v(v(pt+v(B*w))+It),Dt=pt,G=v(Y*R),pt=v(_*a),D=v(D*n),a=v(v(v(G*R)+v(pt*a))+v(D*n)),Y=v(o+v(v(v(v(o*v(0))+v(Dt-v(a*B)))+V)*i)),_=v(v(v(G*d)+v(pt*g))+v(D*m)),Dt=v(r*o),g=v(v(v(Q*d)+v(Z*g))+v(yt*m)),d=v(B*g),n=v(v(v(Q*p)+v(Z*F))+v(yt*h)),R=v(v(Dt+d)+v(E*n)),d=v(_+v(v(R+v(d+v(v(_*v(0))-v(w*E))))*i)),yt=v(B*_),h=v(v(v(G*p)+v(pt*F))+v(D*h)),m=v(E*h),p=v(v(v(r*a)+yt)+m),Z=v(i*v(0)),F=v(v(V+v(v(v(E*p)-v(r*R))*i))-v(Z+V)),m=v(W+v(v(p+v(v(v(W*v(0))+m)-v(n*r)))*i)),_=v(w+v(v(v(v(w*v(0))+v(E*_))-v(g*r))*i)),Q=v(h+v(v(v(v(B*n)+v(v(h*v(0))-It))-V)*i)),G=v(v(d*m)-v(_*Q)),D=v(a+v(v(v(B*o)+v(v(a*v(0))-v(z*E)))*i)),n=v(n+v(v(v(n*v(0))+v(v(r*W)-v(h*B)))*i)),w=v(g+v(v(v(v(g*v(0))+v(v(r*w)-yt))-p)*i)),g=v(v(_*n)-v(w*m)),h=v(z+v(v(v(v(v(z*v(0))+v(E*a))-Dt)-R)*i)),z=v(v(w*Q)-v(d*n)),o=v(v(Y*G)+v(v(D*g)+v(h*z))),a=v(y(o))>v(1.1920928955078125e-7)?v(v(1)/o):o,o=v(v(p+v(v(v(B*R)-v(E*V))*i))-v(Z+p)),i=v(v(R+v(v(v(r*V)-v(B*p))*i))-v(Z+R)),C[t+8>>2]=v(E-v(v(v(Y*v(v(d*F)-v(_*o)))+v(v(D*v(v(_*i)-v(w*F)))+v(h*v(v(w*o)-v(d*i)))))*a))-E,C[t+4>>2]=v(B-v(v(v(Y*v(v(m*o)-v(Q*F)))+v(v(D*v(v(n*F)-v(m*i)))+v(h*v(v(Q*i)-v(n*o)))))*a))-B,C[t>>2]=v(r-v(v(v(i*G)+v(v(o*g)+v(F*z)))*a))-r}function Pi(t,e){var i=0,r=0,a=0,o=0,h=0;t:{e:if(!((0|(r=f[t+548>>2]))<1)){for(a=f[t+556>>2],i=r;;){if((0|e)!=f[a>>2]){if(a=a+4|0,i=i+-1|0)continue;break e}break}if(i)break t}if(f[t+552>>2]==(0|r)&&!((0|r)>=(0|(o=r?r<<1:1)))){if(o&&(h=dA(o<<2),r=f[t+548>>2]),(0|r)>=1)for(a=0,i=r;f[a+h>>2]=f[f[t+556>>2]+a>>2],a=a+4|0,i=i+-1|0;);(i=f[t+556>>2])&&(_[t+560|0]&&(CA(i),r=f[t+548>>2]),f[t+556>>2]=0),f[t+556>>2]=h,f[t+552>>2]=o,n[t+560|0]=1}f[f[t+556>>2]+(r<<2)>>2]=e,f[t+548>>2]=r+1,i=f[e+32>>2];e:if((0|t)!=(0|(h=f[e+28>>2]))){if((0|(e=f[i+288>>2]))==f[i+292>>2]&&!((0|e)>=(0|(o=e?e<<1:1)))){if(o?(r=dA(o<<2),e=f[i+288>>2]):r=0,(0|e)>=1)for(a=0,t=e;f[r+a>>2]=f[f[i+296>>2]+a>>2],a=a+4|0,t=t+-1|0;);(t=f[i+296>>2])&&(_[i+300|0]&&(CA(t),e=f[i+288>>2]),f[i+296>>2]=0),f[i+296>>2]=r,f[i+292>>2]=o,n[i+300|0]=1}t=i,i=h}else{if((0|(e=f[t+288>>2]))!=f[t+292>>2])break e;if((0|e)>=(0|(o=e?e<<1:1)))break e;if(o?(h=dA(o<<2),e=f[t+288>>2]):h=0,(0|e)>=1)for(a=0,r=e;f[a+h>>2]=f[f[t+296>>2]+a>>2],a=a+4|0,r=r+-1|0;);(r=f[t+296>>2])&&(_[t+300|0]&&(CA(r),e=f[t+288>>2]),f[t+296>>2]=0),f[t+296>>2]=h,f[t+292>>2]=o,n[t+300|0]=1}f[t+288>>2]=e+1,f[t+280>>2]=(-1^e)>>>31,f[f[t+296>>2]+(e<<2)>>2]=i}}function Ki(t,e){var i=0,r=0,n=0,a=0,o=0;t:if(!((0|(a=f[t+548>>2]))<1)){for(r=n=f[t+556>>2];;){if((0|e)!=f[r>>2]){if(r=r+4|0,(0|a)!=(0|(i=i+1|0)))continue;break t}break}if(!((0|i)>=(0|a))){i=0,r=n;e:{for(;;){if((0|e)!=f[r>>2]){if(r=r+4|0,(0|a)!=(0|(i=i+1|0)))continue;break e}break}(0|a)<=(0|i)||(o=r,i=n,n=(r=a+-1|0)<<2,f[o>>2]=f[i+n>>2],f[t+548>>2]=r,f[n+f[t+556>>2]>>2]=e)}if(a=f[e+32>>2],(0|t)==(0|(n=f[e+28>>2]))){e:if(!((0|(e=f[t+288>>2]))<1)){for(i=0,r=n=f[t+296>>2];;){if(f[r>>2]!=(0|a)){if(r=r+4|0,(0|(i=i+1|0))!=(0|e))continue;break e}break}(0|e)<=(0|i)||(i=n,n=(e=e+-1|0)<<2,f[r>>2]=f[i+n>>2],f[t+288>>2]=e,f[n+f[t+296>>2]>>2]=a)}return void(f[t+280>>2]=(0|e)>0)}e:if(!((0|(e=f[a+288>>2]))<1)){for(i=0,r=t=f[a+296>>2];;){if(f[r>>2]!=(0|n)){if(r=r+4|0,(0|(i=i+1|0))!=(0|e))continue;break e}break}(0|e)<=(0|i)||(i=t,t=(e=e+-1|0)<<2,f[r>>2]=f[i+t>>2],f[a+288>>2]=e,f[t+f[a+296>>2]>>2]=n)}f[a+280>>2]=(0|e)>0}}}function Li(t){var e=0;f[t>>2]=20180,n[t+20|0]=1,f[t+16>>2]=0,n[t+40|0]=1,f[(e=t+8|0)>>2]=0,f[e+4>>2]=0,f[t+36>>2]=0,n[t+60|0]=1,f[(e=t+28|0)>>2]=0,f[e+4>>2]=0,f[t+56>>2]=0,n[t+80|0]=1,f[(e=t+48|0)>>2]=0,f[e+4>>2]=0,f[t+76>>2]=0,n[t+100|0]=1,f[(e=t+68|0)>>2]=0,f[e+4>>2]=0,f[t+96>>2]=0,n[t+120|0]=1,f[(e=t+88|0)>>2]=0,f[e+4>>2]=0,f[t+116>>2]=0,n[t+140|0]=1,f[(e=t+108|0)>>2]=0,f[e+4>>2]=0,f[t+136>>2]=0,f[(e=t+128|0)>>2]=0,f[e+4>>2]=0,n[t+160|0]=1,f[t+156>>2]=0,f[(e=t+148|0)>>2]=0,f[e+4>>2]=0,n[t+180|0]=1,f[t+176>>2]=0,f[(e=t+168|0)>>2]=0,f[e+4>>2]=0,n[t+208|0]=1,f[t+232>>2]=0,f[t+204>>2]=0,f[(e=t+196|0)>>2]=0,f[e+4>>2]=0,f[t+224>>2]=0,f[t+212>>2]=534,f[t+216>>2]=535,f[t+220>>2]=536}function qi(t){var e=0;return f[(t|=0)>>2]=20180,(e=f[t+204>>2])&&(_[t+208|0]&&CA(e),f[t+204>>2]=0),f[t+204>>2]=0,f[t+196>>2]=0,f[t+200>>2]=0,n[t+208|0]=1,(e=f[t+176>>2])&&(_[t+180|0]&&CA(e),f[t+176>>2]=0),f[t+176>>2]=0,f[t+168>>2]=0,f[t+172>>2]=0,n[t+180|0]=1,(e=f[t+156>>2])&&(_[t+160|0]&&CA(e),f[t+156>>2]=0),f[t+156>>2]=0,f[t+148>>2]=0,f[t+152>>2]=0,n[t+160|0]=1,(e=f[t+136>>2])&&(_[t+140|0]&&CA(e),f[t+136>>2]=0),f[t+136>>2]=0,f[t+128>>2]=0,f[t+132>>2]=0,n[t+140|0]=1,(e=f[t+116>>2])&&(_[t+120|0]&&CA(e),f[t+116>>2]=0),f[t+116>>2]=0,f[t+108>>2]=0,f[t+112>>2]=0,n[t+120|0]=1,(e=f[t+96>>2])&&(_[t+100|0]&&CA(e),f[t+96>>2]=0),f[t+96>>2]=0,f[t+88>>2]=0,f[t+92>>2]=0,n[t+100|0]=1,(e=f[t+76>>2])&&(_[t+80|0]&&CA(e),f[t+76>>2]=0),f[t+76>>2]=0,f[t+68>>2]=0,f[t+72>>2]=0,n[t+80|0]=1,(e=f[t+56>>2])&&(_[t+60|0]&&CA(e),f[t+56>>2]=0),f[t+56>>2]=0,f[t+48>>2]=0,f[t+52>>2]=0,n[t+60|0]=1,(e=f[t+36>>2])&&(_[t+40|0]&&CA(e),f[t+36>>2]=0),f[t+36>>2]=0,f[t+28>>2]=0,f[t+32>>2]=0,n[t+40|0]=1,(e=f[t+16>>2])&&(_[t+20|0]&&CA(e),f[t+16>>2]=0),f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,n[t+20|0]=1,0|t}function $i(t,e,i,r,a,o,h,d,g,y,p,R){var D=0,B=0,E=0,F=0,V=0;if(D=B=f[t+68>>2],(0|B)==f[t+72>>2]&&(D=B,!((0|B)>=(0|(E=B?B<<1:1))))){if(E?(V=dA(m(E,152)),D=f[t+68>>2]):D=B,(0|(F=D))>=1)for(D=0;J(D+V|0,f[t+76>>2]+D|0,152),D=D+152|0,F=F+-1|0;);(D=f[t+76>>2])&&(_[t+80|0]&&CA(D),f[t+76>>2]=0),f[t+76>>2]=V,f[t+72>>2]=E,n[t+80|0]=1,D=f[t+68>>2]}f[t+68>>2]=D+1,B=f[t+76>>2]+m(B,152)|0,f[B+140>>2]=a,function(t,e,i,r,n,a,o,h,d,g,y,p){var R,D,B,E=0,F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),Z=v(0),z=v(0),yt=0,pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=0,Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0),Zt=v(0);f[e+148>>2]=n,f[e+144>>2]=r,f[e+96>>2]=0,f[e+100>>2]=0,xt=C[a+84>>2],B=f[a+84>>2],f[e+104>>2]=B,D=f[t+16>>2],t=f[240+(D+m(n,244)|0)>>2],R=f[240+(m(r,244)+D|0)>>2],f[e+132>>2]=0,E=e+16|0,R?(yt=f[i+4>>2],f[E>>2]=f[i>>2],f[E+4>>2]=yt,Qt=f[(yt=i+8|0)+4>>2],f[(E=E+8|0)>>2]=f[yt>>2],f[E+4>>2]=Qt,w=C[o+8>>2],Q=C[o>>2],W=C[o+4>>2],f[e+12>>2]=0,St=C[e+20>>2],pt=C[e+16>>2],Et=v(v(Q*St)-v(W*pt)),C[e+8>>2]=Et,Dt=C[e+24>>2],Q=v(v(w*pt)-v(Q*Dt)),C[e+4>>2]=Q,w=v(v(W*Dt)-v(w*St)),C[e>>2]=w,W=C[R+612>>2],V=C[R+364>>2],G=C[R+356>>2],F=C[R+360>>2],Ot=C[R+608>>2],Nt=C[R+348>>2],Ft=C[R+340>>2],Y=C[R+344>>2],Z=C[R+332>>2],Vt=C[R+328>>2],It=C[R+604>>2],z=C[R+324>>2],f[e+76>>2]=0,Z=v(It*v(v(v(w*z)+v(Q*Vt))+v(Et*Z))),C[e+64>>2]=Z,Vt=v(Ot*v(v(v(w*Ft)+v(Q*Y))+v(Et*Nt))),C[e+68>>2]=Vt,It=v(W*v(v(v(w*G)+v(Q*F))+v(Et*V))),C[e+72>>2]=It):(f[e+64>>2]=0,f[e+68>>2]=0,f[e>>2]=0,f[e+4>>2]=0,f[(yt=e+72|0)>>2]=0,f[yt+4>>2]=0,f[(yt=e+8|0)>>2]=0,f[yt+4>>2]=0,f[E>>2]=0,f[E+4>>2]=0,f[(E=e+24|0)>>2]=0,f[E+4>>2]=0),t?(V=C[i>>2],G=C[i+4>>2],F=C[i+8>>2],f[e+60>>2]=0,Ot=v(-F),C[e+56>>2]=Ot,Nt=v(-G),C[e+52>>2]=Nt,Ft=v(-V),C[e+48>>2]=Ft,Y=C[h+8>>2],Tt=C[h+4>>2],z=C[h>>2],f[e+44>>2]=0,W=v(v(Tt*V)-v(z*G)),C[e+40>>2]=W,V=v(v(z*F)-v(Y*V)),C[e+36>>2]=V,G=v(v(Y*G)-v(Tt*F)),C[e+32>>2]=G,Tt=C[t+332>>2],z=C[t+328>>2],Y=C[t+608>>2],Lt=C[t+348>>2],Gt=C[t+340>>2],wt=C[t+344>>2],F=C[t+612>>2],Wt=C[t+364>>2],Yt=C[t+356>>2],Pt=C[t+360>>2],Mt=C[t+604>>2],Zt=C[t+324>>2],f[e+92>>2]=0,F=v(F*v(v(v(G*Yt)+v(V*Pt))+v(W*Wt))),C[e+88>>2]=F,Y=v(Y*v(v(v(G*Gt)+v(V*wt))+v(W*Lt))),C[e+84>>2]=Y,Tt=v(Mt*v(v(v(G*Zt)+v(V*z))+v(W*Tt))),C[e+80>>2]=Tt):(f[e+80>>2]=0,f[e+84>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[(E=e+88|0)>>2]=0,f[E+4>>2]=0,f[(E=e+40|0)>>2]=0,f[E+4>>2]=0,f[(E=e+48|0)>>2]=0,f[E+4>>2]=0,f[(E=e+56|0)>>2]=0,f[E+4>>2]=0,W=v(0),V=v(0),G=v(0),Ot=v(0),Nt=v(0),Ft=v(0),F=v(0),Y=v(0)),E=e,Lt=d,R?(d=C[o+8>>2],z=C[o+4>>2],wt=v(v(v(Vt*d)-v(It*z))*C[i>>2]),Gt=It,It=C[o>>2],d=v(C[R+404>>2]+v(v(wt+v(v(v(Gt*It)-v(d*Z))*C[i+4>>2]))+v(v(v(z*Z)-v(Vt*It))*C[i+8>>2])))):d=v(0),It=d,t?(d=C[h+4>>2],Z=C[h+8>>2],Gt=v(v(v(d*F)-v(Z*Y))*C[i>>2]),z=v(Z*Tt),Z=C[h>>2],d=v(C[t+404>>2]+v(v(Gt+v(v(z-v(Z*F))*C[i+4>>2]))+v(v(v(Z*Y)-v(d*Tt))*C[i+8>>2])))):d=v(0),d=v(Lt/v(It+d)),C[E+108>>2]=d,R?(r=m(r,244)+D|0,St=v(v(v(v(C[r+176>>2]+C[r+208>>2])*pt)+v(v(C[r+180>>2]+C[r+212>>2])*St))+v(v(C[r+184>>2]+C[r+216>>2])*Dt)),F=C[r+192>>2],Dt=C[r+200>>2],pt=C[r+196>>2]):(F=v(0),St=v(v(v(pt*v(0))+v(St*v(0)))+v(Dt*v(0))),Dt=v(0),pt=v(0)),St=v(St+v(v(v(F*w)+v(pt*Q))+v(Dt*Et))),t?(t=m(n,244)+D|0,w=v(v(v(v(C[t+176>>2]+C[t+208>>2])*Ft)+v(v(C[t+180>>2]+C[t+212>>2])*Nt))+v(v(C[t+184>>2]+C[t+216>>2])*Ot)),pt=C[t+192>>2],Q=C[t+200>>2],Dt=C[t+196>>2]):(Q=v(0),w=v(v(v(Ft*v(0))+v(Nt*v(0)))+v(Ot*v(0))),pt=v(0),Dt=v(0)),Et=16&_[a+120|0]?v(d*v(v(-v(C[g+44>>2]*v(v(v(v(C[a+48>>2]-C[a+32>>2])*C[i>>2])+v(v(C[a+52>>2]-C[a+36>>2])*C[i+4>>2]))+v(v(C[a+56>>2]-C[a+40>>2])*C[i+8>>2]))))/C[g+12>>2])):v(0),f[e+128>>2]=0,f[e+124>>2]=B,C[e+116>>2]=p,C[e+112>>2]=v(d*v(y-v(St+v(w+v(v(v(pt*G)+v(Dt*V))+v(Q*W))))))+Et,C[e+120>>2]=-xt}(t,B,e,i,r,o,h,d,g,y,p,R)}function Af(t,e,i,r,a,o){var h=0,d=0,g=0,y=0,p=0;if(h=d=f[t+88>>2],(0|d)==f[t+92>>2]&&(h=d,!((0|d)>=(0|(g=d?d<<1:1))))){if(g?(p=dA(m(g,152)),h=f[t+88>>2]):h=d,(0|(y=h))>=1)for(h=0;J(h+p|0,f[t+96>>2]+h|0,152),h=h+152|0,y=y+-1|0;);(h=f[t+96>>2])&&(_[t+100|0]&&CA(h),f[t+96>>2]=0),f[t+96>>2]=p,f[t+92>>2]=g,n[t+100|0]=1,h=f[t+88>>2]}f[t+88>>2]=h+1,d=f[t+96>>2]+m(d,152)|0,f[d+140>>2]=a,function(t,e,i,r,n,a){var o,_,h=0,d=v(0),g=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=0,w=v(0),Q=0,W=0,Y=0,Z=0,z=v(0),yt=v(0),pt=v(0);f[e+48>>2]=-2147483648,f[e+52>>2]=-2147483648,f[e+16>>2]=0,f[e+20>>2]=0,f[(h=e+56|0)>>2]=-2147483648,f[h+4>>2]=0,f[(h=e+24|0)>>2]=0,f[h+4>>2]=0,C[e+104>>2]=a,f[e+96>>2]=0,f[e+100>>2]=0,o=f[t+16>>2],t=f[240+(o+m(r,244)|0)>>2],h=f[240+(m(n,244)+o|0)>>2],f[e+132>>2]=0,f[e+148>>2]=n,f[e+144>>2]=r,y=C[i>>2],p=C[i+4>>2],R=C[i+8>>2],f[e+12>>2]=0,d=v(-R),C[e+8>>2]=d,D=v(-p),C[e+4>>2]=D,g=v(-y),C[e>>2]=g,_=e,t?(s(v(v(v(v(C[t+356>>2]*g)+v(C[t+360>>2]*D))+v(C[t+364>>2]*d))*C[t+612>>2])),Q=c(0),s(v(v(v(v(C[t+340>>2]*g)+v(C[t+344>>2]*D))+v(C[t+348>>2]*d))*C[t+608>>2])),W=c(0),s(v(v(v(v(C[t+324>>2]*g)+v(C[t+328>>2]*D))+v(C[t+332>>2]*d))*C[t+604>>2])),G=c(0)):G=0,f[_+64>>2]=G,f[e+76>>2]=0,f[e+72>>2]=Q,f[e+68>>2]=W,y=C[i>>2],p=C[i+4>>2],R=C[i+8>>2],f[e+44>>2]=f[i+12>>2],C[e+40>>2]=R,C[e+36>>2]=p,C[e+32>>2]=y,i=0,h&&(s(v(v(v(v(y*C[h+356>>2])+v(p*C[h+360>>2]))+v(R*C[h+364>>2]))*C[h+612>>2])),Y=c(0),s(v(v(v(v(y*C[h+324>>2])+v(p*C[h+328>>2]))+v(R*C[h+332>>2]))*C[h+604>>2])),Z=c(0),s(v(v(v(v(y*C[h+340>>2])+v(p*C[h+344>>2]))+v(R*C[h+348>>2]))*C[h+608>>2])),i=c(0)),f[e+80>>2]=Z,f[e+92>>2]=0,f[e+88>>2]=Y,f[e+84>>2]=i,i=e,t?(E=v(v(v(C[t+356>>2]*g)+v(C[t+360>>2]*D))+v(C[t+364>>2]*d)),B=v(v(v(C[t+340>>2]*g)+v(C[t+344>>2]*D))+v(C[t+348>>2]*d)),w=v(v(v(C[t+324>>2]*g)+v(C[t+328>>2]*D))+v(C[t+332>>2]*d))):w=v(0),E=v(v(v(v(w*g)+v(B*D))+v(E*d))+v(0)),h?(F=v(v(v(y*C[h+356>>2])+v(p*C[h+360>>2]))+v(R*C[h+364>>2])),z=v(v(v(y*C[h+340>>2])+v(p*C[h+344>>2]))+v(R*C[h+348>>2])),B=v(v(v(C[h+324>>2]*y)+v(C[h+328>>2]*p))+v(C[h+332>>2]*R))):B=v(0),F=v(v(1)/v(E+v(v(v(B*y)+v(z*p))+v(F*R)))),C[i+108>>2]=F,B=v(0),E=v(0),t&&(t=m(r,244)+o|0,V=v(v(v(v(C[t+176>>2]+C[t+208>>2])*v(0))+v(v(C[t+180>>2]+C[t+212>>2])*v(0)))+v(v(C[t+184>>2]+C[t+216>>2])*v(0))),B=C[t+196>>2],yt=C[t+200>>2],E=C[t+192>>2]),D=v(V+v(v(yt*d)+v(v(B*D)+v(E*g)))),h?(t=m(n,244)+o|0,d=v(v(v(v(C[t+176>>2]+C[t+208>>2])*v(-0))+v(v(C[t+180>>2]+C[t+212>>2])*v(-0)))+v(v(C[t+184>>2]+C[t+216>>2])*v(-0))),V=C[t+192>>2],pt=C[t+200>>2],g=C[t+196>>2]):(d=v(-0),V=v(0),g=v(0)),C[e+124>>2]=a,C[e+116>>2]=0,C[e+120>>2]=-a,C[e+112>>2]=F*v(v(0)-v(D+v(d+v(v(R*pt)+v(v(p*g)+v(y*V))))))}(t,d,e,i,r,o)}function ef(t,e,i){var r,n=0;return Z=r=Z-256|0,(0|(n=f[e+212>>2]))>-1||(2&(n=f[e+252>>2])&&(2&_[(n=n<<30>>31&e)+204|0]||C[n+404>>2]!=v(0))?(n=f[t+8>>2],X(r+8|0,0,244),function(t,e,i){var r=0,n=0,a=0,o=v(0),_=v(0),h=v(0),d=v(0),g=0,m=v(0),y=v(0),p=v(0),R=v(0),D=v(0);e=e?f[e+252>>2]<<30>>31&e:0,f[t+64>>2]=0,f[t+68>>2]=0,f[t+144>>2]=0,f[t+148>>2]=0,f[(r=t+88|0)>>2]=0,f[r+4>>2]=0,f[(r=t+80|0)>>2]=0,f[r+4>>2]=0,f[(r=t+72|0)>>2]=0,f[r+4>>2]=0,f[(r=t+152|0)>>2]=0,f[r+4>>2]=0,f[(r=t+160|0)>>2]=0,f[r+4>>2]=0,f[(r=t+168|0)>>2]=0,f[r+4>>2]=0,e?(r=f[e+8>>2],f[t>>2]=f[e+4>>2],f[t+4>>2]=r,n=f[(r=e+12|0)+4>>2],f[(a=t+8|0)>>2]=f[r>>2],f[a+4>>2]=n,n=f[(r=e+28|0)+4>>2],f[(a=t+24|0)>>2]=f[r>>2],f[a+4>>2]=n,n=f[(r=e+20|0)+4>>2],f[t+16>>2]=f[r>>2],f[t+20>>2]=n,n=f[(r=e+44|0)+4>>2],f[(a=t+40|0)>>2]=f[r>>2],f[a+4>>2]=n,n=f[(r=e+36|0)+4>>2],f[t+32>>2]=f[r>>2],f[t+36>>2]=n,n=f[(r=e+52|0)+4>>2],f[t+48>>2]=f[r>>2],f[t+52>>2]=n,n=f[(r=e+60|0)+4>>2],f[(a=t+56|0)>>2]=f[r>>2],f[a+4>>2]=n,_=C[e+412>>2],h=C[(r=e+416|0)>>2],d=C[e+408>>2],o=C[e+404>>2],f[t+140>>2]=0,C[t+136>>2]=o*h,C[t+132>>2]=o*_,C[t+128>>2]=o*d,f[t+240>>2]=e,a=f[(n=e+612|0)+4>>2],f[(g=t+104|0)>>2]=f[n>>2],f[g+4>>2]=a,n=f[e+608>>2],f[t+96>>2]=f[e+604>>2],f[t+100>>2]=n,n=f[r+4>>2],f[(a=t+120|0)>>2]=f[r>>2],f[a+4>>2]=n,r=f[e+412>>2],f[t+112>>2]=f[e+408>>2],f[t+116>>2]=r,n=f[(r=e+380|0)+4>>2],f[(a=t+184|0)>>2]=f[r>>2],f[a+4>>2]=n,r=f[e+376>>2],f[t+176>>2]=f[e+372>>2],f[t+180>>2]=r,r=f[e+392>>2],f[t+192>>2]=f[e+388>>2],f[t+196>>2]=r,n=f[(r=e+396|0)+4>>2],f[(a=t+200|0)>>2]=f[r>>2],f[a+4>>2]=n,_=C[e+476>>2],h=C[e+480>>2],d=C[e+472>>2],o=C[e+404>>2],f[t+220>>2]=0,C[t+216>>2]=v(o*h)*i,C[t+212>>2]=v(o*_)*i,C[t+208>>2]=v(o*d)*i,d=C[e+340>>2],m=C[e+356>>2],y=C[e+328>>2],p=C[e+344>>2],R=C[e+360>>2],D=C[e+324>>2],o=C[e+488>>2],_=C[e+492>>2],h=C[e+496>>2],C[t+232>>2]=v(v(v(o*C[e+332>>2])+v(_*C[e+348>>2]))+v(h*C[e+364>>2]))*i,C[t+228>>2]=v(v(v(o*y)+v(_*p))+v(h*R))*i,C[t+224>>2]=v(v(v(D*o)+v(d*_))+v(m*h))*i):(f[t+4>>2]=0,f[t+8>>2]=0,f[t>>2]=1065353216,f[t+32>>2]=0,f[t+36>>2]=0,f[t+240>>2]=0,f[t+128>>2]=0,f[t+132>>2]=0,f[t+112>>2]=1065353216,f[t+116>>2]=1065353216,f[t+96>>2]=1065353216,f[t+100>>2]=1065353216,f[t+176>>2]=0,f[t+180>>2]=0,f[(e=t+12|0)>>2]=0,f[e+4>>2]=0,f[(e=t+24|0)>>2]=0,f[e+4>>2]=0,f[t+20>>2]=1065353216,f[(e=t+44|0)>>2]=0,f[e+4>>2]=0,f[t+40>>2]=1065353216,f[(e=t+52|0)>>2]=0,f[e+4>>2]=0,f[t+60>>2]=0,f[(e=t+136|0)>>2]=0,f[e+4>>2]=0,f[(e=t+120|0)>>2]=1065353216,f[e+4>>2]=0,f[(e=t+104|0)>>2]=1065353216,f[e+4>>2]=0,f[t+232>>2]=0,f[(e=t+224|0)>>2]=0,f[e+4>>2]=0,f[(e=t+216|0)>>2]=0,f[e+4>>2]=0,f[(e=t+208|0)>>2]=0,f[e+4>>2]=0,f[(e=t+200|0)>>2]=0,f[e+4>>2]=0,f[(e=t+192|0)>>2]=0,f[e+4>>2]=0,f[(e=t+184|0)>>2]=0,f[e+4>>2]=0),f[t+236>>2]=0}(rf(t+4|0,r+8|0),e,i),f[e+212>>2]=n):(0|(n=f[t+188>>2]))>-1||(f[t+188>>2]=f[t+8>>2],X(r+8|0,0,244),e=rf(t+4|0,r+8|0),f[(n=e+88|0)>>2]=0,f[n+4>>2]=0,f[(n=e+80|0)>>2]=0,f[n+4>>2]=0,f[(n=e+72|0)>>2]=0,f[n+4>>2]=0,f[e+64>>2]=0,f[e+68>>2]=0,f[e+144>>2]=0,f[e+148>>2]=0,f[(n=e+152|0)>>2]=0,f[n+4>>2]=0,f[(n=e+160|0)>>2]=0,f[n+4>>2]=0,f[(n=e+168|0)>>2]=0,f[n+4>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1065353216,f[(n=e+12|0)>>2]=0,f[n+4>>2]=0,f[(n=e+24|0)>>2]=0,f[n+4>>2]=0,f[e+20>>2]=1065353216,f[e+32>>2]=0,f[e+36>>2]=0,f[(n=e+44|0)>>2]=0,f[n+4>>2]=0,f[e+40>>2]=1065353216,f[(n=e+52|0)>>2]=0,f[n+4>>2]=0,f[e+60>>2]=0,f[(n=e+136|0)>>2]=0,f[n+4>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[(n=e+120|0)>>2]=1065353216,f[n+4>>2]=0,f[e+112>>2]=1065353216,f[e+116>>2]=1065353216,f[(n=e+104|0)>>2]=1065353216,f[n+4>>2]=0,f[e+96>>2]=1065353216,f[e+100>>2]=1065353216,f[(n=e+232|0)>>2]=0,f[n+4>>2]=0,f[(n=e+224|0)>>2]=0,f[n+4>>2]=0,f[(n=e+216|0)>>2]=0,f[n+4>>2]=0,f[(n=e+208|0)>>2]=0,f[n+4>>2]=0,f[(n=e+200|0)>>2]=0,f[n+4>>2]=0,f[(n=e+192|0)>>2]=0,f[n+4>>2]=0,f[(n=e+184|0)>>2]=0,f[n+4>>2]=0,f[e+176>>2]=0,f[e+180>>2]=0,f[e+240>>2]=0,n=f[t+188>>2])),Z=r+256|0,n}function rf(t,e){var i=0,r=0,a=0,o=0,h=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0;if(d=a=f[t+4>>2],(0|a)==f[t+8>>2]&&(d=a,!((0|a)>=(0|(y=a?a<<1:1))))){if(y?(R=dA(m(y,244)),d=f[t+4>>2]):d=a,(0|d)>=1)for(i=64;C=f[t+12>>2]+i|0,v=f[(o=C+-64|0)+4>>2],f[(r=(h=i+R|0)+-64|0)>>2]=f[o>>2],f[r+4>>2]=v,g=f[(o=o+8|0)+4>>2],f[(r=r+8|0)>>2]=f[o>>2],f[r+4>>2]=g,p=f[(v=(r=C+-48|0)+8|0)+4>>2],f[(g=(o=h+-48|0)+8|0)>>2]=f[v>>2],f[g+4>>2]=p,g=f[r+4>>2],f[o>>2]=f[r>>2],f[o+4>>2]=g,p=f[(v=(r=C+-32|0)+8|0)+4>>2],f[(g=(o=h+-32|0)+8|0)>>2]=f[v>>2],f[g+4>>2]=p,g=f[r+4>>2],f[o>>2]=f[r>>2],f[o+4>>2]=g,v=f[(o=C+-16|0)+4>>2],f[(r=h+-16|0)>>2]=f[o>>2],f[r+4>>2]=v,g=f[(o=o+8|0)+4>>2],f[(r=r+8|0)>>2]=f[o>>2],f[r+4>>2]=g,J(h,C,180),i=i+244|0,d=d+-1|0;);(d=f[t+12>>2])&&(_[t+16|0]&&CA(d),f[t+12>>2]=0),f[t+12>>2]=R,n[t+16|0]=1,f[t+8>>2]=y,d=f[t+4>>2]}return f[t+4>>2]=d+1,C=f[(h=e+8|0)+4>>2],a=(d=m(a,244))+f[t+12>>2]|0,f[(i=a+8|0)>>2]=f[h>>2],f[i+4>>2]=C,i=f[e+4>>2],f[a>>2]=f[e>>2],f[a+4>>2]=i,C=f[(h=e+24|0)+4>>2],f[(i=a+24|0)>>2]=f[h>>2],f[i+4>>2]=C,i=f[e+20>>2],f[a+16>>2]=f[e+16>>2],f[a+20>>2]=i,i=f[e+36>>2],f[a+32>>2]=f[e+32>>2],f[a+36>>2]=i,C=f[(h=e+40|0)+4>>2],f[(i=a+40|0)>>2]=f[h>>2],f[i+4>>2]=C,i=f[e+52>>2],f[a+48>>2]=f[e+48>>2],f[a+52>>2]=i,C=f[(h=e+56|0)+4>>2],f[(i=a+56|0)>>2]=f[h>>2],f[i+4>>2]=C,J(a- -64|0,e- -64|0,180),d+f[t+12>>2]|0}function ff(t,e,i,r,n,a,o,h,d){var g,p,R,B,E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=0,Z=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=0,Gt=v(0);f[o>>2]=f[a+28>>2],R=(p=f[t+16>>2])+m(r,244)|0,t=f[R+240>>2],B=m(i,244)+p|0,g=f[B+240>>2],pt=C[a+12>>2],Ft=C[a+36>>2],Q=C[a+40>>2];t:if(6&(Y=f[n+120>>2])){if(Q=2&Y?C[n+144>>2]:Q,!(4&Y))break t;Ft=C[n+148>>2]}else 8&Y&&(F=v(pt*C[n+144>>2]),E=v(D(v(F+C[n+148>>2]),v(1.1920928955078125e-7))),Ft=v(F/E),Q=v(v(1)/E));E=C[n+68>>2],F=C[h>>2],G=C[h+4>>2],V=C[n+64>>2],Z=v(v(E*F)-v(G*V)),w=C[h+8>>2],z=v(w*V),V=C[n+72>>2],W=v(z-v(V*F)),yt=v(v(G*V)-v(w*E)),w=v(0),E=v(0),F=v(0),g&&(It=v(v(v(v(yt*C[g+356>>2])+v(W*C[g+360>>2]))+v(Z*C[g+364>>2]))*C[g+612>>2]),F=v(v(v(v(yt*C[g+340>>2])+v(W*C[g+344>>2]))+v(Z*C[g+348>>2]))*C[g+608>>2]),E=v(v(v(v(yt*C[g+324>>2])+v(W*C[g+328>>2]))+v(Z*C[g+332>>2]))*C[g+604>>2])),C[e+64>>2]=E,f[e+76>>2]=0,C[e+72>>2]=It,C[e+68>>2]=F,G=C[n+68>>2],V=C[d>>2],z=C[d+4>>2],Dt=C[n+64>>2],Tt=v(v(G*V)-v(z*Dt)),Ot=C[d+8>>2],Et=C[n+72>>2],Dt=v(v(Ot*Dt)-v(Et*V)),Et=v(v(z*Et)-v(Ot*G)),G=v(0),V=v(0),Ot=v(v(1)/pt),t&&(w=v(-Et),V=v(v(v(v(C[t+356>>2]*w)-v(C[t+360>>2]*Dt))-v(C[t+364>>2]*Tt))*C[t+612>>2]),G=v(v(v(v(C[t+340>>2]*w)-v(C[t+344>>2]*Dt))-v(C[t+348>>2]*Tt))*C[t+608>>2]),w=v(v(v(v(C[t+324>>2]*w)-v(C[t+328>>2]*Dt))-v(C[t+332>>2]*Tt))*C[t+604>>2])),C[e+80>>2]=w,f[e+92>>2]=0,C[e+88>>2]=V,C[e+84>>2]=G,pt=v(0),z=v(0),g&&(z=C[h+8>>2],Nt=C[h+4>>2],Gt=v(v(v(F*z)-v(It*Nt))*C[n+64>>2]),St=It,It=C[h>>2],z=v(C[g+404>>2]+v(v(Gt+v(v(v(St*It)-v(z*E))*C[n+68>>2]))+v(v(v(Nt*E)-v(F*It))*C[n+72>>2])))),Y=e,Nt=C[o>>2],St=It=v(Ot*Q),t&&(E=C[d+4>>2],F=C[d+8>>2],pt=v(v(v(E*V)-v(F*G))*C[n+64>>2]),Q=v(F*w),F=C[d>>2],pt=v(C[t+404>>2]+v(v(pt+v(v(Q-v(F*V))*C[n+68>>2]))+v(v(v(F*G)-v(E*w))*C[n+72>>2])))),C[Y+108>>2]=Nt/v(St+v(z+pt)),o=e+16|0,g?(Vt=f[(Y=n- -64|0)+4>>2],f[o>>2]=f[Y>>2],f[o+4>>2]=Vt,Vt=f[(Y=Y+8|0)+4>>2],f[(o=o+8|0)>>2]=f[Y>>2],f[o+4>>2]=Vt,f[e+12>>2]=0,C[e+8>>2]=Z,C[e+4>>2]=W,C[e>>2]=yt):(f[e>>2]=0,f[e+4>>2]=0,f[(Y=e+24|0)>>2]=0,f[Y+4>>2]=0,f[o>>2]=0,f[o+4>>2]=0,f[(o=e+8|0)>>2]=0,f[o+4>>2]=0),t?(E=C[n+64>>2],F=C[n+68>>2],G=C[n+72>>2],f[e+60>>2]=0,f[e+44>>2]=0,C[e+40>>2]=-Tt,C[e+36>>2]=-Dt,C[e+32>>2]=-Et,C[e+56>>2]=-G,C[e+52>>2]=-F,C[e+48>>2]=-E):(f[e+32>>2]=0,f[e+36>>2]=0,f[(o=e+56|0)>>2]=0,f[o+4>>2]=0,f[(o=e+48|0)>>2]=0,f[o+4>>2]=0,f[(o=e+40|0)>>2]=0,f[o+4>>2]=0),pt=C[a+64>>2],z=C[n+80>>2],w=v(0),E=v(0),F=v(0),G=v(0),g&&(E=C[h+4>>2],F=C[g+388>>2],V=C[g+392>>2],Q=C[h>>2],G=v(v(v(E*F)-v(V*Q))+C[g+380>>2]),Z=C[g+396>>2],St=v(Z*Q),Q=C[h+8>>2],F=v(C[g+376>>2]+v(St-v(Q*F))),E=v(v(v(V*Q)-v(Z*E))+C[g+372>>2])),V=v(0),Z=v(0),t&&(Q=C[d+4>>2],V=C[t+388>>2],w=C[t+392>>2],W=C[d>>2],Z=v(v(v(Q*V)-v(w*W))+C[t+380>>2]),yt=C[t+396>>2],St=v(yt*W),W=C[d+8>>2],V=v(C[t+376>>2]+v(St-v(W*V))),w=v(v(v(w*W)-v(yt*Q))+C[t+372>>2])),o=R+240|0,h=B+240|0,Q=C[n+72>>2],W=C[n+64>>2],yt=C[n+68>>2],f[e+104>>2]=f[n+84>>2],E=v(v(v(W*v(E-w))+v(yt*v(F-V)))+v(Q*v(G-Z))),Q=v(y(E))<C[a+96>>2]?v(0):v(-v(E*C[n+96>>2]));t:if(4&_[a+72|0]){if(E=v(C[n+124>>2]*C[a+68>>2]),C[e+100>>2]=E,!g|!f[h>>2]||(F=C[g+416>>2],G=C[e+24>>2],V=C[g+412>>2],w=C[e+20>>2],n=m(i,244)+p|0,C[n+64>>2]=v(C[n+112>>2]*v(E*v(v(C[e+16>>2]*C[n+128>>2])*C[g+408>>2])))+C[n+64>>2],C[(d=n+68|0)>>2]=v(v(E*v(V*v(w*C[n+132>>2])))*C[n+116>>2])+C[d>>2],C[(d=n+72|0)>>2]=v(v(E*v(F*v(G*C[n+136>>2])))*C[n+120>>2])+C[d>>2],F=C[e+72>>2],G=C[e+68>>2],C[n+80>>2]=v(v(E*C[n+96>>2])*C[e+64>>2])+C[n+80>>2],V=C[n+104>>2],C[(d=n+84|0)>>2]=v(G*v(E*C[n+100>>2]))+C[d>>2],C[(n=n+88|0)>>2]=v(F*v(E*V))+C[n>>2]),!t|!f[o>>2])break t;F=C[t+416>>2],G=C[e+56>>2],V=C[t+412>>2],w=C[e+52>>2],Z=C[e+88>>2],W=C[e+84>>2],yt=C[e+80>>2],n=m(r,244)+p|0,E=C[e+100>>2],C[n+64>>2]=v(C[n+112>>2]*v(E*v(v(C[e+48>>2]*C[n+128>>2])*C[t+408>>2])))+C[n+64>>2],C[(t=n+68|0)>>2]=v(v(E*v(V*v(w*C[n+132>>2])))*C[n+116>>2])+C[t>>2],C[(t=n+72|0)>>2]=v(v(E*v(F*v(G*C[n+136>>2])))*C[n+120>>2])+C[t>>2],E=v(-E),C[n+80>>2]=C[n+80>>2]-v(yt*v(C[n+96>>2]*E)),F=C[n+104>>2],C[(t=n+84|0)>>2]=C[t>>2]-v(W*v(C[n+100>>2]*E)),C[(t=n+88|0)>>2]=C[t>>2]-v(Z*v(F*E))}else f[e+100>>2]=0;n=Q<=v(0),f[e+96>>2]=0,F=v(0),G=v(0),V=v(0),Z=v(0),W=v(0),yt=v(0),Tt=v(0),f[h>>2]&&(t=m(i,244)+p|0,Tt=C[t+224>>2],Z=C[t+208>>2],W=C[t+232>>2],yt=C[t+228>>2],V=C[t+212>>2],G=C[t+216>>2]),w=v(z+pt),Et=n?v(0):Q,E=v(0),Dt=v(0),Q=v(0),pt=v(0),z=v(0),f[o>>2]&&(t=m(r,244)+p|0,z=C[t+224>>2],F=C[t+208>>2],Q=C[t+232>>2],pt=C[t+228>>2],Dt=C[t+216>>2],E=C[t+212>>2]),t=m(i,244)+p|0,St=v(v(v(v(v(Z+C[t+176>>2])*C[e+16>>2])+v(v(V+C[t+180>>2])*C[e+20>>2]))+v(v(G+C[t+184>>2])*C[e+24>>2]))+v(v(v(v(Tt+C[t+192>>2])*C[e>>2])+v(v(yt+C[t+196>>2])*C[e+4>>2]))+v(v(W+C[t+200>>2])*C[e+8>>2]))),t=m(r,244)+p|0,E=v(Et-v(St+v(v(v(v(v(F+C[t+176>>2])*C[e+48>>2])+v(v(E+C[t+180>>2])*C[e+52>>2]))+v(v(Dt+C[t+184>>2])*C[e+56>>2]))+v(v(v(v(z+C[t+192>>2])*C[e+32>>2])+v(v(pt+C[t+196>>2])*C[e+36>>2]))+v(v(Q+C[t+200>>2])*C[e+40>>2]))))),F=v(0),w>v(0)?E=v(E-v(Ot*w)):F=v(-v(Ot*v(Ft*w))),G=C[e+108>>2],E=v(E*G),F=v(F*G),w>C[a+56>>2]^1&&f[a+52>>2]||(E=v(F+E),F=v(0)),C[e+128>>2]=F,C[e+112>>2]=E,f[e+120>>2]=0,f[e+124>>2]=1343554297,C[e+116>>2]=It*G}function tf(t,e,i,r,n,a){var o,_,h,d,g,y,p,R=v(0),D=v(0),B=0,E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0);h=f[t+16>>2],o=f[240+(h+m(r,244)|0)>>2],_=f[240+(m(i,244)+h|0)>>2],d=f[t+76>>2],g=f[e+140>>2];t:if(p=4&(y=f[a+72>>2])){if(e=m(g,152)+d|0,R=v(C[n+128>>2]*C[a+68>>2]),C[e+100>>2]=R,_&&(E=C[_+416>>2],F=C[e+24>>2],V=C[_+412>>2],G=C[e+20>>2],t=m(i,244)+h|0,D=C[_+404>>2],C[t+64>>2]=v(v(R*v(v(D*C[e+16>>2])*C[_+408>>2]))*C[t+112>>2])+C[t+64>>2],C[(B=t+68|0)>>2]=v(v(R*v(V*v(D*G)))*C[t+116>>2])+C[B>>2],C[(B=t+72|0)>>2]=v(v(R*v(E*v(D*F)))*C[t+120>>2])+C[B>>2],D=C[e+72>>2],E=C[e+68>>2],C[t+80>>2]=v(v(R*C[t+96>>2])*C[e+64>>2])+C[t+80>>2],F=C[t+104>>2],C[(B=t+84|0)>>2]=v(E*v(R*C[t+100>>2]))+C[B>>2],C[(t=t+88|0)>>2]=v(D*v(R*F))+C[t>>2]),!o)break t;B=m(g,152)+d|0,E=C[B+88>>2],F=C[B+84>>2],V=C[B+80>>2],G=C[o+416>>2],w=C[B+56>>2],Q=C[o+412>>2],W=C[B+52>>2],t=m(r,244)+h|0,D=C[o+404>>2],R=C[e+100>>2],C[t+64>>2]=v(v(v(v(C[B+48>>2]*D)*C[o+408>>2])*R)*C[t+112>>2])+C[t+64>>2],C[(e=t+68|0)>>2]=v(v(R*v(Q*v(W*D)))*C[t+116>>2])+C[e>>2],C[(e=t+72|0)>>2]=v(v(R*v(G*v(w*D)))*C[t+120>>2])+C[e>>2],C[t+80>>2]=C[t+80>>2]+v(V*v(R*C[t+96>>2])),D=C[t+104>>2],C[(e=t+84|0)>>2]=C[e>>2]+v(F*v(R*C[t+100>>2])),C[(t=t+88|0)>>2]=C[t>>2]+v(E*v(D*R))}else f[100+(m(g,152)+d|0)>>2]=0;t:if(16&y){if(B=g+1|0,p){if(e=m(B,152)+d|0,R=v(C[n+132>>2]*C[a+68>>2]),C[e+100>>2]=R,_&&(E=C[e+24>>2],F=C[e+20>>2],t=m(i,244)+h|0,D=C[_+404>>2],C[t+64>>2]=v(v(R*v(D*C[e+16>>2]))*C[t+112>>2])+C[t+64>>2],C[(i=t+68|0)>>2]=v(v(R*v(D*F))*C[t+116>>2])+C[i>>2],C[(i=t+72|0)>>2]=v(v(R*v(D*E))*C[t+120>>2])+C[i>>2],D=C[e+72>>2],E=C[e+68>>2],C[t+80>>2]=v(v(R*C[t+96>>2])*C[e+64>>2])+C[t+80>>2],F=C[t+104>>2],C[(i=t+84|0)>>2]=v(E*v(R*C[t+100>>2]))+C[i>>2],C[(t=t+88|0)>>2]=v(D*v(R*F))+C[t>>2]),!o)break t;return i=m(B,152)+d|0,E=C[i+88>>2],F=C[i+84>>2],V=C[i+56>>2],G=C[i+52>>2],w=C[i+48>>2],D=C[o+404>>2],t=m(r,244)+h|0,R=C[e+100>>2],C[t+80>>2]=C[t+80>>2]+v(C[i+80>>2]*v(C[t+96>>2]*R)),C[t+64>>2]=v(v(R*v(w*D))*C[t+112>>2])+C[t+64>>2],C[(e=t+68|0)>>2]=v(v(R*v(G*D))*C[t+116>>2])+C[e>>2],C[(e=t+72|0)>>2]=v(v(R*v(V*D))*C[t+120>>2])+C[e>>2],D=C[t+104>>2],C[(e=t+84|0)>>2]=C[e>>2]+v(F*v(R*C[t+100>>2])),void(C[(t=t+88|0)>>2]=C[t>>2]+v(E*v(D*R)))}f[100+(m(B,152)+d|0)>>2]=0}}function nf(t,e,i){var r,a,o,h,d,g=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=0,Q=v(0),W=v(0),Y=0,z=v(0),yt=0,pt=0,Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=0,Nt=0,Ft=v(0),Vt=0,Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=v(0),Pt=0,Mt=0,Zt=0,Ut=0,Xt=v(0),Jt=0,jt=0,zt=0,Ht=0,Kt=0,qt=0,$t=0,bi=0,di=0,yi=0,Ii=0,Bi=0,BA=0,gr=0,tn=0,en=0,An=0,rn=0,nn=0,an=0,on=0,sn=0,ln=0,fn=0,cn=0,bn=0,_n=0,un=0,hn=v(0);if(Z=o=Z-80|0,r=f[e+776>>2],h=ef(t,a=f[e+772>>2],C[i+12>>2]),d=ef(t,r,C[i+12>>2]),w=(pt=f[t+16>>2])+m(h,244)|0,g=C[w+128>>2],V=v(g*g),g=C[w+132>>2],V=v(V+v(g*g)),g=C[w+136>>2],!(v(V+v(g*g))<v(14210854715202004e-30)&&(w=pt+m(d,244)|0,g=C[w+128>>2],V=v(g*g),g=C[w+132>>2],V=v(V+v(g*g)),g=C[w+136>>2],v(V+v(g*g))<v(14210854715202004e-30))||(Y=f[e+780>>2],(0|Y)<1)))for(zt=(w=pt+m(d,244)|0)+232|0,Ht=w+200|0,Kt=w+228|0,qt=w+196|0,$t=w+224|0,bi=w+192|0,di=w+216|0,yi=w+184|0,Ii=w+212|0,Bi=w+180|0,BA=w+208|0,gr=w+176|0,tn=w+240|0,en=(w=pt+m(h,244)|0)+232|0,An=w+200|0,rn=w+228|0,nn=w+196|0,an=w+224|0,on=w+192|0,sn=w+216|0,ln=w+184|0,fn=w+212|0,cn=w+180|0,bn=w+208|0,_n=w+176|0,un=w+240|0;;){if(yt=m(Jt,192)+e|0,C[yt+84>>2]<=C[e+788>>2]){if(Mt=yt+4|0,Y=w=f[t+28>>2],(0|w)==f[t+32>>2]&&(Y=w,!((0|w)>=(0|(Ot=w?w<<1:1))))){if(Ot?(Nt=dA(m(Ot,152)),pt=f[t+28>>2]):(Nt=0,pt=w),(0|pt)>=1)for(Y=0;J(Y+Nt|0,f[t+36>>2]+Y|0,152),Y=Y+152|0,pt=pt+-1|0;);(Y=f[t+36>>2])&&(_[t+40|0]&&CA(Y),f[t+36>>2]=0),f[t+36>>2]=Nt,n[t+40|0]=1,f[t+32>>2]=Ot,Y=f[t+28>>2]}f[t+28>>2]=Y+1,Ut=f[t+36>>2]+m(w,152)|0,f[Ut+132>>2]=Mt,f[Ut+148>>2]=d,f[Ut+144>>2]=h,f[o+76>>2]=0,g=v(C[yt+60>>2]-C[a+60>>2]),C[o+72>>2]=g,p=v(C[yt+56>>2]-C[a+56>>2]),C[o+68>>2]=p,R=v(C[yt+52>>2]-C[a+52>>2]),C[o+64>>2]=R,F=C[yt+36>>2],B=C[yt+40>>2],D=C[yt+44>>2],G=C[r+52>>2],Q=C[r+56>>2],V=C[r+60>>2],f[o+60>>2]=0,D=v(D-V),C[o+56>>2]=D,B=v(B-Q),C[o+52>>2]=B,F=v(F-G),C[o+48>>2]=F,V=v(0),z=v(0),Dt=v(0),W=v(0),f[un>>2]&&(G=v(C[on>>2]+C[an>>2]),Q=v(C[nn>>2]+C[rn>>2]),W=v(v(C[ln>>2]+C[sn>>2])+v(v(p*G)-v(R*Q))),z=R,R=v(C[An>>2]+C[en>>2]),Dt=v(v(C[cn>>2]+C[fn>>2])+v(v(z*R)-v(g*G))),z=v(v(C[_n>>2]+C[bn>>2])+v(v(g*Q)-v(p*R)))),Ft=v(0),Et=v(0),f[tn>>2]&&(g=v(C[bi>>2]+C[$t>>2]),p=v(C[qt>>2]+C[Kt>>2]),Et=v(v(C[yi>>2]+C[di>>2])+v(v(B*g)-v(F*p))),R=v(C[Ht>>2]+C[zt>>2]),Ft=v(v(C[Bi>>2]+C[Ii>>2])+v(v(F*R)-v(D*g))),V=v(v(C[gr>>2]+C[BA>>2])+v(v(D*p)-v(B*R)))),Tt=C[(Pt=yt+76|0)>>2],Xt=C[(Nt=yt+68|0)>>2],hn=C[(Vt=yt+72|0)>>2],ff(t,Ut,h,d,Mt,i,o+44|0,o- -64|0,o+48|0),f[Ut+140>>2]=f[t+68>>2],C[(Y=yt+92|0)>>2]>v(0)&&(Af(t,Nt,h,d,w,C[yt+96>>2]),R=C[Pt>>2],v(y(R))>v(.7071067690849304)?(f[o+24>>2]=0,g=C[Vt>>2],D=v(v(R*R)+v(g*g)),p=v(v(1)/v(E(D))),g=v(g*p),C[o+32>>2]=g,B=v(D*p),C[o+8>>2]=B,p=v(-v(R*p)),C[o+28>>2]=p,R=C[Nt>>2],F=v(-v(R*g)),C[o+12>>2]=F,G=v(R*p),D=v(0)):(f[o+32>>2]=0,p=C[Nt>>2],D=C[Vt>>2],G=v(v(p*p)+v(D*D)),g=v(v(1)/v(E(G))),p=v(p*g),C[o+28>>2]=p,D=v(-v(D*g)),C[o+24>>2]=D,F=v(R*D),C[o+12>>2]=F,B=v(-v(R*p)),C[o+8>>2]=B,G=v(G*g),g=v(0)),Q=v(v(1)/v(E(v(v(v(D*D)+v(p*p))+v(g*g))))),g=v(g*Q),C[o+32>>2]=g,R=v(p*Q),C[o+28>>2]=R,D=v(D*Q),C[o+24>>2]=D,p=G,G=v(v(1)/v(E(v(v(G*G)+v(v(B*B)+v(F*F)))))),p=v(p*G),C[o+16>>2]=p,F=v(F*G),C[o+12>>2]=F,B=v(B*G),C[o+8>>2]=B,(pt=2&f[a+180>>2])&&(f[o+36>>2]=0,Gt=C[a+4>>2],Lt=C[a+20>>2],wt=C[a+36>>2],G=v(v(v(v(D*Gt)+v(R*Lt))+v(g*wt))*C[a+164>>2]),xt=C[a+8>>2],Qt=C[a+24>>2],Wt=C[a+40>>2],Q=v(v(v(v(D*xt)+v(R*Qt))+v(g*Wt))*C[a+168>>2]),Yt=C[a+12>>2],It=R,R=C[a+28>>2],St=g,g=C[a+44>>2],D=v(v(v(v(D*Yt)+v(It*R))+v(St*g))*C[a+172>>2]),g=v(v(v(wt*G)+v(Wt*Q))+v(g*D)),C[o+32>>2]=g,R=v(v(v(Lt*G)+v(Qt*Q))+v(R*D)),C[o+28>>2]=R,D=v(v(v(Gt*G)+v(xt*Q))+v(Yt*D)),C[o+24>>2]=D),(Ot=2&f[r+180>>2])&&(f[o+36>>2]=0,Gt=C[r+4>>2],Lt=C[r+20>>2],wt=C[r+36>>2],G=v(v(v(v(Gt*D)+v(Lt*R))+v(wt*g))*C[r+164>>2]),xt=C[r+8>>2],Qt=C[r+24>>2],Wt=C[r+40>>2],Q=v(v(v(v(D*xt)+v(R*Qt))+v(g*Wt))*C[r+168>>2]),Yt=C[r+12>>2],It=R,R=C[r+28>>2],St=g,g=C[r+44>>2],D=v(v(v(v(D*Yt)+v(It*R))+v(St*g))*C[r+172>>2]),g=v(v(v(wt*G)+v(Wt*Q))+v(g*D)),C[o+32>>2]=g,R=v(v(v(Lt*G)+v(Qt*Q))+v(R*D)),C[o+28>>2]=R,D=v(v(v(Gt*G)+v(xt*Q))+v(Yt*D)),C[o+24>>2]=D),pt&&(f[o+20>>2]=0,Gt=C[a+4>>2],Lt=C[a+20>>2],wt=C[a+36>>2],G=v(v(v(v(B*Gt)+v(F*Lt))+v(p*wt))*C[a+164>>2]),xt=C[a+8>>2],Qt=C[a+24>>2],Wt=C[a+40>>2],Q=v(v(v(v(B*xt)+v(F*Qt))+v(p*Wt))*C[a+168>>2]),Yt=C[a+12>>2],It=F,F=C[a+28>>2],St=p,p=C[a+44>>2],B=v(v(v(v(B*Yt)+v(It*F))+v(St*p))*C[a+172>>2]),p=v(v(v(wt*G)+v(Wt*Q))+v(p*B)),C[o+16>>2]=p,F=v(v(v(Lt*G)+v(Qt*Q))+v(F*B)),C[o+12>>2]=F,B=v(v(v(Gt*G)+v(xt*Q))+v(Yt*B)),C[o+8>>2]=B),Ot&&(f[o+20>>2]=0,Gt=C[r+4>>2],Lt=C[r+20>>2],wt=C[r+36>>2],G=v(v(v(v(Gt*B)+v(Lt*F))+v(wt*p))*C[r+164>>2]),xt=C[r+8>>2],Qt=C[r+24>>2],Wt=C[r+40>>2],Q=v(v(v(v(B*xt)+v(F*Qt))+v(p*Wt))*C[r+168>>2]),Yt=C[r+12>>2],It=F,F=C[r+28>>2],St=p,p=C[r+44>>2],B=v(v(v(v(B*Yt)+v(It*F))+v(St*p))*C[r+172>>2]),p=v(v(v(wt*G)+v(Wt*Q))+v(p*B)),C[o+16>>2]=p,F=v(v(v(Lt*G)+v(Qt*Q))+v(F*B)),C[o+12>>2]=F,B=v(v(v(Gt*G)+v(xt*Q))+v(Yt*B)),C[o+8>>2]=B),+v(E(v(v(v(D*D)+v(R*R))+v(g*g))))>.001&&Af(t,o+24|0,h,d,w,C[Y>>2]),+v(E(v(v(v(B*B)+v(F*F))+v(p*p))))>.001&&Af(t,o+8|0,h,d,w,C[Y>>2]));t:if(1&n[yt+124|0]&&32&_[i+72|0])g=C[o+44>>2],Y=yt+156|0,$i(t,yt+164|0,h,d,w,Mt,o- -64|0,o+48|0,g,i,C[yt+140>>2],C[Y>>2]),16&_[i+72|0]&&$i(t,yt+180|0,h,d,w,Mt,o- -64|0,o+48|0,g,i,C[yt+144>>2],C[Y>>2]);else{if(f[(Zt=yt+176|0)>>2]=0,R=v(z-V),p=v(Dt-Ft),D=v(W-Et),g=v(v(v(R*Xt)+v(p*hn))+v(D*Tt)),pt=yt+172|0,V=D,D=C[Pt>>2],B=v(V-v(g*D)),C[pt>>2]=B,Ot=yt+168|0,V=p,p=C[Vt>>2],F=v(V-v(g*p)),C[Ot>>2]=F,Y=yt+164|0,V=R,R=C[Nt>>2],g=v(V-v(g*R)),C[Y>>2]=g,!(64&_[i+72|0])&&(G=v(v(v(g*g)+v(F*F))+v(B*B)))>v(1.1920928955078125e-7)){if(p=v(v(1)/v(E(G))),R=v(F*p),C[Ot>>2]=R,g=v(g*p),C[Y>>2]=g,p=v(B*p),C[pt>>2]=p,1&n[a+180|0]&&(Ft=C[a+172>>2],D=C[a+44>>2],B=C[a+12>>2],F=C[a+28>>2],Et=C[a+164>>2],G=C[a+36>>2],Q=C[a+4>>2],V=C[a+20>>2],Tt=C[a+168>>2],z=C[a+40>>2],Dt=C[a+8>>2],W=C[a+24>>2],f[Zt>>2]=0,It=V,V=v(Et*v(v(v(g*Q)+v(R*V))+v(p*G))),St=W,W=v(Tt*v(v(v(g*Dt)+v(R*W))+v(p*z))),p=v(Ft*v(v(v(g*B)+v(R*F))+v(p*D))),R=v(v(v(It*V)+v(St*W))+v(F*p)),C[Ot>>2]=R,g=v(v(v(Q*V)+v(Dt*W))+v(B*p)),C[Y>>2]=g,p=v(v(v(G*V)+v(z*W))+v(D*p)),C[pt>>2]=p),1&n[r+180|0]&&(Ft=C[r+172>>2],D=C[r+44>>2],B=C[r+12>>2],F=C[r+28>>2],Et=C[r+164>>2],G=C[r+36>>2],Q=C[r+4>>2],V=C[r+20>>2],Tt=C[r+168>>2],z=C[r+40>>2],Dt=C[r+8>>2],W=C[r+24>>2],f[Zt>>2]=0,It=V,V=v(Et*v(v(v(Q*g)+v(V*R))+v(G*p))),St=W,W=v(Tt*v(v(v(g*Dt)+v(R*W))+v(p*z))),g=v(Ft*v(v(v(g*B)+v(R*F))+v(p*D))),C[Ot>>2]=v(v(It*V)+v(St*W))+v(F*g),C[Y>>2]=v(v(Q*V)+v(Dt*W))+v(B*g),C[pt>>2]=v(v(G*V)+v(z*W))+v(D*g)),$i(t,Y,h,d,w,Mt,o- -64|0,o+48|0,Ft=C[o+44>>2],i,v(0),v(0)),!(16&_[i+72|0]))break t;f[(Zt=yt+192|0)>>2]=0,jt=yt+188|0,p=C[Vt>>2],D=C[Y>>2],R=C[Ot>>2],B=C[Nt>>2],g=v(v(p*D)-v(R*B)),F=C[Pt>>2],G=C[pt>>2],R=v(v(R*F)-v(G*p)),p=v(v(G*B)-v(F*D)),D=v(v(1)/v(E(v(v(v(R*R)+v(p*p))+v(g*g))))),g=v(g*D),C[jt>>2]=g,pt=yt+184|0,p=v(p*D),C[pt>>2]=p,Y=yt+180|0,R=v(R*D),C[Y>>2]=R,1&n[a+180|0]&&(Et=C[a+172>>2],D=C[a+44>>2],B=C[a+12>>2],F=C[a+28>>2],Tt=C[a+164>>2],G=C[a+36>>2],Q=C[a+4>>2],V=C[a+20>>2],Xt=C[a+168>>2],z=C[a+40>>2],Dt=C[a+8>>2],W=C[a+24>>2],f[Zt>>2]=0,It=V,V=v(Tt*v(v(v(R*Q)+v(p*V))+v(g*G))),St=W,W=v(Xt*v(v(v(R*Dt)+v(p*W))+v(g*z))),g=v(Et*v(v(v(R*B)+v(p*F))+v(g*D))),p=v(v(v(It*V)+v(St*W))+v(F*g)),C[pt>>2]=p,R=v(v(v(Q*V)+v(Dt*W))+v(B*g)),C[Y>>2]=R,g=v(v(v(G*V)+v(z*W))+v(D*g)),C[jt>>2]=g),1&n[r+180|0]&&(Et=C[r+172>>2],D=C[r+44>>2],B=C[r+12>>2],F=C[r+28>>2],Tt=C[r+164>>2],G=C[r+36>>2],Q=C[r+4>>2],V=C[r+20>>2],Xt=C[r+168>>2],z=C[r+40>>2],Dt=C[r+8>>2],W=C[r+24>>2],f[Zt>>2]=0,It=V,V=v(Tt*v(v(v(Q*R)+v(V*p))+v(G*g))),St=W,W=v(Xt*v(v(v(R*Dt)+v(p*W))+v(g*z))),g=v(Et*v(v(v(R*B)+v(p*F))+v(g*D))),C[pt>>2]=v(v(It*V)+v(St*W))+v(F*g),C[Y>>2]=v(v(Q*V)+v(Dt*W))+v(B*g),C[jt>>2]=v(v(G*V)+v(z*W))+v(D*g)),$i(t,Y,h,d,w,Mt,o- -64|0,o+48|0,Ft,i,v(0),v(0));break t}if(Nt=yt+180|0,v(y(D))>v(.7071067690849304)?(f[Y>>2]=0,F=v(v(p*p)+v(D*D)),B=v(v(1)/v(E(F))),p=v(p*B),C[pt>>2]=p,g=v(-v(D*B)),C[Ot>>2]=g,D=v(F*B),F=v(R*g),B=v(-v(R*p)),R=v(0)):(f[pt>>2]=0,F=v(v(R*R)+v(p*p)),B=v(v(1)/v(E(F))),g=v(R*B),C[Ot>>2]=g,R=v(-v(p*B)),C[Y>>2]=R,F=v(F*B),B=v(D*R),D=v(-v(D*g)),p=v(0)),C[Nt>>2]=D,C[(Vt=yt+188|0)>>2]=F,C[(Pt=yt+184|0)>>2]=B,1&n[a+180|0]&&(Ft=C[a+172>>2],D=C[a+44>>2],B=C[a+12>>2],F=C[a+28>>2],Et=C[a+164>>2],G=C[a+36>>2],Q=C[a+4>>2],V=C[a+20>>2],Tt=C[a+168>>2],z=C[a+40>>2],Dt=C[a+8>>2],W=C[a+24>>2],f[Zt>>2]=0,It=V,V=v(Et*v(v(v(Q*R)+v(V*g))+v(G*p))),St=W,W=v(Tt*v(v(v(R*Dt)+v(g*W))+v(p*z))),p=v(Ft*v(v(v(R*B)+v(g*F))+v(p*D))),g=v(v(v(It*V)+v(St*W))+v(F*p)),C[Ot>>2]=g,R=v(v(v(Q*V)+v(Dt*W))+v(B*p)),C[Y>>2]=R,p=v(v(v(G*V)+v(z*W))+v(D*p)),C[pt>>2]=p),1&n[r+180|0]&&(Ft=C[r+172>>2],D=C[r+44>>2],B=C[r+12>>2],F=C[r+28>>2],Et=C[r+164>>2],G=C[r+36>>2],Q=C[r+4>>2],V=C[r+20>>2],Tt=C[r+168>>2],z=C[r+40>>2],Dt=C[r+8>>2],W=C[r+24>>2],f[Zt>>2]=0,It=V,V=v(Et*v(v(v(Q*R)+v(V*g))+v(G*p))),St=W,W=v(Tt*v(v(v(R*Dt)+v(g*W))+v(p*z))),g=v(Ft*v(v(v(R*B)+v(g*F))+v(p*D))),C[Ot>>2]=v(v(It*V)+v(St*W))+v(F*g),C[Y>>2]=v(v(Q*V)+v(Dt*W))+v(B*g),C[pt>>2]=v(v(G*V)+v(z*W))+v(D*g)),$i(t,Y,h,d,w,Mt,o- -64|0,o+48|0,Ft=C[o+44>>2],i,v(0),v(0)),16&(pt=f[i+72>>2])&&(1&n[a+180|0]&&(Et=C[a+172>>2],g=C[a+44>>2],p=C[a+12>>2],R=C[a+28>>2],z=C[a+164>>2],D=C[a+36>>2],B=C[a+4>>2],F=C[a+20>>2],Tt=C[a+168>>2],G=C[a+40>>2],Q=C[a+8>>2],V=C[a+24>>2],f[yt+192>>2]=0,It=B,W=z,B=C[Nt>>2],z=C[Pt>>2],Dt=C[Vt>>2],W=v(W*v(v(v(It*B)+v(F*z))+v(D*Dt))),St=Q,Q=v(Tt*v(v(v(B*Q)+v(z*V))+v(Dt*G))),Tt=p,p=v(Et*v(v(v(B*p)+v(z*R))+v(Dt*g))),C[Nt>>2]=v(v(It*W)+v(St*Q))+v(Tt*p),C[Pt>>2]=v(v(F*W)+v(V*Q))+v(R*p),C[Vt>>2]=v(v(D*W)+v(G*Q))+v(g*p)),1&n[r+180|0]&&(Et=C[r+172>>2],g=C[r+44>>2],p=C[r+12>>2],R=C[r+28>>2],z=C[r+164>>2],D=C[r+36>>2],B=C[r+4>>2],F=C[r+20>>2],Tt=C[r+168>>2],G=C[r+40>>2],Q=C[r+8>>2],V=C[r+24>>2],f[yt+192>>2]=0,It=B,W=z,B=C[Nt>>2],z=C[Pt>>2],Dt=C[Vt>>2],W=v(W*v(v(v(It*B)+v(F*z))+v(D*Dt))),St=Q,Q=v(Tt*v(v(v(B*Q)+v(z*V))+v(Dt*G))),Tt=p,p=v(Et*v(v(v(B*p)+v(z*R))+v(Dt*g))),C[Nt>>2]=v(v(It*W)+v(St*Q))+v(Tt*p),C[Pt>>2]=v(v(F*W)+v(V*Q))+v(R*p),C[Vt>>2]=v(v(D*W)+v(G*Q))+v(g*p)),$i(t,Nt,h,d,w,Mt,o- -64|0,o+48|0,Ft,i,v(0),v(0)),pt=f[i+72>>2]),80!=(80&pt))break t;f[(w=yt+124|0)>>2]=1|f[w>>2]}tf(t,Ut,h,d,Mt,i),Y=f[e+780>>2]}if(!((0|(Jt=Jt+1|0))<(0|Y)))break}Z=o+80|0}function af(t,e,i){var r,n=0,a=0,o=0;Z=r=Z-80|0,f[t+240>>2]&&(C[t+176>>2]=C[t+64>>2]+C[t+176>>2],C[t+192>>2]=C[t+80>>2]+C[t+192>>2],C[(n=t+180|0)>>2]=C[t+68>>2]+C[n>>2],C[(n=t+184|0)>>2]=C[t+72>>2]+C[n>>2],C[(n=t+196|0)>>2]=C[t+84>>2]+C[n>>2],C[(n=t+200|0)>>2]=C[t+88>>2]+C[n>>2],(C[t+144>>2]!=v(0)|C[t+148>>2]!=v(0)|C[t+152>>2]!=v(0)|C[t+160>>2]!=v(0)||C[t+164>>2]!=v(0)||C[t+168>>2]!=v(0))&&(f[r+12>>2]=0,C[r>>2]=C[t+160>>2]*i,C[r+8>>2]=C[t+168>>2]*i,C[r+4>>2]=C[t+164>>2]*i,xi(t,t+144|0,r,e,r+16|0),o=f[(a=r+24|0)+4>>2],f[(n=t+8|0)>>2]=f[a>>2],f[n+4>>2]=o,n=f[r+20>>2],f[t>>2]=f[r+16>>2],f[t+4>>2]=n,n=f[r+36>>2],f[t+16>>2]=f[r+32>>2],f[t+20>>2]=n,o=f[(a=r+40|0)+4>>2],f[(n=t+24|0)>>2]=f[a>>2],f[n+4>>2]=o,n=f[r+52>>2],f[t+32>>2]=f[r+48>>2],f[t+36>>2]=n,o=f[(a=r+56|0)+4>>2],f[(n=t+40|0)>>2]=f[a>>2],f[n+4>>2]=o,n=f[r+68>>2],f[t+48>>2]=f[r+64>>2],f[t+52>>2]=n,a=f[(n=r+72|0)+4>>2],f[(t=t+56|0)>>2]=f[n>>2],f[t+4>>2]=a)),Z=r+80|0}function of(t,e,i,r,n){return f[t+20>>2]=0,f[t+16>>2]=i,f[t+12>>2]=e,f[t+8>>2]=n,f[t+4>>2]=r,f[t>>2]=20396,t}function cf(t,e,i,r){var a,o=0,_=0,h=0,d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=0,Nt=0,Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=0,xt=0,Qt=0,Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0),Zt=v(0),Ut=v(0);Z=a=Z-240|0,f[t+16>>2]?(Yr(f[t+4>>2]),o=f[t+12>>2],_=f[o+4>>2],h=f[t+16>>2],Ot=f[h+4>>2],Nt=o,w=v(yt[f[f[o>>2]+48>>2]](o)),o=f[t+16>>2],t=function(t,e,i,r,a,o,_,h,d){return f[t+72>>2]=1,f[t+76>>2]=1,f[t+60>>2]=-1,n[t+52|0]=0,C[t+48>>2]=_,C[t+44>>2]=o,f[t+40>>2]=a,f[t+36>>2]=r,f[t+32>>2]=i,f[t+28>>2]=e,f[t+24>>2]=h,f[t+20>>2]=d,f[t+4>>2]=0,f[t+8>>2]=1065353216,f[t>>2]=14908,f[(e=t+12|0)>>2]=0,f[e+4>>2]=0,t}(a+160|0,Nt,h,_,Ot,w,v(yt[f[f[o>>2]+48>>2]](o)),f[t+4>>2],f[t+8>>2]),h=f[(_=e+8|0)+4>>2],f[(o=a+32|0)>>2]=f[_>>2],f[o+4>>2]=h,h=f[(_=e+24|0)+4>>2],f[(o=a+48|0)>>2]=f[_>>2],f[o+4>>2]=h,h=f[(_=e+40|0)+4>>2],f[(o=a- -64|0)>>2]=f[_>>2],f[o+4>>2]=h,h=f[(_=e+56|0)+4>>2],f[(o=a+80|0)>>2]=f[_>>2],f[o+4>>2]=h,h=f[(_=i+8|0)+4>>2],f[(o=a+96|0)>>2]=f[_>>2],f[o+4>>2]=h,f[a+152>>2]=1566444395,o=f[e+4>>2],f[a+24>>2]=f[e>>2],f[a+28>>2]=o,o=f[e+20>>2],f[a+40>>2]=f[e+16>>2],f[a+44>>2]=o,o=f[e+36>>2],f[a+56>>2]=f[e+32>>2],f[a+60>>2]=o,o=f[e+52>>2],f[a+72>>2]=f[e+48>>2],f[a+76>>2]=o,e=f[i+4>>2],f[a+88>>2]=f[i>>2],f[a+92>>2]=e,_=f[(o=i+24|0)+4>>2],f[(e=a+112|0)>>2]=f[o>>2],f[e+4>>2]=_,o=f[i+20>>2],f[(e=a+104|0)>>2]=f[i+16>>2],f[e+4>>2]=o,_=f[(o=i+40|0)+4>>2],f[(e=a+128|0)>>2]=f[o>>2],f[e+4>>2]=_,o=f[i+36>>2],f[(e=a+120|0)>>2]=f[i+32>>2],f[e+4>>2]=o,_=f[(o=i+56|0)+4>>2],f[(e=a+144|0)>>2]=f[o>>2],f[e+4>>2]=_,o=f[i+52>>2],f[(e=a+136|0)>>2]=f[i+48>>2],f[e+4>>2]=o,Sr(t,a+24|0,r,0)):(z=C[e+52>>2],pt=C[e+56>>2],Ft=C[(_=i+52|0)>>2],Vt=C[(h=i+56|0)>>2],B=C[e+20>>2],E=C[e+36>>2],D=C[(Ot=i+20|0)>>2],m=C[(wt=i+36|0)>>2],y=C[(xt=i+24|0)>>2],g=C[e+24>>2],d=C[(Qt=i+40|0)>>2],Q=C[e+40>>2],Gt=C[e+48>>2],Ut=C[i+48>>2],o=f[t+12>>2],W=C[e+32>>2],Y=C[e+16>>2],Dt=C[e>>2],It=C[e+4>>2],R=C[i+32>>2],F=C[i+16>>2],p=C[i>>2],V=C[i+4>>2],t=f[t+20>>2],G=C[i+8>>2],St=C[e+8>>2],f[a+172>>2]=0,Wt=v(v(v(St*p)+v(g*F))+v(Q*R)),Tt=v(-C[t+52>>2]),Yt=v(v(v(St*V)+v(g*D))+v(Q*m)),Et=C[(e=t+56|0)>>2],St=v(v(v(St*G)+v(g*y))+v(Q*d)),g=C[(Nt=t+60|0)>>2],C[a+168>>2]=v(v(Wt*Tt)-v(Yt*Et))-v(St*g),Pt=v(v(v(It*p)+v(B*F))+v(E*R)),Mt=v(v(v(It*V)+v(B*D))+v(E*m)),It=v(v(v(It*G)+v(B*y))+v(E*d)),C[a+164>>2]=v(v(Pt*Tt)-v(Et*Mt))-v(g*It),Zt=v(v(v(Dt*p)+v(Y*F))+v(W*R)),w=v(Zt*Tt),Tt=v(v(v(Dt*V)+v(Y*D))+v(W*m)),Dt=v(v(v(Dt*G)+v(Y*y))+v(W*d)),C[a+160>>2]=v(w-v(Et*Tt))-v(g*Dt),yt[f[f[o>>2]+64>>2]](a+24|0,o,a+160|0),B=C[e>>2],E=C[Nt>>2],Et=C[t+68>>2],g=C[t+52>>2],Q=C[a+24>>2],W=C[a+28>>2],Y=C[a+32>>2],f[a+172>>2]=0,Lt=v(v(v(Gt*p)+v(z*F))+v(pt*R)),w=p,p=v(-Ut),R=v(v(Lt+v(v(v(w*p)-v(F*Ft))-v(R*Vt)))+v(v(v(Zt*Q)+v(Pt*W))+v(Wt*Y))),d=v(v(v(v(v(Gt*G)+v(z*y))+v(pt*d))+v(v(v(G*p)-v(y*Ft))-v(d*Vt)))+v(v(v(Dt*Q)+v(It*W))+v(St*Y))),y=v(v(v(v(v(Gt*V)+v(z*D))+v(pt*m))+v(v(v(V*p)-v(D*Ft))-v(m*Vt)))+v(v(v(Tt*Q)+v(Mt*W))+v(Yt*Y))),D=v(v(v(E*d)+v(v(g*R)+v(B*y)))-Et),m=v(R-v(g*D)),R=C[i+32>>2],y=v(y-v(B*D)),F=C[wt>>2],d=v(d-v(E*D)),p=C[Qt>>2],C[a+168>>2]=v(v(v(m*R)+v(y*F))+v(d*p))+C[h>>2],V=C[i+16>>2],G=C[Ot>>2],z=C[xt>>2],C[a+164>>2]=v(v(v(m*V)+v(y*G))+v(d*z))+C[_>>2],pt=C[i+8>>2],Lt=v(pt*d),d=C[i>>2],w=v(d*m),m=C[i+4>>2],C[a+160>>2]=v(Lt+v(w+v(m*y)))+C[i+48>>2],f[a+20>>2]=0,C[a+16>>2]=v(v(g*R)+v(B*F))+v(E*p),C[a+12>>2]=v(v(g*V)+v(B*G))+v(E*z),C[a+8>>2]=v(v(d*g)+v(m*B))+v(pt*E),yt[f[f[r>>2]+16>>2]](r,a+8|0,a+160|0,D)),Z=a+240|0}function bf(t,e,i,r,a,o){t|=0,e|=0,i|=0,r|=0,a|=0,o|=0;var h,d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=0,F=0,V=0,G=0,w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=0,Dt=v(0),It=v(0),St=0;Z=h=Z-304|0,f[h+300>>2]=0,R=v(C[i+56>>2]-C[e+56>>2]),C[h+296>>2]=R,w=v(C[i+52>>2]-C[e+52>>2]),C[h+292>>2]=w,Q=v(C[i+48>>2]-C[e+48>>2]),C[h+288>>2]=Q,Mi(e,i,h+112|0,h+48|0),f[h+284>>2]=0,g=C[h+48>>2],d=v(g*C[h+120>>2]),C[h+280>>2]=d,m=v(g*C[h+116>>2]),C[h+276>>2]=m,y=v(g*C[h+112>>2]),C[h+272>>2]=y,f[h+268>>2]=0,W=v(C[a+56>>2]-C[r+56>>2]),C[h+264>>2]=W,Y=v(C[a+52>>2]-C[r+52>>2]),C[h+260>>2]=Y,z=v(C[a+48>>2]-C[r+48>>2]),C[h+256>>2]=z,Mi(r,a,h+112|0,h+48|0),f[h+252>>2]=0,g=C[h+48>>2],p=v(g*C[h+120>>2]),C[h+248>>2]=p,D=v(g*C[h+116>>2]),C[h+244>>2]=D,g=v(g*C[h+112>>2]),C[h+240>>2]=g,i=f[t+12>>2],Dt=v(yt[f[f[i>>2]+16>>2]](i)),(i=f[t+16>>2])&&(It=v(yt[f[f[i>>2]+16>>2]](i)),R=C[h+296>>2],W=C[h+264>>2],w=C[h+292>>2],Y=C[h+260>>2],Q=C[h+288>>2],z=C[h+256>>2],p=C[h+248>>2],D=C[h+244>>2],g=C[h+240>>2],m=C[h+276>>2],y=C[h+272>>2],d=C[h+280>>2]),D=v(v(Dt*v(E(v(v(v(y*y)+v(m*m))+v(d*d)))))+v(It*v(E(v(v(v(g*g)+v(D*D))+v(p*p)))))),m=v(z-Q),y=v(Y-w),p=v(W-R);t:if(v(D+v(E(v(v(v(m*m)+v(y*y))+v(p*p)))))!=v(0)&&(n[h+216|0]=0,f[h+212>>2]=1566444395,f[h+176>>2]=15364,cf(t,e,r,h+176|0),a=h+204|0,B=f[a+4>>2],i=h+232|0,f[i>>2]=f[a>>2],f[i+4>>2]=B,i=f[h+200>>2],f[h+224>>2]=f[h+196>>2],f[h+228>>2]=i,_[h+216|0]&&(i=f[h+180>>2],a=h+184|0,B=f[a>>2],V=h+188|0,G=f[V>>2],!(v(D+v(v(v(m*C[h+180>>2])+v(y*C[a>>2]))+v(p*C[V>>2])))<=v(1.1920928955078125e-7))))){F=1;e:{if((R=v(C[h+212>>2]+C[o+172>>2]))>v(.0010000000474974513)){for(V=h+20|0,St=h+160|0,a=0,g=v(0);;){if((pt=f[o+168>>2])&&(f[h+120>>2]=1065353216,f[h+124>>2]=0,f[h+112>>2]=1065353216,f[h+116>>2]=1065353216,yt[f[f[pt>>2]+28>>2]](pt,h+224|0,v(.20000000298023224),h+112|0)),(d=v(D+v(v(v(m*(b(0,i),k()))+v(y*(b(0,B),k())))+v(p*(b(0,G),k())))))<=v(1.1920928955078125e-7)){F=0;break t}if((d=v(g+v(R/d)))<=g){F=0;break t}if(d<v(0)){F=0;break t}if(d>v(1)){F=0;break t}if(xi(e,h+288|0,h+272|0,d,h+112|0),xi(r,h+256|0,h+240|0,d,h+48|0),(i=f[o+168>>2])&&(f[h+8>>2]=0,f[h+12>>2]=0,f[h>>2]=1065353216,f[h+4>>2]=0,yt[f[f[i>>2]+28>>2]](i,St,v(.20000000298023224),h)),yt[f[f[o>>2]>>2]](o,d),n[h+40|0]=0,f[h+36>>2]=1566444395,f[h>>2]=15364,cf(t,h+112|0,h+48|0,h),!_[h+40|0])break e;if(G=f[(B=V+8|0)+4>>2],f[(i=h+232|0)>>2]=f[B>>2],f[i+4>>2]=G,i=f[V+4>>2],f[h+224>>2]=f[V>>2],f[h+228>>2]=i,a>>>0>63){yt[f[f[o>>2]+8>>2]](o,-2,a+1|0),F=0;break t}if(a=a+1|0,i=f[h+4>>2],B=f[h+8>>2],G=f[h+12>>2],g=d,!((R=v(C[h+36>>2]+C[o+172>>2]))>v(.0010000000474974513)))break}m=C[h+16>>2]}else d=v(0),m=C[h+192>>2];f[o+132>>2]=i,C[o+164>>2]=d,t=f[h+228>>2],f[o+148>>2]=f[h+224>>2],f[o+152>>2]=t,C[o+144>>2]=m,f[o+140>>2]=G,f[o+136>>2]=B,i=f[(e=h+232|0)+4>>2],f[(t=o+156|0)>>2]=f[e>>2],f[t+4>>2]=i;break t}yt[f[f[o>>2]+8>>2]](o,-1,a),F=0}return Z=h+304|0,0|F}function lf(t,e,i,r){var n,a=0;f[t>>2]=20460,a=f[e+4>>2],f[t+4>>2]=f[e>>2],f[t+8>>2]=a,a=f[(e=e+8|0)+4>>2],f[(n=t+12|0)>>2]=f[e>>2],f[n+4>>2]=a,e=f[i+4>>2],f[t+20>>2]=f[i>>2],f[t+24>>2]=e,i=f[(e=i+8|0)+4>>2],f[(a=t+28|0)>>2]=f[e>>2],f[a+4>>2]=i,f[t+40>>2]=1065353216,f[t+36>>2]=r}function uf(t,e,i,r,n,a){var o=0,_=0;f[t+4>>2]=e,f[t>>2]=20484,o=f[(e=i+8|0)+4>>2],f[(_=t+16|0)>>2]=f[e>>2],f[_+4>>2]=o,e=f[i+4>>2],f[t+8>>2]=f[i>>2],f[t+12>>2]=e,o=f[(e=i+24|0)+4>>2],f[(_=t+32|0)>>2]=f[e>>2],f[_+4>>2]=o,e=f[i+20>>2],f[(o=t+24|0)>>2]=f[i+16>>2],f[o+4>>2]=e,o=f[(e=i+40|0)+4>>2],f[(_=t+48|0)>>2]=f[e>>2],f[_+4>>2]=o,e=f[i+36>>2],f[(o=t+40|0)>>2]=f[i+32>>2],f[o+4>>2]=e,o=f[(e=i+56|0)+4>>2],f[(_=t- -64|0)>>2]=f[e>>2],f[_+4>>2]=o,e=f[i+52>>2],f[(o=t+56|0)>>2]=f[i+48>>2],f[o+4>>2]=e,i=f[(e=r+8|0)+4>>2],f[(o=t+80|0)>>2]=f[e>>2],f[o+4>>2]=i,e=f[r+4>>2],f[t+72>>2]=f[r>>2],f[t+76>>2]=e,i=f[(e=r+24|0)+4>>2],f[(o=t+96|0)>>2]=f[e>>2],f[o+4>>2]=i,e=f[r+20>>2],f[(i=t+88|0)>>2]=f[r+16>>2],f[i+4>>2]=e,i=f[(e=r+40|0)+4>>2],f[(o=t+112|0)>>2]=f[e>>2],f[o+4>>2]=i,e=f[r+36>>2],f[(i=t+104|0)>>2]=f[r+32>>2],f[i+4>>2]=e,i=f[(e=r+56|0)+4>>2],f[(o=t+128|0)>>2]=f[e>>2],f[o+4>>2]=i,e=f[r+52>>2],f[(i=t+120|0)>>2]=f[r+48>>2],f[i+4>>2]=e,i=f[(e=n+8|0)+4>>2],f[(r=t+144|0)>>2]=f[e>>2],f[r+4>>2]=i,e=f[n+4>>2],f[t+136>>2]=f[n>>2],f[t+140>>2]=e,i=f[(e=n+24|0)+4>>2],f[(r=t+160|0)>>2]=f[e>>2],f[r+4>>2]=i,e=f[n+20>>2],f[(i=t+152|0)>>2]=f[n+16>>2],f[i+4>>2]=e,i=f[(e=n+40|0)+4>>2],f[(r=t+176|0)>>2]=f[e>>2],f[r+4>>2]=i,e=f[n+36>>2],f[(i=t+168|0)>>2]=f[n+32>>2],f[i+4>>2]=e,i=f[(e=n+56|0)+4>>2],f[(r=t+192|0)>>2]=f[e>>2],f[r+4>>2]=i,e=f[n+52>>2],f[(i=t+184|0)>>2]=f[n+48>>2],f[i+4>>2]=e,f[t+208>>2]=0,C[t+204>>2]=a,f[t+200>>2]=1065353216}function sf(t){var e=0,i=0,r=0,a=0,o=0,h=0;if(f[(t|=0)>>2]=20592,e=f[t+16>>2],(0|(i=f[t+8>>2]))>=1)for(;o=f[e+a>>2],(r=f[o+188>>2])&&(e=f[t+68>>2],e=0|yt[f[f[e>>2]+36>>2]](e),yt[f[f[e>>2]+40>>2]](e,r,f[t+24>>2]),e=f[t+68>>2],yt[f[f[e>>2]+12>>2]](e,r,f[t+24>>2]),f[o+188>>2]=0,i=f[t+8>>2],e=f[t+16>>2]),a=a+4|0,(0|(h=h+1|0))<(0|i););return e&&(_[t+20|0]&&CA(e),f[t+16>>2]=0),f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,n[t+20|0]=1,0|t}function kf(t,e,i,r){e|=0,i|=0,r|=0;var a,o,h,d=0,C=0,g=0,m=0,v=0;if(Z=a=Z-96|0,d=f[(t|=0)+8>>2],f[e+216>>2]=d,f[t+12>>2]==(0|d)&&!((0|d)>=(0|(m=d?d<<1:1)))){if(m&&(v=dA(m<<2),d=f[t+8>>2]),(0|d)>=1)for(C=d;f[g+v>>2]=f[f[t+16>>2]+g>>2],g=g+4|0,C=C+-1|0;);(C=f[t+16>>2])&&(_[t+20|0]&&(CA(C),d=f[t+8>>2]),f[t+16>>2]=0),f[t+16>>2]=v,f[t+12>>2]=m,n[t+20|0]=1}f[t+8>>2]=d+1,f[f[t+16>>2]+(d<<2)>>2]=e,g=f[(C=e+12|0)+4>>2],f[(d=a+40|0)>>2]=f[C>>2],f[d+4>>2]=g,g=f[(C=e+28|0)+4>>2],f[(d=a+56|0)>>2]=f[C>>2],f[d+4>>2]=g,g=f[(C=e+44|0)+4>>2],f[(d=a+72|0)>>2]=f[C>>2],f[d+4>>2]=g,g=f[(C=e+60|0)+4>>2],f[(d=a+88|0)>>2]=f[C>>2],f[d+4>>2]=g,d=f[e+8>>2],f[a+32>>2]=f[e+4>>2],f[a+36>>2]=d,C=f[(d=e+20|0)+4>>2],f[a+48>>2]=f[d>>2],f[a+52>>2]=C,C=f[(d=e+36|0)+4>>2],f[a+64>>2]=f[d>>2],f[a+68>>2]=C,C=f[(d=e+52|0)+4>>2],f[a+80>>2]=f[d>>2],f[a+84>>2]=C,d=f[e+192>>2],yt[f[f[d>>2]+8>>2]](d,a+32|0,a+16|0,a),d=f[t+68>>2],o=e,h=0|yt[f[f[d>>2]+8>>2]](d,a+16|0,a,f[f[e+192>>2]+4>>2],e,i,r,f[t+24>>2]),f[o+188>>2]=h,Z=a+96|0}function vf(t,e){var i,r=v(0),a=v(0),o=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=0;Z=i=Z+-64|0,y=f[e+192>>2],yt[f[f[y>>2]+8>>2]](y,e+4|0,i+48|0,i+32|0),r=C[744],o=v(C[i+48>>2]-r),C[i+48>>2]=o,h=v(C[i+52>>2]-r),C[i+52>>2]=h,d=v(C[i+56>>2]-r),C[i+56>>2]=d,a=v(r+C[i+32>>2]),C[i+32>>2]=a,g=v(r+C[i+36>>2]),C[i+36>>2]=g,m=v(r+C[i+40>>2]),C[i+40>>2]=m,3&_[e+204|0]|!_[t+44|0]|2!=f[e+252>>2]||(y=f[e+192>>2],yt[f[f[y>>2]+8>>2]](y,e+68|0,i+16|0,i),h=v(C[i+16>>2]-r),C[i+16>>2]=h,d=v(C[i+20>>2]-r),C[i+20>>2]=d,a=v(C[i+24>>2]-r),C[i+24>>2]=a,g=v(r+C[i>>2]),C[i>>2]=g,m=v(r+C[i+4>>2]),C[i+4>>2]=m,r=v(r+C[i+8>>2]),C[i+8>>2]=r,h<(o=C[i+48>>2])&&(C[i+48>>2]=h,o=h),d<(h=C[i+52>>2])&&(C[i+52>>2]=d,h=d),a<(d=C[i+56>>2])&&(C[i+56>>2]=a,d=a),(a=C[i+28>>2])<C[i+60>>2]&&(C[i+60>>2]=a),(a=C[i+32>>2])<g&&(C[i+32>>2]=g,a=g),(g=C[i+36>>2])<m&&(C[i+36>>2]=m,g=m),(m=C[i+40>>2])<r&&(C[i+40>>2]=r,m=r),r=C[i+12>>2],C[i+44>>2]<r&&(C[i+44>>2]=r)),y=f[t+68>>2],1&n[e+204|0]||(o=v(a-o),a=v(o*o),o=v(g-h),a=v(a+v(o*o)),o=v(m-d),v(a+v(o*o))<v(999999995904))?yt[f[f[y>>2]+16>>2]](y,f[e+188>>2],i+48|0,i+32|0,f[t+24>>2]):(Ye(e,5),_[2804]||(e=f[t+72>>2])&&(n[2804]=1,yt[f[f[e>>2]+44>>2]](e,20644),e=f[t+72>>2],yt[f[f[e>>2]+44>>2]](e,20693),e=f[t+72>>2],yt[f[f[e>>2]+44>>2]](e,20761),t=f[t+72>>2],yt[f[f[t>>2]+44>>2]](t,20826))),Z=i- -64|0}function df(t,e){t|=0;var i=0,r=0,n=0,a=0,o=0,_=0,h=0,d=0;(r=f[(e|=0)+188>>2])&&(i=f[t+68>>2],i=0|yt[f[f[i>>2]+36>>2]](i),yt[f[f[i>>2]+40>>2]](i,r,f[t+24>>2]),i=f[t+68>>2],yt[f[f[i>>2]+12>>2]](i,r,f[t+24>>2]),f[e+188>>2]=0);t:if((0|(i=f[e+216>>2]))<0|(0|i)>=(0|(r=f[t+8>>2]))){if(!((0|r)<1)){for(i=n=f[t+16>>2];;){if((0|e)!=f[i>>2]){if(i=i+4|0,(0|r)!=(0|(a=a+1|0)))continue;break t}break}(0|r)<=(0|a)||(o=i,i=(r=r+-1|0)<<2,f[o>>2]=f[i+n>>2],f[t+8>>2]=r,f[i+f[t+16>>2]>>2]=e)}}else{if(n=f[(a=t+16|0)>>2],d=f[(h=n+(_=i<<2)|0)>>2],o=n,n=(r=r+-1|0)<<2,f[h>>2]=f[o+n>>2],f[t+8>>2]=r,f[n+f[a>>2]>>2]=d,(0|i)>=(0|r))break t;f[f[f[t+16>>2]+_>>2]+216>>2]=i}f[e+216>>2]=-1}function Cf(t,e,i,r){var a,o=0,_=v(0),h=v(0),d=v(0),g=v(0),m=0,y=v(0),p=0,R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=0,w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=0,Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=0,Qt=0,Wt=0;Z=a=Z-704|0,DA(a+624|0),f[(o=a+652|0)>>2]=0,f[o+4>>2]=0,f[(o=a+660|0)>>2]=0,f[o+4>>2]=0,f[(o=a+668|0)>>2]=0,f[o+4>>2]=0,f[a+676>>2]=0,f[a+648>>2]=1065353216,f[a+640>>2]=1065353216,f[a+644>>2]=1065353216,f[a+628>>2]=8,f[a+624>>2]=9852,o=f[i+12>>2];t:if(m=f[i+4>>2],G=f[m+4>>2],(0|G)<=19)f[a+616>>2]=0,f[a+620>>2]=0,f[a+448>>2]=15992,f[a+612>>2]=f[r+4>>2],n[a+420|0]=0,f[a+396>>2]=953267991,G=$r(a+680|0,a+624|0,m,a+88|0),xt=Hr(a+72|0,a+624|0,m,a+88|0),Qt=G,Wt=8&f[r+20>>2],m=Wt?xt:Qt,yt[f[f[m>>2]+8>>2]](m,t,e,o,o,a+448|0)&&(_=C[a+580>>2],d=C[a+584>>2],h=C[a+588>>2],g=v(v(v(_*_)+v(d*d))+v(h*h)),g>v(9999999747378752e-20)&&(y=C[a+612>>2],y<C[r+4>>2]&&(D=h,h=v(v(1)/v(E(g))),C[a+588>>2]=D*h,C[a+584>>2]=d*h,C[a+580>>2]=_*h,t=a+580|0,e=t+8|0,o=f[e+4>>2],m=a+56|0,f[m>>2]=f[e>>2],f[m+4>>2]=o,C[a+64>>2]=y,e=f[t+4>>2],f[a+48>>2]=f[t>>2],f[a+52>>2]=e,f[a+44>>2]=0,f[a+40>>2]=f[i+8>>2],v(yt[f[f[r>>2]+12>>2]](r,a+40|0,1)))));else if(G+-21>>>0<=8){if(B=C[o+20>>2],F=C[o+36>>2],y=C[o+24>>2],d=C[o+52>>2],D=C[o+40>>2],Y=C[(G=o+56|0)>>2],V=C[o+32>>2],w=C[o>>2],Q=C[o+16>>2],W=C[o+4>>2],g=C[o+48>>2],z=C[o+8>>2],f[a+460>>2]=0,It=v(-d),Dt=v(y*It),St=v(-Y),Et=v(D*St),R=v(v(Dt-v(z*g))+Et),_=C[t+48>>2],h=C[t+52>>2],Ot=v(y*h),pt=C[t+56>>2],Ft=v(D*pt),C[a+456>>2]=R+v(v(v(z*_)+Ot)+Ft),g=v(-g),Vt=v(F*St),Tt=v(v(v(W*g)-v(B*d))+Vt),Lt=v(F*pt),C[a+452>>2]=Tt+v(v(v(W*_)+v(B*h))+Lt),Y=v(v(v(w*g)-v(Q*d))-v(V*Y)),C[a+448>>2]=Y+v(v(v(w*_)+v(Q*h))+v(V*pt)),f[a+52>>2]=0,Gt=R,d=C[e+48>>2],wt=v(z*d),R=y,y=C[e+52>>2],z=v(R*y),R=D,D=C[e+56>>2],R=v(R*D),C[a+48>>2]=Gt+v(v(wt+z)+R),Gt=Tt,Tt=v(F*D),C[a+44>>2]=Gt+v(v(v(W*d)+v(B*y))+Tt),C[a+40>>2]=Y+v(v(v(w*d)+v(Q*y))+v(V*D)),t=o+32|0,e=o+16|0,21==f[m+4>>2]){i=f[i+8>>2],lf(a+88|0,a+448|0,a+40|0,f[r+20>>2]),f[a+140>>2]=m,f[a+136>>2]=i,f[a+132>>2]=r,f[a+88>>2]=21004,p=f[(i=o+8|0)+4>>2],f[(Nt=a+152|0)>>2]=f[i>>2],f[Nt+4>>2]=p,i=f[o+4>>2],f[a+144>>2]=f[o>>2],f[a+148>>2]=i,p=f[(i=e+8|0)+4>>2],f[(Nt=a+168|0)>>2]=f[i>>2],f[Nt+4>>2]=p,i=f[e+4>>2],f[(p=a+160|0)>>2]=f[e>>2],f[p+4>>2]=i,i=f[(e=t+8|0)+4>>2],f[(p=a+184|0)>>2]=f[e>>2],f[p+4>>2]=i,e=f[t+4>>2],f[(i=a+176|0)>>2]=f[t>>2],f[i+4>>2]=e,t=f[G+4>>2],f[(e=a+200|0)>>2]=f[G>>2],f[e+4>>2]=t,t=f[o+52>>2],f[(e=a+192|0)>>2]=f[o+48>>2],f[e+4>>2]=t,f[a+128>>2]=f[r+4>>2],Te(m,a+88|0,a+448|0,a+40|0);break t}B=C[o+32>>2],F=C[o>>2],V=C[o+16>>2],w=C[o+4>>2],Q=C[o+20>>2],W=C[o+8>>2],f[a+692>>2]=0,Y=v(v(v(W*g)+Dt)+Et),C[a+688>>2]=v(v(v(_*W)+Ot)+Ft)+Y,Dt=v(v(v(w*g)+v(Q*It))+Vt),C[a+684>>2]=v(v(v(_*w)+v(h*Q))+Lt)+Dt,h=v(v(v(_*F)+v(h*V))+v(pt*B)),_=v(v(v(F*g)+v(V*It))+v(B*St)),C[a+680>>2]=h+_,f[a+84>>2]=0,C[a+80>>2]=v(v(v(d*W)+z)+R)+Y,C[a+76>>2]=v(v(v(d*w)+v(y*Q))+Tt)+Dt,C[a+72>>2]=v(v(v(d*F)+v(y*V))+v(D*B))+_,i=f[i+8>>2],lf(a+88|0,a+680|0,a+72|0,f[r+20>>2]),f[a+140>>2]=m,f[a+136>>2]=i,f[a+132>>2]=r,f[a+88>>2]=21188,i=f[o+12>>2],f[(p=a+152|0)>>2]=f[o+8>>2],f[p+4>>2]=i,i=f[o+4>>2],f[a+144>>2]=f[o>>2],f[a+148>>2]=i,i=f[e+4>>2],f[(p=a+160|0)>>2]=f[e>>2],f[p+4>>2]=i,i=f[(e=e+8|0)+4>>2],f[(p=a+168|0)>>2]=f[e>>2],f[p+4>>2]=i,i=f[(e=t+8|0)+4>>2],f[(p=a+184|0)>>2]=f[e>>2],f[p+4>>2]=i,e=f[t+4>>2],f[(i=a+176|0)>>2]=f[t>>2],f[i+4>>2]=e,t=f[o+52>>2],f[(e=a+192|0)>>2]=f[o+48>>2],f[e+4>>2]=t,t=f[G+4>>2],f[(e=a+200|0)>>2]=f[G>>2],f[e+4>>2]=t,f[a+128>>2]=f[r+4>>2],t=f[a+692>>2],f[(e=a+32|0)>>2]=f[a+688>>2],f[e+4>>2]=t,t=f[a+684>>2],f[a+24>>2]=f[a+680>>2],f[a+28>>2]=t,(_=C[a+72>>2])<C[a+24>>2]&&(C[a+24>>2]=_),(d=C[a+76>>2])<C[a+28>>2]&&(C[a+28>>2]=d),(h=C[a+80>>2])<C[a+32>>2]&&(C[a+32>>2]=h),(g=C[a+84>>2])<C[a+36>>2]&&(C[a+36>>2]=g),e=f[(t=a+688|0)+4>>2],f[(i=a+16|0)>>2]=f[t>>2],f[i+4>>2]=e,t=f[a+684>>2],f[a+8>>2]=f[a+680>>2],f[a+12>>2]=t,C[a+8>>2]<_&&(C[a+8>>2]=_),C[a+12>>2]<d&&(C[a+12>>2]=d),C[a+16>>2]<h&&(C[a+16>>2]=h),C[a+20>>2]<g&&(C[a+20>>2]=g),yt[f[f[m>>2]+64>>2]](m,a+88|0,a+24|0,a+8|0)}else if(31==(0|G))if(G=f[m+68>>2],f[a+64>>2]=r,f[a+60>>2]=e,f[a+56>>2]=t,f[a+52>>2]=o,f[a+48>>2]=m,f[a+40>>2]=21376,f[a+44>>2]=f[i+8>>2],G)g=C[o>>2],y=C[o+4>>2],_=C[o+8>>2],f[a+100>>2]=0,R=_,B=C[o+48>>2],_=v(C[t+48>>2]-B),F=C[o+52>>2],d=v(C[t+52>>2]-F),D=C[o+24>>2],V=C[o+56>>2],h=v(C[t+56>>2]-V),w=C[o+40>>2],C[a+96>>2]=v(v(R*_)+v(d*D))+v(h*w),R=v(_*y),y=C[o+20>>2],Q=C[o+36>>2],C[a+92>>2]=v(R+v(d*y))+v(h*Q),_=v(_*g),g=C[o+16>>2],W=C[o+32>>2],C[a+88>>2]=v(_+v(d*g))+v(h*W),z=C[o>>2],pt=C[o+4>>2],_=C[o+8>>2],f[a+460>>2]=0,R=_,_=v(C[e+48>>2]-B),d=v(C[e+52>>2]-F),h=v(C[e+56>>2]-V),C[a+456>>2]=v(v(R*_)+v(D*d))+v(w*h),C[a+452>>2]=v(v(_*pt)+v(d*y))+v(h*Q),C[a+448>>2]=v(v(_*z)+v(d*g))+v(h*W),function(t,e,i,r){var n,a=v(0),o=v(0),_=v(0),h=v(0),d=0,g=v(0),m=v(0),y=0,p=0,R=0,D=0,B=0,F=v(0),V=v(0),G=0,w=0,Q=v(0),W=0,Y=0,z=v(0),pt=0,Dt=0,It=0,St=0,Tt=0,Et=0,Ot=0;if(Z=n=Z-544|0,t){for(a=C[e+8>>2],h=C[i+8>>2],g=C[e>>2],o=C[i>>2],m=C[e+4>>2],_=C[i+4>>2],f[n+32>>2]=t,o=v(o-g),_=v(_-m),a=v(h-a),h=v(v(1)/v(E(v(v(v(o*o)+v(_*_))+v(a*a))))),F=a,a=v(a*h),V=o,o=v(o*h),Q=_,_=v(_*h),Q=v(v(F*a)+v(v(V*o)+v(Q*_))),pt=((t=(a=a==v(0)?v(0xde0b6b000000000):v(v(1)/a))<v(0))<<4)+n|8,Dt=((i=(_=_==v(0)?v(0xde0b6b000000000):v(v(1)/_))<v(0))<<4)+n|4,It=((1^t)<<4)+n|8,St=((1^i)<<4)+n|4,Tt=((t=(o=o==v(0)?v(0xde0b6b000000000):v(v(1)/o))<v(0))<<4)+n|0,Et=((1^t)<<4)+n|0,W=n+16|0,B=126,y=128,D=n+32|0,p=128,w=1;;){R=f[(Y=(t=w+-1|0)<<2)+D>>2],i=f[R+20>>2],f[W>>2]=f[R+16>>2],f[W+4>>2]=i,Ot=f[(d=R+24|0)+4>>2],f[(i=W+8|0)>>2]=f[d>>2],f[i+4>>2]=Ot,i=f[R+4>>2],f[n>>2]=f[R>>2],f[n+4>>2]=i,d=f[(i=R+8|0)+4>>2],f[n+8>>2]=f[i>>2],f[n+12>>2]=d;e:{i:{A:{r:{n:{a:{o:{s:{if(!((h=v(_*v(C[Dt>>2]-m)))>(F=v(o*v(C[Et>>2]-g)))||(g=v(o*v(C[Tt>>2]-g)),m=v(_*v(C[St>>2]-m)),g>m||(z=C[e+8>>2],V=v(a*v(C[pt>>2]-z)),m=m<F?m:F,V>m||(g=h>g?h:g,h=v(a*v(C[It>>2]-z)),g>h|(V>g?V:g)<Q^1|(h<m?h:m)>v(0)^1))))){if(f[R+40>>2]){if((0|t)<=(0|B)){i=D,d=p;break i}if((0|p)>=(0|(d=p<<1))){i=D;break A}if((0|y)>=(0|d)){i=D;break r}if(!p){i=0;break s}if(i=dA(p<<3),(0|p)<1)break s;for(t=i,B=D,y=p;f[t>>2]=f[B>>2],t=t+4|0,B=B+4|0,y=y+-1|0;);if(!G)break a;break o}yt[f[f[r>>2]+12>>2]](r,R)}i=D,d=p;break e}if(t=G,y=G=1,!t)break n;if(y=d,!D)break r}CA(D)}y=1}G=y,y=d}X((t=p<<2)+i|0,0,t)}B=d+-2|0}f[i+Y>>2]=f[R+36>>2],f[(w<<2)+i>>2]=f[R+40>>2],t=w+1|0}if(!t)break;m=C[e+4>>2],g=C[e>>2],D=i,p=d,w=t}!G|!i||CA(i)}Z=n+544|0}(f[G>>2],a+88|0,a+448|0,a+40|0);else if(t=f[m+20>>2],!((0|t)<1))for(e=t+-1|0,r=64,i=0;;){if(t=f[m+28>>2]+r|0,m=f[t>>2],Ft=C[o+52>>2],Vt=C[o+56>>2],w=C[t+-16>>2],Q=C[t+-12>>2],W=C[t+-8>>2],_=C[o+20>>2],d=C[o+24>>2],z=C[t+-64>>2],pt=C[t+-48>>2],Y=C[t+-32>>2],It=C[t+-60>>2],St=C[t+-44>>2],Dt=C[t+-28>>2],Et=C[t+-56>>2],h=C[o+36>>2],R=C[t+-40>>2],g=C[o+40>>2],Ot=C[t+-24>>2],Tt=C[o+48>>2],y=C[o+8>>2],B=C[o>>2],F=C[o+4>>2],D=C[o+16>>2],V=C[o+32>>2],f[a+148>>2]=0,f[a+132>>2]=0,f[a+116>>2]=0,f[a+100>>2]=0,C[a+128>>2]=v(v(Et*V)+v(R*h))+v(Ot*g),C[a+124>>2]=v(v(It*V)+v(St*h))+v(Dt*g),C[a+120>>2]=v(v(z*V)+v(pt*h))+v(Y*g),C[a+112>>2]=v(v(Et*D)+v(R*_))+v(Ot*d),C[a+108>>2]=v(v(It*D)+v(St*_))+v(Dt*d),C[a+104>>2]=v(v(z*D)+v(pt*_))+v(Y*d),C[a+96>>2]=v(v(B*Et)+v(F*R))+v(y*Ot),C[a+92>>2]=v(v(B*It)+v(F*St))+v(y*Dt),C[a+88>>2]=v(v(z*B)+v(pt*F))+v(Y*y),C[a+144>>2]=Vt+v(v(v(V*w)+v(h*Q))+v(g*W)),C[a+140>>2]=Ft+v(v(v(D*w)+v(_*Q))+v(d*W)),C[a+136>>2]=Tt+v(v(v(B*w)+v(F*Q))+v(y*W)),f[a+700>>2]=i,f[a+696>>2]=-1,f[a+688>>2]=f[a+44>>2],f[a+684>>2]=m,f[a+680>>2]=0,f[a+692>>2]=a+88,f[a+452>>2]=1065353216,f[a+464>>2]=-1,f[a+468>>2]=0,f[a+456>>2]=0,f[a+460>>2]=1,f[a+476>>2]=i,f[a+448>>2]=21552,t=f[a+64>>2],f[a+472>>2]=t,f[a+452>>2]=f[t+4>>2],f[a+468>>2]=f[t+20>>2],Cf(f[a+56>>2],f[a+60>>2],a+680|0,a+448|0),(0|e)==(0|i))break t;i=i+1|0,r=r+80|0,o=f[a+52>>2],m=f[a+48>>2]}Z=a+704|0}function gf(t,e,i,r,n,a,o,_){var h;Z=h=Z-32|0,f[h+24>>2]=-1,f[h+28>>2]=-1,f[h+20>>2]=a,f[h+16>>2]=r,f[h+12>>2]=n,f[h+8>>2]=0,Bf(t,e,i,h+8|0,o,_),Z=h+32|0}function Bf(t,e,i,r,a,o){var _,h,d=0,g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=0,Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=0,Lt=v(0),wt=v(0),xt=0,Qt=0,Wt=0,Yt=0,Pt=0,Mt=0,Zt=0,Ut=0,Xt=0,Jt=0,jt=0,zt=0,Ht=0,Kt=v(0);Z=_=Z-688|0,d=f[r+12>>2],h=f[r+4>>2];t:if((0|(St=f[h+4>>2]))<=19)C[_+660>>2]=o,f[_+656>>2]=0,f[_+488>>2]=15992,f[_+652>>2]=f[a+4>>2],n[_+460|0]=0,f[_+436>>2]=953267991,f[_+64>>2]=14800,t=of(_+664|0,t,h,_+128|0,_- -64|0),yt[f[f[t>>2]+8>>2]](t,e,i,d,d,_+488|0)&&(o=C[_+620>>2],g=C[_+624>>2],m=C[_+628>>2],y=v(v(v(o*o)+v(g*g))+v(m*m)),y>v(9999999747378752e-20)&&(p=C[_+652>>2],p<C[a+4>>2]&&(R=m,m=v(v(1)/v(E(y))),C[_+628>>2]=R*m,C[_+624>>2]=g*m,C[_+620>>2]=o*m,t=_+644|0,e=f[t+4>>2],i=_+112|0,f[i>>2]=f[t>>2],f[i+4>>2]=e,t=_+620|0,e=t+8|0,i=f[e+4>>2],d=_+96|0,f[d>>2]=f[e>>2],f[d+4>>2]=i,e=f[_+640>>2],f[_+104>>2]=f[_+636>>2],f[_+108>>2]=e,C[_+120>>2]=p,e=f[t+4>>2],f[_+88>>2]=f[t>>2],f[_+92>>2]=e,f[_+84>>2]=0,f[_+80>>2]=f[r+8>>2],v(yt[f[f[a>>2]+12>>2]](a,_+80|0,1)))));else if(Gt=St+-21|0,Gt>>>0<=8){e:if(!(Gt>>>0>7)){switch(Gt-1|0){default:g=C[d+20>>2],m=C[d+36>>2],B=C[d+52>>2],y=C[d+24>>2],F=C[d+56>>2],p=C[d+40>>2],D=C[d+32>>2],G=C[d>>2],w=C[d+16>>2],V=C[d+4>>2],R=C[d+8>>2],Q=C[d+48>>2],f[_+92>>2]=0,Q=v(-Q),pt=v(v(v(R*Q)-v(y*B))-v(p*F)),Y=C[e+48>>2],W=C[e+52>>2],z=C[e+56>>2],C[_+88>>2]=pt+v(v(v(R*Y)+v(y*W))+v(p*z)),Dt=v(v(v(V*Q)-v(g*B))-v(m*F)),C[_+84>>2]=Dt+v(v(v(V*Y)+v(g*W))+v(m*z)),Tt=v(v(v(G*Q)-v(w*B))-v(D*F)),C[_+80>>2]=Tt+v(v(v(G*Y)+v(w*W))+v(D*z)),f[_+676>>2]=0,B=C[i+48>>2],F=C[i+52>>2],Q=C[i+56>>2],C[_+672>>2]=pt+v(v(v(R*B)+v(y*F))+v(p*Q)),C[_+668>>2]=Dt+v(v(v(V*B)+v(g*F))+v(m*Q)),C[_+664>>2]=Tt+v(v(v(G*B)+v(w*F))+v(D*Q)),f[_+516>>2]=0,B=C[i+8>>2],F=C[i+24>>2],Q=C[i+40>>2],C[_+528>>2]=v(v(R*B)+v(y*F))+v(p*Q),Y=C[i+4>>2],W=C[i+20>>2],z=C[i+36>>2],C[_+524>>2]=v(v(R*Y)+v(y*W))+v(p*z),C[_+512>>2]=v(v(V*B)+v(g*F))+v(m*Q),C[_+508>>2]=v(v(V*Y)+v(g*W))+v(m*z),f[_+500>>2]=0,Tt=R,R=C[i>>2],It=y,y=C[i+16>>2],Et=p,p=C[i+32>>2],C[_+520>>2]=v(v(Tt*R)+v(It*y))+v(Et*p),C[_+504>>2]=v(v(V*R)+v(g*y))+v(m*p),C[_+496>>2]=v(v(G*B)+v(w*F))+v(D*Q),C[_+492>>2]=v(v(G*Y)+v(w*W))+v(D*z),C[_+488>>2]=v(v(G*R)+v(w*y))+v(D*p),f[_+548>>2]=0,f[(St=_+540|0)>>2]=0,f[St+4>>2]=0,f[(St=_+532|0)>>2]=0,f[St+4>>2]=0,r=f[r+8>>2],uf(_+128|0,t,e,i,d,v(yt[f[f[h>>2]+48>>2]](h))),f[_+348>>2]=h,f[_+344>>2]=r,f[_+128>>2]=21724,C[_+336>>2]=o,f[_+340>>2]=a,f[_+328>>2]=f[a+4>>2],yt[f[f[t>>2]+8>>2]](t,_+488|0,_- -64|0,_+48|0),je(h,_+128|0,_+80|0,_+664|0,_- -64|0,_+48|0);break t;case 0:case 1:case 2:case 3:case 4:case 5:break e;case 6:}C[_+300>>2]=o,f[_+296>>2]=0,f[_+128>>2]=15992,f[_+292>>2]=f[a+4>>2],t=function(t,e,i){return f[t+20>>2]=i,f[t+16>>2]=0,f[t+12>>2]=e,f[t+4>>2]=0,f[t+8>>2]=0,f[t>>2]=20396,t}(_+80|0,t,h),yt[f[f[t>>2]+8>>2]](t,e,i,d,d,_+128|0)&&(o=C[_+260>>2],g=C[_+264>>2],m=C[_+268>>2],(y=v(v(v(o*o)+v(g*g))+v(m*m)))>v(9999999747378752e-20)&&((p=C[_+292>>2])<C[a+4>>2]&&(R=m,m=v(v(1)/v(E(y))),C[_+268>>2]=R*m,C[_+264>>2]=g*m,C[_+260>>2]=o*m,e=f[(t=_+284|0)+4>>2],f[(i=_+520|0)>>2]=f[t>>2],f[i+4>>2]=e,i=f[(e=(t=_+260|0)+8|0)+4>>2],f[(d=_+504|0)>>2]=f[e>>2],f[d+4>>2]=i,e=f[_+280>>2],f[_+512>>2]=f[_+276>>2],f[_+516>>2]=e,C[_+528>>2]=p,e=f[t+4>>2],f[_+496>>2]=f[t>>2],f[_+500>>2]=e,f[_+492>>2]=0,f[_+488>>2]=f[r+8>>2],v(yt[f[f[a>>2]+12>>2]](a,_+488|0,1)))));break t}Q=C[i+52>>2],Y=C[i+56>>2],m=C[d+52>>2],W=C[d+56>>2],z=C[e+52>>2],pt=C[e+56>>2],p=C[d+20>>2],D=C[d+36>>2],V=C[d+24>>2],R=C[d+40>>2],Dt=C[i+48>>2],Kt=C[d+48>>2],Tt=C[e+48>>2],y=C[d+32>>2],G=C[d>>2],w=C[d+16>>2],B=C[d+4>>2],F=C[d+8>>2],f[_+516>>2]=0,g=C[i+8>>2],It=C[i+24>>2],Et=C[i+40>>2],C[_+528>>2]=v(v(F*g)+v(V*It))+v(R*Et),Nt=C[i+4>>2],Ft=C[i+20>>2],Vt=C[i+36>>2],C[_+524>>2]=v(v(F*Nt)+v(V*Ft))+v(R*Vt),C[_+512>>2]=v(v(B*g)+v(p*It))+v(D*Et),C[_+508>>2]=v(v(B*Nt)+v(p*Ft))+v(D*Vt),f[_+500>>2]=0,Ot=C[i>>2],Lt=C[i+16>>2],wt=C[i+32>>2],C[_+520>>2]=v(v(F*Ot)+v(V*Lt))+v(R*wt),C[_+504>>2]=v(v(B*Ot)+v(p*Lt))+v(D*wt),C[_+496>>2]=v(v(G*g)+v(w*It))+v(y*Et),C[_+492>>2]=v(v(G*Nt)+v(w*Ft))+v(y*Vt),C[_+488>>2]=v(v(G*Ot)+v(w*Lt))+v(y*wt),f[_+548>>2]=0,f[(St=_+540|0)>>2]=0,f[St+4>>2]=0,f[(St=_+532|0)>>2]=0,f[St+4>>2]=0,r=f[r+8>>2],uf(_+128|0,t,e,i,d,v(yt[f[f[h>>2]+48>>2]](h))),f[_+348>>2]=h,f[_+344>>2]=r,f[_+128>>2]=21936,C[_+336>>2]=o,f[_+340>>2]=a,f[_+328>>2]=f[a+4>>2],yt[f[f[t>>2]+8>>2]](t,_+488|0,_+80|0,_+664|0),f[_+76>>2]=0,It=v(-Kt),Et=v(v(v(F*It)-v(V*m))-v(R*W)),o=v(Et+v(v(v(F*Tt)+v(V*z))+v(R*pt))),C[_+72>>2]=o,Nt=v(v(v(B*It)-v(p*m))-v(D*W)),g=v(Nt+v(v(v(B*Tt)+v(p*z))+v(D*pt))),C[_+68>>2]=g,W=v(v(v(G*It)-v(w*m))-v(y*W)),m=v(W+v(v(v(G*Tt)+v(w*z))+v(y*pt))),C[_+64>>2]=m,y=v(W+v(v(v(G*Dt)+v(w*Q))+v(y*Y))),G=m,y<m&&(C[_+64>>2]=y,G=y),w=g,(p=v(Nt+v(v(v(B*Dt)+v(p*Q))+v(D*Y))))<g&&(C[_+68>>2]=p,w=p),(D=v(Et+v(v(v(F*Dt)+v(V*Q))+v(R*Y))))<(V=o)&&(C[_+72>>2]=D,V=D),f[_+60>>2]=0,C[_+56>>2]=o,C[_+52>>2]=g,C[_+48>>2]=m,m<y&&(C[_+48>>2]=y,m=y),g<p&&(C[_+52>>2]=p,g=p),o<D&&(C[_+56>>2]=D,o=D),C[_+64>>2]=C[_+80>>2]+G,C[_+68>>2]=C[_+84>>2]+w,C[_+72>>2]=C[_+88>>2]+V,C[_+48>>2]=C[_+664>>2]+m,C[_+52>>2]=C[_+668>>2]+g,C[_+56>>2]=C[_+672>>2]+o,yt[f[f[h>>2]+64>>2]](h,_+128|0,_- -64|0,_+48|0)}else if(31==(0|St)){Lr(_+40|0,20933),B=C[(St=d+52|0)>>2],F=C[(Gt=d+56|0)>>2],Q=C[e+52>>2],Y=C[e+56>>2],g=C[(xt=d+20|0)>>2],m=C[(Qt=d+36|0)>>2],W=C[e+20>>2],z=C[e+36>>2],pt=C[e+24>>2],y=C[(Wt=d+24|0)>>2],Dt=C[e+40>>2],p=C[(Yt=d+40|0)>>2],D=C[d+32>>2],G=C[d>>2],w=C[d+16>>2],Tt=C[e+32>>2],It=C[e>>2],Et=C[e+16>>2],Ot=C[d+48>>2],Nt=C[e+48>>2],V=C[d+4>>2],Ft=C[e+4>>2],Vt=C[e+8>>2],R=C[d+8>>2],f[(Pt=_+188|0)>>2]=0,f[(Mt=_+172|0)>>2]=0,f[(Zt=_+156|0)>>2]=0,C[(Ut=_+168|0)>>2]=v(v(R*Vt)+v(y*pt))+v(p*Dt),C[(Xt=_+164|0)>>2]=v(v(R*Ft)+v(y*W))+v(p*z),C[(Jt=_+152|0)>>2]=v(v(V*Vt)+v(g*pt))+v(m*Dt),C[(jt=_+148|0)>>2]=v(v(V*Ft)+v(g*W))+v(m*z),zt=_+184|0,Ot=v(-Ot),C[zt>>2]=v(v(v(R*Ot)-v(y*B))-v(p*F))+v(v(v(R*Nt)+v(y*Q))+v(p*Y)),C[(Ht=_+180|0)>>2]=v(v(v(V*Ot)-v(g*B))-v(m*F))+v(v(v(V*Nt)+v(g*Q))+v(m*Y)),f[_+140>>2]=0,C[_+160>>2]=v(v(R*It)+v(y*Et))+v(p*Tt),C[_+144>>2]=v(v(V*It)+v(g*Et))+v(m*Tt),C[_+136>>2]=v(v(G*Vt)+v(w*pt))+v(D*Dt),C[_+176>>2]=v(v(v(G*Ot)-v(w*B))-v(D*F))+v(v(v(G*Nt)+v(w*Q))+v(D*Y)),C[_+132>>2]=v(v(G*Ft)+v(w*W))+v(D*z),C[_+128>>2]=v(v(G*It)+v(w*Et))+v(D*Tt),yt[f[f[t>>2]+8>>2]](t,_+128|0,_- -64|0,_+48|0),B=C[St>>2],F=C[Gt>>2],Q=C[i+52>>2],Y=C[i+56>>2],g=C[xt>>2],m=C[Qt>>2],W=C[i+20>>2],z=C[i+36>>2],pt=C[i+24>>2],y=C[Wt>>2],Dt=C[i+40>>2],p=C[Yt>>2],D=C[d+32>>2],G=C[d>>2],w=C[d+16>>2],Tt=C[i+32>>2],It=C[i>>2],Et=C[i+16>>2],Ot=C[d+48>>2],Nt=C[i+48>>2],V=C[d+4>>2],Ft=C[i+4>>2],Vt=C[i+8>>2],R=C[d+8>>2],f[Pt>>2]=0,f[Mt>>2]=0,f[Zt>>2]=0,C[Ut>>2]=v(v(R*Vt)+v(y*pt))+v(p*Dt),C[Xt>>2]=v(v(R*Ft)+v(y*W))+v(p*z),C[Jt>>2]=v(v(V*Vt)+v(g*pt))+v(m*Dt),C[jt>>2]=v(v(V*Ft)+v(g*W))+v(m*z),Ot=v(-Ot),C[zt>>2]=v(v(v(R*Ot)-v(y*B))-v(p*F))+v(v(v(R*Nt)+v(y*Q))+v(p*Y)),C[Ht>>2]=v(v(v(V*Ot)-v(g*B))-v(m*F))+v(v(v(V*Nt)+v(g*Q))+v(m*Y)),f[_+140>>2]=0,C[_+160>>2]=v(v(R*It)+v(y*Et))+v(p*Tt),C[_+144>>2]=v(v(V*It)+v(g*Et))+v(m*Tt),C[_+136>>2]=v(v(G*Vt)+v(w*pt))+v(D*Dt),C[_+176>>2]=v(v(v(G*Ot)-v(w*B))-v(D*F))+v(v(v(G*Nt)+v(w*Q))+v(D*Y)),C[_+132>>2]=v(v(G*Ft)+v(w*W))+v(D*z),C[_+128>>2]=v(v(G*It)+v(w*Et))+v(D*Tt),yt[f[f[t>>2]+8>>2]](t,_+128|0,_+24|0,_+8|0),(g=C[_+24>>2])<C[_+64>>2]&&(C[_+64>>2]=g),(g=C[_+28>>2])<C[_+68>>2]&&(C[_+68>>2]=g),(g=C[_+32>>2])<C[_+72>>2]&&(C[_+72>>2]=g),(g=C[_+36>>2])<C[_+76>>2]&&(C[_+76>>2]=g),g=C[_+8>>2],C[_+48>>2]<g&&(C[_+48>>2]=g),g=C[_+12>>2],C[_+52>>2]<g&&(C[_+52>>2]=g),g=C[_+16>>2],C[_+56>>2]<g&&(C[_+56>>2]=g),g=C[_+20>>2],C[_+60>>2]<g&&(C[_+60>>2]=g),f[_+520>>2]=a,f[_+516>>2]=d,C[_+508>>2]=o,f[_+504>>2]=i,f[_+500>>2]=e,f[_+496>>2]=t,f[_+492>>2]=r,f[_+488>>2]=22152,f[_+512>>2]=h;e:{if(!(t=f[h+68>>2])){if(f[h+20>>2]<1)break e;for(r=64,e=1;;){if(t=f[h+28>>2]+r|0,i=f[t>>2],o=C[t+-16>>2],g=C[t+-12>>2],m=C[t+-8>>2],y=C[t+-64>>2],p=C[t+-48>>2],D=C[t+-32>>2],G=C[t+-60>>2],w=C[t+-44>>2],V=C[t+-28>>2],R=C[t+-56>>2],B=C[t+-40>>2],F=C[t+-24>>2],f[_+188>>2]=0,f[_+172>>2]=0,f[_+156>>2]=0,f[_+140>>2]=0,Q=C[d+32>>2],Y=C[d+36>>2],W=C[d+40>>2],C[_+168>>2]=v(v(R*Q)+v(B*Y))+v(F*W),C[_+164>>2]=v(v(G*Q)+v(w*Y))+v(V*W),C[_+160>>2]=v(v(y*Q)+v(p*Y))+v(D*W),z=C[d+16>>2],pt=C[d+20>>2],Dt=C[d+24>>2],C[_+152>>2]=v(v(R*z)+v(B*pt))+v(F*Dt),C[_+148>>2]=v(v(G*z)+v(w*pt))+v(V*Dt),C[_+144>>2]=v(v(y*z)+v(p*pt))+v(D*Dt),Tt=R,R=C[d>>2],It=B,B=C[d+4>>2],Et=F,F=C[d+8>>2],C[_+136>>2]=v(v(Tt*R)+v(It*B))+v(Et*F),C[_+132>>2]=v(v(G*R)+v(w*B))+v(V*F),C[_+128>>2]=v(v(y*R)+v(p*B))+v(D*F),C[_+184>>2]=v(v(v(o*Q)+v(g*Y))+v(m*W))+C[d+56>>2],C[_+180>>2]=v(v(v(o*z)+v(g*pt))+v(m*Dt))+C[d+52>>2],C[_+176>>2]=v(v(v(o*R)+v(g*B))+v(m*F))+C[d+48>>2],f[_+84>>2]=1065353216,f[_+88>>2]=1,f[_+92>>2]=-1,t=e+-1|0,f[_+100>>2]=t,a=f[_+520>>2],f[_+96>>2]=a,f[_+80>>2]=22368,f[_+84>>2]=f[a+4>>2],f[_+684>>2]=t,f[_+680>>2]=-1,f[_+668>>2]=i,t=f[_+492>>2],f[_+664>>2]=t,f[_+672>>2]=f[t+8>>2],f[_+676>>2]=_+128,Bf(f[_+496>>2],f[_+500>>2],f[_+504>>2],_+664|0,_+80|0,C[_+508>>2]),(0|e)>=f[h+20>>2])break e;r=r+80|0,e=e+1|0,d=f[_+516>>2]}}i=f[(e=_+72|0)+4>>2],f[(r=_+136|0)>>2]=f[e>>2],f[r+4>>2]=i,i=f[(e=_+56|0)+4>>2],f[(r=_+152|0)>>2]=f[e>>2],f[r+4>>2]=i,e=f[_+52>>2],f[_+144>>2]=f[_+48>>2],f[_+148>>2]=e,e=f[_+68>>2],f[_+128>>2]=f[_+64>>2],f[_+132>>2]=e,Wi(t,f[t>>2],_+128|0,_+488|0)}qr()}Z=_+688|0}function _f(t,e,i,r,n,a){var o,_,h=0,d=0,g=0,m=0,y=0,p=0,R=v(0),D=v(0),B=0,F=v(0),V=v(0),G=v(0),w=v(0),Q=0,W=v(0),Y=0,z=v(0),pt=0,Dt=0,It=v(0);Z=o=Z-400|0,Lr(o+392|0,20953),h=f[(g=m=i+8|0)+4>>2],f[(B=o+336|0)>>2]=f[g>>2],f[B+4>>2]=h,y=f[(h=B=i+24|0)+4>>2],f[(g=o+352|0)>>2]=f[h>>2],f[g+4>>2]=y,p=f[(g=i+40|0)+4>>2],f[(h=o+368|0)>>2]=f[g>>2],f[h+4>>2]=p,Y=f[(h=i+56|0)+4>>2],f[(y=o+384|0)>>2]=f[h>>2],f[y+4>>2]=Y,Q=f[(y=r+8|0)+4>>2],f[(p=o+272|0)>>2]=f[y>>2],f[p+4>>2]=Q,p=f[i+4>>2],f[o+328>>2]=f[i>>2],f[o+332>>2]=p,p=f[i+20>>2],f[o+344>>2]=f[i+16>>2],f[o+348>>2]=p,p=f[i+36>>2],f[o+360>>2]=f[i+32>>2],f[o+364>>2]=p,p=f[i+52>>2],f[o+376>>2]=f[i+48>>2],f[o+380>>2]=p,p=f[r+4>>2],f[o+264>>2]=f[r>>2],f[o+268>>2]=p,d=f[(p=r+24|0)+4>>2],f[(Y=o+288|0)>>2]=f[p>>2],f[Y+4>>2]=d,pt=f[(d=Y=r+40|0)+4>>2],f[(Q=o+304|0)>>2]=f[d>>2],f[Q+4>>2]=pt,Dt=f[(Q=r+56|0)+4>>2],f[(d=o+320|0)>>2]=f[Q>>2],f[d+4>>2]=Dt,d=f[r+20>>2],f[o+280>>2]=f[r+16>>2],f[o+284>>2]=d,d=f[r+36>>2],f[o+296>>2]=f[r+32>>2],f[o+300>>2]=d,d=f[r+52>>2],f[o+312>>2]=f[r+48>>2],f[o+316>>2]=d,Mi(o+328|0,o+264|0,o,o+248|0),f[o+228>>2]=0,R=C[o+248>>2],C[o+224>>2]=R*C[o+8>>2],C[o+220>>2]=R*C[o+4>>2],C[o+216>>2]=R*C[o>>2],f[(d=o+208|0)>>2]=0,f[d+4>>2]=0,f[o+200>>2]=0,f[o+204>>2]=0,f[(d=o+56|0)>>2]=0,f[d+4>>2]=0,f[(d=o+48|0)>>2]=0,f[d+4>>2]=0,tt(o+328|0,o+248|0),f[(d=o+44|0)>>2]=0,f[(pt=o+28|0)>>2]=0,R=C[o+248>>2],D=C[o+252>>2],F=C[o+256>>2],G=C[o+260>>2],V=v(v(2)/v(v(v(v(R*R)+v(D*D))+v(F*F))+v(G*G))),z=v(F*V),w=v(D*z),W=v(R*V),It=v(G*W),C[o+36>>2]=w+It,C[(Dt=o+24|0)>>2]=w-It,w=v(R*W),W=D,D=v(D*V),V=v(W*D),C[o+40>>2]=v(1)-v(w+V),F=v(F*z),C[o+20>>2]=v(1)-v(w+F),f[o+12>>2]=0,w=v(R*z),W=v(G*D),C[o+32>>2]=w-W,R=v(R*D),D=v(G*z),C[o+16>>2]=R+D,C[o+8>>2]=w+W,C[o+4>>2]=R-D,C[o>>2]=v(1)-v(V+F),RA(e,o,o+200|0,o+216|0,o+248|0,o+232|0),_=f[m+4>>2],f[d>>2]=f[m>>2],f[d+4>>2]=_,d=f[i+20>>2],f[(m=o+52|0)>>2]=f[i+16>>2],f[m+4>>2]=d,d=f[B+4>>2],f[(m=o+60|0)>>2]=f[B>>2],f[m+4>>2]=d,B=f[i+36>>2],f[(m=o+68|0)>>2]=f[i+32>>2],f[m+4>>2]=B,B=f[g+4>>2],f[(m=o+76|0)>>2]=f[g>>2],f[m+4>>2]=B,g=f[i+52>>2],f[(m=o+84|0)>>2]=f[i+48>>2],f[m+4>>2]=g,d=f[h+4>>2],f[(g=B=o+92|0)>>2]=f[h>>2],f[g+4>>2]=d,h=f[y+4>>2],f[(g=o+108|0)>>2]=f[y>>2],f[g+4>>2]=h,f[o>>2]=22756,g=f[i+4>>2],f[o+36>>2]=f[i>>2],f[o+40>>2]=g,i=f[r+4>>2],f[o+100>>2]=f[r>>2],f[o+104>>2]=i,h=f[r+52>>2],f[(i=o+148|0)>>2]=f[r+48>>2],f[i+4>>2]=h,y=f[Q+4>>2],f[(h=g=o+156|0)>>2]=f[Q>>2],f[h+4>>2]=y,y=f[p+4>>2],f[(h=o+124|0)>>2]=f[p>>2],f[h+4>>2]=y,y=f[r+20>>2],f[(h=o+116|0)>>2]=f[r+16>>2],f[h+4>>2]=y,y=f[Y+4>>2],f[(h=o+140|0)>>2]=f[Y>>2],f[h+4>>2]=y,y=f[r+36>>2],f[(h=o+132|0)>>2]=f[r+32>>2],f[h+4>>2]=y,f[o+184>>2]=n,C[o+188>>2]=a,f[o+192>>2]=e,R=C[o+88>>2],D=C[o+152>>2],a=C[m>>2],G=C[i>>2],F=C[B>>2],V=C[g>>2],f[o+180>>2]=t,a=v(G-a),R=v(D-R),D=v(V-F),G=v(v(1)/v(E(v(v(v(a*a)+v(R*R))+v(D*D))))),z=(F=v(D*G))==v(0)?v(0xde0b6b000000000):v(v(1)/F),f[pt>>2]=z<v(0),w=(V=v(R*G))==v(0)?v(0xde0b6b000000000):v(v(1)/V),f[Dt>>2]=w<v(0),C[o+12>>2]=z,C[o+8>>2]=w,W=a,a=v(a*G),C[o+32>>2]=v(D*F)+v(v(W*a)+v(R*V)),a=a==v(0)?v(0xde0b6b000000000):v(v(1)/a),C[o+4>>2]=a,f[o+20>>2]=a<v(0),t=f[t+68>>2],yt[f[f[t>>2]+24>>2]](t,o+376|0,o+312|0,o,o+248|0,o+232|0),qr(),Z=o+400|0}function mf(t){t|=0;var e,i=0,r=0,a=0,o=v(0),h=0,d=0,g=0,m=0,y=0,p=v(0),R=0,D=0,B=v(0),E=v(0),F=v(0),V=v(0),G=0;if(Z=e=Z-192|0,yt[f[f[t>>2]+20>>2]](t)){if(r=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[r>>2]+100>>2]](r),r=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[r>>2]+8>>2]](e+80|0,r),r=0|yt[f[f[t>>2]+20>>2]](t),8&yt[f[f[r>>2]+56>>2]](r)&&((r=f[t+24>>2])&&!((0|(m=0|yt[f[f[r>>2]+36>>2]](r)))<1)))for(R=e+176|0,r=0;;){if(h=f[t+24>>2],h=0|yt[f[f[h>>2]+40>>2]](h,r),(0|(g=f[h+780>>2]))>=1)for(h=h+160|0;y=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[y>>2]+40>>2]](y,h+-124|0,h+-92|0,C[h+-76>>2],f[h>>2],R),h=h+192|0,g=g+-1|0;);if((0|m)==(0|(r=r+1|0)))break}if(r=0|yt[f[f[t>>2]+20>>2]](t),!(!(3&yt[f[f[r>>2]+56>>2]](r))|f[t+8>>2]<1))for(g=e+160|0,m=e+96|0,R=e+112|0,y=e+128|0,D=e+144|0,h=0;;){if(r=f[f[t+16>>2]+h>>2],!(32&_[r+204|0])){if(yt[f[f[t>>2]+20>>2]](t)&&(i=0|yt[f[f[t>>2]+20>>2]](t),1&yt[f[f[i>>2]+56>>2]](i))){f[e+72>>2]=1053609165,f[e+76>>2]=0,f[e+64>>2]=1053609165,f[e+68>>2]=1053609165;t:if((i=f[r+220>>2]+-1|0)>>>0<=4){switch(i-1|0){default:d=f[(a=e+88|0)+4>>2],f[(i=e+72|0)>>2]=f[a>>2],f[i+4>>2]=d,i=f[e+84>>2],f[e+64>>2]=f[e+80>>2],f[e+68>>2]=i;break t;case 0:d=f[(a=m+8|0)+4>>2],f[(i=e+72|0)>>2]=f[a>>2],f[i+4>>2]=d,i=f[m+4>>2],f[e+64>>2]=f[m>>2],f[e+68>>2]=i;break t;case 1:d=f[(a=R+8|0)+4>>2],f[(i=e+72|0)>>2]=f[a>>2],f[i+4>>2]=d,i=f[R+4>>2],f[e+64>>2]=f[R>>2],f[e+68>>2]=i;break t;case 2:d=f[(a=y+8|0)+4>>2],f[(i=e+72|0)>>2]=f[a>>2],f[i+4>>2]=d,i=f[y+4>>2],f[e+64>>2]=f[y>>2],f[e+68>>2]=i;break t;case 3:}d=f[(a=D+8|0)+4>>2],f[(i=e+72|0)>>2]=f[a>>2],f[i+4>>2]=d,i=f[D+4>>2],f[e+64>>2]=f[D>>2],f[e+68>>2]=i}else f[e+72>>2]=1050253722,f[e+76>>2]=0,f[e+64>>2]=1050253722,f[e+68>>2]=1050253722;1&n[r+205|0]&&(d=f[(a=r+316|0)+4>>2],f[(i=e+72|0)>>2]=f[a>>2],f[i+4>>2]=d,i=f[r+312>>2],f[e+64>>2]=f[r+308>>2],f[e+68>>2]=i),yt[f[f[t>>2]+28>>2]](t,r+4|0,f[r+192>>2],e- -64|0)}(i=f[t+72>>2])&&2&yt[f[f[i>>2]+56>>2]](i)&&(d=f[(a=g+8|0)+4>>2],f[(i=e+40|0)>>2]=f[a>>2],f[i+4>>2]=d,i=f[g+4>>2],f[e+32>>2]=f[g>>2],f[e+36>>2]=i,i=f[r+192>>2],yt[f[f[i>>2]+8>>2]](i,r+4|0,e- -64|0,e+48|0),o=C[744],C[e+64>>2]=C[e+64>>2]-o,C[e+68>>2]=C[e+68>>2]-o,C[e+72>>2]=C[e+72>>2]-o,C[e+48>>2]=o+C[e+48>>2],C[e+52>>2]=o+C[e+52>>2],C[e+56>>2]=o+C[e+56>>2],3&_[r+204|0]|!_[t+44|0]|2!=f[r+252>>2]||(i=f[r+192>>2],yt[f[f[i>>2]+8>>2]](i,r+68|0,e+16|0,e),p=v(C[e+16>>2]-o),C[e+16>>2]=p,B=v(C[e+20>>2]-o),C[e+20>>2]=B,E=v(C[e+24>>2]-o),C[e+24>>2]=E,F=v(o+C[e>>2]),C[e>>2]=F,V=v(o+C[e+4>>2]),C[e+4>>2]=V,o=v(o+C[e+8>>2]),C[e+8>>2]=o,p<C[e+64>>2]&&(C[e+64>>2]=p),B<C[e+68>>2]&&(C[e+68>>2]=B),E<C[e+72>>2]&&(C[e+72>>2]=E),(p=C[e+28>>2])<C[e+76>>2]&&(C[e+76>>2]=p),C[e+48>>2]<F&&(C[e+48>>2]=F),C[e+52>>2]<V&&(C[e+52>>2]=V),C[e+56>>2]<o&&(C[e+56>>2]=o),o=C[e+12>>2],C[e+60>>2]<o&&(C[e+60>>2]=o)),r=f[t+72>>2],yt[f[f[r>>2]+60>>2]](r,e- -64|0,e+48|0,e+32|0))}if(h=h+4|0,!((0|(G=G+1|0))<f[t+8>>2]))break}}Z=e+192|0}function Rf(t,e){var i,r=0,a=0,o=0,h=0,d=0,C=0;if(Z=i=Z-96|0,n[i+52|0]=1,f[i+48>>2]=0,n[i+72|0]=1,f[(r=i+40|0)>>2]=0,f[r+4>>2]=0,f[i+68>>2]=0,n[i+92|0]=1,f[(r=i+60|0)>>2]=0,f[r+4>>2]=0,f[i+88>>2]=0,f[(r=i+80|0)>>2]=0,f[r+4>>2]=0,f[i+28>>2]=0,n[i+32|0]=1,f[i+20>>2]=0,f[i+24>>2]=0,!((0|(r=f[t+8>>2]))<1)){for(;;){h=f[f[f[t+16>>2]+(C<<2)>>2]+192>>2],f[i+12>>2]=h,o=m((o=h+(h<<15^-1)|0)>>>10^o,9);t:{e:if(!((d=d+-1&((o=((o^=o>>>6)<<11^-1)+o|0)>>>16^o))>>>0>=a>>>0)&&(a=f[f[i+28>>2]+(d<<2)>>2],-1!=(0|a))){for(d=f[i+48>>2],o=f[i+88>>2];;){if(f[o+(a<<3)>>2]!=(0|h)){if(-1!=(0|(a=f[d+(a<<2)>>2])))continue;break e}break}if(f[i+68>>2]+(a<<2))break t}f[i>>2]=h,Qf(i+16|0,i,i+12|0),a=f[i+12>>2],yt[f[f[a>>2]+60>>2]](a,e),r=f[t+8>>2]}if(!((0|(C=C+1|0))<(0|r)))break;a=f[i+20>>2],d=f[i+64>>2]}if(!((0|r)<1))for(a=0,h=0;C=f[f[t+16>>2]+a>>2],1!=(0|(d=f[C+252>>2]))&&64!=(0|d)||(yt[f[f[C>>2]+24>>2]](C,e),r=f[t+8>>2]),a=a+4|0,(0|(h=h+1|0))<(0|r););}(t=f[i+88>>2])&&(_[i+92|0]&&CA(t),f[i+88>>2]=0),f[i+88>>2]=0,n[i+92|0]=1,f[i+80>>2]=0,f[i+84>>2]=0,(t=f[i+68>>2])&&(_[i+72|0]&&CA(t),f[i+68>>2]=0),f[i+68>>2]=0,n[i+72|0]=1,f[i+60>>2]=0,f[i+64>>2]=0,(t=f[i+48>>2])&&(_[i+52|0]&&CA(t),f[i+48>>2]=0),f[i+48>>2]=0,n[i+52|0]=1,f[i+40>>2]=0,f[i+44>>2]=0,(t=f[i+28>>2])&&(_[i+32|0]&&CA(t),f[i+28>>2]=0),Z=i+96|0}function Qf(t,e,i){var r=0,a=0,o=0,h=0,C=0,g=0,v=0,y=0,p=0;t:{if(r=f[e>>2],o=m((o=(r<<15^-1)+r|0)>>>10^o,9),!((v=(a=(o=((o^=o>>>6)<<11^-1)+o|0)>>>16^o)&(o=f[t+48>>2])+-1)>>>0>=d[t+4>>2])&&-1!=(0|(h=f[f[t+12>>2]+(v<<2)>>2])))for(a=f[t+72>>2];;){if((0|r)==f[a+(h<<3)>>2])break t;if(-1==(0|(h=f[f[t+32>>2]+(h<<2)>>2])))break}if((0|(r=y=f[t+44>>2]))==(0|o)&&!((0|(r=o))>=(0|(C=r?r<<1:1)))){if(C?(g=dA(C<<2),r=f[t+44>>2]):r=o,(0|r)>=1)for(h=0,a=r;f[h+g>>2]=f[f[t+52>>2]+h>>2],h=h+4|0,a=a+-1|0;);(a=f[t+52>>2])&&(_[t+56|0]&&(CA(a),r=f[t+44>>2]),f[t+52>>2]=0),f[t+52>>2]=g,f[t+48>>2]=C,n[t+56|0]=1}if(f[t+44>>2]=r+1,f[f[t+52>>2]+(r<<2)>>2]=f[i>>2],(0|(a=f[t- -64>>2]))==f[t+68>>2]&&!((0|a)>=(0|(i=a?a<<1:1)))){if(i?(g=dA(i<<3),a=f[t+64>>2]):g=0,(0|a)>=1)for(h=0;C=f[t+72>>2]+h|0,p=f[C+4>>2],f[(r=h+g|0)>>2]=f[C>>2],f[r+4>>2]=p,h=h+8|0,a=a+-1|0;);(r=f[t+72>>2])&&(_[t+76|0]&&CA(r),f[t+72>>2]=0),f[t+72>>2]=g,f[t+68>>2]=i,n[t+76|0]=1,a=f[t+64>>2]}return r=f[e+4>>2],i=f[t+72>>2]+(a<<3)|0,f[i>>2]=f[e>>2],f[i+4>>2]=r,f[t+64>>2]=f[t+64>>2]+1,(0|o)<f[t+48>>2]&&(function(t){var e,i,r=0,a=0,o=0,h=0,d=0,C=0,g=0;if(!((0|(i=f[t+4>>2]))>=(0|(e=f[t+48>>2])))){if(f[t+8>>2]>=(0|e))r=f[t+12>>2];else{e?(r=dA(e<<2),o=f[t+4>>2]):o=i,d=f[t+12>>2];e:{if((0|o)>=1)for(h=r,a=d;f[h>>2]=f[a>>2],h=h+4|0,a=a+4|0,o=o+-1|0;);else if(!d)break e;_[t+16|0]&&CA(d)}f[t+12>>2]=r,n[t+16|0]=1,f[t+8>>2]=e}if(X((a=i<<2)+r|0,0,(C=e<<2)-a|0),f[t+4>>2]=e,(0|(g=f[t+24>>2]))<(0|e)){e:if(f[t+28>>2]>=(0|e))r=f[t+32>>2];else{if(e?(r=dA(C),o=f[t+24>>2]):(r=0,o=g),d=f[t+32>>2],(0|o)>=1)for(h=r,a=d;f[h>>2]=f[a>>2],h=h+4|0,a=a+4|0,o=o+-1|0;);else if(!d){f[t+32>>2]=r,f[t+28>>2]=e,n[t+36|0]=1;break e}_[t+36|0]&&CA(d),f[t+32>>2]=r,n[t+36|0]=1,f[t+28>>2]=e}X((a=g<<2)+r|0,0,C-a|0)}if(f[t+24>>2]=e,(0|e)>=1&&(X(f[t+12>>2],255,C),X(f[t+32>>2],255,C)),!((0|i)<1))for(h=f[t+32>>2],a=f[t+72>>2],d=f[t+12>>2],o=0;r=f[a>>2],r=m((r=(r<<15^-1)+r|0)>>>10^r,9),r=((r^=r>>>6)<<11^-1)+r|0,r=d+((f[t+48>>2]+-1&(r>>>16^r))<<2)|0,f[h>>2]=f[r>>2],f[r>>2]=o,a=a+8|0,h=h+4|0,(0|(o=o+1|0))!=(0|i););}}(t),e=f[e>>2],e=m((e=(e<<15^-1)+e|0)>>>10^e,9),e=((e^=e>>>6)<<11^-1)+e|0,v=f[t+48>>2]+-1&(e>>>16^e)),e=f[t+32>>2]+(y<<2)|0,t=f[t+12>>2]+(v<<2)|0,f[e>>2]=f[t>>2],void(f[t>>2]=y)}f[f[t+52>>2]+(h<<2)>>2]=f[i>>2]}function hf(t,e,i,r,n){t|=0,e|=0,i=v(i),r|=0,n|=0;var a,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0);return Z=a=Z-48|0,f[a+44>>2]=n,f[a+40>>2]=r,d=C[t- -64>>2],g=C[t+60>>2],m=C[t+80>>2],y=C[t+72>>2],p=C[t+76>>2],R=C[t+96>>2],D=C[t+88>>2],B=C[t+92>>2],E=C[t+56>>2],o=C[e+8>>2],_=C[e>>2],h=C[e+4>>2],f[a+28>>2]=0,C[a+24>>2]=v(v(_*D)+v(h*B))+v(o*R),C[a+20>>2]=v(v(_*y)+v(h*p))+v(o*m),C[a+16>>2]=v(v(E*_)+v(g*h))+v(d*o),C[a+32>>2]=i,f[a+8>>2]=f[t+48>>2],f[a+12>>2]=a+40,t=f[t+44>>2],i=v(yt[f[f[t>>2]+12>>2]](t,a+8|0,1)),Z=a+48|0,v(i)}function Gf(t,e,i,r,n,a){t|=0,e|=0,i|=0,r=v(r),n|=0,a|=0;var o,_=0,h=0;return Z=o=Z+-64|0,f[o+60>>2]=a,f[o+56>>2]=n,n=f[t+212>>2],C[n+4>>2]>=r&&(h=f[(_=i+8|0)+4>>2],f[(a=o+40|0)>>2]=f[_>>2],f[a+4>>2]=h,h=f[(_=e+8|0)+4>>2],f[(a=o+24|0)>>2]=f[_>>2],f[a+4>>2]=h,a=f[i+4>>2],f[o+32>>2]=f[i>>2],f[o+36>>2]=a,i=f[e+4>>2],f[o+16>>2]=f[e>>2],f[o+20>>2]=i,C[o+48>>2]=r,f[o+8>>2]=f[t+216>>2],f[o+12>>2]=o+56,r=v(yt[f[f[n>>2]+12>>2]](n,o+8|0,1))),Z=o- -64|0,v(r)}function yf(t){var e;(e=f[t+12>>2])&&(_[t+16|0]&&CA(e),f[t+12>>2]=0),f[t+12>>2]=0,n[t+16|0]=1,f[t+4>>2]=0,f[t+8>>2]=0}function Ff(t,e,i,r){var a,o,h=0,d=0,C=0,g=0,m=0,v=0,y=0,p=0,R=0,D=0,B=0;if(Z=o=Z-16|0,function(t,e,i){var r,a,o=0,h=0,d=0,C=0,g=0,m=0,v=0,y=0,p=0,R=0,D=0,B=0;if(Z=r=Z-16|0,Lr(r+8|0,22924),(0|(o=f[t+28>>2]))<=-1)for(f[t+32>>2]<=-1&&((h=f[t+36>>2])&&(_[t+40|0]&&CA(h),f[t+36>>2]=0),f[t+32>>2]=0,f[t+36>>2]=0,n[t+40|0]=1),g=o<<2;f[f[t+36>>2]+g>>2]=0,g=g+4|0,d=(h=o+1|0)>>>0>=o>>>0,o=h,d;);if(f[t+28>>2]=0,function(t){var e,i,r=0,n=0,a=0,o=0,_=0,h=0;if(Z=i=Z-16|0,!((0|(e=f[t+4>>2]))<=0)){for(a=f[t+12>>2];;){if((0|(r=o))!=(0|(n=f[(_=(r<<3)+a|0)>>2])))for(h=_;r=(n<<3)+a|0,f[h>>2]=f[r>>2],(0|(r=f[r>>2]))!=(0|(n=f[(h=(r<<3)+a|0)>>2])););if(f[_>>2]=r,(0|e)==(0|(o=o+1|0)))break}(0|e)<2||function A(t,e,i,r){for(var n=0,a=0,o=0,_=0,h=0,d=0,C=0,g=0,m=0,v=0;;){for(g=i,h=f[t+12>>2],m=f[h+((i+r|0)/2<<3)>>2],o=i,_=r;;){for(a=((o<<3)+h|0)-8|0;o=o+1|0,f[(a=a+8|0)>>2]<(0|m););for(i=o+-1|0,n=8+(_<<3)|0;_=_+-1|0,d=n+h|0,n=C=n+-8|0,f[d+-8>>2]>(0|m););if((0|i)<=(0|(n=_+1|0))&&(v=f[a>>2],d=f[a+4>>2],i=f[(n=h+C|0)+4>>2],f[a>>2]=f[n>>2],f[a+4>>2]=i,i=f[t+12>>2]+C|0,f[i>>2]=v,f[i+4>>2]=d,n=_,i=o),!((0|i)<=(0|n)))break;h=f[t+12>>2],o=i,_=n}if((0|n)>(0|g)&&A(t,e,g,n),!((0|i)<(0|r)))break}}(t,i+8|0,0,e+-1|0)}Z=i+16|0}(t+4|0),(0|(a=f[t+8>>2]))>=1)for(h=0;;){for(d=h,o=(m=(C=f[t+16>>2])+(R=h<<3)|0)+8|0,v=f[m>>2];g=h,(0|(h=h+1|0))<(0|a)&&(y=f[o>>2],o=o+8|0,(0|v)==(0|y)););t:if(y=(0|d)>(0|g),!y){for(D=d+-1|0,o=m+4|0,B=f[i+16>>2],m=1;p=f[(f[o>>2]<<2)+B>>2],f[p+208>>2]==(0|v)&&(m&=4!=(0|(p=f[p+220>>2]))&1!=(0|p)),o=o+8|0,(0|(D=D+1|0))<(0|g););if(!(1&m)){if(y)break t;for(o=4|R;;){if(C=f[f[i+16>>2]+(f[o+C>>2]<<2)>>2],(0|v)!=f[C+208>>2]|2!=f[C+220>>2]||(Ye(C,3),f[C+224>>2]=0),(0|d)>=(0|g))break t;o=o+8|0,d=d+1|0,C=f[t+16>>2]}}if(!y)for(o=4|R;;){if(C=f[f[i+16>>2]+(f[o+C>>2]<<2)>>2],f[C+208>>2]==(0|v)&&Ye(C,2),(0|d)>=(0|g))break t;o=o+8|0,d=d+1|0,C=f[t+16>>2]}}if(!((0|h)<(0|a)))break}if((0|(m=0|yt[f[f[e>>2]+36>>2]](e)))>=1)for(g=0;;){v=0|yt[f[f[e>>2]+40>>2]](e,g),i=f[v+776>>2];t:{e:{i:{if(!(!(h=f[v+772>>2])|2==f[h+220>>2])){if(2&(d=f[h+204>>2]))break i;break e}if(!i|2==f[i+220>>2])break t;if(!(2&(d=f[h+204>>2]))|2==f[h+220>>2])break e}4&d||Ve(i,0)}if(!(2&(o=f[i+204>>2]))|4&o|2==f[i+220>>2]||Ve(h,0),_[t+64|0]&&yt[f[f[e>>2]+28>>2]](e,h,i)){if((0|(i=f[t+28>>2]))==f[t+32>>2]&&!((0|i)>=(0|(C=i?i<<1:1)))){if(C?(d=dA(C<<2),i=f[t+28>>2]):d=0,(0|i)>=1)for(o=0,h=i;f[o+d>>2]=f[f[t+36>>2]+o>>2],o=o+4|0,h=h+-1|0;);(h=f[t+36>>2])&&(_[t+40|0]&&(CA(h),i=f[t+28>>2]),f[t+36>>2]=0),f[t+36>>2]=d,n[t+40|0]=1,f[t+32>>2]=C}f[t+28>>2]=i+1,f[f[t+36>>2]+(i<<2)>>2]=v}}if((0|m)==(0|(g=g+1|0)))break}qr(),Z=r+16|0}(t,e,i),a=f[t+8>>2],Lr(o+8|0,22952),_[t+64|0]){if((0|(y=f[t+28>>2]))>=2&&function A(t,e,i,r){for(var n=0,a=0,o=0,_=0,h=0,d=0,C=0,g=0,m=0,v=0;;){for(m=i,a=f[t+12>>2],g=f[a+((i+r|0)/2<<2)>>2],n=r;;){if(_=(0|(d=f[f[g+772>>2]+208>>2]))<0)for(h=i+-1|0,o=((i<<2)+a|0)-4|0,C=f[f[g+776>>2]+208>>2];h=h+1|0,v=f[(o=o+4|0)>>2],(0|(i=f[f[v+772>>2]+208>>2]))<=-1&&(i=f[f[v+776>>2]+208>>2]),(0|i)<(0|C););else for(h=i+-1|0,o=((i<<2)+a|0)-4|0;h=h+1|0,C=f[(o=o+4|0)>>2],(0|(i=f[f[C+772>>2]+208>>2]))<=-1&&(i=f[f[C+776>>2]+208>>2]),(0|i)<(0|d););if(_){for(i=n+1|0,n=(n<<2)+a|0,d=f[f[g+776>>2]+208>>2];_=f[n>>2],(0|(a=f[f[_+772>>2]+208>>2]))<=-1&&(a=f[f[_+776>>2]+208>>2]),n=n+-4|0,i=i+-1|0,(0|d)<(0|a););n=n+4|0}else{for(i=n+1|0,n=(n<<2)+a|0;_=f[n>>2],(0|(a=f[f[_+772>>2]+208>>2]))<=-1&&(a=f[f[_+776>>2]+208>>2]),n=n+-4|0,i=i+-1|0,(0|d)<(0|a););n=n+4|0}if((0|h)>(0|i)?(n=i,i=h):(a=f[o>>2],f[o>>2]=f[n>>2],f[f[t+12>>2]+(i<<2)>>2]=a,n=i+-1|0,i=h+1|0),!((0|i)<=(0|n)))break;a=f[t+12>>2]}if((0|n)>(0|m)&&A(t,e,m,n),!((0|i)<(0|r)))break}}(t+24|0,o,0,y+-1|0),!((0|a)<1))for(D=1;;){e=f[t+16>>2],p=f[e+(g<<3)>>2],B=1;t:if(!((0|g)>=(0|a)))for(;;){if(m=f[f[i+16>>2]+(f[4+((g<<3)+e|0)>>2]<<2)>>2],(0|(h=f[t+48>>2]))==f[t+52>>2]&&!((0|h)>=(0|(v=h?h<<1:1)))){if(v?(d=dA(v<<2),h=f[t+48>>2]):d=0,(0|h)>=1)for(e=0,C=h;f[e+d>>2]=f[f[t+56>>2]+e>>2],e=e+4|0,C=C+-1|0;);(e=f[t+56>>2])&&(_[t+60|0]&&(CA(e),h=f[t+48>>2]),f[t+56>>2]=0),f[t+56>>2]=d,n[t+60|0]=1,f[t+52>>2]=v}if(f[t+48>>2]=h+1,f[f[t+56>>2]+(h<<2)>>2]=m,B&=5==(0|(e=f[m+220>>2]))|2==(0|e),(0|a)==(0|(g=g+1|0))){g=a;break t}if(e=f[t+16>>2],f[e+(g<<3)>>2]!=(0|p))break}if(m=0,e=0,!((0|R)>=(0|y))&&(v=f[t+36>>2],e=f[(h=v+(d=R<<2)|0)>>2],(0|(C=f[f[e+772>>2]+208>>2]))<=-1&&(C=f[f[e+776>>2]+208>>2]),e=0,(0|C)==(0|p))){for(e=4+(d+v|0)|0,d=1;m=d,!((0|(D=d+R|0))>=(0|y)||(d=f[e>>2],C=f[f[d+772>>2]+208>>2],(0|C)<=-1&&(C=f[f[d+776>>2]+208>>2]),e=e+4|0,d=m+1|0,(0|C)!=(0|p))););e=h}if(B||yt[f[f[r>>2]+8>>2]](r,f[t+56>>2],f[t+48>>2],e,m,p),(0|(e=f[t+48>>2]))<=-1)for(f[t+52>>2]<=-1&&((h=f[t+56>>2])&&(_[t+60|0]&&CA(h),f[t+56>>2]=0),n[t+60|0]=1,f[t+52>>2]=0,f[t+56>>2]=0),C=e<<2;f[f[t+56>>2]+C>>2]=0,C=C+4|0,d=(h=e+1|0)>>>0>=e>>>0,e=h,d;);if(R=m?D:R,f[t+48>>2]=0,!((0|g)<(0|a)))break}}else h=0|yt[f[f[e>>2]+44>>2]](e),t=0|yt[f[f[e>>2]+36>>2]](e),yt[f[f[r>>2]+8>>2]](r,f[i+16>>2],f[i+8>>2],h,t,-1);qr(),Z=o+16|0}function Wf(t){var e,i=0,r=0,n=0,a=0;if(s(t),255==(0|(r=(e=c(0))>>>23&255)))return t=v(t*v(6.2831854820251465)),v(t/t);if((i=e<<1)>>>0>2173837238){if(r)i=8388607&e|8388608;else{if(r=0,(0|(i=e<<9))>=0)for(;r=r+-1|0,(0|(i<<=1))>-1;);i=e<<1-r}if(a=(0|(n=i-13176795|0))>-1,(0|r)>129)for(;;){if(a&&!(i=n))return v(t*v(0));if(a=(0|(n=(i<<=1)-13176795|0))>-1,!((0|(r=r+-1|0))>129))break}if(a&&!(i=n))return v(t*v(0));if(i>>>0<=8388607)for(;r=r+-1|0,(i<<=1)>>>0<8388608;);return b(0,-2147483648&e|((0|r)>=1?i+-8388608|r<<23:i>>>1-r)),k()}return-2121130058==(0|i)?v(t*v(0)):t}function wf(t,e,i,r,n){var a=v(0);if(a=v(1),!(e>i)&&(a=v(0),e!=i)){if((r=v(r/n))<v(0))return t>=e^1|v(e-r)>t^1?v(t<e?0:1):v(v(e-t)/r);if(r>v(0)){if(!(t<=i^1|v(i-r)<t^1))return v(v(i-t)/r);a=v(t>i?0:1)}}return a}function Df(t,e,i){t|=0;var r=0,n=0,a=0,o=0;if(a=e|=0,o=0|yt[f[f[(i|=0)>>2]+28>>2]](i,f[t+28>>2]),f[a>>2]=o,a=e,o=0|yt[f[f[i>>2]+28>>2]](i,f[t+32>>2]),f[a+4>>2]=o,r=0|yt[f[f[i>>2]+40>>2]](i,t),n=0|yt[f[f[i>>2]+28>>2]](i,r),f[e+8>>2]=n,n&&yt[f[f[i>>2]+48>>2]](i,r),f[e+12>>2]=f[t+4>>2],f[e+24>>2]=_[t+21|0],f[e+40>>2]=f[t+24>>2],f[e+44>>2]=f[t+16>>2],f[e+48>>2]=_[t+20|0],i=f[t+12>>2],r=f[t+40>>2],f[e+28>>2]=f[t+36>>2],f[e+32>>2]=r,f[e+20>>2]=i,r=0,f[e+36>>2]=0,f[e+16>>2]=f[t+8>>2],i=f[t+28>>2],(0|(n=f[i+548>>2]))>=1)for(i=f[i+556>>2];(0|t)==f[i>>2]&&(f[e+36>>2]=1),i=i+4|0,(0|(r=r+1|0))<(0|n););if(i=f[t+32>>2],(0|(n=f[i+548>>2]))>=1)for(i=f[i+556>>2],r=0;(0|t)==f[i>>2]&&(f[e+36>>2]=1),i=i+4|0,(0|(r=r+1|0))<(0|n););return 23056}function Ef(t){return f[(t|=0)>>2]=23012,0|t}function Zf(t,e,i,r){var n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0);a=Cr(i),o=C[e+444>>2],i=dr(i),v(y(a))>v(1.1920928955078125e-7)?(n=v(i*i),d=v(a*a),_=v(n/d),h=C[e+448>>2],o=v(E(v(v(_+v(1))/v(v(v(1)/v(h*h))+v(_/v(o*o))))))):(n=v(i*i),d=v(a*a)),f[t+12>>2]=0,_=v(o*v(.5)),n=v(dr(_)/v(E(v(n+v(d+v(0)))))),i=v(i*n),o=v(n*v(0)),a=v(a*n),h=v(a*v(0)),g=v(i*v(-0)),d=v(v(v(-v(o*r))-h)-g),n=Cr(_),m=v(n*v(0)),p=v(o*v(0)),_=v(v(m+p)-v(a*r)),h=v(v(v(n*r)+h)-g),r=v(v(m-v(i*r))-p),C[t+8>>2]=v(v(v(i*d)+v(n*_))-v(h*a))+v(r*o),C[t+4>>2]=v(v(v(n*r)-v(d*a))-v(_*o))-v(i*h),C[t>>2]=v(v(i*r)+v(v(n*h)-v(d*o)))+v(_*a)}function Yf(t){var e=0,i=0,r=v(0),n=0;t:{e:{if(s(t),(i=2147483647&(n=c(0)))>>>0>=1065353216){if(1065353216!=(0|i))break e;return v(1.5707963267948966*+t+752316384526264e-51)}if(i>>>0<=1056964607){if(i+-8388608>>>0<956301312)break t;return r=v(t*t),v(v(v(v(r*v(v(r*v(v(r*v(-.008656363002955914))+v(-.04274342209100723)))+v(.16666586697101593)))/v(v(r*v(-.7066296339035034))+v(1)))*t)+t)}return t=v(v(v(1)-v(y(t)))*v(.5)),e=E(+t),e+=e*+v(v(t*v(v(t*v(v(t*v(-.008656363002955914))+v(-.04274342209100723)))+v(.16666586697101593)))/v(v(t*v(-.7066296339035034))+v(1))),t=v(1.5707963267948966-(e+e)),(0|n)<0?v(-t):t}t=v(v(0)/v(t-t))}return t}function Vf(t,e){return C[1192+((e<<2)+t|0)>>2]}function If(t){var e=0;return f[(t|=0)>>2]=23160,_[t+288|0]&&(e=f[t+220>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+220>>2])),(e=f[t+212>>2])&&(yt[f[f[e>>2]>>2]](e),CA(f[t+212>>2])),_[t+289|0]&&(e=f[t+216>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+216>>2])),(e=f[t+332>>2])&&(_[t+336|0]&&CA(e),f[t+332>>2]=0),f[t+332>>2]=0,f[t+324>>2]=0,f[t+328>>2]=0,n[t+336|0]=1,(e=f[t+304>>2])&&(_[t+308|0]&&CA(e),f[t+304>>2]=0),f[t+304>>2]=0,f[t+296>>2]=0,f[t+300>>2]=0,n[t+308|0]=1,(e=f[t+256>>2])&&(_[t+260|0]&&CA(e),f[t+256>>2]=0),f[t+256>>2]=0,f[t+248>>2]=0,f[t+252>>2]=0,n[t+260|0]=1,(e=f[t+236>>2])&&(_[t+240|0]&&CA(e),f[t+236>>2]=0),f[t+236>>2]=0,f[t+228>>2]=0,f[t+232>>2]=0,n[t+240|0]=1,(e=f[t+204>>2])&&(_[t+208|0]&&CA(e),f[t+204>>2]=0),f[t+204>>2]=0,f[t+196>>2]=0,f[t+200>>2]=0,n[t+208|0]=1,sf(t),0|t}function Jf(t,e){e|=0,yt[f[f[(t|=0)>>2]+64>>2]](t,e)}function xf(t,e){e|=0,yt[f[f[(t|=0)>>2]+68>>2]](t,e)}function Uf(t){var e,i,r,a=0,o=0,h=0,d=0,C=0;if(e=o=f[t+8>>2],(d=f[t+32>>2])&&(h=f[t+40>>2]),i=h,(h=f[t+52>>2])&&(a=f[t+60>>2]),r=a,C=0,(a=f[t+72>>2])&&(C=f[t+80>>2]),v(yt[f[f[o>>2]+12>>2]](e,i,d,r,h,C,a,f[t+4>>2],f[t+20>>2],f[t+24>>2])),(0|(a=f[t+32>>2]))<=-1)for(f[t+36>>2]<=-1&&((o=f[t+40>>2])&&(_[t+44|0]&&CA(o),f[t+40>>2]=0),f[t+36>>2]=0,f[t+40>>2]=0,n[t+44|0]=1),h=a<<2;f[f[t+40>>2]+h>>2]=0,h=h+4|0,d=(o=a+1|0)>>>0>=a>>>0,a=o,d;);if(f[t+32>>2]=0,(0|(a=f[t+52>>2]))<=-1)for(f[t+56>>2]<=-1&&((o=f[t+60>>2])&&(_[t- -64|0]&&CA(o),f[t+60>>2]=0),f[t+56>>2]=0,f[t+60>>2]=0,n[t- -64|0]=1),h=a<<2;f[f[t+60>>2]+h>>2]=0,h=h+4|0,d=(o=a+1|0)>>>0>=a>>>0,a=o,d;);if(f[t+52>>2]=0,(0|(a=f[t+72>>2]))<=-1)for(f[t+76>>2]<=-1&&((o=f[t+80>>2])&&(_[t+84|0]&&CA(o),f[t+80>>2]=0),f[t+76>>2]=0,f[t+80>>2]=0,n[t+84|0]=1),h=a<<2;f[f[t+80>>2]+h>>2]=0,h=h+4|0,d=(o=a+1|0)>>>0>=a>>>0,a=o,d;);f[t+72>>2]=0}function Mf(t,e){return e|=0,f[f[(t|=0)+236>>2]+(e<<2)>>2]}function Sf(t,e,i,r,n,a){var o,_=0,h=0,d=0,g=0,m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=0,V=v(0),G=v(0);if(Z=o=Z-272|0,h=f[(d=i+8|0)+4>>2],f[(_=o+216|0)>>2]=f[d>>2],f[_+4>>2]=h,h=f[(d=i+24|0)+4>>2],f[(_=o+232|0)>>2]=f[d>>2],f[_+4>>2]=h,h=f[(d=i+40|0)+4>>2],f[(_=o+248|0)>>2]=f[d>>2],f[_+4>>2]=h,g=f[(h=i+56|0)+4>>2],f[(_=d=o+264|0)>>2]=f[h>>2],f[_+4>>2]=g,g=f[(h=r+8|0)+4>>2],f[(_=o+152|0)>>2]=f[h>>2],f[_+4>>2]=g,h=f[(_=i)+4>>2],f[o+208>>2]=f[_>>2],f[o+212>>2]=h,h=f[_+20>>2],f[o+224>>2]=f[_+16>>2],f[o+228>>2]=h,h=f[_+36>>2],f[o+240>>2]=f[_+32>>2],f[o+244>>2]=h,h=f[_+52>>2],f[o+256>>2]=f[_+48>>2],f[o+260>>2]=h,_=f[r+4>>2],f[o+144>>2]=f[r>>2],f[o+148>>2]=_,g=f[(h=r+24|0)+4>>2],f[(_=o+168|0)>>2]=f[h>>2],f[_+4>>2]=g,g=f[(h=r+40|0)+4>>2],f[(_=o+184|0)>>2]=f[h>>2],f[_+4>>2]=g,F=f[(g=r+56|0)+4>>2],f[(_=o+200|0)>>2]=f[g>>2],f[_+4>>2]=F,h=f[r+20>>2],f[o+160>>2]=f[r+16>>2],f[o+164>>2]=h,h=f[r+36>>2],f[o+176>>2]=f[r+32>>2],f[o+180>>2]=h,h=f[r+52>>2],f[o+192>>2]=f[r+48>>2],f[o+196>>2]=h,f[o+108>>2]=0,C[o+104>>2]=C[_>>2]-C[d>>2],C[o+100>>2]=C[o+196>>2]-C[o+260>>2],C[o+96>>2]=C[o+192>>2]-C[o+256>>2],Mi(o+208|0,o+144|0,o+16|0,o+128|0),f[o+92>>2]=0,m=C[o+128>>2],C[o+88>>2]=m*C[o+24>>2],C[o+84>>2]=m*C[o+20>>2],C[o+80>>2]=m*C[o+16>>2],f[(_=o+72|0)>>2]=0,f[_+4>>2]=0,f[(_=o- -64|0)>>2]=0,f[_+4>>2]=0,tt(o+208|0,o+128|0),f[o+60>>2]=0,f[o+44>>2]=0,m=C[o+128>>2],y=C[o+132>>2],R=C[o+136>>2],E=C[o+140>>2],B=v(v(2)/v(v(v(v(m*m)+v(y*y))+v(R*R))+v(E*E))),V=v(R*B),p=v(y*V),D=v(m*B),G=v(E*D),C[o+52>>2]=p+G,C[o+40>>2]=p-G,p=v(m*D),D=y,y=v(y*B),B=v(D*y),C[o+56>>2]=v(1)-v(p+B),R=v(R*V),C[o+36>>2]=v(1)-v(p+R),f[o+28>>2]=0,p=v(m*V),D=v(E*y),C[o+48>>2]=p-D,m=v(m*y),y=v(E*V),C[o+32>>2]=m+y,C[o+24>>2]=p+D,C[o+20>>2]=m-y,C[o+16>>2]=v(1)-v(B+R),RA(e,o+16|0,o+96|0,o+80|0,o+128|0,o+112|0),f[t+328>>2]>=1)for(d=r+48|0,h=i+48|0,r=0,_=0;i=f[f[t+336>>2]+r>>2],yt[f[f[n>>2]+8>>2]](n,f[i+188>>2])&&(g=f[i+192>>2],F=i+4|0,yt[f[f[g>>2]+8>>2]](g,F,o+16|0,o+96|0),f[o+28>>2]=0,f[o+108>>2]=0,C[o+24>>2]=C[o+24>>2]+C[o+136>>2],C[o+20>>2]=C[o+20>>2]+C[o+132>>2],C[o+16>>2]=C[o+16>>2]+C[o+128>>2],C[o+96>>2]=C[o+96>>2]+C[o+112>>2],C[o+100>>2]=C[o+100>>2]+C[o+116>>2],C[o+104>>2]=C[o+104>>2]+C[o+120>>2],f[o+12>>2]=1065353216,Xf(h,d,o+16|0,o+96|0,o+12|0,o+80|0)&&gf(e,o+208|0,o+144|0,i,f[i+192>>2],F,n,a)),r=r+4|0,(0|(_=_+1|0))<f[t+328>>2];);Z=o+272|0}function Xf(t,e,i,r,n,a){var o,_,h,d,g,m,y,p,R,D=v(0),B=v(0),E=v(0),F=v(0),V=0,G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0);if(o=Z-16|0,E=C[r>>2],D=C[i>>2],G=v(v(E+D)*v(.5)),B=v(C[e>>2]-G),E=v(E-D),_=B>(z=v(E*v(.5))),h=B<(E=v(E*v(-.5))),D=C[r+4>>2],F=C[i+4>>2],w=v(v(D+F)*v(.5)),Q=v(C[e+4>>2]-w),D=v(D-F),d=Q<(Y=v(D*v(-.5))),g=Q>(yt=v(D*v(.5))),D=C[r+8>>2],F=C[i+8>>2],Dt=v(v(D+F)*v(.5)),W=v(C[e+8>>2]-Dt),D=v(D-F),V=0,!((i=h|_<<3|d<<1|g<<4|(e=W<(It=v(D*v(-.5))))<<2|(W>(pt=v(D*v(.5))))<<5)&(R=(r=(G=v(C[t>>2]-G))>z)<<3|(m=G<E)|(y=(F=v(C[t+4>>2]-w))<Y)<<1|(p=F>yt)<<4|(t=(w=v(C[t+8>>2]-Dt))<It)<<2|(w>pt)<<5))){E=C[n>>2],f[(V=o+8|0)>>2]=0,f[V+4>>2]=0,f[o>>2]=0,f[o+4>>2]=0,Y=v(B-G);t:if(m){if(!((B=v(v(v(-G)-z)/Y))>=v(0))){B=v(0);break t}f[o+12>>2]=0,f[o+4>>2]=0,f[o+8>>2]=0,f[o>>2]=1065353216}else B=v(0),h&&(D=v(v(v(-G)-z)/Y),D<E&&(E=D));Q=v(Q-F);t:{e:{if(y){if(!(B<=(D=v(v(v(-F)-yt)/Q))))break e;f[(V=o+8|0)>>2]=0,f[V+4>>2]=0,f[o>>2]=0,f[o+4>>2]=1065353216;break t}d&&((D=v(v(v(-F)-yt)/Q))<E&&(E=D))}D=B}W=v(W-w);t:{e:{if(t){if(!(D<=(B=v(v(v(-w)-pt)/W))))break e;f[(t=o+8|0)>>2]=1065353216,f[t+4>>2]=0,f[o>>2]=0,f[o+4>>2]=0;break t}e&&((B=v(v(v(-w)-pt)/W))<E&&(E=B))}B=D}t:{e:{if(r){if(!(B<=(D=v(v(z-G)/Y))))break e;f[o+12>>2]=0,f[o+4>>2]=0,f[o+8>>2]=0,f[o>>2]=-1082130432;break t}_&&((D=v(v(z-G)/Y))<E&&(E=D))}D=B}t:{e:{if(p){if(!(D<=(B=v(v(yt-F)/Q))))break e;f[(t=o+8|0)>>2]=0,f[t+4>>2]=0,f[o>>2]=0,f[o+4>>2]=-1082130432;break t}g&&((B=v(v(yt-F)/Q))<E&&(E=B))}B=D}t:{e:{if(32&R){if(!(B<=(D=v(v(pt-w)/W))))break e;f[(t=o+8|0)>>2]=-1082130432,f[t+4>>2]=0,f[o>>2]=0,f[o+4>>2]=0;break t}32&i&&((D=v(v(pt-w)/W))<E&&(E=D))}D=B}V=0,D<=E&&(C[n>>2]=D,t=f[o+4>>2],f[a>>2]=f[o>>2],f[a+4>>2]=t,i=f[(e=o+8|0)+4>>2],f[(t=a+8|0)>>2]=f[e>>2],f[t+4>>2]=i,V=1)}return V}function Tf(t,e){var i,r=0,n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=0,D=0,B=v(0),F=0,V=v(0),G=0,w=0,Q=0,W=v(0),Y=0,z=0,yt=0,pt=0,Dt=0,It=0,St=0,Tt=0;if(Z=i=Z-80|0,r=t+256|0,n=C[e+12>>2],p=C[t+264>>2],h=C[e+8>>2],(C[t+268>>2]!=n|p!=h|C[t+260>>2]!=C[e+4>>2]||C[r>>2]!=C[e>>2])&&(d=C[t+260>>2],B=C[t+256>>2],a=C[e>>2],o=C[e+4>>2],(_=v(v(v(a*a)+v(o*o))+v(h*h)))>v(0)?(C[t+268>>2]=n,n=v(v(1)/v(E(_))),g=v(h*n),C[t+264>>2]=g,h=v(o*n),C[t+260>>2]=h,m=v(a*n),C[t+256>>2]=m):(f[r>>2]=0,f[r+4>>2]=0,f[(e=r+8|0)>>2]=0,f[e+4>>2]=0,h=v(0)),r=f[t+8>>2])){t:if((V=v(v(v(m*m)+v(h*h))+v(g*g)))!=v(0)&&(W=v(v(v(B*B)+v(d*d))+v(p*p)),W!=v(0)))if(n=v(v(1)/v(E(V))),_=v(g*n),C[t+264>>2]=_,a=v(h*n),C[t+260>>2]=a,o=v(m*n),C[t+256>>2]=o,n=v(v(1)/v(E(W))),p=v(p*n),h=v(d*n),g=v(B*n),n=v(v(p*_)+v(v(h*a)+v(g*o))),n<v(-.9999998807907104)){if(v(y(_))>v(.7071067690849304)){d=a,a=v(v(1)/v(E(v(v(a*a)+v(_*_))))),n=v(d*a),o=v(-v(_*a)),a=v(0),_=v(0);break t}n=v(v(1)/v(E(v(v(a*a)+v(o*o))))),o=v(o*n),a=v(-v(a*n)),n=v(0),_=v(0)}else n=v(n+v(1)),d=v(E(v(n+n))),m=v(v(1)/d),n=v(v(v(h*o)-v(g*a))*m),o=v(v(v(g*_)-v(p*o))*m),a=v(v(v(p*a)-v(h*_))*m),_=v(d*v(.5));F=f[(R=r+12|0)+4>>2],f[(e=D=i+24|0)>>2]=f[R>>2],f[e+4>>2]=F,G=f[(e=r+20|0)>>2],z=f[e+4>>2],yt=f[(e=r+36|0)>>2],pt=f[e+4>>2],w=f[(e=r+28|0)>>2],e=f[e+4>>2],F=f[(R=r+44|0)>>2],Dt=f[R+4>>2],It=f[r+4>>2],St=f[r+8>>2],Tt=f[(Y=r+60|0)+4>>2],f[(R=Q=i+72|0)>>2]=f[Y>>2],f[R+4>>2]=Tt,f[(R=i+56|0)>>2]=F,f[R+4>>2]=Dt,f[(F=i+40|0)>>2]=w,f[F+4>>2]=e,f[i+16>>2]=It,f[i+20>>2]=St,w=f[(r=r+52|0)+4>>2],f[(e=i)+64>>2]=f[r>>2],f[e+68>>2]=w,f[e+48>>2]=yt,f[e+52>>2]=pt,f[e+32>>2]=G,f[e+36>>2]=z,tt(e+16|0,e),g=C[e>>2],m=C[e+12>>2],d=C[e+8>>2],B=C[e+4>>2],p=v(v(v(v(_*g)-v(m*a))-v(d*o))+v(B*n)),h=v(v(v(v(_*m)+v(g*a))+v(B*o))+v(d*n)),V=v(v(v(v(_*d)-v(m*n))-v(B*a))+v(g*o)),n=v(v(v(v(_*B)-v(m*o))-v(g*n))+v(d*a)),a=v(v(2)/v(v(h*h)+v(v(V*V)+v(v(p*p)+v(n*n))))),o=v(V*a),g=v(p*o),_=v(n*a),m=v(h*_),C[D>>2]=g+m,f[e+60>>2]=0,f[e+44>>2]=0,d=v(n*o),a=v(p*a),B=v(h*a),C[e+52>>2]=d+B,C[F>>2]=d-B,a=v(p*a),n=v(n*_),C[R>>2]=v(1)-v(a+n),d=a,a=v(V*o),C[e+36>>2]=v(1)-v(d+a),f[e+28>>2]=0,C[e+48>>2]=g-m,_=v(p*_),o=v(h*o),C[e+32>>2]=_+o,C[e+20>>2]=_-o,G=f[D+4>>2],t=f[t+8>>2],f[(r=t+12|0)>>2]=f[D>>2],f[r+4>>2]=G,C[e+16>>2]=v(1)-v(n+a),r=f[e+20>>2],f[t+4>>2]=f[e+16>>2],f[t+8>>2]=r,D=f[e+36>>2],f[(r=t+20|0)>>2]=f[e+32>>2],f[r+4>>2]=D,D=f[F+4>>2],f[(r=t+28|0)>>2]=f[F>>2],f[r+4>>2]=D,f[t+304>>2]=f[t+304>>2]+1,D=f[e+52>>2],f[(r=t+36|0)>>2]=f[e+48>>2],f[r+4>>2]=D,D=f[R+4>>2],f[(r=t+44|0)>>2]=f[R>>2],f[r+4>>2]=D,D=f[Q+4>>2],f[(r=t+60|0)>>2]=f[Q>>2],f[r+4>>2]=D,r=f[e+68>>2],f[(t=t+52|0)>>2]=f[e+64>>2],f[t+4>>2]=r}Z=i+80|0}function jf(t,e){var i,r=0,a=0,o=0,h=0,d=0,g=0,m=0,y=0,p=0,R=v(0),D=v(0),B=0,E=v(0),F=v(0),V=v(0),G=0;if(Z=i=Z-96|0,r=f[t+12>>2],yt[f[f[r>>2]+8>>2]](r,f[t+8>>2]+4|0,i+80|0,i- -64|0),r=f[e+68>>2],yt[f[f[r>>2]+16>>2]](r,f[f[t+8>>2]+188>>2],i+80|0,i- -64|0,f[e+24>>2]),r=f[e+24>>2],yt[f[f[r>>2]+32>>2]](r,f[f[t+8>>2]+344>>2],e+28|0,r),e=f[t+8>>2],a=f[(r=e+52|0)+4>>2],f[t+132>>2]=f[r>>2],f[t+136>>2]=a,h=f[(a=e+60|0)+4>>2],f[(r=t+140|0)>>2]=f[a>>2],f[r+4>>2]=h,h=t+132|0,e=f[e+344>>2],!((0|yt[f[f[e>>2]+36>>2]](e))<1))for(p=t+200|0;;){if((0|(e=f[t+204>>2]))<=-1)for(f[t+208>>2]<=-1&&((r=f[t+212>>2])&&(_[t+216|0]&&CA(r),f[t+212>>2]=0),n[t+216|0]=1,f[t+208>>2]=0,f[t+212>>2]=0),a=e<<2;f[f[t+212>>2]+a>>2]=0,a=a+4|0,d=(r=e+1|0)>>>0>=e>>>0,e=r,d;);if(f[t+204>>2]=0,e=f[f[t+8>>2]+344>>2],r=f[12+(0|yt[f[f[e>>2]+28>>2]](e))>>2]+(m<<4)|0,e=f[f[r+4>>2]>>2],a=f[f[r>>2]>>2],!((4&_[a+204|0]?a:0)|(4&_[e+204|0]?e:0))&&yt[f[f[t>>2]+56>>2]](t,a,e)&&((e=f[r+8>>2])&&yt[f[f[e>>2]+16>>2]](e,p),!((0|(d=f[t+204>>2]))<1)))for(y=f[t+8>>2],o=f[t+212>>2],r=0;;){if(e=f[o+(r<<2)>>2],(0|(g=f[e+780>>2]))>=1)for(D=(0|y)==f[e+772>>2]?v(-1):v(1),e=e+84|0,E=v(-C[t+16>>2]),a=0;(R=C[e>>2])<E&&(F=C[e+-8>>2],V=C[e+-12>>2],C[t+132>>2]=v(v(R*v(D*C[e+-16>>2]))*v(.20000000298023224))+C[t+132>>2],C[t+136>>2]=v(v(R*v(D*V))*v(.20000000298023224))+C[t+136>>2],C[t+140>>2]=v(v(R*v(D*F))*v(.20000000298023224))+C[t+140>>2],G=1),e=e+192|0,(0|(a=a+1|0))<(0|g););if(!((0|(r=r+1|0))<(0|d)))break}if(m=m+1|0,e=f[f[t+8>>2]+344>>2],!((0|m)<(0|yt[f[f[e>>2]+36>>2]](e))))break}return m=f[(a=h+8|0)+4>>2],f[(e=i+56|0)>>2]=f[a>>2],f[e+4>>2]=m,t=f[t+8>>2],d=f[(a=t+12|0)+4>>2],f[(r=i+8|0)>>2]=f[a>>2],f[r+4>>2]=d,o=f[(y=p=t+28|0)+4>>2],f[(d=m=i+24|0)>>2]=f[y>>2],f[d+4>>2]=o,B=f[(g=y=t+44|0)+4>>2],f[(o=d=i+40|0)>>2]=f[g>>2],f[o+4>>2]=B,o=f[h+4>>2],h=f[h>>2],f[t+304>>2]=f[t+304>>2]+1,f[i+48>>2]=h,f[i+52>>2]=o,h=f[t+8>>2],f[i>>2]=f[t+4>>2],f[i+4>>2]=h,g=f[(o=h=t+20|0)+4>>2],f[i+16>>2]=f[o>>2],f[i+20>>2]=g,B=f[(o=t+36|0)+4>>2],f[i+32>>2]=f[o>>2],f[i+36>>2]=B,g=f[i+4>>2],f[t+4>>2]=f[i>>2],f[t+8>>2]=g,g=f[r+4>>2],f[a>>2]=f[r>>2],f[a+4>>2]=g,r=f[m+4>>2],f[p>>2]=f[m>>2],f[p+4>>2]=r,r=f[i+20>>2],f[h>>2]=f[i+16>>2],f[h+4>>2]=r,r=f[d+4>>2],f[y>>2]=f[d>>2],f[y+4>>2]=r,r=f[i+36>>2],f[o>>2]=f[i+32>>2],f[o+4>>2]=r,a=f[e+4>>2],f[(r=t+60|0)>>2]=f[e>>2],f[r+4>>2]=a,e=f[i+52>>2],f[(t=t+52|0)>>2]=f[i+48>>2],f[t+4>>2]=e,Z=i+96|0,G}function Of(t,e){var i=v(0),r=v(0),n=v(0),a=v(0),o=v(0),_=0,h=v(0),d=v(0),g=v(0),m=v(0),y=0,p=v(0);i=v(C[t+152>>2]-C[t+132>>2]),n=v(C[t+156>>2]-C[t+136>>2]),r=v(C[t+160>>2]-C[t+140>>2]),(h=v(E(v(v(v(i*i)+v(n*n))+v(r*r)))))>v(1.1920928955078125e-7)&&(g=C[e+8>>2],o=C[e>>2],m=C[e+4>>2],y=f[(e=t+132|0)+4>>2],f[(_=t+152|0)>>2]=f[e>>2],f[_+4>>2]=y,y=f[(e=e+8|0)+4>>2],f[(_=_+8|0)>>2]=f[e>>2],f[_+4>>2]=y,a=i,i=v(v(1)/h),d=a=v(a*i),p=v(a*o),a=v(n*i),r=v(r*i),i=v(v(p+v(a*m))+v(r*g)),i=v(i+i),d=n=v(d-v(o*i)),r=v(r-v(g*i)),i=v(a-v(m*i)),n=v(v(1)/v(E(v(v(r*r)+v(v(n*n)+v(i*i)))))),a=v(d*n),d=o,r=v(r*n),i=v(i*n),o=v(v(g*r)+v(v(o*a)+v(m*i))),C[t+152>>2]=v(h*v(a-v(d*o)))+C[t+152>>2],C[t+156>>2]=v(h*v(i-v(m*o)))+C[t+156>>2],C[t+160>>2]=v(h*v(r-v(g*o)))+C[t+160>>2])}function Hf(t,e,i){var r,n,a,o,h,d,g,m=0,y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=0,Q=0,W=v(0),Y=0,z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0);for(Z=r=Z-240|0,f[(w=r+188|0)>>2]=0,f[w+4>>2]=0,f[(w=r+200|0)>>2]=0,f[w+4>>2]=0,f[r+196>>2]=1065353216,f[r+216>>2]=1065353216,y=C[i>>2],p=C[i+4>>2],R=C[i+8>>2],f[t+164>>2]=0,C[t+160>>2]=R+C[t+140>>2],C[t+156>>2]=p+C[t+136>>2],C[t+152>>2]=y+C[t+132>>2],f[r+180>>2]=0,f[r+184>>2]=0,f[r+176>>2]=1065353216,f[r+208>>2]=0,f[r+212>>2]=0,f[r+236>>2]=0,f[(i=r+228|0)>>2]=0,f[i+4>>2]=0,f[(i=r+220|0)>>2]=0,f[i+4>>2]=0,f[r+112>>2]=1065353216,f[(i=r+124|0)>>2]=0,f[i+4>>2]=0,f[r+116>>2]=0,f[r+120>>2]=0,f[r+132>>2]=1065353216,f[(i=r+136|0)>>2]=0,f[i+4>>2]=0,f[r+144>>2]=0,f[r+148>>2]=0,f[r+152>>2]=1065353216,f[r+172>>2]=0,f[(i=r+164|0)>>2]=0,f[i+4>>2]=0,f[(i=r+156|0)>>2]=0,f[i+4>>2]=0,n=t+152|0,a=t+132|0,g=r+48|0,o=r+16|0,h=r+160|0,d=r+224|0,i=-11,Dt=v(1);;){t:if(!((w=i+1|0)>>>0<i>>>0)){i=f[a+4>>2],f[d>>2]=f[a>>2],f[d+4>>2]=i,i=f[n+4>>2],f[h>>2]=f[n>>2],f[h+4>>2]=i,Y=f[(m=i=a+8|0)+4>>2],f[(Q=d+8|0)>>2]=f[m>>2],f[Q+4>>2]=Y,Y=f[(Q=n+8|0)+4>>2],f[(m=h+8|0)>>2]=f[Q>>2],f[m+4>>2]=Y,It=C[t+132>>2],St=C[t+152>>2],Tt=C[t+136>>2],Et=C[t+156>>2],Ot=C[t+140>>2],Nt=C[t+160>>2],p=C[t+180>>2],D=C[t+176>>2],y=C[t+168>>2],R=C[t+172>>2],f[r+220>>2]=0,f[r+204>>2]=0,f[r+188>>2]=0,f[r+156>>2]=0,f[r+140>>2]=0,f[r+124>>2]=0,F=v(v(2)/v(v(v(v(y*y)+v(R*R))+v(D*D))+v(p*p))),B=v(D*F),V=v(R*B),W=v(y*F),G=v(p*W),C[r+212>>2]=V+G,z=v(y*B),F=v(R*F),pt=v(p*F),C[r+208>>2]=z-pt,C[r+200>>2]=V-G,V=v(y*F),p=v(p*B),C[r+192>>2]=V+p,C[r+184>>2]=z+pt,C[r+180>>2]=V-p,y=v(y*W),p=v(R*F),C[r+216>>2]=v(1)-v(y+p),R=y,y=v(D*B),C[r+196>>2]=v(1)-v(R+y),C[r+176>>2]=v(1)-v(p+y),y=C[t+184>>2],p=C[t+188>>2],D=C[t+192>>2],R=C[t+196>>2],B=v(v(2)/v(v(v(v(y*y)+v(p*p))+v(D*D))+v(R*R))),V=v(p*B),W=v(y*V),F=v(D*B),G=v(R*F),C[r+116>>2]=W-G,z=v(y*F),pt=v(R*V),C[r+120>>2]=z+pt,C[r+128>>2]=W+G,W=v(p*F),G=R,R=v(y*B),B=v(G*R),C[r+136>>2]=W-B,C[r+144>>2]=z-pt,C[r+148>>2]=W+B,p=v(p*V),D=v(D*F),C[r+112>>2]=v(1)-v(p+D),y=v(y*R),C[r+132>>2]=v(1)-v(y+D),C[r+152>>2]=v(1)-v(y+p),f[(m=o+24|0)>>2]=0,f[m+4>>2]=0,f[(m=o+16|0)>>2]=0,f[m+4>>2]=0,f[(m=o+8|0)>>2]=0,f[m+4>>2]=0,f[o>>2]=0,f[o+4>>2]=0,f[r+100>>2]=0,f[r+104>>2]=0,C[r+96>>2]=Ot-Nt,C[r+92>>2]=Tt-Et,C[r+88>>2]=It-St,f[r+80>>2]=0,f[r+4>>2]=1065353216,f[r>>2]=24320,m=f[t+8>>2],f[r+84>>2]=m,m=f[m+188>>2],Y=f[m+8>>2],f[r+8>>2]=f[m+4>>2],f[r+12>>2]=Y,m=f[t+12>>2],y=v(yt[f[f[m>>2]+48>>2]](m)),m=f[t+12>>2],yt[f[f[m>>2]+44>>2]](m,v(y+C[t+64>>2])),(C[r+176>>2]!=C[r+112>>2]|C[r+192>>2]!=C[r+128>>2]|C[r+208>>2]!=C[r+144>>2]|C[r+180>>2]!=C[r+116>>2]||C[r+196>>2]!=C[r+132>>2]|C[r+212>>2]!=C[r+148>>2]|C[r+184>>2]!=C[r+120>>2]|C[r+200>>2]!=C[r+136>>2]||C[r+216>>2]!=C[r+152>>2]|C[r+236>>2]!=C[r+172>>2]|C[r+232>>2]!=C[r+168>>2]|C[r+228>>2]!=C[r+164>>2]||C[r+224>>2]!=C[r+160>>2])&&(_[t+250|0]?Sf(f[t+8>>2],f[t+12>>2],r+176|0,r+112|0,r,C[e+56>>2]):_f(e,f[t+12>>2],r+176|0,r+112|0,r,C[e+56>>2])),m=f[t+12>>2],yt[f[f[m>>2]+44>>2]](m,y);e:{if((y=C[r+4>>2])<v(1)&&(m=f[t+8>>2],!(4&_[m+204|0])&&yt[f[f[t>>2]+56>>2]](t,m,f[r+80>>2]))){if(Of(t,g),p=v(C[t+152>>2]-C[t+132>>2]),R=v(C[t+156>>2]-C[t+136>>2]),D=v(C[t+160>>2]-C[t+140>>2]),!((B=v(v(v(p*p)+v(R*R))+v(D*D)))>v(1.1920928955078125e-7)))break t;if(G=p,p=v(v(1)/v(E(B))),!(v(v(v(v(G*p)*C[t+84>>2])+v(v(R*p)*C[t+88>>2]))+v(v(D*p)*C[t+92>>2]))<=v(0)))break e;break t}m=f[n+4>>2],f[a>>2]=f[n>>2],f[a+4>>2]=m,m=f[Q+4>>2],f[i>>2]=f[Q>>2],f[i+4>>2]=m}if(i=w,(Dt=v(Dt-y))>v(.009999999776482582))continue}break}Z=r+240|0}function zf(t){return 0|yt[f[f[(t|=0)>>2]+48>>2]](t)}function Pf(t,e,i,r,o,_){var h=0;return function(t,e,i){f[t+44>>2]=0,f[t+36>>2]=0,f[t+40>>2]=1028443341,f[t+32>>2]=i,f[t+28>>2]=e,f[t+24>>2]=-1,a[t+20>>1]=1,f[t+16>>2]=2139095039,f[t+8>>2]=-1,f[t+12>>2]=-1,f[t>>2]=23012,f[t+4>>2]=12}(t,e,i),f[t>>2]=24404,h=f[(i=r+8|0)+4>>2],f[(e=t+56|0)>>2]=f[i>>2],f[e+4>>2]=h,e=f[r+4>>2],f[t+48>>2]=f[r>>2],f[t+52>>2]=e,h=f[(i=r+24|0)+4>>2],f[(e=t+72|0)>>2]=f[i>>2],f[e+4>>2]=h,i=f[r+20>>2],f[(e=t- -64|0)>>2]=f[r+16>>2],f[e+4>>2]=i,h=f[(i=r+40|0)+4>>2],f[(e=t+88|0)>>2]=f[i>>2],f[e+4>>2]=h,i=f[r+36>>2],f[(e=t+80|0)>>2]=f[r+32>>2],f[e+4>>2]=i,h=f[(i=r+56|0)+4>>2],f[(e=t+104|0)>>2]=f[i>>2],f[e+4>>2]=h,i=f[r+52>>2],f[(e=t+96|0)>>2]=f[r+48>>2],f[e+4>>2]=i,r=f[(i=o+8|0)+4>>2],f[(e=t+120|0)>>2]=f[i>>2],f[e+4>>2]=r,e=f[o+4>>2],f[t+112>>2]=f[o>>2],f[t+116>>2]=e,i=f[o+20>>2],f[(e=t+128|0)>>2]=f[o+16>>2],f[e+4>>2]=i,r=f[(i=o+24|0)+4>>2],f[(e=t+136|0)>>2]=f[i>>2],f[e+4>>2]=r,i=f[o+36>>2],f[(e=t+144|0)>>2]=f[o+32>>2],f[e+4>>2]=i,r=f[(i=o+40|0)+4>>2],f[(e=t+152|0)>>2]=f[i>>2],f[e+4>>2]=r,i=f[o+52>>2],f[(e=t+160|0)>>2]=f[o+48>>2],f[e+4>>2]=i,r=f[(i=o+56|0)+4>>2],f[(e=t+168|0)>>2]=f[i>>2],f[e+4>>2]=r,f[t+680>>2]=0,f[t+684>>2]=0,f[(e=t+688|0)>>2]=0,f[e+4>>2]=0,f[(e=t+696|0)>>2]=0,f[e+4>>2]=0,f[(e=t+704|0)>>2]=0,f[e+4>>2]=0,f[(e=t+712|0)>>2]=0,f[e+4>>2]=0,f[(e=t+720|0)>>2]=0,f[e+4>>2]=0,f[t+736>>2]=1045220557,f[(e=t+728|0)>>2]=1045220557,f[e+4>>2]=1045220557,f[t+756>>2]=0,f[(e=t+748|0)>>2]=0,f[e+4>>2]=0,f[(e=t+740|0)>>2]=0,f[e+4>>2]=0,f[t+768>>2]=1063675494,f[(e=t+760|0)>>2]=1063675494,f[e+4>>2]=1063675494,f[t+812>>2]=0,f[(e=t+804|0)>>2]=0,f[e+4>>2]=0,f[t+828>>2]=0,f[(e=t+820|0)>>2]=0,f[e+4>>2]=0,n[t+838|0]=0,n[0|(e=t+836|0)]=0,n[e+1|0]=0,f[t+848>>2]=0,f[(e=t+840|0)>>2]=0,f[e+4>>2]=0,n[t+858|0]=0,n[0|(e=t+856|0)]=0,n[e+1|0]=0,f[t+868>>2]=0,f[(e=t+860|0)>>2]=0,f[e+4>>2]=0,f[t+884>>2]=0,f[(e=t+876|0)>>2]=0,f[e+4>>2]=0,f[t+900>>2]=0,f[(e=t+892|0)>>2]=0,f[e+4>>2]=0,n[0|(e=t+793|0)]=0,n[e+1|0]=0,n[e+2|0]=0,n[e+3|0]=0,n[e+4|0]=0,n[e+5|0]=0,n[e+6|0]=0,n[e+7|0]=0,f[(e=t+788|0)>>2]=0,f[e+4>>2]=0,f[(e=t+780|0)>>2]=0,f[e+4>>2]=0,f[(e=t+772|0)>>2]=0,f[e+4>>2]=0,f[t+964>>2]=0,f[(e=t+956|0)>>2]=0,f[e+4>>2]=0,f[(e=t+948|0)>>2]=0,f[e+4>>2]=0,f[(e=t+940|0)>>2]=0,f[e+4>>2]=0,f[(e=t+932|0)>>2]=0,f[e+4>>2]=0,f[(e=t+924|0)>>2]=0,f[e+4>>2]=0,f[(e=t+916|0)>>2]=0,f[e+4>>2]=0,f[(e=t+908|0)>>2]=0,f[e+4>>2]=0,n[t+1032|0]=0,f[t+1028>>2]=0,n[t+1024|0]=0,f[t+1020>>2]=0,n[t+1016|0]=0,f[t+1012>>2]=0,n[t+1008|0]=0,f[(e=t+1e3|0)>>2]=0,f[e+4>>2]=1036831949,n[t+996|0]=0,f[t+992>>2]=0,f[(e=t+984|0)>>2]=0,f[e+4>>2]=1063675494,f[(e=t+976|0)>>2]=0,f[e+4>>2]=1045220557,f[t+968>>2]=1065353216,f[t+972>>2]=-1082130432,f[t+1052>>2]=0,f[(e=t+1044|0)>>2]=0,f[e+4>>2]=0,f[(e=t+1036|0)>>2]=0,f[e+4>>2]=0,n[t+1120|0]=0,f[t+1116>>2]=0,n[t+1112|0]=0,f[t+1108>>2]=0,n[t+1104|0]=0,f[t+1100>>2]=0,n[t+1096|0]=0,f[(e=t+1088|0)>>2]=0,f[e+4>>2]=1036831949,n[t+1084|0]=0,f[t+1080>>2]=0,f[(e=t+1072|0)>>2]=0,f[e+4>>2]=1063675494,f[(e=t+1064|0)>>2]=0,f[e+4>>2]=1045220557,f[(e=t+1056|0)>>2]=1065353216,f[e+4>>2]=-1082130432,f[t+1140>>2]=0,f[(e=t+1132|0)>>2]=0,f[e+4>>2]=0,f[(e=t+1124|0)>>2]=0,f[e+4>>2]=0,n[t+1208|0]=0,f[t+1204>>2]=0,n[t+1200|0]=0,f[t+1196>>2]=0,n[t+1192|0]=0,f[t+1188>>2]=0,n[t+1184|0]=0,f[(e=t+1176|0)>>2]=0,f[e+4>>2]=1036831949,n[t+1172|0]=0,f[t+1168>>2]=0,f[(e=t+1160|0)>>2]=0,f[e+4>>2]=1063675494,f[(e=t+1152|0)>>2]=0,f[e+4>>2]=1045220557,f[(e=t+1144|0)>>2]=1065353216,f[e+4>>2]=-1082130432,f[t+1228>>2]=0,f[(e=t+1220|0)>>2]=0,f[e+4>>2]=0,f[(e=t+1212|0)>>2]=0,f[e+4>>2]=0,f[t+1456>>2]=0,f[t+1232>>2]=_,Kf(t,f[t+28>>2]+4|0,f[t+32>>2]+4|0),t}function Kf(t,e,i){var r=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0);It=C[e+52>>2],St=C[e+56>>2],p=C[t+96>>2],B=C[t+100>>2],F=C[t+104>>2],r=C[e+20>>2],a=C[e+24>>2],V=C[t- -64>>2],G=C[t+80>>2],w=C[t+52>>2],Q=C[t+68>>2],W=C[t+84>>2],Y=C[t+56>>2],o=C[e+36>>2],z=C[t+72>>2],_=C[e+40>>2],yt=C[t+88>>2],Dt=C[e+48>>2],h=C[e+8>>2],d=C[e>>2],g=C[e+4>>2],m=C[e+16>>2],pt=C[t+48>>2],y=C[e+32>>2],f[t+1296>>2]=0,f[t+1280>>2]=0,f[t+1264>>2]=0,f[t+1248>>2]=0,C[t+1276>>2]=v(v(Y*y)+v(z*o))+v(yt*_),C[t+1272>>2]=v(v(w*y)+v(Q*o))+v(W*_),C[t+1268>>2]=v(v(pt*y)+v(V*o))+v(G*_),C[t+1260>>2]=v(v(Y*m)+v(z*r))+v(yt*a),C[t+1256>>2]=v(v(w*m)+v(Q*r))+v(W*a),C[t+1252>>2]=v(v(pt*m)+v(V*r))+v(G*a),C[t+1244>>2]=v(v(d*Y)+v(g*z))+v(h*yt),C[t+1240>>2]=v(v(d*w)+v(g*Q))+v(h*W),C[t+1236>>2]=v(v(pt*d)+v(V*g))+v(G*h),C[t+1292>>2]=St+v(v(v(y*p)+v(o*B))+v(_*F)),C[t+1288>>2]=It+v(v(v(m*p)+v(r*B))+v(a*F)),C[t+1284>>2]=Dt+v(v(v(d*p)+v(g*B))+v(h*F)),It=C[i+52>>2],St=C[i+56>>2],p=C[t+160>>2],B=C[t+164>>2],F=C[t+168>>2],r=C[i+20>>2],a=C[i+24>>2],V=C[t+128>>2],G=C[t+144>>2],w=C[t+116>>2],Q=C[t+132>>2],W=C[t+148>>2],Y=C[t+120>>2],z=C[t+136>>2],o=C[i+36>>2],yt=C[t+152>>2],_=C[i+40>>2],Dt=C[i+48>>2],h=C[i+8>>2],d=C[i>>2],g=C[i+4>>2],m=C[i+16>>2],pt=C[t+112>>2],y=C[i+32>>2],f[t+1360>>2]=0,f[t+1344>>2]=0,f[t+1328>>2]=0,f[t+1312>>2]=0,C[t+1340>>2]=v(v(Y*y)+v(z*o))+v(yt*_),C[t+1336>>2]=v(v(w*y)+v(Q*o))+v(W*_),C[t+1332>>2]=v(v(pt*y)+v(V*o))+v(G*_),C[t+1324>>2]=v(v(Y*m)+v(z*r))+v(yt*a),C[t+1320>>2]=v(v(w*m)+v(Q*r))+v(W*a),C[t+1316>>2]=v(v(pt*m)+v(V*r))+v(G*a),C[t+1308>>2]=v(v(d*Y)+v(g*z))+v(h*yt),C[t+1304>>2]=v(v(d*w)+v(g*Q))+v(h*W),C[t+1300>>2]=v(v(pt*d)+v(V*g))+v(G*h),C[t+1356>>2]=St+v(v(v(y*p)+v(o*B))+v(_*F)),C[t+1352>>2]=It+v(v(v(m*p)+v(r*B))+v(a*F)),C[t+1348>>2]=Dt+v(v(v(d*p)+v(g*B))+v(h*F)),function(t){var e=v(0),i=v(0),r=v(0),n=v(0),a=0,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=0,R=v(0),D=v(0),B=v(0),E=v(0),F=v(0);f[t+1440>>2]=0,_=C[t+1256>>2],h=C[t+1276>>2],d=C[t+1260>>2],g=C[t+1272>>2],E=v(v(_*h)-v(d*g)),i=C[t+1236>>2],r=C[t+1240>>2],m=C[t+1268>>2],y=C[t+1252>>2],F=v(v(d*m)-v(h*y)),o=v(v(g*y)-v(_*m)),n=C[t+1244>>2],e=v(v(1)/v(v(v(E*i)+v(r*F))+v(o*n))),R=v(C[t+1356>>2]-C[t+1292>>2]),D=v(C[t+1348>>2]-C[t+1284>>2]),B=v(C[t+1352>>2]-C[t+1288>>2]),o=v(v(R*v(v(v(_*i)-v(y*r))*e))+v(v(D*v(o*e))+v(B*v(v(v(m*r)-v(g*i))*e)))),C[t+1436>>2]=o,i=v(v(R*v(v(v(y*n)-v(d*i))*e))+v(v(D*v(F*e))+v(B*v(v(v(h*i)-v(m*n))*e)))),C[t+1432>>2]=i,e=v(v(R*v(v(v(d*r)-v(_*n))*e))+v(v(D*v(E*e))+v(B*v(v(v(g*n)-v(h*r))*e)))),C[t+1428>>2]=e,C[t+940>>2]=e,(r=C[t+680>>2])>(n=C[t+696>>2])?f[t+908>>2]=0:(C[t+908>>2]=e-r,a=3,r!=n&&(C[t+924>>2]=e-n,a=4)),C[t+944>>2]=i,f[t+956>>2]=a;t:if((e=C[t+684>>2])>(r=C[t+700>>2]))f[t+912>>2]=0,a=0;else{if(C[t+912>>2]=i-e,a=3,e==r)break t;C[t+928>>2]=i-r,a=4}C[t+948>>2]=o,f[t+960>>2]=a,a=t+964|0;t:if((e=C[t+688>>2])>(i=C[t+704>>2]))f[t+916>>2]=0,p=0;else{if(C[t+916>>2]=o-e,p=3,e==i)break t;C[t+932>>2]=o-i,p=4}f[a>>2]=p}(t),function(t){var e,i,r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),B=v(0),F=v(0),V=0,G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0);Z=e=Z-48|0,p=C[t+1332>>2],G=C[t+1316>>2],w=C[t+1336>>2],Q=C[t+1304>>2],W=C[t+1320>>2],Y=C[t+1340>>2],z=C[t+1308>>2],yt=C[t+1324>>2],d=C[t+1244>>2],g=C[t+1256>>2],h=C[t+1272>>2],o=C[t+1240>>2],a=C[t+1268>>2],m=C[t+1260>>2],_=C[t+1252>>2],y=C[t+1276>>2],pt=C[t+1300>>2],r=C[t+1236>>2],f[e+44>>2]=0,f[e+28>>2]=0,St=v(v(g*y)-v(m*h)),B=v(v(m*a)-v(y*_)),F=v(v(h*_)-v(g*a)),n=v(v(1)/v(v(v(r*St)+v(o*B))+v(F*d))),F=v(F*n),Dt=v(v(v(a*o)-v(h*r))*n),It=v(v(v(g*r)-v(_*o))*n),C[e+40>>2]=v(v(z*F)+v(yt*Dt))+v(Y*It),C[e+36>>2]=v(v(Q*F)+v(Dt*W))+v(It*w),B=v(B*n),a=v(v(v(y*r)-v(a*d))*n),r=v(v(v(_*d)-v(m*r))*n),C[e+24>>2]=v(v(z*B)+v(yt*a))+v(Y*r),C[e+20>>2]=v(v(Q*B)+v(a*W))+v(r*w),f[e+12>>2]=0,C[e+32>>2]=v(p*It)+v(v(pt*F)+v(G*Dt)),C[e+16>>2]=v(p*r)+v(v(pt*B)+v(G*a)),r=v(St*n),h=v(v(v(h*d)-v(y*o))*n),n=v(v(v(m*o)-v(g*d))*n),C[e+8>>2]=v(v(z*r)+v(yt*h))+v(Y*n),C[e+4>>2]=v(v(r*Q)+v(h*W))+v(n*w),C[e>>2]=v(p*n)+v(v(pt*r)+v(G*h)),i=t;t:{e:{i:{A:{r:{n:{a:{o:{if((V=f[t+1232>>2])>>>0<=5){s:{switch(V-1|0){default:!function(t,e){var i=v(0),r=v(0),n=0,a=v(0);if((i=C[t+32>>2])<v(1)){if(i>v(-1))return n=e,a=vi(v(-C[t+36>>2]),C[t+40>>2]),C[n>>2]=a,n=e,a=Yf(v(R(v(D(C[t+32>>2],v(-1))),v(1)))),C[n+4>>2]=a,n=e,a=vi(v(-C[t+16>>2]),C[t>>2]),void(C[n+8>>2]=a);i=C[t+20>>2],r=C[t+4>>2],f[e+4>>2]=-1077342245,n=e,a=v(-vi(r,i)),C[n>>2]=a}else i=C[t+20>>2],r=C[t+4>>2],f[e+4>>2]=1070141403,n=e,a=vi(r,i),C[n>>2]=a;C[e+8>>2]=0}(e,t+1364|0);break s;case 0:!function(t,e){var i=v(0),r=v(0),n=0,a=v(0);if((i=C[t+16>>2])<v(1))return i>v(-1)?(n=e,a=vi(C[t+24>>2],C[t+20>>2]),C[n>>2]=a,n=e,a=vi(C[t+32>>2],C[t>>2]),C[n+4>>2]=a,n=e,a=Yf(v(R(v(D(v(-C[t+16>>2]),v(-1))),v(1)))),void(C[n+8>>2]=a)):(i=C[t+40>>2],r=C[t+8>>2],f[e+4>>2]=0,n=e,a=v(-vi(v(-r),i)),C[n>>2]=a,void(C[e+8>>2]=1.5707963705062866));i=C[t+40>>2],r=C[t+8>>2],f[e+4>>2]=0,n=e,a=vi(v(-r),i),C[n>>2]=a,C[e+8>>2]=-1.5707963705062866}(e,t+1364|0);break s;case 1:!function(t,e){var i=v(0),r=0,n=v(0);if((i=C[t+36>>2])<v(1)){if(i>v(-1))return r=e,n=Yf(v(R(v(D(v(-i),v(-1))),v(1)))),C[r>>2]=n,r=e,n=vi(C[t+32>>2],C[t+40>>2]),C[r+4>>2]=n,r=e,n=vi(C[t+4>>2],C[t+20>>2]),void(C[r+8>>2]=n);f[e>>2]=1070141403,r=e,n=v(-vi(v(-C[t+16>>2]),C[t>>2])),C[r+4>>2]=n}else f[e>>2]=-1077342245,r=e,n=vi(v(-C[t+16>>2]),C[t>>2]),C[r+4>>2]=n;C[e+8>>2]=0}(e,t+1364|0);break s;case 2:!function(t,e){var i=v(0),r=0,n=v(0);if((i=C[t+4>>2])<v(1))return i>v(-1)?(r=e,n=vi(v(-C[t+36>>2]),C[t+20>>2]),C[r>>2]=n,r=e,n=vi(v(-C[t+8>>2]),C[t>>2]),C[r+4>>2]=n,r=e,n=Yf(v(R(v(D(C[t+4>>2],v(-1))),v(1)))),void(C[r+8>>2]=n)):(f[e>>2]=0,r=e,n=v(-vi(C[t+24>>2],C[t+40>>2])),C[r+4>>2]=n,void(C[e+8>>2]=-1.5707963705062866));f[e>>2]=0,r=e,n=vi(C[t+24>>2],C[t+40>>2]),C[r+4>>2]=n,C[e+8>>2]=1.5707963705062866}(e,t+1364|0);break s;case 3:!function(t,e){var i,r=v(0),n=0,a=v(0);if(i=e,(r=C[t+24>>2])<v(1)){if(r>v(-1))return n=e,a=Yf(v(R(v(D(r,v(-1))),v(1)))),C[n>>2]=a,n=e,a=vi(v(-C[t+8>>2]),C[t+40>>2]),C[n+4>>2]=a,n=e,a=vi(v(-C[t+16>>2]),C[t+20>>2]),void(C[n+8>>2]=a);f[e>>2]=-1077342245,f[e+4>>2]=0,r=v(-vi(C[t+32>>2],C[t>>2]))}else f[e>>2]=1070141403,f[e+4>>2]=0,r=vi(C[t+32>>2],C[t>>2]);C[i+8>>2]=r}(e,t+1364|0);break s;case 4:}!function(t,e){var i,r=v(0),n=0,a=v(0);if(i=e,(r=C[t+8>>2])<v(1)){if(r>v(-1))return n=e,a=vi(C[t+24>>2],C[t+40>>2]),C[n>>2]=a,n=e,a=Yf(v(R(v(D(v(-C[t+8>>2]),v(-1))),v(1)))),C[n+4>>2]=a,n=e,a=vi(C[t+4>>2],C[t>>2]),void(C[n+8>>2]=a);f[e>>2]=0,f[e+4>>2]=1070141403,r=v(-vi(C[t+16>>2],C[t+32>>2]))}else f[e>>2]=0,f[e+4>>2]=-1077342245,r=vi(v(-C[t+16>>2]),v(-C[t+32>>2]));C[i+8>>2]=r}(e,t+1364|0)}V=f[t+1232>>2]}if(V>>>0<=5)switch(V-1|0){case 4:break i;case 3:break A;case 2:break r;case 1:break n;case 0:break a;default:break o}d=C[t+1420>>2],o=C[t+1416>>2],r=C[t+1412>>2],g=C[t+1404>>2],h=C[t+1400>>2],a=C[t+1396>>2],m=C[t+1388>>2],_=C[t+1384>>2],n=C[t+1380>>2];break t}f[t+1408>>2]=0,f[t+1424>>2]=0,f[t+1392>>2]=0,n=C[t+1316>>2],_=C[t+1244>>2],o=C[t+1300>>2],y=C[t+1260>>2],g=v(v(n*_)-v(o*y)),C[t+1404>>2]=g,p=C[t+1276>>2],r=C[t+1332>>2],h=v(v(o*p)-v(_*r)),C[t+1400>>2]=h,a=v(v(r*y)-v(n*p)),C[t+1396>>2]=a,d=v(v(o*h)-v(n*a)),C[t+1420>>2]=d,o=v(v(r*a)-v(o*g)),C[t+1416>>2]=o,r=v(v(n*g)-v(r*h)),C[t+1412>>2]=r,m=v(v(y*a)-v(_*h)),C[t+1388>>2]=m,_=v(v(_*g)-v(p*a)),C[t+1384>>2]=_,n=v(v(p*h)-v(y*g));break e}f[t+1424>>2]=0,f[t+1408>>2]=0,f[t+1392>>2]=0,n=C[t+1300>>2],y=C[t+1256>>2],a=C[t+1316>>2],_=C[t+1240>>2],d=v(v(n*y)-v(a*_)),C[t+1420>>2]=d,m=C[t+1332>>2],p=C[t+1272>>2],o=v(v(_*m)-v(n*p)),C[t+1416>>2]=o,r=v(v(a*p)-v(m*y)),C[t+1412>>2]=r,g=v(v(a*r)-v(n*o)),C[t+1404>>2]=g,h=v(v(n*d)-v(m*r)),C[t+1400>>2]=h,a=v(v(m*o)-v(a*d)),C[t+1396>>2]=a,m=v(v(_*o)-v(y*r)),C[t+1388>>2]=m,_=v(v(p*r)-v(_*d)),C[t+1384>>2]=_,n=v(v(y*d)-v(p*o));break e}f[t+1424>>2]=0,f[t+1408>>2]=0,f[t+1392>>2]=0,o=C[t+1304>>2],a=C[t+1260>>2],r=C[t+1320>>2],h=C[t+1244>>2],m=v(v(o*a)-v(r*h)),C[t+1388>>2]=m,g=C[t+1336>>2],y=C[t+1276>>2],_=v(v(h*g)-v(o*y)),C[t+1384>>2]=_,n=v(v(r*y)-v(g*a)),C[t+1380>>2]=n,d=v(v(r*n)-v(o*_)),C[t+1420>>2]=d,o=v(v(o*m)-v(g*n)),C[t+1416>>2]=o,r=v(v(g*_)-v(r*m)),C[t+1412>>2]=r,g=v(v(h*_)-v(a*n)),C[t+1404>>2]=g,h=v(v(y*n)-v(h*m)),C[t+1400>>2]=h,a=v(v(a*m)-v(y*_)),C[t+1396>>2]=a;break t}f[t+1424>>2]=0,f[t+1408>>2]=0,f[t+1392>>2]=0,n=C[t+1236>>2],y=C[t+1320>>2],a=C[t+1252>>2],_=C[t+1304>>2],d=v(v(n*y)-v(a*_)),C[t+1420>>2]=d,m=C[t+1268>>2],p=C[t+1336>>2],o=v(v(_*m)-v(n*p)),C[t+1416>>2]=o,r=v(v(a*p)-v(m*y)),C[t+1412>>2]=r,g=v(v(a*r)-v(n*o)),C[t+1404>>2]=g,h=v(v(n*d)-v(m*r)),C[t+1400>>2]=h,a=v(v(m*o)-v(a*d)),C[t+1396>>2]=a,m=v(v(_*o)-v(y*r)),C[t+1388>>2]=m,_=v(v(p*r)-v(_*d)),C[t+1384>>2]=_,n=v(v(y*d)-v(p*o));break e}f[t+1424>>2]=0,f[t+1408>>2]=0,f[t+1392>>2]=0,o=C[t+1240>>2],a=C[t+1324>>2],r=C[t+1256>>2],h=C[t+1308>>2],m=v(v(o*a)-v(r*h)),C[t+1388>>2]=m,g=C[t+1272>>2],y=C[t+1340>>2],_=v(v(h*g)-v(o*y)),C[t+1384>>2]=_,n=v(v(r*y)-v(g*a)),C[t+1380>>2]=n,d=v(v(r*n)-v(o*_)),C[t+1420>>2]=d,o=v(v(o*m)-v(g*n)),C[t+1416>>2]=o,r=v(v(g*_)-v(r*m)),C[t+1412>>2]=r,g=v(v(h*_)-v(a*n)),C[t+1404>>2]=g,h=v(v(y*n)-v(h*m)),C[t+1400>>2]=h,a=v(v(a*m)-v(y*_)),C[t+1396>>2]=a;break t}f[t+1408>>2]=0,f[t+1424>>2]=0,f[t+1392>>2]=0,n=C[t+1252>>2],_=C[t+1308>>2],o=C[t+1236>>2],y=C[t+1324>>2],g=v(v(n*_)-v(o*y)),C[t+1404>>2]=g,p=C[t+1340>>2],r=C[t+1268>>2],h=v(v(o*p)-v(_*r)),C[t+1400>>2]=h,a=v(v(r*y)-v(n*p)),C[t+1396>>2]=a,d=v(v(o*h)-v(n*a)),C[t+1420>>2]=d,o=v(v(r*a)-v(o*g)),C[t+1416>>2]=o,r=v(v(n*g)-v(r*h)),C[t+1412>>2]=r,m=v(v(y*a)-v(_*h)),C[t+1388>>2]=m,_=v(v(_*g)-v(p*a)),C[t+1384>>2]=_,n=v(v(p*h)-v(y*g))}C[i+1380>>2]=n}y=d,d=v(v(1)/v(E(v(v(v(r*r)+v(o*o))+v(d*d))))),C[t+1420>>2]=y*d,C[t+1416>>2]=o*d,C[t+1412>>2]=r*d,d=v(v(1)/v(E(v(v(v(a*a)+v(h*h))+v(g*g))))),C[t+1404>>2]=g*d,C[t+1400>>2]=h*d,C[t+1396>>2]=a*d,d=v(v(1)/v(E(v(v(v(n*n)+v(_*_))+v(m*m))))),C[t+1388>>2]=m*d,C[t+1384>>2]=_*d,C[t+1380>>2]=n*d,Z=e+48|0}(t),a=C[f[t+28>>2]+404>>2],r=C[f[t+32>>2]+404>>2],n[t+1452|0]=a<v(1.1920928955078125e-7)|r<v(1.1920928955078125e-7),Dt=r,r=(r=v(a+r))>v(0)?v(Dt/r):v(.5),C[t+1444>>2]=r,C[t+1448>>2]=v(1)-r}function Lf(t,e){var i,r=v(0),n=v(0),a=v(0),o=v(0),_=v(0);if(n=C[1364+((e<<2)+t|0)>>2],i=m(e,88)+t|0,(a=C[i+968>>2])>=(o=C[i+972>>2])||(n<a?((r=Wf(v(a-n)))<v(-3.1415927410125732)?r=v(r+v(6.2831854820251465)):r>v(3.1415927410125732)&&(r=v(r+v(-6.2831854820251465))),_=v(y(r)),(r=Wf(v(o-n)))<v(-3.1415927410125732)?r=v(r+v(6.2831854820251465)):r>v(3.1415927410125732)&&(r=v(r+v(-6.2831854820251465))),n=_<v(y(r))?n:v(n+v(6.2831854820251465))):n>o&&((r=Wf(v(n-o)))<v(-3.1415927410125732)?r=v(r+v(6.2831854820251465)):r>v(3.1415927410125732)&&(r=v(r+v(-6.2831854820251465))),_=v(y(r)),(r=Wf(v(n-a)))<v(-3.1415927410125732)?r=v(r+v(6.2831854820251465)):r>v(3.1415927410125732)&&(r=v(r+v(-6.2831854820251465))),n=v(y(r))<_?v(n+v(-6.2831854820251465)):n)),C[i+1048>>2]=n,a>o)return t=m(e,88)+t|0,f[t+1040>>2]=0,void(f[t+1052>>2]=0);t=m(e,88)+t|0,C[t+1040>>2]=n-a,a!=o?(f[t+1052>>2]=4,C[t+1044>>2]=n-o):f[t+1052>>2]=3}function qf(t,e,i,r,n,a,o,h,d,g,y,p,B){var F=v(0),V=v(0),G=v(0),w=0,Q=0,W=v(0),Y=v(0),Z=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0);if(g=m(f[d+24>>2],g),(w=f[e+84>>2]+-3|0)>>>0>1)w=0;else{if(w-1)$f(t,i,r,d,g,y,p,B),C[(Q=g<<2)+f[d+28>>2]>>2]=v(v(C[d>>2]*C[e+12>>2])*C[e+72>>2])*v(0|(p?-1:1)),f[Q+f[d+36>>2]>>2]=-8388609,f[Q+f[d+40>>2]>>2]=2139095039,Q=e+16|0,w=1;else{p?(F=C[y>>2],G=C[y+4>>2],V=v(v(C[o>>2]*F)+v(C[o+4>>2]*G)),W=C[y+8>>2],Z=v(C[o+8>>2]*W),Q=p,w=h):(F=C[y>>2],G=C[y+4>>2],V=v(v(C[n>>2]*F)+v(C[n+4>>2]*G)),W=C[y+8>>2],Z=v(C[n+8>>2]*W),w=a),yt=C[w+8>>2],pt=C[w>>2],z=C[w+4>>2],$f(t,i,r,d,g,y,Q,B),w=f[d+28>>2]+(g<<2)|0,Dt=v(0|(p?-1:1)),Y=v(v(v(C[d>>2]*C[e+12>>2])*C[e+72>>2])*Dt),C[w>>2]=Y,F=v(v(V+Z)-v(v(v(F*pt)+v(G*z))+v(W*yt))),V=v(Y-v(F*C[e+12>>2]));t:if(p){if(!(V>v(0)))break t;if(!(Y<(V=v(-v(F*C[e+8>>2])))))break t;C[w>>2]=V}else V<v(0)&&(V=v(-v(F*C[e+8>>2])),Y>V&&(C[w>>2]=V));C[(w=g<<2)+f[d+36>>2]>>2]=v(p?0:-34028234663852886e22),C[w+f[d+40>>2]>>2]=v(p?34028234663852886e22:0),f[w+f[d+32>>2]>>2]=f[e+16>>2],$f(t,i,r,d,g=f[d+24>>2]+g|0,y,p,B),w=f[d+28>>2]+(g<<2)|0,V=v(v(v(C[d>>2]*C[e+12>>2])*C[e+76>>2])*Dt),C[w>>2]=V,G=v(V-v(F*C[e+12>>2])),Q=e+16|0;t:if(p){if(!(G<v(0)))break t;if(!(V>(F=v(-v(F*C[e+8>>2])))))break t;C[w>>2]=F}else G>v(0)&&(F=v(-v(F*C[e+8>>2])),V<F&&(C[w>>2]=F));C[(w=g<<2)+f[d+36>>2]>>2]=v(p?-34028234663852886e22:0),C[f[d+40>>2]+w>>2]=v(p?0:34028234663852886e22),w=2}f[f[d+32>>2]+(g<<2)>>2]=f[Q>>2],g=f[d+24>>2]+g|0}return _[e+28|0]&&(!_[e+40|0]&&($f(t,i,r,d,g,y,p,B),F=C[e+32>>2],F=wf(C[e+80>>2],C[e>>2],C[e+4>>2],p?F:v(-F),v(C[d>>2]*C[e+20>>2])),C[(Q=g<<2)+f[d+28>>2]>>2]=F*C[e+32>>2],C[Q+f[d+36>>2]>>2]=-C[e+36>>2],f[Q+f[d+40>>2]>>2]=f[e+36>>2],f[Q+f[d+32>>2]>>2]=f[e+24>>2],w=w+1|0,g=f[d+24>>2]+g|0,!_[e+28|0]|!_[e+40|0])||(V=C[e+44>>2],F=v(C[e+80>>2]-V),p&&(V=(Q=F>v(3.1415927410125732))?v(V+v(6.2831854820251465)):V,(F=Q?v(F+v(-6.2831854820251465)):F)<v(-3.1415927410125732)&&(V=v(V+v(-6.2831854820251465)),F=v(F+v(6.2831854820251465)))),$f(t,i,r,d,g,y,p,B),G=v(0),W=C[e+32>>2],Y=F<v(0)?v(-W):W,F!=v(0)&&(Z=v(-Y),z=C[e+80>>2],(G=C[e>>2])>(W=C[e+4>>2])?(W=F<v(0)?V:v(34028234663852886e22),F=F>v(0)?V:v(-34028234663852886e22)):(W=F<v(0)&&V<W?V:W,F=F>v(0)&&V>G?V:G),G=wf(z,F,W,Z,v(C[d>>2]*C[e+20>>2]))),C[(Q=g<<2)+f[d+28>>2]>>2]=v(Y*G)*v(0|(p?-1:1)),C[Q+f[d+36>>2]>>2]=-C[e+36>>2],f[Q+f[d+40>>2]>>2]=f[e+36>>2],f[Q+f[d+32>>2]>>2]=f[e+24>>2],w=w+1|0,g=f[d+24>>2]+g|0)),_[e+48|0]&&(z=C[e+68>>2],Dt=C[e+80>>2],$f(t,i,r,d,g,y,p,B),F=C[d>>2],V=C[e+52>>2],W=C[e+60>>2],z=v(Dt-z),p?(yt=C[y+8>>2],pt=v(C[o+8>>2]*yt),G=C[y>>2],Y=C[y+4>>2],Z=v(v(C[o>>2]*G)+v(C[o+4>>2]*Y))):(yt=C[y+8>>2],pt=v(C[n+8>>2]*yt),h=a,G=C[y>>2],Y=C[y+4>>2],Z=v(v(C[n>>2]*G)+v(C[n+4>>2]*Y))),Y=v(v(Z+pt)-v(v(v(G*C[h>>2])+v(Y*C[h+4>>2]))+v(yt*C[h+8>>2]))),F=v(v(1)/F),G=v(v(1)/C[f[t+32>>2]+404>>2]),G=(Z=v(v(1)/C[f[t+28>>2]+404>>2]))>G?G:Z,!_[e+56|0]|v(F*v(E(v(V/G))))>v(.25)^1||(V=v(v(v(v(v(1)/F)/F)*v(.0625))*G)),t=g<<2,Z=v(F*v(z*V)),V=v(0|(p?-1:1)),G=v(F*v(v(Y*(v(W*F)>G&&_[e+64|0]?v(G/F):W))*V)),F=v(Z-G),C[t+f[d+28>>2]>>2]=Y+v(F*V),V=(e=F<(G=v(-G)))?G:F,F=e?F:G,p?(C[t+f[d+36>>2]>>2]=R(v(-V),v(0)),V=v(-F)):C[t+f[d+36>>2]>>2]=R(F,v(0)),C[(t=g<<2)+f[d+40>>2]>>2]=D(V,v(0)),f[t+f[d+32>>2]>>2]=0,w=w+1|0),w}function $f(t,e,i,r,n,a,o,h){var d,g,m,y,p,R,D=v(0),B=v(0),E=v(0),F=0,V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0);d=Z-16|0,g=n<<2,F=f[(o?12:8)+r>>2],f[g+F>>2]=f[a>>2],f[F+(y=(m=n+1|0)<<2)>>2]=f[a+4>>2],f[F+(R=(p=n+2|0)<<2)>>2]=f[a+8>>2],F=f[(o?20:16)+r>>2],C[F+g>>2]=-C[a>>2],C[F+y>>2]=-C[a+4>>2],C[F+R>>2]=-C[a+8>>2],o||(f[d+12>>2]=0,D=v(C[t+1284>>2]-C[e+48>>2]),B=C[a+4>>2],V=v(C[t+1288>>2]-C[e+52>>2]),E=C[a>>2],Q=v(v(D*B)-v(V*E)),C[d+8>>2]=Q,G=v(C[t+1292>>2]-C[e+56>>2]),w=D,D=C[a+8>>2],W=v(v(E*G)-v(w*D)),C[d+4>>2]=W,G=v(v(V*D)-v(G*B)),C[d>>2]=G,Y=v(C[t+1352>>2]-C[i+52>>2]),z=v(C[t+1356>>2]-C[i+56>>2]),V=v(v(D*Y)-v(B*z)),w=v(C[t+1348>>2]-C[i+48>>2]),B=v(v(B*w)-v(Y*E)),E=v(v(z*E)-v(w*D)),!_[t+1452|0]|h||(D=C[t+1444>>2],C[d+8>>2]=Q*D,C[d+4>>2]=W*D,C[d>>2]=G*D,D=C[t+1448>>2],B=v(B*D),V=v(V*D),E=v(E*D)),e=f[d+4>>2],t=(i=n<<2)+f[r+12>>2]|0,f[t>>2]=f[d>>2],f[t+4>>2]=e,f[t+8>>2]=f[d+8>>2],t=f[r+20>>2],C[t+i>>2]=-V,C[t+(m<<2)>>2]=-E,C[t+(p<<2)>>2]=-B)}function At(t){f[(t|=0)>>2]=23012,CA(t)}function et(t){return v(C[(t|=0)>>2])}function rt(t){return v(C[(t|=0)+4>>2])}function it(t){return v(C[(t|=0)+8>>2])}function ft(t){return(t|=0)+48|0}function tt(t,e){var i,r=v(0),n=0,a=0,o=v(0),_=0,h=v(0),d=0,g=0,m=v(0);i=Z-16|0,r=C[t>>2],h=C[t+20>>2],o=C[t+40>>2],(m=v(v(r+h)+o))>v(0)?(h=v(E(v(m+v(1)))),r=v(v(.5)/h),o=v(r*v(C[t+16>>2]-C[t+4>>2])),C[i+8>>2]=o,s(o),n=c(0),o=v(r*v(C[t+8>>2]-C[t+32>>2])),C[i+4>>2]=o,r=v(r*v(C[t+36>>2]-C[t+24>>2])),C[i>>2]=r,s(r),t=c(0),r=v(h*v(.5)),C[i+12>>2]=r,s(r),a=c(0),s(o),_=c(0)):(_=(n=r<h?h<o?2:1:(r<o)<<1)<<2,d=(n<<4)+t|0,g=((a=(n+1>>>0)%3|0)<<4)+t|0,a<<=2,n=t+((t=(n+2>>>0)%3|0)<<4)|0,t<<=2,r=v(E(v(v(v(C[_+d>>2]-C[g+a>>2])-C[n+t>>2])+v(1)))),C[(_|i)>>2]=r*v(.5),r=v(v(.5)/r),C[i+12>>2]=v(C[n+a>>2]-C[t+g>>2])*r,C[(i|a)>>2]=r*v(C[_+g>>2]+C[a+d>>2]),C[(t|i)>>2]=r*v(C[n+_>>2]+C[t+d>>2]),a=f[i+12>>2],n=f[i+8>>2],t=f[i>>2],_=f[i+4>>2]),f[e+12>>2]=a,f[e+8>>2]=n,f[e+4>>2]=_,f[e>>2]=t}function nt(t){(t|=0)&&yt[f[f[t>>2]+4>>2]](t)}function at(t,e){e|=0,f[(t|=0)+12>>2]=e}function ot(t,e){t|=0,e=v(e),C[t+4>>2]=e}function ct(t,e){e|=0,f[(t|=0)+8>>2]=e}function bt(t){return(t|=0)+24|0}function lt(t){var e;(e=f[(t|=0)+12>>2])&&(_[t+16|0]&&CA(e),f[t+12>>2]=0),f[t+12>>2]=0,n[t+16|0]=1,f[t+4>>2]=0,f[t+8>>2]=0}function ut(t){return(t|=0)+32|0}function st(t){return(t|=0)- -64|0}function kt(t){return 0|yt[f[f[(t|=0)>>2]+36>>2]](t)}function vt(t,e){e|=0,yt[f[f[(t|=0)>>2]+60>>2]](t,e)}function dt(t,e,i){var r=v(0),n=v(0),a=v(0),o=v(0),f=0,_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0);(r=C[t+404>>2])!=v(0)&&(a=C[e+8>>2],n=C[e+4>>2],o=C[t+408>>2],C[t+372>>2]=v(r*v(C[e>>2]*o))+C[t+372>>2],f=t+376|0,_=n,n=C[t+412>>2],C[f>>2]=v(r*v(_*n))+C[f>>2],f=t+380|0,_=r,r=C[t+416>>2],C[f>>2]=v(_*v(a*r))+C[f>>2],g=C[t+612>>2],m=C[t+364>>2],y=C[t+356>>2],p=C[t+360>>2],R=C[t+608>>2],D=C[t+348>>2],B=C[t+340>>2],E=C[t+344>>2],d=C[i+4>>2],a=v(r*C[e+8>>2]),n=v(n*C[e+4>>2]),h=C[i+8>>2],r=v(v(d*a)-v(n*h)),o=v(o*C[e>>2]),_=v(o*h),h=C[i>>2],a=v(_-v(a*h)),n=v(v(n*h)-v(o*d)),C[t+388>>2]=v(v(v(v(C[t+324>>2]*r)+v(C[t+328>>2]*a))+v(n*C[t+332>>2]))*C[t+604>>2])+C[t+388>>2],C[(e=t+392|0)>>2]=v(R*v(v(v(r*B)+v(a*E))+v(n*D)))+C[e>>2],C[(t=t+396|0)>>2]=v(g*v(v(v(r*y)+v(a*p))+v(n*m)))+C[t>>2])}function Ct(t){var e=0;return f[(t|=0)>>2]=24920,(e=f[t+128>>2])&&(_[t+132|0]&&CA(e),f[t+128>>2]=0),f[t+128>>2]=0,f[t+120>>2]=0,f[t+124>>2]=0,n[t+132|0]=1,(e=f[t+108>>2])&&(_[t+112|0]&&CA(e),f[t+108>>2]=0),f[t+108>>2]=0,f[t+100>>2]=0,f[t+104>>2]=0,n[t+112|0]=1,(e=f[t+88>>2])&&(_[t+92|0]&&CA(e),f[t+88>>2]=0),f[t+88>>2]=0,f[t+80>>2]=0,f[t+84>>2]=0,n[t+92|0]=1,(e=f[t+36>>2])&&(_[t+40|0]&&CA(e),f[t+36>>2]=0),f[t+36>>2]=0,f[t+28>>2]=0,f[t+32>>2]=0,n[t+40|0]=1,0|t}function gt(t){var e=0;return f[(t|=0)>>2]=25144,(e=f[t+120>>2])&&(_[t+124|0]&&CA(e),f[t+120>>2]=0),f[t+120>>2]=0,f[t+112>>2]=0,f[t+116>>2]=0,n[t+124|0]=1,(e=f[t+100>>2])&&(_[t+104|0]&&CA(e),f[t+100>>2]=0),f[t+100>>2]=0,f[t+92>>2]=0,f[t+96>>2]=0,n[t+104|0]=1,(e=f[t+80>>2])&&(_[t+84|0]&&CA(e),f[t+80>>2]=0),f[t+80>>2]=0,f[t+72>>2]=0,f[t+76>>2]=0,n[t+84|0]=1,(e=f[t+28>>2])&&(_[t+32|0]&&CA(e),f[t+28>>2]=0),f[t+28>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,n[t+32|0]=1,0|t}function Bt(t,e){!function(t,e){o[0]=t,o[1]=e}(0|t,0|e)}function _t(t,e,i,r){return t=function(t,e,i,r){var n,a,o,f,_=0,h=0;return f=m(_=i>>>16,h=t>>>16),_=(65535&(h=((o=m(n=65535&i,a=65535&t))>>>16)+m(h,n)|0))+m(_,a)|0,t=(((m(e,i)+f|0)+m(t,r)|0)+(h>>>16)|0)+(_>>>16)|0,z=t,e=65535&o|_<<16}(t,e,i,r)}function mt(t,e,i){return function(t,e,i){var r=0,n=0,a=0,o=0,f=0,_=0,h=0,d=0,C=0;t:{e:{i:{A:{r:{n:{a:{o:{s:{if(n=e){if(!(r=i))break s;break o}return Bt((e=t)-m(t=(t>>>0)/(i>>>0)|0,i)|0,0),z=0,t}if(!t)break a;break n}if(!((o=r+-1|0)&r))break r;f=0-(o=(p(r)+33|0)-p(n)|0)|0;break i}return Bt(0,n-m(t=(n>>>0)/0|0,0)|0),z=0,t}if((r=32-p(n)|0)>>>0<31)break A;break e}if(Bt(t&o,0),1==(0|r))break t;return i=31&(r=r?31-p(r+-1^r)|0:32),32<=(63&r)>>>0?(n=0,t=e>>>i):(n=e>>>i,t=((1<<i)-1&e)<<32-i|t>>>i),z=n,t}o=r+1|0,f=63-r|0}if(r=e,a=31&(n=63&o),32<=n>>>0?(n=0,a=r>>>a):(n=r>>>a,a=((1<<a)-1&r)<<32-a|t>>>a),r=31&(f&=63),32<=f>>>0?(e=t<<r,t=0):(e=(1<<r)-1&t>>>32-r|e<<r,t<<=r),o)for(r=-1,(f=i+-1|0)>>>0<4294967295&&(r=0);a=(h=_=a<<1|e>>>31)-(d=i&(_=r-((n=n<<1|a>>>31)+(f>>>0<_>>>0)|0)>>31))|0,n=n-(h>>>0<d>>>0)|0,e=e<<1|t>>>31,t=C|t<<1,C=_&=1,o=o+-1|0;);return Bt(a,n),z=e<<1|t>>>31,_|t<<1}Bt(t,e),t=0,e=0}return z=e,t}(t,e,i)}function Rt(t){var e;return(-1>>>(e=31&t)&-2)<<e|(-1<<(t=0-t&31)&-2)>>>t}var yt=[null,function(t){var e=0;return e=0,(t=0|G(f[(t|=0)+56>>2]))&&(f[256]=t,e=-1),0|e},function(t,e,i){t|=0,e|=0,i|=0;var r,n=0,a=0,o=0,_=0,h=0;Z=r=Z-16|0,f[r+12>>2]=i,f[r+8>>2]=e,e=f[t+24>>2],f[r>>2]=e,e=f[t+20>>2]-e|0,f[r+4>>2]=e,o=2;t:{if((0|(_=e+i|0))!=(0|(n=N(f[t+56>>2],r,2))))for(e=r;;){if((0|n)<=-1){if(f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t>>2]=32|f[t>>2],t=0,2==(0|o))break t;t=i-f[e+4>>2]|0;break t}if(a=n-((h=n>>>0>(a=f[e+4>>2])>>>0)?a:0)|0,f[(e=h?e+8|0:e)>>2]=a+f[e>>2],f[e+4>>2]=f[e+4>>2]-a,o=o-h|0,(0|(_=_-n|0))==(0|(n=N(f[t+56>>2],e,o))))break}e=f[t+40>>2],f[t+24>>2]=e,f[t+20>>2]=e,f[t+16>>2]=e+f[t+44>>2],t=i}return Z=r+16|0,0|(n=t)},function(t,e,i,r){return e|=0,i|=0,r|=0,0|(t=function(t,e,i,r){var n;return Z=n=Z-16|0,(t=0|Y(0|t,0|e,0|i,255&r,n+8|0))?(f[256]=76==(0|t)?70:t,i=-1,t=-1):(i=f[n+12>>2],t=f[n+8>>2]),Z=n+16|0,z=i,t}(f[(t|=0)+56>>2],e,i,r))},rA,iA,iA,function(t){var e;t|=0,Z=e=Z-16|0,f[e+12>>2]=t,rA(t=f[e+12>>2]),$(t),Z=e+16|0},eA,eA,function(t,e,i){var r;return t|=0,e|=0,i|=0,Z=r=Z-80|0,f[r+72>>2]=t,f[r+68>>2]=e,f[r+64>>2]=i,1&fA(e=f[r+72>>2],f[r+68>>2],0)?n[r+79|0]=1:(i=r,t=(t=f[r+68>>2])?function(t){var e;if(Z=e=Z-96|0,f[e+92>>2]=t,f[e+88>>2]=5456,f[e+84>>2]=5504,f[e+80>>2]=0,f[e+76>>2]=f[f[e+92>>2]>>2],f[e+72>>2]=f[f[e+76>>2]+-8>>2],f[e+68>>2]=f[e+92>>2]+f[e+72>>2],f[e+64>>2]=f[f[e+76>>2]+-4>>2],f[e+60>>2]=0,f[e>>2]=f[e+84>>2],f[e+4>>2]=f[e+92>>2],f[e+8>>2]=f[e+88>>2],f[e+12>>2]=f[e+80>>2],f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,n[e+52|0]=0,n[e+53|0]=0,n[e+54|0]=0,1&fA(f[e+64>>2],f[e+84>>2],0))f[e+48>>2]=1,t=f[e+64>>2],yt[f[f[t>>2]+20>>2]](t,e,f[e+68>>2],f[e+68>>2],1,0),1==f[e+24>>2]&&(f[e+60>>2]=f[e+68>>2]);else{t=f[e+64>>2],yt[f[f[t>>2]+24>>2]](t,e,f[e+68>>2],1,0);t:if(!((t=f[e+36>>2])>>>0>1))if(t-1){if(1!=f[e+40>>2]|1!=f[e+28>>2]|1!=f[e+32>>2])break t;f[e+60>>2]=f[e+20>>2]}else f[e+40>>2]|1!=f[e+28>>2]|1!=f[e+32>>2]&&1!=f[e+24>>2]||(f[e+60>>2]=f[e+16>>2])}return Z=e+96|0,f[e+60>>2]}(t):0,f[i+60>>2]=t,f[r+60>>2]?(f[r>>2]=f[r+60>>2],f[r+4>>2]=0,f[r+8>>2]=e,f[r+12>>2]=-1,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,f[r+40>>2]=0,f[r+44>>2]=0,f[r+48>>2]=0,n[r+52|0]=0,n[r+53|0]=0,n[r+54|0]=0,f[r+48>>2]=1,t=f[r+60>>2],yt[f[f[t>>2]+28>>2]](t,r,f[f[r+64>>2]>>2],1),1!=f[r+24>>2]?n[r+79|0]=0:(f[f[r+64>>2]>>2]=f[r+16>>2],n[r+79|0]=1)):n[r+79|0]=0),Z=r+80|0,1&n[r+79|0]},function(t,e,i,r,a,o){var _;t|=0,e|=0,i|=0,r|=0,a|=0,o|=0,Z=_=Z-32|0,f[_+28>>2]=t,f[_+24>>2]=e,f[_+20>>2]=i,f[_+16>>2]=r,f[_+12>>2]=a,n[_+11|0]=o,1&fA(t=f[_+28>>2],f[f[_+24>>2]+8>>2],1&n[_+11|0])&&oA(t,f[_+24>>2],f[_+20>>2],f[_+16>>2],f[_+12>>2]),Z=_+32|0},function(t,e,i,r,a){var o;t|=0,e|=0,i|=0,r|=0,a|=0,Z=o=Z-32|0,f[o+28>>2]=t,f[o+24>>2]=e,f[o+20>>2]=i,f[o+16>>2]=r,n[o+15|0]=a,1&fA(t=f[o+28>>2],f[f[o+24>>2]+8>>2],1&n[o+15|0])?cA(t,f[o+24>>2],f[o+20>>2],f[o+16>>2]):1&fA(t,f[f[o+24>>2]>>2],1&n[o+15|0])&&(f[o+20>>2]!=f[f[o+24>>2]+20>>2]&&f[o+20>>2]!=f[f[o+24>>2]+16>>2]?(f[f[o+24>>2]+32>>2]=f[o+16>>2],f[f[o+24>>2]+20>>2]=f[o+20>>2],t=f[o+24>>2],f[t+40>>2]=f[t+40>>2]+1,1!=f[f[o+24>>2]+36>>2]|2!=f[f[o+24>>2]+24>>2]||(n[f[o+24>>2]+54|0]=1),f[f[o+24>>2]+44>>2]=4):1==f[o+16>>2]&&(f[f[o+24>>2]+32>>2]=1)),Z=o+32|0},function(t,e,i,r){var n;t|=0,e|=0,i|=0,r|=0,Z=n=Z-16|0,f[n+12>>2]=t,f[n+8>>2]=e,f[n+4>>2]=i,f[n>>2]=r,1&fA(t=f[n+12>>2],f[f[n+8>>2]+8>>2],0)&&nA(t,f[n+8>>2],f[n+4>>2],f[n>>2]),Z=n+16|0},function(t){var e;t|=0,Z=e=Z-16|0,f[e+12>>2]=t,iA(t=f[e+12>>2]),$(t),Z=e+16|0},function(t,e,i,r,a,o){var _;t|=0,e|=0,i|=0,r|=0,a|=0,o|=0,Z=_=Z-32|0,f[_+28>>2]=t,f[_+24>>2]=e,f[_+20>>2]=i,f[_+16>>2]=r,f[_+12>>2]=a,n[_+11|0]=o,1&fA(t=f[_+28>>2],f[f[_+24>>2]+8>>2],1&n[_+11|0])?oA(t,f[_+24>>2],f[_+20>>2],f[_+16>>2],f[_+12>>2]):(t=f[t+8>>2],yt[f[f[t>>2]+20>>2]](t,f[_+24>>2],f[_+20>>2],f[_+16>>2],f[_+12>>2],1&n[_+11|0])),Z=_+32|0},function(t,e,i,r,a){var o;if(t|=0,e|=0,i|=0,r|=0,a|=0,Z=o=Z-32|0,f[o+28>>2]=t,f[o+24>>2]=e,f[o+20>>2]=i,f[o+16>>2]=r,n[o+15|0]=a,1&fA(t=f[o+28>>2],f[f[o+24>>2]+8>>2],1&n[o+15|0]))cA(t,f[o+24>>2],f[o+20>>2],f[o+16>>2]);else t:if(1&fA(t,f[f[o+24>>2]>>2],1&n[o+15|0])){if(f[o+20>>2]==f[f[o+24>>2]+20>>2]||f[o+20>>2]==f[f[o+24>>2]+16>>2]){1==f[o+16>>2]&&(f[f[o+24>>2]+32>>2]=1);break t}f[f[o+24>>2]+32>>2]=f[o+16>>2],n[o+14|0]=0,4!=f[f[o+24>>2]+44>>2]&&(n[o+13|0]=0,n[f[o+24>>2]+52|0]=0,n[f[o+24>>2]+53|0]=0,t=f[t+8>>2],yt[f[f[t>>2]+20>>2]](t,f[o+24>>2],f[o+20>>2],f[o+20>>2],1,1&n[o+15|0]),1&n[f[o+24>>2]+53|0]&&(n[o+13|0]=1,1&n[f[o+24>>2]+52|0]&&(n[o+14|0]=1)),1&n[o+13|0]?f[f[o+24>>2]+44>>2]=3:f[f[o+24>>2]+44>>2]=4),1&n[o+14|0]||(f[f[o+24>>2]+20>>2]=f[o+20>>2],t=f[o+24>>2],f[t+40>>2]=f[t+40>>2]+1,1!=f[f[o+24>>2]+36>>2]|2!=f[f[o+24>>2]+24>>2]||(n[f[o+24>>2]+54|0]=1))}else t=f[t+8>>2],yt[f[f[t>>2]+24>>2]](t,f[o+24>>2],f[o+20>>2],f[o+16>>2],1&n[o+15|0]);Z=o+32|0},function(t,e,i,r){var n;t|=0,e|=0,i|=0,r|=0,Z=n=Z-16|0,f[n+12>>2]=t,f[n+8>>2]=e,f[n+4>>2]=i,f[n>>2]=r,1&fA(t=f[n+12>>2],f[f[n+8>>2]+8>>2],0)?nA(t,f[n+8>>2],f[n+4>>2],f[n>>2]):(t=f[t+8>>2],yt[f[f[t>>2]+28>>2]](t,f[n+8>>2],f[n+4>>2],f[n>>2])),Z=n+16|0},function(t){var e;t|=0,Z=e=Z-16|0,f[e+12>>2]=t,iA(t=f[e+12>>2]),$(t),Z=e+16|0},function(t,e,i,r,a,o){var _;if(t|=0,e|=0,i|=0,r|=0,a|=0,o|=0,Z=_=Z-32|0,f[_+28>>2]=t,f[_+24>>2]=e,f[_+20>>2]=i,f[_+16>>2]=r,f[_+12>>2]=a,n[_+11|0]=o,1&fA(t=f[_+28>>2],f[f[_+24>>2]+8>>2],1&n[_+11|0]))oA(t,f[_+24>>2],f[_+20>>2],f[_+16>>2],f[_+12>>2]);else{if(n[_+10|0]=1&n[f[_+24>>2]+52|0],n[_+9|0]=1&n[f[_+24>>2]+53|0],f[_+4>>2]=(t+16|0)+(f[t+12>>2]<<3),f[_>>2]=t+16,n[f[_+24>>2]+52|0]=0,n[f[_+24>>2]+53|0]=0,bA(f[_>>2],f[_+24>>2],f[_+20>>2],f[_+16>>2],f[_+12>>2],1&n[_+11|0]),n[_+10|0]=0!=(1&n[_+10|0]|1&n[f[_+24>>2]+52|0]),n[_+9|0]=0!=(1&n[_+9|0]|1&n[f[_+24>>2]+53|0]),e=f[_>>2]+8|0,f[_>>2]=e,e>>>0<d[_+4>>2])for(;;){t:if(!(1&n[f[_+24>>2]+54|0])){if(1&n[f[_+24>>2]+52|0]){if(!(2&f[t+8>>2])|1==f[f[_+24>>2]+24>>2])break t}else if(!(1&f[t+8>>2])&&1&n[f[_+24>>2]+53|0])break t;if(n[f[_+24>>2]+52|0]=0,n[f[_+24>>2]+53|0]=0,bA(f[_>>2],f[_+24>>2],f[_+20>>2],f[_+16>>2],f[_+12>>2],1&n[_+11|0]),n[_+10|0]=0!=(1&n[_+10|0]|1&n[f[_+24>>2]+52|0]),n[_+9|0]=0!=(1&n[_+9|0]|1&n[f[_+24>>2]+53|0]),e=f[_>>2]+8|0,f[_>>2]=e,e>>>0<d[_+4>>2])continue}break}n[f[_+24>>2]+52|0]=1&n[_+10|0],n[f[_+24>>2]+53|0]=1&n[_+9|0]}Z=_+32|0},function(t,e,i,r,a){var o;if(t|=0,e|=0,i|=0,r|=0,a|=0,Z=o=Z-48|0,f[o+44>>2]=t,f[o+40>>2]=e,f[o+36>>2]=i,f[o+32>>2]=r,n[o+31|0]=a,1&fA(t=f[o+44>>2],f[f[o+40>>2]+8>>2],1&n[o+31|0]))cA(t,f[o+40>>2],f[o+36>>2],f[o+32>>2]);else t:if(1&fA(t,f[f[o+40>>2]>>2],1&n[o+31|0])){if(f[o+36>>2]==f[f[o+40>>2]+20>>2]||f[o+36>>2]==f[f[o+40>>2]+16>>2]){1==f[o+32>>2]&&(f[f[o+40>>2]+32>>2]=1);break t}if(f[f[o+40>>2]+32>>2]=f[o+32>>2],n[o+30|0]=0,4!=f[f[o+40>>2]+44>>2]){for(n[o+29|0]=0,f[o+24>>2]=(t+16|0)+(f[t+12>>2]<<3),f[o+20>>2]=t+16;;){e:if(!(d[o+20>>2]>=d[o+24>>2]||(n[f[o+40>>2]+52|0]=0,n[f[o+40>>2]+53|0]=0,bA(f[o+20>>2],f[o+40>>2],f[o+36>>2],f[o+36>>2],1,1&n[o+31|0]),1&n[f[o+40>>2]+54|0]))){if(1&n[f[o+40>>2]+53|0])if(n[o+29|0]=1,1&n[f[o+40>>2]+52|0]){if(n[o+30|0]=1,!(2&f[t+8>>2])|1==f[f[o+40>>2]+24>>2])break e}else if(!(1&f[t+8>>2]))break e;f[o+20>>2]=f[o+20>>2]+8;continue}break}1&n[o+29|0]?f[f[o+40>>2]+44>>2]=3:f[f[o+40>>2]+44>>2]=4}1&n[o+30|0]||(f[f[o+40>>2]+20>>2]=f[o+36>>2],t=f[o+40>>2],f[t+40>>2]=f[t+40>>2]+1,1!=f[f[o+40>>2]+36>>2]|2!=f[f[o+40>>2]+24>>2]||(n[f[o+40>>2]+54|0]=1))}else if(f[o+16>>2]=(t+16|0)+(f[t+12>>2]<<3),f[o+12>>2]=t+16,lA(f[o+12>>2],f[o+40>>2],f[o+36>>2],f[o+32>>2],1&n[o+31|0]),e=f[o+12>>2]+8|0,f[o+12>>2]=e,e>>>0<d[o+16>>2])if(1==f[f[o+40>>2]+36>>2]||2&f[t+8>>2])for(;!(1&n[f[o+40>>2]+54|0])&&(lA(f[o+12>>2],f[o+40>>2],f[o+36>>2],f[o+32>>2],1&n[o+31|0]),t=f[o+12>>2]+8|0,f[o+12>>2]=t,t>>>0<d[o+16>>2]););else if(1&f[t+8>>2])for(;!(!!(1&n[f[o+40>>2]+54|0])|!(1!=f[f[o+40>>2]+36>>2]|1!=f[f[o+40>>2]+24>>2]))&&(lA(f[o+12>>2],f[o+40>>2],f[o+36>>2],f[o+32>>2],1&n[o+31|0]),t=f[o+12>>2]+8|0,f[o+12>>2]=t,t>>>0<d[o+16>>2]););else for(;!(!!(1&n[f[o+40>>2]+54|0])|1==f[f[o+40>>2]+36>>2])&&(lA(f[o+12>>2],f[o+40>>2],f[o+36>>2],f[o+32>>2],1&n[o+31|0]),t=f[o+12>>2]+8|0,f[o+12>>2]=t,t>>>0<d[o+16>>2]););Z=o+48|0},function(t,e,i,r){var a;if(t|=0,e|=0,i|=0,r|=0,Z=a=Z-32|0,f[a+28>>2]=t,f[a+24>>2]=e,f[a+20>>2]=i,f[a+16>>2]=r,1&fA(t=f[a+28>>2],f[f[a+24>>2]+8>>2],0))nA(t,f[a+24>>2],f[a+20>>2],f[a+16>>2]);else if(f[a+12>>2]=(t+16|0)+(f[t+12>>2]<<3),f[a+8>>2]=t+16,aA(f[a+8>>2],f[a+24>>2],f[a+20>>2],f[a+16>>2]),t=f[a+8>>2]+8|0,f[a+8>>2]=t,t>>>0<d[a+12>>2])for(;aA(f[a+8>>2],f[a+24>>2],f[a+20>>2],f[a+16>>2]),!(1&n[f[a+24>>2]+54|0])&&(t=f[a+8>>2]+8|0,f[a+8>>2]=t,t>>>0<d[a+12>>2]););Z=a+32|0},sA,kA,function(){(function(){var t;Z=t=Z-16|0,f[t+12>>2]=5367,f[t+8>>2]=0,j(f[752],f[t+12>>2],f[t+8>>2]),function(t){var e;Z=e=Z-16|0,f[e+12>>2]=0,j(t,5365,0),Z=e+16|0}(f[752]),F()})(),F()},sA,kA,function(t,e){t|=0,e|=0;var i=0;return(t=0|yt[f[742]](3+(t+e|0)|0))&&(f[(i=3+(t+e|0)&0-e)+-4>>2]=t),0|i},function(t){(t|=0)&&yt[f[743]](f[t+-4>>2])},function(t){return 0|K(t|=0)},function(t){L(t|=0)},sA,kA,function(t,e,i){t|=0,e|=0,i|=0;var r,n=0,a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0);Z=r=Z-96|0,f[(n=r+44|0)>>2]=0,f[n+4>>2]=0,f[(n=r+56|0)>>2]=0,f[n+4>>2]=0,f[r+52>>2]=1065353216,f[(n=r+76|0)>>2]=0,f[n+4>>2]=0,f[r+72>>2]=1065353216,f[(n=r+84|0)>>2]=0,f[n+4>>2]=0,f[r+92>>2]=0,f[r+36>>2]=0,f[r+40>>2]=0,f[r+32>>2]=1065353216,f[r+64>>2]=0,f[r+68>>2]=0,yt[f[f[t>>2]+8>>2]](t,r+32|0,r+16|0,r),h=C[r>>2],d=C[r+16>>2],a=v(h-d),_=v(a*a),a=C[r+4>>2],g=C[r+20>>2],o=v(a-g),y=v(_+v(o*o)),o=C[r+8>>2],_=C[r+24>>2],m=v(o-_),C[i>>2]=v(E(v(y+v(m*m))))*v(.5),f[e+12>>2]=0,C[e+8>>2]=v(o+_)*v(.5),C[e+4>>2]=v(a+g)*v(.5),C[e>>2]=v(h+d)*v(.5),Z=r+96|0},function(t){t|=0;var e,i=v(0),r=v(0);return Z=e=Z-32|0,yt[f[f[t>>2]+12>>2]](t,e+16|0,e+12|0),Z=e+32|0,i=C[e+16>>2],r=v(i*i),i=C[e+20>>2],r=v(r+v(i*i)),i=C[e+24>>2],v(v(C[e+12>>2]+v(E(v(r+v(i*i))))))},function(t,e){return t|=0,e=v(e),v(v(v(yt[f[f[t>>2]+16>>2]](t))*e))},function(t,e){f[(t|=0)+8>>2]=1065353216,f[t+12>>2]=0,f[t>>2]=1065353216,f[t+4>>2]=1065353216},yA,QA,function(t,e){var i,r,n=0,a=0,o=0,_=0;a=e|=0,o=0|yt[f[f[(t|=0)>>2]+52>>2]](t),_=1,n=f[f[e>>2]+16>>2],r=0|yt[n](0|a,0|o,0|_),_=e,o=r,a=0|yt[f[f[t>>2]+56>>2]](t,f[r+8>>2],e),i=t,n=f[f[e>>2]+20>>2],yt[n](0|_,0|o,0|a,1346455635,0|i)},function(t,e,i,r,n,a,o){t|=0,e|=0,i|=0,r|=0,n|=0,a|=0,o|=0;var _,h,d,g,m,y,p,R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=v(0),Pt=v(0);Z=_=Z-48|0,f[_+44>>2]=0,R=C[i>>2],D=C[i+4>>2],B=C[i+8>>2],C[_+32>>2]=v(v(C[e>>2]*R)+v(C[e+16>>2]*D))+v(C[e+32>>2]*B),h=e+24|0,d=e+40|0,C[_+40>>2]=v(v(R*C[e+8>>2])+v(D*C[h>>2]))+v(B*C[d>>2]),g=e+20|0,m=e+36|0,C[_+36>>2]=v(v(R*C[e+4>>2])+v(D*C[g>>2]))+v(B*C[m>>2]),yt[f[f[t>>2]+64>>2]](_+16|0,t,_+32|0),Q=C[(y=e+56|0)>>2],W=C[d>>2],Y=C[m>>2],G=C[(p=e+52|0)>>2],z=C[h>>2],pt=C[g>>2],Dt=C[e+32>>2],w=C[e+48>>2],It=C[e+8>>2],St=C[e>>2],Tt=C[e+4>>2],Et=C[e+16>>2],R=C[_+24>>2],D=C[_+16>>2],B=C[_+20>>2],f[_+12>>2]=0,C[_+8>>2]=-C[_+40>>2],C[_+4>>2]=-C[_+36>>2],C[_>>2]=-C[_+32>>2],yt[f[f[t>>2]+64>>2]](_+16|0,t,_),Ot=C[y>>2],Nt=C[d>>2],Ft=C[m>>2],Vt=C[p>>2],Gt=C[h>>2],Lt=C[g>>2],wt=C[e+32>>2],xt=C[e+48>>2],Qt=C[e+8>>2],Wt=C[e>>2],Yt=C[e+4>>2],Pt=C[e+16>>2],E=C[_+24>>2],F=C[_+16>>2],V=C[_+20>>2],w=v(w+v(v(v(D*St)+v(B*Tt))+v(R*It))),G=v(G+v(v(v(D*Et)+v(B*pt))+v(R*z))),R=v(Q+v(v(v(D*Dt)+v(B*Y))+v(R*W))),C[r>>2]=v(v(w*C[i>>2])+v(G*C[i+4>>2]))+v(R*C[i+8>>2]),D=v(xt+v(v(v(F*Wt)+v(V*Yt))+v(E*Qt))),B=v(Vt+v(v(v(F*Pt)+v(V*Lt))+v(E*Gt))),E=v(Ot+v(v(v(F*wt)+v(V*Ft))+v(E*Nt))),C[n>>2]=v(v(D*C[i>>2])+v(B*C[i+4>>2]))+v(E*C[i+8>>2]),f[o+12>>2]=0,C[o+8>>2]=E,C[o+4>>2]=B,C[o>>2]=D,f[a+12>>2]=0,C[a+8>>2]=R,C[a+4>>2]=G,C[a>>2]=w,(F=C[r>>2])>(V=C[n>>2])&&(C[r>>2]=V,C[n>>2]=F,f[o+12>>2]=0,C[o+8>>2]=R,C[o+4>>2]=G,C[o>>2]=w,f[a+12>>2]=0,C[a+8>>2]=E,C[a+4>>2]=B,C[a>>2]=D),Z=_+48|0},pA,function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0);f[(n=Z-16|0)+12>>2]=0,a=t+32|0,t=f[t+56>>2],_=C[a+((t+2|0)%3<<2)>>2],C[n+8>>2]=_,C[n+4>>2]=_,C[n>>2]=_,C[(t<<=2)+n>>2]=_+C[t+a>>2],_=C[e+56>>2],D=C[e+40>>2],B=C[e+36>>2],p=C[e+52>>2],g=C[e+24>>2],E=C[e+20>>2],F=C[e+32>>2],V=C[e+16>>2],R=C[e+48>>2],h=C[e+8>>2],o=C[e>>2],d=C[e+4>>2],f[i+12>>2]=0,m=v(y(o)),o=C[n>>2],G=v(y(d)),d=C[n+4>>2],w=v(y(h)),h=C[n+8>>2],m=v(v(v(m*o)+v(G*d))+v(w*h)),C[i>>2]=R-m,g=v(v(v(o*v(y(V)))+v(d*v(y(E))))+v(h*v(y(g)))),C[i+4>>2]=p-g,o=v(v(v(o*v(y(F)))+v(d*v(y(B))))+v(h*v(y(D)))),C[i+8>>2]=_-o,C[r>>2]=R+m,C[r+4>>2]=p+g,C[r+8>>2]=_+o,f[r+12>>2]=0},function(t,e){t|=0,e|=0;var i,r,n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0);n=C[t+20>>2],a=C[(i=t+36|0)>>2],o=C[t+24>>2],_=C[(r=t+40|0)>>2],h=C[t+16>>2],d=C[t+32>>2],EA(t,e),g=C[e>>2],m=C[e+4>>2],y=C[e+8>>2],f[t+44>>2]=0,C[r>>2]=y*v(_/o),C[i>>2]=m*v(a/n),C[t+32>>2]=g*v(d/h),f[t+48>>2]=f[(t+32|0)+((f[t+56>>2]+2|0)%3<<2)>>2]},Qe,function(t,e,i){t|=0,e=v(e),i|=0;var r,n=v(0),a=v(0),o=0,_=0,h=v(0);r=t+32|0,_=f[t+56>>2],o=f[r+((_+2|0)%3<<2)>>2],f[(t=Z-16|0)+12>>2]=0,f[t+8>>2]=o,f[t+4>>2]=o,f[t>>2]=o,C[(_=(o=_<<2)+t|0)>>2]=C[o+r>>2]+C[_>>2],e=v(e*v(.0833333283662796)),n=C[t>>2],n=v(n+n),n=v(n*n),a=C[t+4>>2],a=v(a+a),a=v(a*a),C[i+8>>2]=e*v(n+a),h=n,n=C[t+8>>2],n=v(n+n),n=v(n*n),C[i+4>>2]=e*v(h+n),C[i>>2]=e*v(a+n)},function(t){return 6444},FA,WA,function(t){return v(C[(t|=0)+48>>2])},wA,function(t,e,i){return QA(t|=0,e|=0,i|=0),f[e+28>>2]=f[t+32>>2],f[e+32>>2]=f[t+36>>2],f[e+36>>2]=f[t+40>>2],f[e+40>>2]=f[t+44>>2],f[e+12>>2]=f[t+16>>2],f[e+16>>2]=f[t+20>>2],f[e+20>>2]=f[t+24>>2],f[e+24>>2]=f[t+28>>2],f[e+48>>2]=0,f[e+44>>2]=f[t+48>>2],t=f[t+56>>2],f[e+56>>2]=0,f[e+52>>2]=t,6457},function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=v(0),a=v(0),o=v(0),_=v(0);yt[f[f[e>>2]+68>>2]](t,e,i),v(yt[f[f[e>>2]+48>>2]](e))!=v(0)&&(n=C[i+4>>2],r=C[i>>2],a=C[i+8>>2],o=v(yt[f[f[e>>2]+48>>2]](e)),_=r=(e=v(v(v(r*r)+v(n*n))+v(a*a))<v(14210854715202004e-30))?v(-1):r,a=e?v(-1):a,n=e?v(-1):n,r=v(v(1)/v(E(v(v(a*a)+v(v(r*r)+v(n*n)))))),C[t>>2]=C[t>>2]+v(o*v(_*r)),C[t+4>>2]=C[t+4>>2]+v(o*v(n*r)),C[t+8>>2]=C[t+8>>2]+v(o*v(a*r)))},function(t,e,i){t|=0,e|=0,i|=0;var r,n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=0,g=v(0),m=v(0),y=v(0),p=v(0);r=Z-16|0,f[t>>2]=0,f[t+4>>2]=0,f[(d=t+8|0)>>2]=0,f[d+4>>2]=0,_=C[i>>2],o=C[i+4>>2],a=C[i+8>>2],(n=v(v(v(_*_)+v(o*o))+v(a*a)))<v(9999999747378752e-20)?(a=v(0),n=v(1)):(n=v(v(1)/v(E(n))),g=v(a*n),a=v(o*n),n=v(_*n)),f[r+8>>2]=0,f[r+12>>2]=0,f[r>>2]=0,f[r+4>>2]=0,d=(i=f[e+56>>2]<<2)+r|0,h=C[32+(e+i|0)>>2],C[d>>2]=h,_=v(-0xde0b6b000000000),m=C[r>>2],y=C[r+4>>2],p=C[r+8>>2],(o=v(v(v(n*m)+v(a*y))+v(g*p)))>v(-0xde0b6b000000000)&&(f[t+12>>2]=f[r+12>>2],C[t+8>>2]=p,C[t+4>>2]=y,C[t>>2]=m,_=o),f[r+8>>2]=0,f[r+12>>2]=0,f[r>>2]=0,f[r+4>>2]=0,C[d>>2]=-h,o=C[r>>2],h=a,a=C[r+4>>2],h=v(v(n*o)+v(h*a)),n=C[r+8>>2],v(h+v(g*n))>_&&(f[t+12>>2]=f[r+12>>2],C[t+8>>2]=n,C[t+4>>2]=a,C[t>>2]=o)},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a=0,o=0,_=0,h=v(0),d=v(0),g=v(0),m=v(0),y=0,p=0,R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=0;if(n=Z-16|0,(0|r)>=1)for(;f[(a=n+8|0)>>2]=0,f[a+4>>2]=0,f[n>>2]=0,f[n+4>>2]=0,y=(o=(_=f[t+56>>2])<<2)+n|0,d=C[(o=32+(t+o|0)|0)>>2],f[y>>2]=f[o>>2],D=v(-0xde0b6b000000000),B=C[n>>2],h=C[(o=e+p|0)>>2],E=C[n+4>>2],g=C[(y=o+4|0)>>2],F=C[a>>2],R=C[(V=o+8|0)>>2],(m=v(v(v(B*h)+v(E*g))+v(F*R)))>v(-0xde0b6b000000000)&&(C[(_=i+p|0)>>2]=B,f[_+12>>2]=f[n+12>>2],C[_+8>>2]=F,C[_+4>>2]=E,R=C[V>>2],g=C[y>>2],_=f[t+56>>2],d=C[32+((_<<2)+t|0)>>2],h=C[o>>2],D=m),f[a>>2]=0,f[a+4>>2]=0,f[n>>2]=0,f[n+4>>2]=0,C[(_<<2)+n>>2]=-d,d=C[n>>2],m=C[n+4>>2],g=v(v(d*h)+v(m*g)),h=C[a>>2],v(g+v(h*R))>D&&(C[(a=i+p|0)>>2]=d,f[a+12>>2]=f[n+12>>2],C[a+8>>2]=h,C[a+4>>2]=m),p=p+16|0,r=r+-1|0;);},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a,o=v(0),_=v(0),h=v(0),d=0,g=0,m=v(0);for(Z=n=Z-80|0,m=v(yt[f[f[t>>2]+48>>2]](t)),a=n+72|0;f[a>>2]=0,f[a+4>>2]=0,f[n+64>>2]=0,f[n+68>>2]=0,f[(g=(n- -64|0)+d|0)>>2]=1065353216,f[n+44>>2]=0,o=C[n+64>>2],_=C[n+68>>2],h=C[a>>2],C[n+40>>2]=v(v(o*C[e+8>>2])+v(_*C[e+24>>2]))+v(h*C[e+40>>2]),C[n+36>>2]=v(v(o*C[e+4>>2])+v(_*C[e+20>>2]))+v(h*C[e+36>>2]),C[n+32>>2]=v(v(o*C[e>>2])+v(_*C[e+16>>2]))+v(h*C[e+32>>2]),yt[f[f[t>>2]+64>>2]](n+48|0,t,n+32|0),f[n+44>>2]=0,o=C[n+48>>2],_=C[n+52>>2],h=C[n+56>>2],C[n+40>>2]=v(v(v(o*C[e+32>>2])+v(_*C[e+36>>2]))+v(h*C[e+40>>2]))+C[e+56>>2],C[n+36>>2]=v(v(v(o*C[e+16>>2])+v(_*C[e+20>>2]))+v(h*C[e+24>>2]))+C[e+52>>2],C[n+32>>2]=v(v(v(o*C[e>>2])+v(_*C[e+4>>2]))+v(h*C[e+8>>2]))+C[e+48>>2],f[g>>2]=-1082130432,g=(n+32|0)+d|0,C[r+d>>2]=m+C[g>>2],f[n+12>>2]=0,o=C[n+64>>2],_=C[n+68>>2],h=C[a>>2],C[n+8>>2]=v(v(o*C[e+8>>2])+v(_*C[e+24>>2]))+v(h*C[e+40>>2]),C[n+4>>2]=v(v(o*C[e+4>>2])+v(_*C[e+20>>2]))+v(h*C[e+36>>2]),C[n>>2]=v(v(o*C[e>>2])+v(_*C[e+16>>2]))+v(h*C[e+32>>2]),yt[f[f[t>>2]+64>>2]](n+16|0,t,n),f[n+44>>2]=0,o=C[n+16>>2],_=C[n+20>>2],h=C[n+24>>2],C[n+40>>2]=v(v(v(o*C[e+32>>2])+v(_*C[e+36>>2]))+v(h*C[e+40>>2]))+C[e+56>>2],C[n+36>>2]=v(v(v(o*C[e+16>>2])+v(_*C[e+20>>2]))+v(h*C[e+24>>2]))+C[e+52>>2],C[n+32>>2]=v(v(v(o*C[e>>2])+v(_*C[e+4>>2]))+v(h*C[e+8>>2]))+C[e+48>>2],C[i+d>>2]=C[g>>2]-m,12!=(0|(d=d+4|0)););Z=n+80|0},we,De,pA,function(t){return 6476},pA,function(t){return 6485},pA,$A,function(t,e){t|=0,e|=0;var i,r=0,n=v(0),a=v(0);r=f[t+72>>2]<<2,i=t+16|0,a=v(C[t+64>>2]*v(C[r+e>>2]/C[r+i>>2])),C[t+64>>2]=a,r=f[t+68>>2]<<2,n=v(C[r+e>>2]/C[r+i>>2]),r=f[t+76>>2]<<2,n=v(C[t+60>>2]*v(v(n+v(C[r+e>>2]/C[r+i>>2]))*v(.5))),C[t+60>>2]=n,C[t+56>>2]=n/v(E(v(v(a*a)+v(n*n)))),EA(t,e)},function(t,e,i){t|=0,e=v(e),i|=0;var r,n=v(0),a=0,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0);Z=r=Z-96|0,f[(a=r+44|0)>>2]=0,f[a+4>>2]=0,f[(a=r+56|0)>>2]=0,f[a+4>>2]=0,f[r+52>>2]=1065353216,f[(a=r+76|0)>>2]=0,f[a+4>>2]=0,f[r+72>>2]=1065353216,f[(a=r+84|0)>>2]=0,f[a+4>>2]=0,f[r+92>>2]=0,f[r+36>>2]=0,f[r+40>>2]=0,f[r+32>>2]=1065353216,f[r+64>>2]=0,f[r+68>>2]=0,yt[f[f[t>>2]+8>>2]](t,r+32|0,r+16|0,r),h=C[r+24>>2],d=C[r+8>>2],o=C[r+16>>2],_=C[r>>2],g=C[r+20>>2],m=C[r+4>>2],n=v(yt[f[f[t>>2]+48>>2]](t)),f[i+12>>2]=0,e=v(e*v(.0833333283662796)),o=v(n+v(v(_-o)*v(.5))),o=v(o+o),o=v(o*o),_=v(n+v(v(m-g)*v(.5))),_=v(_+_),_=v(_*_),C[i+8>>2]=e*v(o+_),n=v(n+v(v(d-h)*v(.5))),n=v(n+n),n=v(n*n),C[i+4>>2]=e*v(o+n),C[i>>2]=e*v(_+n),Z=r+96|0},function(t){return 6880},function(t,e){f[(t|=0)+8>>2]=0,f[t+12>>2]=0,f[t>>2]=0,f[t+4>>2]=1065353216},Ge,wA,function(t,e,i){return QA(t|=0,e|=0,i|=0),f[e+28>>2]=f[t+32>>2],f[e+32>>2]=f[t+36>>2],f[e+36>>2]=f[t+40>>2],f[e+40>>2]=f[t+44>>2],f[e+12>>2]=f[t+16>>2],f[e+16>>2]=f[t+20>>2],f[e+20>>2]=f[t+24>>2],f[e+24>>2]=f[t+28>>2],f[e+48>>2]=0,f[e+44>>2]=f[t+48>>2],t=f[t+72>>2],f[e+56>>2]=0,f[e+52>>2]=t,6885},function(t,e,i){t|=0,e|=0,i|=0;var r,n,a=v(0),o=v(0),_=v(0),h=v(0),d=0,g=v(0);o=v(C[e+64>>2]*v(.5)),r=f[e+68>>2],d=(n=f[e+72>>2])<<2,a=C[i>>2],h=v(a*a),a=C[i+4>>2],h=v(h+v(a*a)),a=C[i+8>>2];t:{if(C[d+i>>2]>v(C[e+56>>2]*v(E(v(h+v(a*a))))))f[(r<<2)+t>>2]=0,C[t+d>>2]=o,d=f[e+76>>2];else{if(a=C[(r<<2)+i>>2],d=f[e+76>>2],_=C[(d<<2)+i>>2],(g=v(E(v(v(a*a)+v(_*_)))))>v(1.1920928955078125e-7)){h=a,a=v(C[e+60>>2]/g),C[(r<<2)+t>>2]=h*a,C[(n<<2)+t>>2]=-o,o=v(_*a);break t}f[(r<<2)+t>>2]=0,C[(n<<2)+t>>2]=-o}o=v(0)}C[(d<<2)+t>>2]=o,v(yt[f[f[e>>2]+48>>2]](e))!=v(0)&&(o=C[i+4>>2],a=C[i>>2],_=C[i+8>>2],g=v(yt[f[f[e>>2]+48>>2]](e)),h=a=(e=v(v(v(a*a)+v(o*o))+v(_*_))<v(14210854715202004e-30))?v(-1):a,_=e?v(-1):_,o=e?v(-1):o,a=v(v(1)/v(E(v(v(_*_)+v(v(a*a)+v(o*o)))))),C[t>>2]=C[t>>2]+v(g*v(h*a)),C[t+4>>2]=C[t+4>>2]+v(g*v(o*a)),C[t+8>>2]=C[t+8>>2]+v(g*v(_*a)))},function(t,e,i){t|=0,e|=0,i|=0;var r,n,a=v(0),o=v(0),_=v(0),h=0,d=v(0),g=v(0);o=v(C[e+64>>2]*v(.5)),r=f[e+68>>2],h=(n=f[e+72>>2])<<2,a=C[i>>2],_=v(a*a),a=C[i+4>>2],_=v(_+v(a*a)),a=C[i+8>>2];t:{if(C[h+i>>2]>v(C[e+56>>2]*v(E(v(_+v(a*a))))))f[(r<<2)+t>>2]=0,C[t+h>>2]=o,i=f[e+76>>2];else{if(a=C[(r<<2)+i>>2],h=i,i=f[e+76>>2],d=C[h+(i<<2)>>2],(g=v(E(v(v(a*a)+v(d*d)))))>v(1.1920928955078125e-7)){_=a,a=v(C[e+60>>2]/g),C[(r<<2)+t>>2]=_*a,C[(n<<2)+t>>2]=-o,o=v(d*a);break t}f[(r<<2)+t>>2]=0,C[(n<<2)+t>>2]=-o}o=v(0)}C[(i<<2)+t>>2]=o},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a=v(0),o=0,_=0,h=v(0),d=v(0),g=0,m=v(0),y=v(0);if(n=Z-16|0,(0|r)>=1)for(;;){h=v(C[t+64>>2]*v(.5)),o=f[t+68>>2],_=f[t+72>>2]<<2,a=C[e>>2],d=v(a*a),a=C[e+4>>2],d=v(d+v(a*a)),a=C[e+8>>2];t:{if(C[_+e>>2]>v(C[t+56>>2]*v(E(v(d+v(a*a))))))f[(o<<2)+n>>2]=0,C[n+_>>2]=h,o=f[t+76>>2];else{if(a=C[(g=o<<2)+e>>2],o=f[t+76>>2],m=C[(o<<2)+e>>2],(y=v(E(v(v(a*a)+v(m*m)))))>v(1.1920928955078125e-7)){d=a,a=v(C[t+60>>2]/y),C[n+g>>2]=d*a,C[n+_>>2]=-h,h=v(m*a);break t}f[n+g>>2]=0,C[n+_>>2]=-h}h=v(0)}if(C[(o<<2)+n>>2]=h,g=f[(o=n+8|0)+4>>2],f[(_=i+8|0)>>2]=f[o>>2],f[_+4>>2]=g,_=f[n+4>>2],f[i>>2]=f[n>>2],f[i+4>>2]=_,e=e+16|0,i=i+16|0,!(r=r+-1|0))break}},pA,function(t){return 6901},function(t,e){f[(t|=0)+8>>2]=1065353216,f[t+12>>2]=0,f[t>>2]=0,f[t+4>>2]=0},pA,function(t){return 6907},function(t,e){f[(t|=0)+8>>2]=0,f[t+12>>2]=0,f[t>>2]=1065353216,f[t+4>>2]=0},kA,EA,ye,function(t,e,i){return QA(t|=0,e|=0,i|=0),f[e+28>>2]=f[t+32>>2],f[e+32>>2]=f[t+36>>2],f[e+36>>2]=f[t+40>>2],f[e+40>>2]=f[t+44>>2],f[e+12>>2]=f[t+16>>2],f[e+16>>2]=f[t+20>>2],f[e+20>>2]=f[t+24>>2],f[e+24>>2]=f[t+28>>2],f[e+48>>2]=0,f[e+44>>2]=f[t+48>>2],8329},ZA,function(t){CA(ZA(t|=0))},Ae,kA,function(t,e,i){t|=0,e=v(e),i|=0;var r,n=v(0),a=0,o=v(0),_=v(0);Z=r=Z-96|0,n=v(yt[f[f[t>>2]+48>>2]](t)),f[(a=r+44|0)>>2]=0,f[a+4>>2]=0,f[(a=r+56|0)>>2]=0,f[a+4>>2]=0,f[r+52>>2]=1065353216,f[(a=r+76|0)>>2]=0,f[a+4>>2]=0,f[r+72>>2]=1065353216,f[(a=r+84|0)>>2]=0,f[a+4>>2]=0,f[r+92>>2]=0,f[r+36>>2]=0,f[r+40>>2]=0,f[r+32>>2]=1065353216,f[r+64>>2]=0,f[r+68>>2]=0,yt[f[f[t>>2]+8>>2]](t,r+32|0,r+16|0,r),f[i+12>>2]=0,e=v(e*v(.0833333283662796)),o=v(n+v(v(C[r>>2]-C[r+16>>2])*v(.5))),o=v(o+o),o=v(o*o),_=v(n+v(v(C[r+4>>2]-C[r+20>>2])*v(.5))),_=v(_+_),_=v(_*_),C[i+8>>2]=e*v(o+_),n=v(n+v(v(C[r+8>>2]-C[r+24>>2])*v(.5))),n=v(n+n),n=v(n*n),C[i+4>>2]=e*v(o+n),C[i>>2]=e*v(_+n),Z=r+96|0},function(t,e,i){t|=0,e|=0,i|=0;var r,n=0,a=v(0),o=v(0),_=0,h=v(0),d=v(0),g=0,m=0,y=0,p=v(0),R=v(0);if(Z=r=Z-2048|0,f[t>>2]=0,f[t+4>>2]=0,f[(n=t+8|0)>>2]=0,f[n+4>>2]=0,h=C[i>>2],d=C[i+4>>2],a=C[i+8>>2],(o=v(v(v(h*h)+v(d*d))+v(a*a)))<v(9999999747378752e-20)?h=v(1):(o=v(v(1)/v(E(o))),p=v(a*o),R=v(d*o),h=v(h*o)),(0|yt[f[f[e>>2]+96>>2]](e))>=1)for(o=v(-0xde0b6b000000000);;){if(g=128,((0|yt[f[f[e>>2]+96>>2]](e))-m|0)>127||(0|(g=(0|yt[f[f[e>>2]+96>>2]](e))-m|0))>=1){for(i=0,n=r;yt[f[f[e>>2]+108>>2]](e,i,n),n=n+16|0,(0|g)!=(0|(i=i+1|0)););for(n=0,y=-1,a=v(-34028234663852886e22),i=r;a=(_=(d=v(v(v(h*C[i>>2])+v(R*C[i+4>>2]))+v(p*C[i+8>>2])))>a)?d:a,y=_?n:y,i=i+16|0,(0|(n=n+1|0))!=(0|g););}else a=v(-34028234663852886e22),y=-1;if(a>o&&(i=f[(_=(y<<4)+r|0)+12>>2],f[(n=t+8|0)>>2]=f[_+8>>2],f[n+4>>2]=i,i=f[_+4>>2],f[t>>2]=f[_>>2],f[t+4>>2]=i,o=a),!((0|(m=m+128|0))<(0|yt[f[f[e>>2]+96>>2]](e))))break}Z=r+2048|0},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a=0,o=0,_=v(0),h=0,d=0,g=0,m=0,y=0,p=0,R=0,D=v(0),B=0,E=0,F=0,V=v(0),G=v(0),w=v(0);if(Z=n=Z-2048|0,!((0|r)<1)){for(o=i+12|0,a=r;f[o>>2]=-581039253,o=o+16|0,a=a+-1|0;);if(!((0|r)<1))for(;;){if((0|yt[f[f[t>>2]+96>>2]](t))>=1)for(R=(g=(a=y<<4)+i|0)+12|0,E=(p=e+a|0)+8|0,F=p+4|0,d=0;;){if(m=128,((0|yt[f[f[t>>2]+96>>2]](t))-d|0)>127||(0|(m=(0|yt[f[f[t>>2]+96>>2]](t))-d|0))>=1){for(o=0,a=n;yt[f[f[t>>2]+108>>2]](t,o,a),a=a+16|0,(0|m)!=(0|(o=o+1|0)););for(V=C[E>>2],G=C[F>>2],w=C[p>>2],a=0,h=-1,_=v(-34028234663852886e22),o=n;_=(B=(D=v(v(v(w*C[o>>2])+v(G*C[o+4>>2]))+v(V*C[o+8>>2])))>_)?D:_,h=B?a:h,o=o+16|0,(0|m)!=(0|(a=a+1|0)););}else _=v(-34028234663852886e22),h=-1;if(_>C[R>>2]&&(h=f[(a=(h<<4)+n|0)+12>>2],f[(o=g+8|0)>>2]=f[a+8>>2],f[o+4>>2]=h,o=f[a+4>>2],f[g>>2]=f[a>>2],f[g+4>>2]=o,C[R>>2]=_),!((0|(d=d+128|0))<(0|yt[f[f[t>>2]+96>>2]](t))))break}if((0|(y=y+1|0))==(0|r))break}}Z=n+2048|0},function(t,e){t|=0,e|=0;var i,r,a=0,o=0,h=0,d=0,g=0,p=0,R=0,D=0,B=0,F=v(0),V=v(0),G=v(0),w=0,Q=0,W=0,Y=0,z=v(0),pt=v(0),Dt=0,It=0,St=0,Tt=0,Et=0,Ot=0,Nt=0,Ft=v(0),Vt=0,Gt=0,Lt=v(0),wt=v(0),xt=0,Qt=0;Z=i=Z-240|0,(a=f[t+56>>2])&&(yt[f[f[a>>2]>>2]](a),CA(f[t+56>>2])),function(t){var e=0;f[t>>2]=7060,n[t+20|0]=1,f[t+16>>2]=0,n[t+40|0]=1,f[(e=t+8|0)>>2]=0,f[e+4>>2]=0,f[t+36>>2]=0,n[t+60|0]=1,f[(e=t+28|0)>>2]=0,f[e+4>>2]=0,f[t+56>>2]=0,f[(t=t+48|0)>>2]=0,f[t+4>>2]=0}(a=dA(132)),f[t+56>>2]=a,f[i+228>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,n[i+232|0]=1;t:if(!((0|yt[f[f[t>>2]+96>>2]](t))<1))for(;;){if((0|h)==(0|p))if((0|h)>=(0|(D=h?h<<1:1)))d=B;else{d=D?dA(D<<4):0;e:{if((0|h)>=1)for(a=d,o=B;R=f[o+4>>2],f[a>>2]=f[o>>2],f[a+4>>2]=R,Y=f[(w=o+8|0)+4>>2],f[(R=a+8|0)>>2]=f[w>>2],f[R+4>>2]=Y,a=a+16|0,o=o+16|0,h=h+-1|0;);else if(!B)break e;_[i+232|0]&&CA(B),f[i+228>>2]=0}f[i+228>>2]=d,n[i+232|0]=1,f[i+224>>2]=D}else d=B;if(f[i+220>>2]=p+1,h=f[i+156>>2],f[(o=(a=p<<4)+d|0)>>2]=f[i+152>>2],f[o+4>>2]=h,h=f[(d=i+160|0)+4>>2],f[(o=o+8|0)>>2]=f[d>>2],f[o+4>>2]=h,B=f[i+228>>2],yt[f[f[t>>2]+108>>2]](t,g,a+B|0),(0|(g=g+1|0))>=(0|yt[f[f[t>>2]+96>>2]](t)))break t;h=f[i+224>>2],p=f[i+220>>2]}if(n[i+188|0]=1,f[i+184>>2]=0,n[i+208|0]=1,f[(a=i+176|0)>>2]=0,f[a+4>>2]=0,f[i+204>>2]=0,f[(a=i+196|0)>>2]=0,f[a+4>>2]=0,f[i+164>>2]=0,n[i+168|0]=1,f[i+156>>2]=0,f[i+160>>2]=0,e){if(f[i+60>>2]=0,n[i+64|0]=1,f[i+52>>2]=0,f[i+56>>2]=0,function(t,e){var i,r=0,a=0,o=v(0),h=0,d=0,g=0,m=v(0),y=v(0),p=v(0),R=0,D=0,B=v(0),F=v(0),V=0,G=0,w=0,Q=0,W=v(0),Y=v(0),Z=0,z=0,yt=v(0),pt=v(0),Dt=v(0),It=0,St=0,Tt=0,Et=0;if((0|(i=f[t+4>>2]))>=1)for(;;){t:if(D=G,G=D+1|0,!((0|G)>=(0|i)))for(a=f[t+12>>2],w=a+(D<<4)|0,It=w+8|0,St=w+4|0,r=G;;){e:if(D=r+1|0,!((0|D)>=(0|i)))for(z=(r<<4)+a|0,Tt=z+8|0,Et=z+4|0,Q=D;;){yt=C[w>>2],m=v(C[z>>2]-yt),r=(Q<<4)+a|0,pt=C[St>>2],B=v(C[r+4>>2]-pt),o=v(C[Et>>2]-pt),y=v(C[r>>2]-yt),W=v(v(m*B)-v(o*y)),Dt=C[It>>2],p=v(C[r+8>>2]-Dt),F=v(o*p),o=v(C[Tt>>2]-Dt),B=v(F-v(o*B)),y=v(v(o*y)-v(m*p));i:if(!(V=(p=v(v(W*W)+v(v(B*B)+v(y*y))))>v(9999999747378752e-20)^1)){if(o=v(v(1)/v(E(p))),F=v(W*o),Y=v(y*o),m=v(B*o),(0|(d=f[e+4>>2]))>=1)for(r=f[e+12>>2],h=d;;){if(v(v(v(m*C[r>>2])+v(Y*C[r+4>>2]))+v(F*C[r+8>>2]))>v(.9990000128746033))break i;if(r=r+16|0,!(h=h+-1|0))break}if(o=v(v(v(m*yt)+v(Y*pt))+v(F*Dt)),(0|(r=f[t+4>>2]))>=1)for(;;){if(v(v(v(v(v(m*C[a>>2])+v(Y*C[a+4>>2]))+v(F*C[a+8>>2]))-o)+v(-.009999999776482582))>v(0))break i;if(a=a+16|0,!(r=r+-1|0))break}if(o=v(-o),f[e+8>>2]==(0|d)&&!((0|d)>=(0|(Z=d?d<<1:1)))){if(Z?(R=dA(Z<<4),d=f[e+4>>2]):R=0,(0|d)>=1)for(r=0;a=f[e+12>>2]+r|0,h=f[a+4>>2],f[(g=r+R|0)>>2]=f[a>>2],f[g+4>>2]=h,h=f[(a=a+8|0)+4>>2],f[(g=g+8|0)>>2]=f[a>>2],f[g+4>>2]=h,r=r+16|0,d=d+-1|0;);(r=f[e+12>>2])&&(_[e+16|0]&&CA(r),f[e+12>>2]=0),f[e+12>>2]=R,n[e+16|0]=1,f[e+8>>2]=Z,d=f[e+4>>2]}r=f[e+12>>2]+(d<<4)|0,C[r+12>>2]=o,C[r+8>>2]=F,C[r+4>>2]=Y,C[r>>2]=m,f[e+4>>2]=f[e+4>>2]+1}i:if(!V){if(o=v(v(1)/v(E(p))),m=v(-v(W*o)),y=v(-v(y*o)),p=v(-v(B*o)),(0|(h=f[e+4>>2]))>=1)for(r=f[e+12>>2],a=h;;){if(v(v(v(C[r>>2]*p)+v(C[r+4>>2]*y))+v(C[r+8>>2]*m))>v(.9990000128746033))break i;if(r=r+16|0,!(a=a+-1|0))break}if(o=v(v(v(C[w>>2]*p)+v(C[St>>2]*y))+v(C[It>>2]*m)),(0|(a=f[t+4>>2]))>=1)for(r=f[t+12>>2];;){if(v(v(v(v(v(C[r>>2]*p)+v(C[r+4>>2]*y))+v(C[r+8>>2]*m))-o)+v(-.009999999776482582))>v(0))break i;if(r=r+16|0,!(a=a+-1|0))break}if(o=v(-o),f[e+8>>2]==(0|h)&&!((0|h)>=(0|(R=h?h<<1:1)))){if(R?(V=dA(R<<4),h=f[e+4>>2]):V=0,(0|h)>=1)for(r=0;a=f[e+12>>2]+r|0,d=f[a+4>>2],f[(g=r+V|0)>>2]=f[a>>2],f[g+4>>2]=d,d=f[(a=a+8|0)+4>>2],f[(g=g+8|0)>>2]=f[a>>2],f[g+4>>2]=d,r=r+16|0,h=h+-1|0;);(r=f[e+12>>2])&&(_[e+16|0]&&CA(r),f[e+12>>2]=0),f[e+12>>2]=V,n[e+16|0]=1,f[e+8>>2]=R,h=f[e+4>>2]}r=f[e+12>>2]+(h<<4)|0,C[r+12>>2]=o,C[r+8>>2]=m,C[r+4>>2]=y,C[r>>2]=p,f[e+4>>2]=f[e+4>>2]+1}if((0|(Q=Q+1|0))==(0|i))break e;a=f[t+12>>2]}if((0|i)==(0|D))break t;a=f[t+12>>2],r=D}if((0|i)==(0|G))break}}(i+216|0,i+48|0),f[i+140>>2]=0,n[i+144|0]=1,f[i+132>>2]=0,f[i+136>>2]=0,f[i+52>>2]>=1)for(d=0;;){if(p=i+112|0,e=f[i+60>>2]+(d<<4)|0,f[p>>2]=f[e+8>>2],a=f[e+4>>2],f[i+104>>2]=f[e>>2],f[i+108>>2]=a,F=v(C[e+12>>2]-v(yt[f[f[t>>2]+48>>2]](t))),(0|(o=f[i+132>>2]))==f[i+136>>2]&&!((0|o)>=(0|(e=o?o<<1:1)))){if(e?(g=dA(e<<4),o=f[i+132>>2]):g=0,(0|o)>=1)for(a=0;h=f[i+140>>2]+a|0,B=f[h+4>>2],f[(R=D=a+g|0)>>2]=f[h>>2],f[R+4>>2]=B,R=f[(h=h+8|0)+4>>2],f[(D=D+8|0)>>2]=f[h>>2],f[D+4>>2]=R,a=a+16|0,o=o+-1|0;);(a=f[i+140>>2])&&(_[i+144|0]&&CA(a),f[i+140>>2]=0),f[i+140>>2]=g,n[i+144|0]=1,f[i+136>>2]=e,o=f[i+132>>2]}if(a=f[i+108>>2],e=f[i+140>>2]+(o<<4)|0,f[e>>2]=f[i+104>>2],f[e+4>>2]=a,C[e+12>>2]=F,f[e+8>>2]=f[p>>2],f[i+132>>2]=f[i+132>>2]+1,!((0|(d=d+1|0))<f[i+52>>2]))break}f[i+116>>2]=0,n[i+120|0]=1,f[i+108>>2]=0,f[i+112>>2]=0,function(t,e){var i,r=0,a=0,o=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=0,B=v(0),E=0,F=0,V=v(0),G=v(0),w=0,Q=0,W=0,Y=0,Z=v(0),z=v(0),yt=0,pt=v(0),Dt=v(0),It=v(0),St=0,Tt=0,Et=0,Ot=0,Nt=0,Ft=0,Vt=0,Gt=0;if((0|(i=f[t+4>>2]))>=1)for(;;){t:if(D=w,w=D+1|0,!((0|w)>=(0|i)))for(a=f[t+12>>2],Q=a+(D<<4)|0,Et=Q+12|0,Ot=Q+4|0,Nt=Q+8|0,r=w;;){e:if(D=r+1|0,!((0|D)>=(0|i)))for(W=(r<<4)+a|0,Ft=W+12|0,Vt=W+8|0,Gt=W+4|0,Y=D;;){g=C[(r=(Y<<4)+a|0)+4>>2],m=C[W>>2],p=C[Gt>>2],h=C[r>>2],R=v(v(g*m)-v(p*h)),d=C[r+8>>2],o=C[Vt>>2],Z=v(v(p*d)-v(o*g)),z=v(v(o*h)-v(d*m));i:if(v(v(R*R)+v(v(Z*Z)+v(z*z)))>v(9999999747378752e-20)&&(B=C[Ot>>2],V=C[Q>>2],pt=v(v(h*B)-v(g*V)),G=C[Nt>>2],Dt=v(v(g*G)-v(d*B)),It=v(v(d*V)-v(h*G)),v(v(pt*pt)+v(v(Dt*Dt)+v(It*It)))>v(9999999747378752e-20)&&(h=v(v(p*V)-v(m*B)),g=v(v(o*B)-v(p*G)),d=v(v(m*G)-v(o*V)),v(v(h*h)+v(v(g*g)+v(d*d)))>v(9999999747378752e-20)&&(o=v(v(G*R)+v(v(B*z)+v(Z*V))),v(y(o))>v(9.999999974752427e-7))))){if(m=v(v(-1)/o),p=C[r+12>>2],B=R,R=C[Et>>2],o=C[Ft>>2],h=v(m*v(v(h*p)+v(v(B*R)+v(pt*o)))),d=v(m*v(v(d*p)+v(v(z*R)+v(It*o)))),o=v(m*v(v(g*p)+v(v(Z*R)+v(Dt*o)))),(0|(r=f[t+4>>2]))>=1)for(;;){if(v(v(C[a+12>>2]+v(v(v(o*C[a>>2])+v(d*C[a+4>>2]))+v(h*C[a+8>>2])))+v(-.009999999776482582))>v(0))break i;if(a=a+16|0,!(r=r+-1|0))break}if((0|(r=f[e+4>>2]))==f[e+8>>2]&&!((0|r)>=(0|(yt=r?r<<1:1)))){if(yt?(St=dA(yt<<4),r=f[e+4>>2]):St=0,(0|r)>=1)for(a=0;F=f[e+12>>2]+a|0,Tt=f[F+4>>2],f[(E=a+St|0)>>2]=f[F>>2],f[E+4>>2]=Tt,Tt=f[(F=F+8|0)+4>>2],f[(E=E+8|0)>>2]=f[F>>2],f[E+4>>2]=Tt,a=a+16|0,r=r+-1|0;);(r=f[e+12>>2])&&(_[e+16|0]&&CA(r),f[e+12>>2]=0),f[e+12>>2]=St,n[e+16|0]=1,f[e+8>>2]=yt,r=f[e+4>>2]}r=f[e+12>>2]+(r<<4)|0,f[r+12>>2]=0,C[r+8>>2]=h,C[r+4>>2]=d,C[r>>2]=o,f[e+4>>2]=f[e+4>>2]+1}if((0|(Y=Y+1|0))==(0|i))break e;a=f[t+12>>2]}if((0|i)==(0|D))break t;a=f[t+12>>2],r=D}if((0|i)==(0|w))break}}(i+128|0,i+104|0),HA(i+152|0,f[i+116>>2],f[i+108>>2]),(e=f[i+116>>2])&&(_[i+120|0]&&CA(e),f[i+116>>2]=0),(e=f[i+140>>2])&&(_[i+144|0]&&CA(e),f[i+140>>2]=0),(e=f[i+60>>2])&&(_[i+64|0]&&CA(e),f[i+60>>2]=0)}else HA(i+152|0,B,f[i+220>>2]);if((0|(e=f[i+196>>2]))<1)a=0;else{for(a=Vt=dA(e<<4),o=e;d=f[i+52>>2],f[a>>2]=f[i+48>>2],f[a+4>>2]=d,h=f[(g=i+56|0)+4>>2],f[(d=a+8|0)>>2]=f[g>>2],f[d+4>>2]=h,a=a+16|0,o=o+-1|0;);a=Vt}r=a,f[i+140>>2]=0,n[i+144|0]=1,f[i+132>>2]=0,f[i+136>>2]=0,n[0|(a=i+63|0)]=0,n[a+1|0]=0,n[a+2|0]=0,n[a+3|0]=0,f[(a=i+56|0)>>2]=0,f[a+4>>2]=0,f[i+48>>2]=0,f[i+52>>2]=0;t:{if((0|e)<=-1)for(o=e+1|0,h=m(e,36)+8|0,a=0;;){if(g=(a=a+h|0)+-4|0,(p=f[(d=a+4|0)>>2])&&(_[a+8|0]&&CA(p),f[d>>2]=0),f[g>>2]=0,f[d>>2]=0,f[a>>2]=0,n[a+8|0]=1,!o)break t;h=h+36|0,o=o+1|0,a=f[i+140>>2]}if(e)for(PA(i+128|0,e),d=i+48|3,o=20,p=e;g=_[d+4|0]|_[d+5|0]<<8|_[d+6|0]<<16|_[d+7|0]<<24,a=f[i+140>>2]+o|0,h=_[0|d]|_[d+1|0]<<8|_[d+2|0]<<16|_[d+3|0]<<24,n[0|a]=h,n[a+1|0]=h>>>8,n[a+2|0]=h>>>16,n[a+3|0]=h>>>24,n[a+4|0]=g,n[a+5|0]=g>>>8,n[a+6|0]=g>>>16,n[a+7|0]=g>>>24,n[a+-4|0]=1,f[(g=D=a+-16|0)>>2]=0,f[g+4>>2]=0,h=_[(g=d+8|0)+4|0]|_[g+5|0]<<8|_[g+6|0]<<16|_[g+7|0]<<24,a=a+8|0,g=_[0|g]|_[g+1|0]<<8|_[g+2|0]<<16|_[g+3|0]<<24,n[0|a]=g,n[a+1|0]=g>>>8,n[a+2|0]=g>>>16,n[a+3|0]=g>>>24,n[a+4|0]=h,n[a+5|0]=h>>>8,n[a+6|0]=h>>>16,n[a+7|0]=h>>>24,f[D+8>>2]=0,o=o+36|0,p=p+-1|0;);}if(f[i+132>>2]=e,g=f[t+56>>2],(0|(d=f[g+8>>2]))<(0|(o=f[i+156>>2]))){if(f[g+12>>2]<(0|o)){if(o?(B=dA(o<<4),h=f[g+8>>2]):(B=0,h=d),(0|h)>=1)for(a=0;p=f[g+16>>2]+a|0,w=f[p+4>>2],f[(R=D=a+B|0)>>2]=f[p>>2],f[R+4>>2]=w,R=f[(p=p+8|0)+4>>2],f[(D=D+8|0)>>2]=f[p>>2],f[D+4>>2]=R,a=a+16|0,h=h+-1|0;);(a=f[g+16>>2])&&(_[g+20|0]&&CA(a),f[g+16>>2]=0),f[g+16>>2]=B,f[g+12>>2]=o,n[g+20|0]=1}for(a=d<<4,h=o-d|0;D=f[i+52>>2],d=f[g+16>>2]+a|0,f[d>>2]=f[i+48>>2],f[d+4>>2]=D,D=f[(p=i+56|0)+4>>2],f[(d=d+8|0)>>2]=f[p>>2],f[d+4>>2]=D,a=a+16|0,h=h+-1|0;);}if(f[g+8>>2]=o,(0|o)>=1)for(a=0;d=f[i+164>>2]+a|0,p=f[d+4>>2],g=f[f[t+56>>2]+16>>2]+a|0,f[(h=g)>>2]=f[d>>2],f[h+4>>2]=p,h=f[(d=d+8|0)+4>>2],f[(g=g+8|0)>>2]=f[d>>2],f[g+4>>2]=h,a=a+16|0,o=o+-1|0;);if((0|e)>=1)for(D=0;;){for(B=0,p=Q=f[i+184>>2]+m(f[f[i+204>>2]+(D<<2)>>2],12)|0;;){if(w=(R=(Dt=m(D,36))+f[i+140>>2]|0)+4|0,W=f[8+(m(f[p+4>>2],12)+p|0)>>2],(0|(h=f[R+4>>2]))==f[R+8>>2]&&!((0|h)>=(0|(Y=h?h<<1:1)))){Y?(d=dA(Y<<2),h=f[w>>2]):d=0,Nt=R+8|0,St=R+12|0,g=f[R+12>>2];t:{if((0|h)>=1)for(a=d,o=g;f[a>>2]=f[o>>2],a=a+4|0,o=o+4|0,h=h+-1|0;);else if(!g)break t;_[R+16|0]&&CA(g),f[St>>2]=0,h=f[w>>2]}f[St>>2]=d,f[Nt>>2]=Y,n[R+16|0]=1}if(f[f[R+12>>2]+(h<<2)>>2]=W,f[w>>2]=f[w>>2]+1,(0|B)<=1&&(o=f[i+164>>2],F=C[(a=o+(W<<4)|0)+4>>2],o=o+(f[p+8>>2]<<4)|0,V=C[o+4>>2],G=C[a>>2],z=C[o>>2],pt=C[a+8>>2],Ft=C[o+8>>2],f[(a=(i+48|0)+(B<<4)|0)+12>>2]=0,G=v(z-G),V=v(V-F),z=v(Ft-pt),F=v(v(1)/v(E(v(v(v(G*G)+v(V*V))+v(z*z))))),C[a+8>>2]=z*F,C[a+4>>2]=V*F,C[a>>2]=G*F,B=B+1|0),a=m(f[p+4>>2],12)+p|0,(0|Q)==(0|(p=m(f[a>>2],12)+a|0)))break}if(2!=(0|B)?(f[(a=(D<<4)+r|0)>>2]=0,f[a+4>>2]=0,f[(a=a+8|0)>>2]=0,f[a+4>>2]=0,o=f[i+140>>2]):(f[(a=(D<<4)+r|0)+12>>2]=0,G=C[i+68>>2],V=C[i+48>>2],z=C[i+52>>2],pt=C[i+64>>2],Lt=F=v(v(G*V)-v(z*pt)),wt=v(F*F),F=z,z=C[i+72>>2],Ft=C[i+56>>2],F=v(v(F*z)-v(Ft*G)),G=v(v(Ft*pt)-v(z*V)),V=v(v(1)/v(E(v(wt+v(v(F*F)+v(G*G)))))),C[a+8>>2]=Lt*V,C[a+4>>2]=G*V,F=v(F*V),C[a>>2]=F,o=f[i+140>>2],C[(d=Dt+o|0)+20>>2]=F,f[d+24>>2]=f[a+4>>2],f[d+28>>2]=f[a+8>>2],f[d+32>>2]=1900671690),(0|(g=f[(o=o+Dt|0)+4>>2]))<1)F=v(1.0000000150474662e30);else for(a=f[o+12>>2],G=C[(d=(D<<4)+r|0)+8>>2],V=C[d+4>>2],z=C[d>>2],p=f[f[t+56>>2]+16>>2],F=v(1.0000000150474662e30),h=0;d=p+(f[a>>2]<<4)|0,F=F>(pt=v(v(v(C[d>>2]*z)+v(C[d+4>>2]*V))+v(C[d+8>>2]*G)))?pt:F,a=a+4|0,(0|(h=h+1|0))<(0|g););if(C[o+32>>2]=-F,(0|e)==(0|(D=D+1|0)))break}t:if(f[i+132>>2]>=1){for(R=0,w=0,Dt=0,h=0;;){if((0|h)==(0|R))if((0|R)>=(0|(h=R?R<<1:1)))h=R;else{p=h?dA(h<<2):0;e:{if(R)for(a=p,o=R;f[a>>2]=f[w>>2],a=a+4|0,w=w+4|0,o=o+-1|0;);else if(!w){h=1;break e}CA(Dt)}Dt=p,w=p}if(f[(R<<2)+w>>2]=R,!((0|(R=R+1|0))<f[i+132>>2]))break}for(St=i+68|0,Nt=i+40|0;;){e=f[((d=R+-1|0)<<2)+w>>2],D=dA(4),f[D>>2]=e;e:{if((0|d)<1)Y=1,e=D,R=d;else{for(e=(o=f[i+140>>2])+m(e,36)|0,F=C[e+20>>2],G=C[e+28>>2],V=C[e+24>>2],p=R+-2|0,a=1,R=d,d=D,Y=1;;){h=f[(p<<2)+w>>2],e=m(h,36)+o|0;i:if(v(v(v(F*C[e+20>>2])+v(V*C[e+24>>2]))+v(G*C[e+28>>2]))>v(.9990000128746033)){if((0|a)!=(0|Y)||(0|a)>=(0|(g=a?a<<1:1)))g=a,e=d;else{e=g?dA(g<<2):0;A:{if((0|a)>=1)for(o=e;f[o>>2]=f[D>>2],o=o+4|0,D=D+4|0,a=a+-1|0;);else if(!D)break A;CA(d)}D=e}if(f[(Y<<2)+D>>2]=h,Y=Y+1|0,!((0|R)<1)){for(o=0,a=w;;){if(f[a>>2]!=(0|h)){if(a=a+4|0,(0|R)!=(0|(o=o+1|0)))continue;break i}break}(0|R)<=(0|o)||(d=a,a=((R=R+-1|0)<<2)+w|0,f[d>>2]=f[a>>2],f[a>>2]=h)}}else g=a,e=d;if(!((0|p)>=1))break;p=p+-1|0,o=f[i+140>>2],d=e,a=g}i:if(!((0|Y)<=1)){for(h=0,f[i+116>>2]=0,n[i+120|0]=1,f[i+108>>2]=0,f[i+112>>2]=0,f[Nt>>2]=0,f[Nt+4>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,F=v(0),g=0,G=v(0),V=v(0),W=0;;){if(a=f[i+140>>2]+m(f[(W<<2)+D>>2],36)|0,z=C[a+24>>2],pt=C[a+28>>2],C[i+32>>2]=C[a+20>>2]+V,C[i+40>>2]=pt+F,C[i+36>>2]=z+G,(0|(B=f[a+4>>2]))>=1)for(xt=a+4|0,Qt=a+12|0,d=0;;){Tt=f[f[Qt>>2]+(d<<2)>>2],a=f[f[t+56>>2]+16>>2]+(Tt<<4)|0,Et=f[(Q=a+8|0)+4>>2],f[(o=p=i+16|0)>>2]=f[Q>>2],f[o+4>>2]=Et,o=f[a+4>>2],f[i+8>>2]=f[a>>2],f[i+12>>2]=o;A:{if((0|g)>=1){for(a=f[i+116>>2]+20|0,o=0;;){if((0|Tt)==f[a>>2])break A;if(a=a+24|0,!((0|(o=o+1|0))<(0|h)))break}g=h}if(o=f[p+4>>2],f[(a=Et=i+56|0)>>2]=f[p>>2],f[a+4>>2]=o,a=f[i+12>>2],f[i+48>>2]=f[i+8>>2],f[i+52>>2]=a,(0|g)==f[i+112>>2])if((0|g)>=(0|(Q=g?g<<1:1)))h=g;else{Q?(p=dA(m(Q,24)),g=h=f[i+108>>2]):p=0,B=f[i+116>>2];r:{if((0|g)>=1)for(a=p,o=B;It=f[o+4>>2],f[a>>2]=f[o>>2],f[a+4>>2]=It,Gt=f[(Ot=o+16|0)+4>>2],f[(It=a+16|0)>>2]=f[Ot>>2],f[It+4>>2]=Gt,Gt=f[(Ot=o+8|0)+4>>2],f[(It=a+8|0)>>2]=f[Ot>>2],f[It+4>>2]=Gt,a=a+24|0,o=o+24|0,g=g+-1|0;);else if(!B)break r;_[i+120|0]&&(CA(B),h=f[i+108>>2]),f[i+116>>2]=0}f[i+116>>2]=p,n[i+120|0]=1,f[i+112>>2]=Q}else h=g;o=f[i+52>>2],a=f[i+116>>2]+m(h,24)|0,f[a>>2]=f[i+48>>2],f[a+4>>2]=o,f[a+20>>2]=Tt,f[a+16>>2]=f[i- -64>>2],o=f[Et+4>>2],f[(a=a+8|0)>>2]=f[Et>>2],f[a+4>>2]=o,h=f[i+108>>2]+1|0,f[i+108>>2]=h,B=f[xt>>2]}if(g=h,!((0|(d=d+1|0))<(0|B)))break}if(F=C[i+40>>2],G=C[i+36>>2],V=C[i+32>>2],(0|(W=W+1|0))==(0|Y))break}if(f[i+52>>2]=0,f[i+56>>2]=0,a=f[i+140>>2]+m(f[D>>2],36)|0,f[i+68>>2]=f[a+20>>2],f[i+72>>2]=f[a+24>>2],f[i+76>>2]=f[a+28>>2],f[i+60>>2]=0,n[i+64|0]=1,f[i+80>>2]=f[a+32>>2],z=F,F=v(v(1)/v(E(v(v(v(V*V)+v(G*G))+v(F*F))))),C[i+40>>2]=z*F,C[i+36>>2]=G*F,C[i+32>>2]=V*F,f[i+20>>2]=0,n[i+24|0]=1,f[i+12>>2]=0,f[i+16>>2]=0,KA(i+104|0,i+8|0,i+32|0),f[i+12>>2]<=0)p=f[i+108>>2];else for(d=0,h=f[i+52>>2];;){if(Q=20+((W=m(d,24))+f[i+20>>2]|0)|0,f[i+56>>2]==(0|h)&&!((0|h)>=(0|(B=h?h<<1:1)))){B?(g=dA(B<<2),h=f[i+52>>2]):g=0,p=f[i+60>>2];A:{if((0|h)>=1)for(a=g,o=p;f[a>>2]=f[o>>2],a=a+4|0,o=o+4|0,h=h+-1|0;);else if(!p)break A;_[i+64|0]&&CA(p),f[i+60>>2]=0,h=f[i+52>>2]}f[i+60>>2]=g,n[i+64|0]=1,f[i+56>>2]=B}f[f[i+60>>2]+(h<<2)>>2]=f[Q>>2],h=f[i+52>>2]+1|0,f[i+52>>2]=h;A:if(!((0|(p=f[i+108>>2]))<1)){for(a=f[i+116>>2]+20|0,g=f[20+(W+f[i+20>>2]|0)>>2],o=0;;){if(f[a>>2]!=(0|g)){if(a=a+24|0,(0|(o=o+1|0))<(0|p))continue;break A}break}f[a>>2]=-1}if(!((0|(d=d+1|0))<f[i+12>>2]))break}if(!((0|p)<1||(B=f[i+132>>2],(0|B)<1)))for(W=f[i+140>>2],Tt=f[i+116>>2],g=0;;){A:if(Q=f[20+(Tt+m(g,24)|0)>>2],-1!=(0|Q)){r:{if((0|Y)<=0){for(d=0;;){if(a=W+m(d,36)|0,(0|(h=f[a+4>>2]))>0)for(a=f[a+12>>2],o=0;;){if((0|Q)==f[a>>2])break r;if(a=a+4|0,!((0|(o=o+1|0))<(0|h)))break}if((0|(d=d+1|0))==(0|B))break}break A}for(h=0;;){a=D,o=Y;n:{for(;;){if(f[a>>2]==(0|h))break n;if(a=a+4|0,!(o=o+-1|0))break}if(a=W+m(h,36)|0,!((0|(d=f[a+4>>2]))<1))for(a=f[a+12>>2],o=0;;){if((0|Q)==f[a>>2])break r;if(a=a+4|0,!((0|(o=o+1|0))<(0|d)))break}}if((0|(h=h+1|0))==(0|B))break}break A}if((a=f[i+20>>2])&&(_[i+24|0]&&CA(a),f[i+20>>2]=0),(a=f[i+60>>2])&&(_[i+64|0]&&CA(a),f[i+60>>2]=0),!(a=f[i+116>>2]))break i;_[i+120|0]&&CA(a),f[i+116>>2]=0;break i}if(!((0|(g=g+1|0))<(0|p)))break}if(LA(f[t+56>>2]+24|0,i+48|0),(a=f[i+20>>2])&&(_[i+24|0]&&CA(a),f[i+20>>2]=0),(a=f[i+60>>2])&&(_[i+64|0]&&CA(a),f[i+60>>2]=0),!(a=f[i+116>>2]))break e;_[i+120|0]&&CA(a),f[i+116>>2]=0;break e}if((0|Y)<1)break e}for(d=0;;){if(a=f[(d<<2)+D>>2],f[i+52>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,W=f[i+140>>2]+m(a,36)|0,h=f[W+4>>2],n[i+64|0]=1,(0|h)>=1){g=dA(Q=h<<2),B=f[i+60>>2];i:{if((0|(p=f[i+52>>2]))>=1)for(a=g,o=B;f[a>>2]=f[o>>2],a=a+4|0,o=o+4|0,p=p+-1|0;);else if(!B)break i;_[i+64|0]&&CA(B)}for(f[i+60>>2]=g,n[i+64|0]=1,f[i+56>>2]=h,X(g,0,Q),f[i+52>>2]=h,a=f[W+12>>2],o=f[i+60>>2];f[o>>2]=f[a>>2],o=o+4|0,a=a+4|0,h=h+-1|0;);}else f[i+52>>2]=h;if(a=f[W+24>>2],f[St>>2]=f[W+20>>2],f[St+4>>2]=a,g=f[(o=W+28|0)+4>>2],f[(a=St+8|0)>>2]=f[o>>2],f[a+4>>2]=g,LA(f[t+56>>2]+24|0,i+48|0),(a=f[i+60>>2])&&(_[i+64|0]&&CA(a),f[i+60>>2]=0),(0|Y)==(0|(d=d+1|0)))break}}if(D&&CA(e),!R)break}if(VA(f[t+56>>2]),!w)break t;CA(Dt)}else VA(f[t+56>>2]);if((0|(p=f[i+132>>2]))>=1)for(o=8;a=(t=f[i+140>>2]+o|0)+-4|0,(d=f[(e=t+4|0)>>2])&&(_[t+8|0]&&CA(d),f[e>>2]=0),f[a>>2]=0,f[e>>2]=0,f[t>>2]=0,n[t+8|0]=1,o=o+36|0,p=p+-1|0;);return(t=f[i+140>>2])&&(_[i+144|0]&&CA(t),f[i+140>>2]=0),r&&CA(Vt),(t=f[i+204>>2])&&(_[i+208|0]&&CA(t),f[i+204>>2]=0),f[i+204>>2]=0,n[i+208|0]=1,f[i+196>>2]=0,f[i+200>>2]=0,(t=f[i+184>>2])&&(_[i+188|0]&&CA(t),f[i+184>>2]=0),f[i+184>>2]=0,n[i+188|0]=1,f[i+176>>2]=0,f[i+180>>2]=0,(t=f[i+164>>2])&&(_[i+168|0]&&CA(t),f[i+164>>2]=0),(t=f[i+228>>2])&&(_[i+232|0]&&CA(t),f[i+228>>2]=0),Z=i+240|0,1},kA,qA,function(t,e){t|=0,e|=0;var i,r=v(0);Z=i=Z-96|0,EA(t,e),n[t+92|0]=1,_[1680]||(f[397]=0,f[398]=0,f[396]=1065353216,f[399]=0,f[400]=0,f[402]=0,f[403]=0,f[401]=1065353216,f[404]=0,f[405]=0,f[409]=0,f[410]=0,f[408]=-1082130432,f[406]=1065353216,f[407]=0,f[411]=0,f[412]=0,f[414]=0,f[415]=0,f[413]=-1082130432,f[416]=0,f[417]=0,f[418]=-1082130432,f[419]=0,n[1680]=1),e=X(i,0,96),yt[f[f[t>>2]+76>>2]](t,1584,e,6),r=C[t+48>>2],C[t+76>>2]=C[e>>2]+r,C[t+60>>2]=C[e+48>>2]-r,C[t+80>>2]=r+C[e+20>>2],C[t- -64>>2]=C[e+68>>2]-r,C[t+84>>2]=r+C[e+40>>2],C[t+68>>2]=C[e+88>>2]-r,Z=e+96|0},ce,function(t,e,i,r){qA(t|=0,e|=0,i|=0,r|=0)},function(t){return 8528},ne,function(t){return(t=f[(t|=0)+96>>2]+-2|0)>>>0<=2?f[7624+(t<<2)>>2]:0},function(t,e,i,r){e|=0,i|=0,r|=0;var n=0,a=0;t:{e:{i:{A:{r:if(!((n=f[(t|=0)+96>>2]+-2|0)>>>0>2)){n:switch(n-1|0){case 0:if(e>>>0>2)break r;a:switch(e-1|0){case 0:break i;case 1:break a;default:break A}break e;case 1:break n;default:break A}if(!(e>>>0>5)){n:switch(e-1|0){case 2:e=f[t+104>>2],f[i>>2]=f[t+100>>2],f[i+4>>2]=e,e=i+8|0,n=f[(i=t+108|0)+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=n;break t;case 3:a=f[(n=t+124|0)+4>>2],f[(e=i+8|0)>>2]=f[n>>2],f[e+4>>2]=a,n=f[(e=t+116|0)+4>>2],f[i>>2]=f[e>>2],f[i+4>>2]=n;break t;case 0:break i;case 1:break e;case 4:break n;default:break A}a=f[(n=t+140|0)+4>>2],f[(e=i+8|0)>>2]=f[n>>2],f[e+4>>2]=a,n=f[(e=t+132|0)+4>>2],f[i>>2]=f[e>>2],f[i+4>>2]=n,n=f[(i=t+156|0)+4>>2],f[(e=r+8|0)>>2]=f[i>>2],f[e+4>>2]=n,e=f[(t=t+148|0)+4>>2],f[r>>2]=f[t>>2],f[r+4>>2]=e}}return}return e=f[t+104>>2],f[i>>2]=f[t+100>>2],f[i+4>>2]=e,e=i+8|0,n=f[(i=t+108|0)+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=n,n=f[(i=t+124|0)+4>>2],f[(e=r+8|0)>>2]=f[i>>2],f[e+4>>2]=n,e=f[(t=t+116|0)+4>>2],f[r>>2]=f[t>>2],void(f[r+4>>2]=e)}return a=f[(n=t+124|0)+4>>2],f[(e=i+8|0)>>2]=f[n>>2],f[e+4>>2]=a,n=f[(e=t+116|0)+4>>2],f[i>>2]=f[e>>2],f[i+4>>2]=n,n=f[(i=t+140|0)+4>>2],f[(e=r+8|0)>>2]=f[i>>2],f[e+4>>2]=n,e=f[(t=t+132|0)+4>>2],f[r>>2]=f[t>>2],void(f[r+4>>2]=e)}return a=f[(n=t+140|0)+4>>2],f[(e=i+8|0)>>2]=f[n>>2],f[e+4>>2]=a,n=f[(e=t+132|0)+4>>2],f[i>>2]=f[e>>2],f[i+4>>2]=n,n=f[(i=t+108|0)+4>>2],f[(e=r+8|0)>>2]=f[i>>2],f[e+4>>2]=n,e=f[t+104>>2],f[r>>2]=f[t+100>>2],void(f[r+4>>2]=e)}n=f[(i=t+156|0)+4>>2],f[(e=r+8|0)>>2]=f[i>>2],f[e+4>>2]=n,e=f[(t=t+148|0)+4>>2],f[r>>2]=f[t>>2],f[r+4>>2]=e},function(t,e,i){var r,n;i|=0,n=f[(e=(t=((e|=0)<<4)+(t|=0)|0)+108|0)+4>>2],f[(r=i+8|0)>>2]=f[e>>2],f[r+4>>2]=n,e=f[(t=t+100|0)+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=e},function(t){return 0|(4==(0|(t=f[(t|=0)+96>>2]))?4:(3==(0|t))<<1)},ae,function(t,e,i){return i=v(i),0},oe,sA,ve,function(t,e,i){e|=0,i|=0,f[(t|=0)+24>>2]=i,f[t+16>>2]=e},function(t,e,i){e|=0,i|=0,f[(t|=0)+28>>2]=i,f[t+20>>2]=e},function(t,e,i,r){t|=0,e|=0,i|=0,r=v(r);var n,a=0,o=v(0),h=v(0),d=v(0),g=0,p=v(0),B=v(0),F=0,V=0,G=0,w=v(0),Q=v(0),W=0,Y=0,z=v(0),pt=v(0),Dt=v(0),It=v(0),St=0,Tt=0,Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=0,Pt=0;Z=n=Z-192|0,C[f[t+4>>2]+784>>2]<r||(Q=C[i+8>>2],h=v(v(C[e+8>>2]*r)+Q),z=C[i+4>>2],d=v(v(C[e+4>>2]*r)+z),pt=C[i>>2],w=v(v(C[e>>2]*r)+pt),g=f[t+4>>2],Tt=f[g+780>>2],(W=(0|(F=f[g+772>>2]))==(0|(Y=f[f[t+8>>2]+8>>2])))?(o=v(w-C[F+52>>2]),p=v(d-C[F+56>>2]),B=v(h-C[F+60>>2]),Dt=v(v(v(o*C[F+12>>2])+v(p*C[F+28>>2]))+v(B*C[F+44>>2])),It=v(v(v(o*C[F+8>>2])+v(p*C[F+24>>2]))+v(B*C[F+40>>2])),o=v(v(v(o*C[F+4>>2])+v(p*C[F+20>>2]))+v(B*C[F+36>>2])),a=f[f[t+12>>2]+8>>2]):(a=f[f[t+12>>2]+8>>2],o=v(w-C[a+52>>2]),p=v(d-C[a+56>>2]),B=v(h-C[a+60>>2]),Dt=v(v(v(o*C[a+12>>2])+v(p*C[a+28>>2]))+v(B*C[a+44>>2])),It=v(v(v(o*C[a+8>>2])+v(p*C[a+24>>2]))+v(B*C[a+40>>2])),o=v(v(v(o*C[a+4>>2])+v(p*C[a+20>>2]))+v(B*C[a+36>>2])),a=Y),Et=C[a+20>>2],Ot=C[a+36>>2],Nt=C[a+40>>2],Ft=C[a+8>>2],Vt=C[a+24>>2],Gt=C[a+44>>2],Lt=C[a+60>>2],p=C[a+12>>2],B=C[a+52>>2],wt=C[a+28>>2],xt=C[a+56>>2],Qt=C[a+4>>2],f[n+28>>2]=0,f[(a=n+124|0)>>2]=0,f[a+4>>2]=0,f[(a=n+132|0)>>2]=0,f[a+4>>2]=0,f[(a=n+140|0)>>2]=0,f[a+4>>2]=0,f[(a=n+148|0)>>2]=0,f[a+4>>2]=0,f[n+156>>2]=0,V=f[(a=e+8|0)+4>>2],f[(G=n+72|0)>>2]=f[a>>2],f[G+4>>2]=V,Wt=p,p=v(pt-B),B=v(z-xt),Q=v(Q-Lt),C[n+24>>2]=v(v(Wt*p)+v(wt*B))+v(Gt*Q),C[n+20>>2]=v(v(p*Ft)+v(B*Vt))+v(Q*Nt),f[n+12>>2]=0,C[n+8>>2]=Dt,C[n+4>>2]=It,C[n>>2]=o,f[n+84>>2]=0,f[n+88>>2]=0,C[n+80>>2]=r,f[n+92>>2]=0,f[n+96>>2]=0,f[n+116>>2]=0,f[n+120>>2]=0,a=f[e+4>>2],f[n+64>>2]=f[e>>2],f[n+68>>2]=a,C[n+16>>2]=v(v(p*Qt)+v(B*Et))+v(Q*Ot),f[n+60>>2]=0,C[n+56>>2]=h,C[n+52>>2]=d,a=f[(e=i+8|0)+4>>2],f[(V=n+40|0)>>2]=f[e>>2],f[V+4>>2]=a,C[n+48>>2]=w,e=f[i+4>>2],f[n+32>>2]=f[i>>2],f[n+36>>2]=e,i=function(t,e){var i,r=v(0),n=v(0),a=0,o=v(0),_=0,h=v(0),d=v(0),g=v(0);if((0|(i=f[t+780>>2]))<1)e=-1;else for(a=t+8|0,h=C[e+8>>2],d=C[e+4>>2],g=C[e>>2],n=C[t+784>>2],n=v(n*n),t=0,e=-1;r=v(C[a+-4>>2]-g),o=v(r*r),r=v(C[a>>2]-d),o=v(o+v(r*r)),r=v(C[a+4>>2]-h),n=(_=(r=v(o+v(r*r)))<n)?r:n,e=_?t:e,a=a+192|0,(0|i)!=(0|(t=t+1|0)););return e}(g,n),V=f[t+8>>2],e=f[V+8>>2],G=f[t+12>>2],a=f[G+8>>2],C[n+96>>2]=C[e+232>>2]*C[a+232>>2],r=C[e+228>>2],o=C[a+228>>2],C[n+84>>2]=R(v(D(v(r*o),v(-10))),v(10)),C[n+88>>2]=R(v(D(v(v(o*C[e+236>>2])+v(r*C[a+236>>2])),v(-10))),v(10)),C[n+92>>2]=R(v(D(v(v(o*C[e+240>>2])+v(r*C[a+240>>2])),v(-10))),v(10)),g=f[e+204>>2],(128&_[a+204|0]||128&g)&&(C[n+148>>2]=C[e+244>>2]+C[a+244>>2],C[n+144>>2]=v(1)/v(v(v(1)/C[f[V+8>>2]+248>>2])+v(v(1)/C[f[G+8>>2]+248>>2])),f[n+120>>2]=8|f[n+120>>2],g=f[f[V+8>>2]+204>>2]),(2&_[f[G+8>>2]+205|0]||512&g)&&(f[n+120>>2]=16|f[n+120>>2]),r=C[n+72>>2],v(y(r))>v(.7071067690849304)?(d=C[n+68>>2],o=v(v(r*r)+v(d*d)),h=v(v(1)/v(E(o))),w=v(o*h),B=C[n+64>>2],o=v(-v(r*h)),p=v(B*o),r=v(d*h),h=v(-v(B*r)),d=v(0)):(w=C[n+64>>2],h=C[n+68>>2],d=v(v(w*w)+v(h*h)),o=v(v(1)/v(E(d))),p=v(d*o),d=v(-v(h*o)),h=v(r*d),o=v(w*o),w=v(-v(r*o)),r=v(0)),a=t+4|0,C[n+184>>2]=p,C[n+180>>2]=h,C[n+168>>2]=r,C[n+164>>2]=o,C[n+176>>2]=w,C[n+160>>2]=d,W?(e=t+28|0,g=t+24|0,V=t+16|0,G=t+20|0):(e=t+24|0,g=t+28|0,V=t+20|0,G=t+16|0),f[n+112>>2]=f[e>>2],f[n+108>>2]=f[g>>2],f[n+104>>2]=f[G>>2],f[n+100>>2]=f[V>>2],e=f[a>>2],(0|i)>=0?(e=e+m(i,192)|0,r=C[(g=e+136|0)>>2],o=C[(V=e+132|0)>>2],h=C[(G=e+128|0)>>2],Yt=f[(W=e+160|0)>>2],16&_[n+120|0]&&(d=v(v(h*C[e+88>>2])+v(0)),!(v(v(o*o)+v(r*r))>v(d*d)))||(Pt=f[(St=e+120|0)>>2],J(e+4|0,n,192),C[G>>2]=h,f[St>>2]=Pt,C[V>>2]=o,C[g>>2]=r),f[W>>2]=Yt):i=ue(e,n),(g=f[425])&&(e=t+8|0,(8&_[f[f[(t=t+12|0)>>2]+8>>2]+204|0]||8&_[f[f[e>>2]+8>>2]+204|0])&&(G=4+(f[a>>2]+m(i,192)|0)|0,i=(0|F)!=(0|Y),yt[g](G,f[(i?t:e)>>2],f[n+100>>2],f[n+108>>2],f[(i?e:t)>>2],f[n+104>>2],f[n+112>>2]))),Tt||(t=f[423])&&yt[t](a)),Z=n+192|0},function(t,e,i){t|=0,e|=0,i|=0;var r,n,a,o=v(0);Z=r=Z-96|0,n=f[f[t>>2]>>2],a=f[f[t+4>>2]>>2],yt[f[f[e>>2]+24>>2]](e,n,a)&&(f[r+88>>2]=-1,f[r+92>>2]=-1,f[r+72>>2]=0,f[r+80>>2]=n,f[r+84>>2]=n+4,f[r+76>>2]=f[n+192>>2],f[r+64>>2]=-1,f[r+68>>2]=-1,f[r+48>>2]=0,f[r+56>>2]=a,f[r+60>>2]=a+4,f[r+52>>2]=f[a+192>>2],(f[t+8>>2]||(e=0|yt[f[f[e>>2]+8>>2]](e,r+72|0,r+48|0,0,1),f[t+8>>2]=e,e))&&(e=function(t,e,i){return f[t+32>>2]=0,f[t+12>>2]=i,f[t+8>>2]=e,f[t+4>>2]=0,f[t>>2]=7720,t}(r+8|0,r+72|0,r+48|0),t=f[t+8>>2],1!=f[i+8>>2]?(o=v(yt[f[f[t>>2]+12>>2]](t,n,a,i,e)),C[i+12>>2]>o&&(C[i+12>>2]=o)):yt[f[f[t>>2]+8>>2]](t,r+72|0,r+48|0,i,e))),Z=r+96|0},function(t){var e;return f[(t|=0)>>2]=7860,(e=f[t+20>>2])&&(_[t+24|0]&&CA(e),f[t+20>>2]=0),f[t+20>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,n[t+24|0]=1,0|t},function(t){var e;f[(t|=0)>>2]=7860,(e=f[t+20>>2])&&(_[t+24|0]&&CA(e),f[t+20>>2]=0),f[t+20>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,n[t+24|0]=1,$(t)},function(t,e,i,r,n){var a,o;return t|=0,e|=0,i|=0,r|=0,n|=0,Z=a=Z-16|0,f[a+12>>2]=r,f[a+8>>2]=t,r=f[f[i+4>>2]+4>>2],o=f[f[e+4>>2]+4>>2],1!=(0|n)?(t=f[5260+((m(o,144)+t|0)+(r<<2)|0)>>2],e=0|yt[f[f[t>>2]+8>>2]](t,a+8|0,e,i)):(t=f[76+((m(o,144)+t|0)+(r<<2)|0)>>2],e=0|yt[f[f[t>>2]+8>>2]](t,a+8|0,e,i)),Z=a+16|0,0|e},function(t,e,i){t|=0,e|=0,i|=0;var r,a=0,o=0,h=0,d=v(0),g=v(0),m=0;Z=r=Z-16|0,f[426]=f[426]+1,o=2976,2&f[t+4>>2]&&(a=f[e+192>>2],d=v(yt[f[f[a>>2]+20>>2]](a,C[744])),C[r+12>>2]=d,a=f[i+192>>2],g=v(yt[f[f[a>>2]+20>>2]](a,C[744])),C[r+8>>2]=g,o=d<g?r+12|0:r+8|0),h=f[o>>2],d=C[i+184>>2],g=C[e+184>>2],a=f[t+72>>2];t:{if(o=f[a+12>>2])f[a+12>>2]=f[o>>2],f[a+8>>2]=f[a+8>>2]+-1;else{if(o=0,4&_[t+4|0])break t;o=dA(804)}if(f[o>>2]=1025,f[o+160>>2]=0,f[(a=o+152|0)>>2]=0,f[a+4>>2]=0,f[(a=o+144|0)>>2]=0,f[a+4>>2]=0,f[(a=o+136|0)>>2]=0,f[a+4>>2]=0,f[(a=o+128|0)>>2]=0,f[a+4>>2]=0,f[o+120>>2]=0,f[o+124>>2]=0,f[o+312>>2]=0,f[o+316>>2]=0,f[(a=o+320|0)>>2]=0,f[a+4>>2]=0,f[(a=o+328|0)>>2]=0,f[a+4>>2]=0,f[(a=o+336|0)>>2]=0,f[a+4>>2]=0,f[(a=o+344|0)>>2]=0,f[a+4>>2]=0,f[o+352>>2]=0,f[o+504>>2]=0,f[o+508>>2]=0,f[(a=o+512|0)>>2]=0,f[a+4>>2]=0,f[(a=o+520|0)>>2]=0,f[a+4>>2]=0,f[(a=o+528|0)>>2]=0,f[a+4>>2]=0,f[(a=o+536|0)>>2]=0,f[a+4>>2]=0,f[o+544>>2]=0,f[o+736>>2]=0,f[(a=o+728|0)>>2]=0,f[a+4>>2]=0,f[(a=o+720|0)>>2]=0,f[a+4>>2]=0,f[(a=o+712|0)>>2]=0,f[a+4>>2]=0,f[(a=o+704|0)>>2]=0,f[a+4>>2]=0,f[o+696>>2]=0,f[o+700>>2]=0,f[o+772>>2]=e,f[o+776>>2]=i,f[o+780>>2]=0,f[o+784>>2]=h,C[o+788>>2]=g<d?g:d,a=f[t+12>>2],f[o+800>>2]=a,f[t+16>>2]==(0|a)&&!((0|a)>=(0|(h=a?a<<1:1)))){if(h&&(m=dA(h<<2),a=f[t+12>>2]),(0|a)>=1)for(e=0,i=a;f[e+m>>2]=f[f[t+20>>2]+e>>2],e=e+4|0,i=i+-1|0;);(e=f[t+20>>2])&&(_[t+24|0]&&(CA(e),a=f[t+12>>2]),f[t+20>>2]=0),f[t+20>>2]=m,f[t+16>>2]=h,n[t+24|0]=1}f[t+12>>2]=a+1,f[f[t+20>>2]+(a<<2)>>2]=o}return Z=r+16|0,0|o},function(t,e){t|=0,e|=0;var i,r,n,a,o,_,h=0,d=0,C=0;if(f[426]=f[426]+-1,yt[f[f[t>>2]+20>>2]](t,e),d=f[(h=t+20|0)>>2],i=f[e+800>>2],a=f[(C=d+(r=i<<2)|0)>>2],o=C,_=d,n=(C=f[(d=t+12|0)>>2]+-1|0)<<2,f[o>>2]=f[_+n>>2],f[f[h>>2]+n>>2]=a,f[d>>2]=C,f[f[f[h>>2]+r>>2]+800>>2]=i,e&&(t=f[t+72>>2],!((h=f[t+16>>2])>>>0>e>>>0|h+m(f[t>>2],f[t+4>>2])>>>0<=e>>>0)))return f[e>>2]=f[t+12>>2],f[t+12>>2]=e,void(f[t+8>>2]=f[t+8>>2]+1);CA(e)},function(t,e){t|=0;var i=0,r=0,n=0;if(Z=t=Z-16|0,(0|(r=f[(e|=0)+780>>2]))>=1)for(i=e+4|0;le(i),i=i+192|0,(0|(n=n+1|0))<(0|(r=f[e+780>>2])););r&&((i=f[424])&&(f[t+12>>2]=e,yt[i](t+12|0))),f[e+780>>2]=0,Z=t+16|0},function(t,e,i){t|=0,i|=0;var r=0;t:{e:if(t=f[(e|=0)+220>>2]+-2|0,!(t>>>0>3)){switch(t-1|0){case 0:case 1:break e}if(!((r=f[i+220>>2]+-2|0)>>>0>3))switch(t=0,r-1|0){case 0:case 1:break e;default:break t}}if(!f[e+280>>2]||yt[f[f[e>>2]+12>>2]](e,i)){if(t=1,!f[i+280>>2])break t;if(yt[f[f[i>>2]+12>>2]](i,e))break t}t=0}return 0|t},function(t,e,i){if(t|=0,i|=0,t=0,!(4&(e=f[(e|=0)+204>>2])||(i=f[i+204>>2],4&i))){if(!(3&e))return 1;t=!(3&i)}return 0|t},function(t,e,i,r){var n;t|=0,e|=0,i|=0,r|=0,Z=n=Z-16|0,f[n+8>>2]=t,f[n+4>>2]=i,f[n>>2]=7968,yt[f[f[e>>2]+48>>2]](e,n,r),Z=n+16|0},function(t){return f[(t|=0)+12>>2]},function(t,e){return e|=0,f[f[(t|=0)+20>>2]+(e<<2)>>2]},function(t){return f[(t|=0)+12>>2]?f[t+20>>2]:0},Ce,Ce,function(t,e){var i;return e|=0,t=f[(t|=0)+68>>2],(i=f[t+12>>2])?(f[t+12>>2]=f[i>>2],f[t+8>>2]=f[t+8>>2]+-1,0|i):0|dA(e)},function(t,e){t|=0;var i=0;if((e|=0)&&(t=f[t+68>>2],!((i=f[t+16>>2])>>>0>e>>>0|m(f[t>>2],f[t+4>>2])+i>>>0<=e>>>0)))return f[e>>2]=f[t+12>>2],f[t+12>>2]=e,void(f[t+8>>2]=f[t+8>>2]+1);CA(e)},sA,ve,function(t,e){var i;return i=e|=0,e=f[(t|=0)+8>>2],yt[f[e+64>>2]](i,e,f[t+4>>2]),0},function(t){var e=0,i=0;return f[(t|=0)>>2]=8056,(e=f[t+12>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e),f[t+12>>2]=0),(e=f[t+8>>2])&&(yt[f[f[e>>2]>>2]](e),e=f[t+4>>2],yt[f[f[e>>2]+60>>2]](e,f[t+8>>2]),f[t+8>>2]=0),f[t+24>>2]=-1,f[t+28>>2]=-1,f[(e=t+32|0)>>2]=-1,f[e+4>>2]=-1,0|t},function(t){var e=0,i=0;f[(t|=0)>>2]=8056,(e=f[t+12>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e),f[t+12>>2]=0),(e=f[t+8>>2])&&(yt[f[f[e>>2]>>2]](e),e=f[t+4>>2],yt[f[f[e>>2]+60>>2]](e,f[t+8>>2]),f[t+8>>2]=0),f[t+24>>2]=-1,f[t+28>>2]=-1,f[(e=t+32|0)>>2]=-1,f[e+4>>2]=-1,$(t)},function(t,e,i,r,n){e|=0,i|=0,r|=0,n|=0;var a=0,o=0;if((a=f[(t|=0)+12>>2])&&(o=f[t+4>>2],yt[f[f[o>>2]+16>>2]](o,a),f[t+12>>2]=0),(a=f[t+8>>2])&&(yt[f[f[a>>2]>>2]](a),a=f[t+4>>2],yt[f[f[a>>2]+60>>2]](a,f[t+8>>2]),f[t+8>>2]=0),f[t+24>>2]=-1,f[t+28>>2]=-1,f[(a=t+32|0)>>2]=-1,f[a+4>>2]=-1,f[t+20>>2]=r,f[t+16>>2]=n,r=f[e+4>>2],25==f[r+4>>2])return n=f[i+4>>2],25==f[n+4>>2]?void _e(t,e,i,r,n):void me(t,e,i,r,n,0);n=f[i+4>>2],25==f[n+4>>2]&&me(t,i,e,n,r,1)},Re,function(t,e){e|=0;var i=0,r=0,a=0,o=0,h=0;if(r=f[(t|=0)+12>>2]){if((0|(i=f[e+4>>2]))==f[e+8>>2]&&!((0|i)>=(0|(o=i?i<<1:1)))){if(o&&(h=dA(o<<2),i=f[e+4>>2]),(0|i)>=1)for(r=0,a=i;f[r+h>>2]=f[f[e+12>>2]+r>>2],r=r+4|0,a=a+-1|0;);(a=f[e+12>>2])&&(_[e+16|0]&&(CA(a),i=f[e+4>>2]),f[e+12>>2]=0),f[e+12>>2]=h,n[e+16|0]=1,f[e+8>>2]=o,r=f[t+12>>2]}f[e+4>>2]=i+1,f[f[e+12>>2]+(i<<2)>>2]=r}},ce,function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a,o,_=v(0),h=v(0),d=v(0),g=0,m=0,y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0),St=0;n=Z-48|0,_=C[t+60>>2],y=C[e+16>>2],h=C[t- -64>>2],F=C[e+20>>2],d=C[t+68>>2],V=C[e+24>>2],G=C[e+52>>2],w=v(v(v(v(_*y)+v(h*F))+v(d*V))+G),C[n+40>>2]=w,p=C[e+32>>2],Q=C[e+36>>2],W=C[e+40>>2],Y=C[e+56>>2],z=v(v(v(v(_*p)+v(h*Q))+v(d*W))+Y),C[n+36>>2]=z,R=_,_=C[e>>2],D=C[e+4>>2],yt=d,d=C[e+8>>2],B=C[e+48>>2],pt=v(v(v(v(R*_)+v(h*D))+v(yt*d))+B),C[n+44>>2]=pt,f[n+28>>2]=0,h=C[t+76>>2],E=C[t+80>>2],R=C[t+84>>2],Dt=v(G+v(v(v(y*h)+v(F*E))+v(V*R))),C[n+20>>2]=Dt,It=v(Y+v(v(v(p*h)+v(Q*E))+v(W*R))),C[n+24>>2]=It,h=v(B+v(v(v(_*h)+v(D*E))+v(d*R))),C[n+16>>2]=h,R=B,B=C[t+92>>2],yt=D,D=C[t+96>>2],E=C[t+100>>2],d=v(R+v(v(v(_*B)+v(yt*D))+v(d*E))),C[n>>2]=d,m=(g=pt>((e=h>d)?d:h))?n:n+44|0,_=C[t+48>>2],C[i>>2]=C[(e?m:g?n+16|0:m)>>2]-_,f[n+12>>2]=0,p=v(Y+v(v(v(p*B)+v(Q*D))+v(W*E))),C[n+8>>2]=p,t=n+8|0,m=(g=z>C[((e=It>p)?n:n+16|0)+8>>2])?t:n+36|0,a=n+24|0,C[i+8>>2]=C[(e?m:g?a:m)>>2]-_,y=v(G+v(v(v(y*B)+v(F*D))+v(V*E))),C[n+4>>2]=y,St=i,e=4|n,m=(g=w>C[((i=Dt>y)?n:n+16|0)+4>>2])?e:n+40|0,o=n+16|4,C[St+4>>2]=C[(i?m:g?o:m)>>2]-_,St=t,g=(i=z<C[((t=It<p)?n:n+16|0)+8>>2])?St:n+36|0,C[r+8>>2]=_+C[(t?g:i?a:g)>>2],i=e,i=(e=w<C[((t=Dt<y)?n:n+16|0)+4>>2])?i:n+40|0,C[r+4>>2]=_+C[(t?i:e?o:i)>>2],i=(e=pt<((t=h<d)?d:h))?n:n+44|0,C[r>>2]=_+C[(t?i:e?n+16|0:i)>>2]},he,function(t){return 8320},function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=v(0),a=v(0),o=v(0),_=v(0);r=C[i>>2],n=C[i+4>>2],a=C[i+8>>2],o=v(v(v(r*C[e+76>>2])+v(n*C[e+80>>2]))+v(a*C[e+84>>2])),_=v(v(v(r*C[e+92>>2])+v(n*C[e+96>>2]))+v(a*C[e+100>>2])),r=v(v(v(r*C[e+60>>2])+v(n*C[e- -64>>2]))+v(a*C[e+68>>2])),i=f[(e=(e+60|0)+((r<o?o<_?2:1:(r<_)<<1)<<4)|0)+4>>2],f[t>>2]=f[e>>2],f[t+4>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+8|0)>>2]=f[e>>2],f[t+4>>2]=i},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n=v(0),a=0,o=0,_=v(0),h=v(0),d=v(0),g=v(0),m=0,y=0;if((0|r)>=1)for(m=t+60|0;n=C[e>>2],_=C[e+4>>2],h=C[e+8>>2],d=v(v(v(n*C[t+76>>2])+v(_*C[t+80>>2]))+v(h*C[t+84>>2])),g=v(v(v(n*C[t+92>>2])+v(_*C[t+96>>2]))+v(h*C[t+100>>2])),n=v(v(v(n*C[t+60>>2])+v(_*C[t+64>>2]))+v(h*C[t+68>>2])),o=f[(a=((n<d?d<g?2:1:(n<g)<<1)<<4)+m|0)+4>>2],f[i>>2]=f[a>>2],f[i+4>>2]=o,y=f[(a=a+8|0)+4>>2],f[(o=i+8|0)>>2]=f[a>>2],f[o+4>>2]=y,e=e+16|0,i=i+16|0,r=r+-1|0;);},pe,function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0);o=C[t+92>>2],_=C[t+76>>2],h=C[t+80>>2],g=C[t+100>>2],n=C[t+68>>2],m=C[t+84>>2],d=C[t+96>>2],r=C[t- -64>>2],a=C[t+60>>2],f[i+12>>2]=0,_=v(_-a),d=v(d-r),h=v(h-r),a=v(o-a),y=r=v(v(_*d)-v(h*a)),p=v(r*r),r=v(g-n),o=v(m-n),n=v(v(h*r)-v(o*d)),r=v(v(o*a)-v(_*r)),a=v(v(1)/v(E(v(p+v(v(n*n)+v(r*r)))))),o=v(y*a),C[i+8>>2]=o,r=v(r*a),C[i+4>>2]=r,n=v(n*a),C[i>>2]=n,e&&(C[i+8>>2]=-o,C[i+4>>2]=-r,C[i>>2]=-n)},Fe,Fe,function(t,e,i,r){e|=0,i|=0,r|=0,yt[f[f[(t|=0)>>2]+108>>2]](t,e,i),yt[f[f[t>>2]+108>>2]](t,(e+1|0)%3|0,r)},function(t,e,i){var r,n;i|=0,n=f[(e=(t=((e|=0)<<4)+(t|=0)|0)+68|0)+4>>2],f[(r=i+8|0)>>2]=f[e>>2],f[r+4>>2]=n,e=f[(t=t+60|0)+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=e},We,function(t,e,i,r){e|=0,i|=0,r|=0,yt[f[f[(t|=0)>>2]+124>>2]](t,r,e,i)},function(t,e,i){t|=0,e|=0,i=v(i);var r,n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=0;return Z=r=Z-32|0,p=C[t+60>>2],h=v(C[t+76>>2]-p),a=C[t- -64>>2],_=v(C[t+96>>2]-a),n=v(C[t+80>>2]-a),d=v(C[t+92>>2]-p),m=o=v(v(h*_)-v(n*d)),R=v(o*o),y=n,n=C[t+68>>2],o=v(C[t+100>>2]-n),g=v(C[t+84>>2]-n),_=v(v(y*o)-v(g*_)),h=v(v(g*d)-v(h*o)),d=v(v(1)/v(E(v(R+v(v(_*_)+v(h*h)))))),o=v(m*d),_=v(_*d),h=v(h*d),(a=v(v(v(C[e+8>>2]*o)+v(v(C[e>>2]*_)+v(C[e+4>>2]*h)))-v(v(n*o)+v(v(p*_)+v(a*h)))))>=(p=v(-i))^1|a<=i^1||(yt[f[f[t>>2]+104>>2]](t,0,r+16|0,r),d=C[r+16>>2],a=v(C[r>>2]-d),g=C[r+20>>2],n=v(C[r+4>>2]-g),m=i=v(v(h*a)-v(_*n)),R=v(i*i),i=v(o*n),y=C[r+24>>2],n=v(C[r+8>>2]-y),i=v(i-v(h*n)),a=v(v(_*n)-v(o*a)),n=v(v(1)/v(E(v(R+v(v(i*i)+v(a*a)))))),m=v(m*n),i=v(i*n),a=v(a*n),v(v(v(C[e+8>>2]*m)+v(v(C[e>>2]*i)+v(C[e+4>>2]*a)))-v(v(y*m)+v(v(d*i)+v(g*a))))<p||(yt[f[f[t>>2]+104>>2]](t,1,r+16|0,r),d=C[r+16>>2],a=v(C[r>>2]-d),g=C[r+20>>2],n=v(C[r+4>>2]-g),m=i=v(v(h*a)-v(_*n)),R=v(i*i),i=v(o*n),y=C[r+24>>2],n=v(C[r+8>>2]-y),i=v(i-v(h*n)),a=v(v(_*n)-v(o*a)),n=v(v(1)/v(E(v(R+v(v(i*i)+v(a*a)))))),m=v(m*n),i=v(i*n),a=v(a*n),v(v(v(C[e+8>>2]*m)+v(v(C[e>>2]*i)+v(C[e+4>>2]*a)))-v(v(y*m)+v(v(d*i)+v(g*a))))<p||(yt[f[f[t>>2]+104>>2]](t,2,r+16|0,r),a=C[r+16>>2],n=v(C[r>>2]-a),d=C[r+20>>2],g=v(C[r+4>>2]-d),m=i=v(v(h*n)-v(_*g)),y=v(i*i),R=v(o*g),i=h,h=C[r+24>>2],g=v(C[r+8>>2]-h),i=v(R-v(i*g)),o=v(v(_*g)-v(o*n)),_=v(v(1)/v(E(v(y+v(v(i*i)+v(o*o)))))),n=v(m*_),i=v(i*_),o=v(o*_),v(v(v(C[e+8>>2]*n)+v(v(C[e>>2]*i)+v(C[e+4>>2]*o)))-v(v(h*n)+v(v(a*i)+v(d*o))))<p||(D=1)))),Z=r+32|0,0|D},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0);h=C[t+92>>2],d=C[t+76>>2],g=C[t+80>>2],y=C[t+100>>2],_=C[(e=t+68|0)>>2],p=C[t+84>>2],m=C[t+96>>2],a=C[t- -64>>2],o=C[t+60>>2],f[i+12>>2]=0,d=v(d-o),m=v(m-a),g=v(g-a),o=v(h-o),R=a=v(v(d*m)-v(g*o)),D=v(a*a),a=v(y-_),h=v(p-_),_=v(v(g*a)-v(h*m)),a=v(v(h*o)-v(d*a)),o=v(v(1)/v(E(v(D+v(v(_*_)+v(a*a)))))),C[i+8>>2]=R*o,C[i+4>>2]=a*o,C[i>>2]=_*o,n=f[e+4>>2],f[(i=r+8|0)>>2]=f[e>>2],f[i+4>>2]=n,e=f[t+64>>2],f[r>>2]=f[t+60>>2],f[r+4>>2]=e},ce,function(t,e){return e|=0,t=f[f[(t|=0)+4>>2]>>2],0|yt[f[f[t>>2]+128>>2]](t,e)},sA,ve,function(t,e){var i,r;return e|=0,i=f[(t|=0)+4>>2],r=f[i>>2],yt[f[f[r>>2]+104>>2]](r,e,i+4|0),f[t+4>>2]+4|0},ve,function(t,e){var i,r;return e|=0,i=f[(t|=0)+4>>2],r=f[i>>2],yt[f[f[r>>2]+108>>2]](r,e,i+112|0),f[t+4>>2]+112|0},ve,sA,ve,function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a,o=0,h=0,d=0;Z=n=Z-144|0,a=zA(n+32|0),d=f[(h=e+8|0)+4>>2],f[(o=n+100|0)>>2]=f[h>>2],f[o+4>>2]=d,h=f[e+20>>2],f[(o=n+108|0)>>2]=f[e+16>>2],f[o+4>>2]=h,d=f[(h=e+24|0)+4>>2],f[(o=n+116|0)>>2]=f[h>>2],f[o+4>>2]=d,h=f[e+36>>2],f[(o=n+124|0)>>2]=f[e+32>>2],f[o+4>>2]=h,d=f[(h=e+40|0)+4>>2],f[(o=n+132|0)>>2]=f[h>>2],f[o+4>>2]=d,f[n+36>>2]=1,f[n+32>>2]=8128,o=f[e+4>>2],f[n+92>>2]=f[e>>2],f[n+96>>2]=o,f[n+80>>2]=f[t+24>>2],e=f[t+4>>2],(d=_[t+20|0])?(f[e+28>>2]=i,o=e+24|0):(f[e+36>>2]=i,o=e+32|0),f[o>>2]=r,o=f[t+12>>2],h=f[o+8>>2],f[n+20>>2]=f[o+12>>2],f[n+16>>2]=h,f[n+28>>2]=r,f[n+24>>2]=i,f[n+8>>2]=o,i=f[e+16>>2],r=f[i+8>>2],o=f[r+8>>2],f[n+12>>2]=n+32,(0|o)==(0|h)?i=i+8|0:(r=f[i+12>>2],i=i+12|0),f[i>>2]=n+8,me(e,f[t+8>>2],n+8|0,f[t+16>>2],n+32|0,0!=(0|d)),t=f[f[t+4>>2]+16>>2],f[(f[f[t+8>>2]+8>>2]==f[n+16>>2]?8:12)+t>>2]=r,Ae(a),Z=n+144|0},sA,ve,function(t,e,i,r){return t|=0,t=f[(e|=0)>>2],vA(t=0|yt[f[f[t>>2]+56>>2]](t,40),e),f[t>>2]=8056,f[t+8>>2]=0,f[t+12>>2]=0,0|t},Ze,function(t){var e;f[(t|=0)>>2]=8964,(e=f[t+296>>2])&&(_[t+300|0]&&CA(e),f[t+296>>2]=0),f[t+296>>2]=0,f[t+288>>2]=0,f[t+292>>2]=0,n[t+300|0]=1,CA(t)},function(t,e){e|=0,f[(t|=0)+200>>2]=e,f[t+192>>2]=e,f[t+304>>2]=f[t+304>>2]+1},function(t,e){e|=0;var i,r=0;r=i=f[(t|=0)+288>>2];t:if(!((0|i)<1)){for(t=f[t+296>>2],r=0;;){if(f[t>>2]==(0|e))break t;if(t=t+4|0,(0|(r=r+1|0))==(0|i))break}r=i}return(0|r)>=(0|i)|0},function(t){return 264},Ne,function(t,e){var i,r,n=0,a=0,o=0,_=0;a=e|=0,o=0|yt[f[f[(t|=0)>>2]+16>>2]](t),_=1,n=f[f[e>>2]+16>>2],r=0|yt[n](0|a,0|o,0|_),_=e,o=r,a=0|yt[f[f[t>>2]+20>>2]](t,f[r+8>>2],e),i=t,n=f[f[e>>2]+20>>2],yt[n](0|_,0|o,0|a,1245859651,0|i)},ce,Je,xe,function(t,e,i){t|=0,e=v(e),i|=0;var r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0);r=C[t+40>>2],n=C[t+36>>2],a=C[t+32>>2],o=v(yt[f[f[t>>2]+48>>2]](t)),_=v(yt[f[f[t>>2]+48>>2]](t)),h=v(yt[f[f[t>>2]+48>>2]](t)),f[i+12>>2]=0,e=v(e/v(12)),a=v(a+o),a=v(a+a),a=v(a*a),n=v(n+_),n=v(n+n),n=v(n*n),C[i+8>>2]=e*v(a+n),r=v(r+h),r=v(r+r),r=v(r*r),C[i+4>>2]=e*v(a+r),C[i>>2]=e*v(n+r)},function(t){return 9212},Ie,function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0);r=C[e+36>>2],n=C[e+40>>2],a=C[e+32>>2],o=v(yt[f[f[e>>2]+48>>2]](e)),_=v(yt[f[f[e>>2]+48>>2]](e)),h=v(yt[f[f[e>>2]+48>>2]](e)),f[t+12>>2]=0,n=v(n+h),C[t+8>>2]=C[i+8>>2]>=v(0)?n:v(-n),r=v(r+_),C[t+4>>2]=C[i+4>>2]>=v(0)?r:v(-r),r=v(a+o),C[t>>2]=C[i>>2]>=v(0)?r:v(-r)},function(t,e,i){t|=0,e|=0,i|=0;var r=v(0);f[t+12>>2]=0,r=C[e+32>>2],C[t>>2]=C[i>>2]>=v(0)?r:v(-r),r=C[e+40>>2],C[t+8>>2]=C[i+8>>2]>=v(0)?r:v(-r),r=C[e+36>>2],C[t+4>>2]=C[i+4>>2]>=v(0)?r:v(-r)},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n=0,a=0,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0);if((0|r)>=1)for(;d=C[(n=e+a|0)+4>>2],g=C[n+8>>2],m=C[n>>2],o=C[t+36>>2],_=C[t+40>>2],h=C[t+32>>2],f[(n=i+a|0)+12>>2]=0,C[n>>2]=m>=v(0)?h:v(-h),C[n+8>>2]=g>=v(0)?_:v(-_),C[n+4>>2]=d>=v(0)?o:v(-o),a=a+16|0,r=r+-1|0;);},Ue,function(t,e,i){t|=0,i|=0,(e|=0)>>>0<=5&&(f[i+12>>2]=0,t=e<<2,f[i+8>>2]=f[t+9264>>2],f[i+4>>2]=f[t+9240>>2],f[i>>2]=f[t+9216>>2])},function(t){return 8},yA,function(t,e,i,r){i|=0,r|=0;var n,a=0,o=0;n=t|=0,(e|=0)>>>0<=11&&(a=f[(e<<=2)+9336>>2],o=f[e+9288>>2]),yt[f[f[t>>2]+108>>2]](n,o,i),yt[f[f[t>>2]+108>>2]](t,a,r)},function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0);n=C[t+40>>2],r=C[t+36>>2],a=C[t+32>>2],o=v(yt[f[f[t>>2]+48>>2]](t)),_=v(yt[f[f[t>>2]+48>>2]](t)),h=v(yt[f[f[t>>2]+48>>2]](t)),f[i+12>>2]=0,r=v(r+_),t=e>>>1&1,C[i+4>>2]=v(r*v(1^t))-v(r*v(0|t)),r=v(a+o),t=1&e,C[i>>2]=v(r*v(1^t))-v(r*v(0|t)),n=v(n+h),t=e>>>2&1,C[i+8>>2]=v(n*v(1^t))-v(n*v(0|t))},Ue,function(t,e,i,r){var n,a,o;e|=0,i|=0,r|=0,Z=n=Z-48|0,yt[f[f[(t|=0)>>2]+124>>2]](t,n+32|0,r),f[e+12>>2]=0,r=f[n+40>>2],f[e+8>>2]=r,a=f[n+36>>2],f[e+4>>2]=a,o=e,e=f[n+32>>2],f[o>>2]=e,f[n+12>>2]=0,f[n+8>>2]=-2147483648^r,f[n+4>>2]=-2147483648^a,f[n>>2]=-2147483648^e,yt[f[f[t>>2]+64>>2]](n+16|0,t,n),r=f[(e=n+24|0)+4>>2],f[(t=i+8|0)>>2]=f[e>>2],f[t+4>>2]=r,t=f[n+20>>2],f[i>>2]=f[n+16>>2],f[i+4>>2]=t,Z=n+48|0},function(t,e,i){t|=0,e|=0,i=v(i);var r=v(0),n=v(0),a=0;return r=C[e>>2],n=C[t+32>>2],r<=v(n+i)^1|r>=v(v(-n)-i)^1||(r=C[e+4>>2],n=C[t+36>>2],r<=v(n+i)^1|r>=v(v(-n)-i)^1||(r=C[e+8>>2],n=C[t+40>>2],r<=v(n+i)&&(a=r>=v(v(-n)-i)))),0|a},function(t,e,i){t|=0,e|=0,i|=0;var r=0,n=v(0),a=v(0),o=v(0);if(i>>>0<=5){a=C[t+40>>2],o=C[t+36>>2],n=C[t+32>>2],t=1065353216,r=i;t:{e:{i:{A:switch(i-1|0){case 0:i=0,t=-1082130432,r=0;break t;case 1:i=1065353216;break e;case 2:i=-1082130432;break e;case 3:r=1065353216;break i;case 4:break A;default:break t}r=-1082130432}t=0,n=a,i=0;break t}t=0,n=o,r=0}f[e+8>>2]=r,f[e+4>>2]=i,f[e>>2]=t,C[e+12>>2]=-n}},pA,Je,xe,function(t,e,i){t|=0,e=v(e),i|=0;var r,n,a,o,_=v(0),h=v(0),d=v(0),g=v(0),m=0,y=v(0);Z=r=Z-16|0,a=f[(m=t+40|0)+4>>2],f[(n=r+8|0)>>2]=f[m>>2],f[n+4>>2]=a,m=f[t+36>>2],f[r>>2]=f[t+32>>2],f[r+4>>2]=m,_=v(yt[f[f[t>>2]+48>>2]](t)),g=v(yt[f[f[t>>2]+48>>2]](t)),o=n,y=v(v(yt[f[f[t>>2]+48>>2]](t))+C[n>>2]),C[o>>2]=y,C[r>>2]=_+C[r>>2],C[r+4>>2]=g+C[r+4>>2],_=v(e*v(.5)),g=v(e*v(.25)),e=v(e/v(12));t:{e:if(t=f[t+56>>2],!(t>>>0>2)){switch(t-1|0){default:d=_,_=C[r+4>>2],h=v(_*_),_=v(d*h),d=e,e=C[r>>2],d=h=v(v(g*h)+v(d*v(e*v(e*v(4)))));break t;case 0:break e;case 1:}h=_,_=C[r>>2],_=v(_*_),d=v(h*_),h=e,e=C[r+8>>2],h=_=v(v(g*_)+v(h*v(e*v(e*v(4)))));break t}h=_,_=C[r>>2],_=v(_*_),h=v(h*_),d=e,e=C[r+4>>2],d=_=v(v(g*_)+v(d*v(e*v(e*v(4)))))}f[i+12>>2]=0,C[i+8>>2]=d,C[i+4>>2]=h,C[i>>2]=_,Z=r+16|0},function(t){return 9792},FA,Ie,wA,function(t,e,i){return QA(t|=0,e|=0,i|=0),f[e+28>>2]=f[t+32>>2],f[e+32>>2]=f[t+36>>2],f[e+36>>2]=f[t+40>>2],f[e+40>>2]=f[t+44>>2],f[e+12>>2]=f[t+16>>2],f[e+16>>2]=f[t+20>>2],f[e+20>>2]=f[t+24>>2],f[e+24>>2]=f[t+28>>2],f[e+48>>2]=0,f[e+44>>2]=f[t+48>>2],t=f[t+56>>2],f[e+56>>2]=0,f[e+52>>2]=t,9802},function(t,e,i){t|=0,e|=0,i|=0;var r,n,a,o=v(0),_=v(0),h=v(0),d=0,g=v(0),m=v(0);Z=r=Z-16|0,yt[f[f[e>>2]+68>>2]](r,e,i),a=f[(n=r+8|0)+4>>2],f[(d=t+8|0)>>2]=f[n>>2],f[d+4>>2]=a,d=f[r+4>>2],f[t>>2]=f[r>>2],f[t+4>>2]=d,v(yt[f[f[e>>2]+48>>2]](e))!=v(0)&&(_=C[i+4>>2],o=C[i>>2],h=C[i+8>>2],g=v(yt[f[f[e>>2]+48>>2]](e)),m=o=(e=v(v(v(o*o)+v(_*_))+v(h*h))<v(14210854715202004e-30))?v(-1):o,h=e?v(-1):h,_=e?v(-1):_,o=v(v(1)/v(E(v(v(h*h)+v(v(o*o)+v(_*_)))))),C[t>>2]=C[t>>2]+v(g*v(m*o)),C[t+4>>2]=C[t+4>>2]+v(g*v(_*o)),C[t+8>>2]=C[t+8>>2]+v(g*v(h*o))),Z=r+16|0},function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=v(0),a=v(0),o=v(0),f=v(0),_=v(0);r=C[e+36>>2],n=C[e+32>>2],a=C[i>>2],o=C[i+8>>2],(f=v(E(v(v(a*a)+v(o*o)))))==v(0)||(n=v(n/f),_=v(o*n),n=v(a*n)),r=C[i+4>>2]<v(0)?v(-r):r,C[t+8>>2]=_,C[t+4>>2]=r,C[t>>2]=n},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n=v(0),a=v(0),o=v(0),f=v(0),_=v(0);if((0|r)>=1)for(;n=C[t+36>>2],a=C[t+32>>2],f=C[e>>2],o=C[e+8>>2],(_=v(E(v(v(f*f)+v(o*o)))))==v(0)?(o=v(0),n=C[e+4>>2]<v(0)?v(-n):n):(a=v(a/_),o=v(o*a),a=v(f*a),n=C[e+4>>2]<v(0)?v(-n):n),C[i>>2]=a,C[i+8>>2]=o,C[i+4>>2]=n,i=i+16|0,e=e+16|0,r=r+-1|0;);},Me,pA,function(t){return 9822},function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=v(0),a=v(0),o=v(0),f=v(0),_=v(0);n=C[e+36>>2],r=C[e+32>>2],a=C[i+4>>2],o=C[i+8>>2],(f=v(E(v(v(a*a)+v(o*o)))))==v(0)||(n=v(n/f),_=v(o*n),n=v(a*n)),r=C[i>>2]<v(0)?v(-r):r,C[t+8>>2]=_,C[t>>2]=r,C[t+4>>2]=n},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n=v(0),a=v(0),o=v(0),f=v(0),_=v(0),h=0;if((0|r)>=1)for(;n=C[t+32>>2],a=C[t+36>>2],h=i,f=C[e+4>>2],o=C[e+8>>2],(_=v(E(v(v(f*f)+v(o*o)))))==v(0)?(o=v(0),n=C[e>>2]<v(0)?v(-n):n):(a=v(a/_),o=v(o*a),a=v(f*a),n=C[e>>2]<v(0)?v(-n):n),C[h>>2]=n,C[i+8>>2]=o,C[i+4>>2]=a,i=i+16|0,e=e+16|0,r=r+-1|0;);},function(t){t|=0;var e=v(0),i=v(0);return e=C[t+36>>2],v(yt[f[f[t>>2]+48>>2]](t)),i=v(yt[f[f[t>>2]+48>>2]](t)),v(yt[f[f[t>>2]+48>>2]](t)),v(v(e+i))},pA,function(t){return 9832},function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=v(0),a=v(0),o=v(0),f=v(0),_=v(0);r=C[e+40>>2],n=C[e+32>>2],e=t,a=C[i>>2],o=C[i+4>>2],(f=v(E(v(v(a*a)+v(o*o)))))==v(0)||(n=v(n/f),_=v(o*n),n=v(a*n)),r=C[i+8>>2]<v(0)?v(-r):r,C[e+8>>2]=r,C[t>>2]=n,C[t+4>>2]=_},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n=v(0),a=v(0),o=v(0),f=v(0),_=v(0);if((0|r)>=1)for(;n=C[t+40>>2],a=C[t+32>>2],f=C[e>>2],o=C[e+4>>2],(_=v(E(v(v(f*f)+v(o*o)))))==v(0)?(o=v(0),n=C[e+8>>2]<v(0)?v(-n):n):(a=v(a/_),o=v(o*a),a=v(f*a),n=C[e+8>>2]<v(0)?v(-n):n),C[i>>2]=a,C[i+8>>2]=n,C[i+4>>2]=o,i=i+16|0,e=e+16|0,r=r+-1|0;);},Me,pA,function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0);h=v(yt[f[f[t>>2]+48>>2]](t)),d=v(yt[f[f[t>>2]+48>>2]](t)),g=v(yt[f[f[t>>2]+48>>2]](t)),a=C[(t=e+52|0)>>2],o=C[(n=e+56|0)>>2],_=C[e+48>>2],f[i+12>>2]=0,C[i+8>>2]=o-g,C[i+4>>2]=a-d,C[i>>2]=_-h,a=C[t>>2],o=C[n>>2],_=C[e+48>>2],f[r+12>>2]=0,C[r+8>>2]=g+o,C[r+4>>2]=d+a,C[r>>2]=h+_},function(t,e,i){t|=0,e=v(e),i|=0;var r=v(0),n=v(0);r=v(yt[f[f[t>>2]+48>>2]](t)),n=v(yt[f[f[t>>2]+48>>2]](t)),f[i+12>>2]=0,e=v(n*v(r*v(e*v(.4000000059604645)))),C[i+8>>2]=e,C[i+4>>2]=e,C[i>>2]=e},function(t){return 9972},Ge,function(t){return v(v(C[(t|=0)+32>>2]*C[t+16>>2]))},function(t,e,i){t|=0,e|=0,i|=0;var r,n,a,o=v(0),_=v(0),h=v(0),d=0,g=v(0),m=v(0);Z=r=Z-16|0,yt[f[f[e>>2]+68>>2]](r,e,i),d=f[(a=r+8|0)+4>>2],f[(n=t+8|0)>>2]=f[a>>2],f[n+4>>2]=d,d=f[r+4>>2],f[t>>2]=f[r>>2],f[t+4>>2]=d,_=C[i+4>>2],o=C[i>>2],h=C[i+8>>2],g=v(yt[f[f[e>>2]+48>>2]](e)),m=o=(e=v(v(v(o*o)+v(_*_))+v(h*h))<v(14210854715202004e-30))?v(-1):o,h=e?v(-1):h,_=e?v(-1):_,o=v(v(1)/v(E(v(v(h*h)+v(v(o*o)+v(_*_)))))),C[t>>2]=C[t>>2]+v(g*v(m*o)),C[t+4>>2]=C[t+4>>2]+v(g*v(_*o)),C[n>>2]=C[n>>2]+v(g*v(h*o)),Z=r+16|0},function(t,e,i){f[(t|=0)>>2]=0,f[t+4>>2]=0,f[(t=t+8|0)>>2]=0,f[t+4>>2]=0},function(t,e,i,r){(0|(r|=0))>=1&&X(i|=0,0,r<<4)},sA,ve,Oe,ve,Oe,sA,kA,function(t,e){t|=0,e=v(e),C[t+16>>2]=e},function(t){return v(C[(t|=0)+16>>2])},sA,pA,function(t,e,i,r){r|=0,f[(i|=0)+8>>2]=-581039253,f[i+12>>2]=0,f[i>>2]=-581039253,f[i+4>>2]=-581039253,f[r+8>>2]=1566444395,f[r+12>>2]=0,f[r>>2]=1566444395,f[r+4>>2]=1566444395},function(t,e){t|=0;var i=0;i=f[(e|=0)+4>>2],f[t+72>>2]=f[e>>2],f[t+76>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+80|0)>>2]=f[e>>2],f[t+4>>2]=i},ze,he,function(t){return 10516},ye,function(t,e,i){return QA(t|=0,e|=0,i|=0),f[e+12>>2]=f[t+72>>2],f[e+16>>2]=f[t+76>>2],f[e+20>>2]=f[t+80>>2],f[e+24>>2]=f[t+84>>2],f[e+28>>2]=f[t+52>>2],f[e+32>>2]=f[t+56>>2],f[e+36>>2]=f[t+60>>2],f[e+40>>2]=f[t- -64>>2],t=f[t+68>>2],f[e+48>>2]=0,f[e+44>>2]=t,10528},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a,o,_,h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0);Z=n=Z-48|0,R=C[r>>2],m=C[i>>2],g=v(v(R-m)*v(.5)),p=v(g*g),d=C[r+4>>2],h=C[i+4>>2],g=v(v(d-h)*v(.5)),F=v(p+v(g*g)),p=C[r+8>>2],D=C[i+8>>2],g=v(v(p-D)*v(.5)),g=v(E(v(F+v(g*g)))),p=v(v(p+D)*v(.5)),D=v(v(d+h)*v(.5)),V=v(v(R+m)*v(.5)),R=C[t+60>>2],v(y(R))>v(.7071067690849304)?(m=C[t+56>>2],d=v(v(R*R)+v(m*m)),h=v(v(1)/v(E(d))),G=v(d*h),d=C[t+52>>2],B=v(m*h),w=v(-v(d*B)),h=v(-v(R*h)),Q=v(d*h)):(d=C[t+52>>2],m=C[t+56>>2],G=v(v(d*d)+v(m*m)),h=v(v(1)/v(E(G))),Q=v(G*h),Y=v(-v(m*h)),w=v(R*Y),h=v(d*h),G=v(-v(R*h))),W=C[t+68>>2],f[(t=n+44|0)>>2]=0,f[(i=n+28|0)>>2]=0,r=n+40|0,F=p,p=v(v(v(R*p)+v(v(V*d)+v(D*m)))-W),W=v(F-v(R*p)),B=v(g*B),F=v(W-B),R=v(g*Q),Q=v(F-R),C[r>>2]=Q,a=n+36|0,D=v(D-v(m*p)),h=v(g*h),z=v(D-h),m=v(g*w),w=v(z-m),C[a>>2]=w,o=n+24|0,B=v(B+W),C[o>>2]=B-R,_=n+20|0,h=v(h+D),C[_>>2]=h-m,f[n+12>>2]=0,d=v(V-v(d*p)),p=v(g*Y),D=v(d-p),g=v(g*G),V=v(D-g),C[n+32>>2]=V,d=v(p+d),C[n+16>>2]=d-g,p=v(R+B),C[n+8>>2]=p,h=v(m+h),C[n+4>>2]=h,d=v(g+d),C[n>>2]=d,yt[f[f[e>>2]+8>>2]](e,n,0,0),f[t>>2]=0,C[r>>2]=p,C[a>>2]=h,f[i>>2]=0,C[o>>2]=R+F,C[_>>2]=m+z,C[n+32>>2]=d,C[n+16>>2]=g+D,f[n+12>>2]=0,C[n+8>>2]=Q,C[n+4>>2]=w,C[n>>2]=V,yt[f[f[e>>2]+8>>2]](e,n,0,1),Z=n+48|0},Ke,function(t){var e;f[(t|=0)>>2]=11012,(e=f[t+88>>2])&&(_[t+92|0]&&CA(e),f[t+88>>2]=0),f[t+88>>2]=0,f[t+80>>2]=0,f[t+84>>2]=0,n[t+92|0]=1,CA(t)},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0);w=C[e+52>>2],g=C[e+24>>2],D=C[e+20>>2],n=C[e+56>>2],m=C[e+40>>2],o=C[t+44>>2],_=C[t+28>>2],h=C[t+36>>2],p=C[e+36>>2],d=C[t+40>>2],a=C[t+24>>2],Q=C[e+48>>2],B=C[e+8>>2],E=C[e>>2],F=C[e+4>>2],V=C[e+16>>2],G=C[e+32>>2],R=C[t+20>>2],f[i+12>>2]=0,W=n,n=v(v(R+h)*v(.5)),a=v(v(a+d)*v(.5)),_=v(v(_+o)*v(.5)),R=v(W+v(v(v(G*n)+v(p*a))+v(m*_))),h=v(h-n),d=v(d-a),o=v(o-_),m=v(v(v(h*v(y(G)))+v(d*v(y(p))))+v(o*v(y(m)))),C[i+8>>2]=R-m,p=v(w+v(v(v(n*V)+v(a*D))+v(_*g))),g=v(v(v(h*v(y(V)))+v(d*v(y(D))))+v(o*v(y(g)))),C[i+4>>2]=p-g,n=v(Q+v(v(v(n*E)+v(a*F))+v(_*B))),a=v(v(v(h*v(y(E)))+v(d*v(y(F))))+v(o*v(y(B)))),C[i>>2]=n-a,f[r+12>>2]=0,C[r+8>>2]=m+R,C[r+4>>2]=g+p,C[r>>2]=a+n},function(t,e){t|=0;var i=0,r=0;r=f[(e|=0)+4>>2],f[(i=t+160|0)>>2]=f[e>>2],f[i+4>>2]=r,r=f[(e=e+8|0)+4>>2],f[(i=t+168|0)>>2]=f[e>>2],f[i+4>>2]=r,yt[f[f[t>>2]+72>>2]](t)},function(t){return(t|=0)+160|0},function(t,e,i){t|=0,e=v(e),i|=0;var r=0,n=v(0),a=v(0),o=0,_=v(0),h=v(0),d=v(0),y=v(0),p=v(0),R=0,D=0;if(yt[f[f[t>>2]+112>>2]](t),f[(r=i+8|0)>>2]=0,f[r+4>>2]=0,f[i>>2]=0,f[i+4>>2]=0,o=f[t+188>>2])if(e=v(e/v(0|o)),r=f[t+196>>2],D=f[t+184>>2],1==f[t+192>>2])for(R=0-r|0,r=m(r,o+-1|0)+D|0;n=C[t+168>>2],_=v(g[r>>3]*+C[t+160>>2]),_=v(_*_),a=v(g[r+8>>3]*+C[t+164>>2]),a=v(a*a),d=v(v(e*v(_+a))+d),C[i+8>>2]=d,n=v(g[r+16>>3]*+n),n=v(n*n),y=v(v(e*v(_+n))+y),C[i+4>>2]=y,p=v(p+v(e*v(a+n))),C[i>>2]=p,r=r+R|0,o=o+-1|0;);else for(R=0-r|0,r=m(r,o+-1|0)+D|0;n=C[r+8>>2],_=C[t+168>>2],a=v(C[r>>2]*C[t+160>>2]),a=v(a*a),h=v(C[r+4>>2]*C[t+164>>2]),h=v(h*h),d=v(v(e*v(a+h))+d),C[i+8>>2]=d,n=v(n*_),n=v(n*n),y=v(v(e*v(a+n))+y),C[i+4>>2]=y,p=v(p+v(e*v(h+n))),C[i>>2]=p,r=r+R|0,o=o+-1|0;);yt[f[f[t>>2]+116>>2]](t)},function(t){return 11292},function(t,e){t|=0,e=v(e),C[t+152>>2]=e,yt[f[f[t>>2]+72>>2]](t)},function(t){return v(C[(t|=0)+152>>2])},function(t,e,i,r){e|=0,i|=0,r|=0;var a,o=0,h=0,d=0;if(Z=a=Z-128|0,yt[f[f[(t|=0)>>2]+112>>2]](t),d=f[(h=i+8|0)+4>>2],f[(o=a+104|0)>>2]=f[h>>2],f[o+4>>2]=d,d=f[(h=r+8|0)+4>>2],f[(o=a+120|0)>>2]=f[h>>2],f[o+4>>2]=d,o=f[i+4>>2],f[a+96>>2]=f[i>>2],f[a+100>>2]=o,i=f[r+4>>2],f[a+112>>2]=f[r>>2],f[a+116>>2]=i,f[a+84>>2]=0,n[a+88|0]=1,f[a+76>>2]=0,f[a+80>>2]=0,_A(t+72|0,a+96|0,a+72|0),i=f[a+76>>2])for(o=f[t+176>>2],f[a+64>>2]=1008981770,r=(i<<2)-4|0;h=f[f[a+84>>2]+r>>2],d=0|yt[f[f[t>>2]+84>>2]](t),yt[f[f[d>>2]+20>>2]](d,h,a),yt[f[f[e>>2]+8>>2]](e,a,o,f[f[a+84>>2]+r>>2]),r=r+-4|0,i=i+-1|0;);yt[f[f[t>>2]+116>>2]](t),(t=f[a+84>>2])&&(_[a+88|0]&&CA(t),f[a+84>>2]=0),Z=a+128|0},function(t){t|=0;var e,i,r,o,d,g=0,y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0);yt[f[f[t>>2]+112>>2]](t),g=t+72|0,f[t+72>>2]?function(t){var e,i=0,r=0,n=v(0),o=v(0),_=v(0),d=0,g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=0,G=v(0),w=v(0),Q=0,W=0,Y=0,z=0,pt=0,Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=0;if(Z=e=Z+-64|0,i=f[t>>2])for(Q=i<<4,W=i+1|0,Y=f[t+16>>2],z=e+16|0,pt=e+48|0;(0|(i=f[(d=Q+Y|0)+-4>>2]))>=0?(d=f[t+72>>2],yt[f[f[d>>2]+16>>2]](d,i,e+32|0),g=C[e+32>>2],n=C[e+36>>2],i=(d=(Y=f[t+16>>2])+Q|0)+-12|0,m=C[t+48>>2],o=C[t+32>>2],_=(_=C[e+40>>2])<o?o:_,B=C[t+64>>2],r=(_=v(v(v((m<_?m:_)-o)*B)+v(.5)))<v(4294967296)&_>=v(0)?~~_>>>0:0,a[i>>1]=r,i=d+-14|0,p=C[t+44>>2],n=n<(_=C[t+28>>2])?_:n,E=C[t+60>>2],r=(n=v(v(v((p<n?p:n)-_)*E)+v(.5)))<v(4294967296)&n>=v(0)?~~n>>>0:0,a[i>>1]=r,i=d+-16|0,y=C[t+40>>2],g=g<(n=C[t+24>>2])?n:g,F=C[t+56>>2],r=(g=v(v(v((y<g?y:g)-n)*F)+v(.5)))<v(4294967296)&g>=v(0)?~~g>>>0:0,a[i>>1]=r,g=C[e+48>>2],i=(n=v(v(F*v((y<(g=g<n?n:g)?y:g)-n))+v(.5)))<v(4294967296)&n>=v(0)?~~n>>>0:0,n=C[e+56>>2],y=C[e+52>>2],a[d+-10>>1]=i,i=d+-8|0,r=(_=v(v(E*v((p<(y=y<_?_:y)?p:y)-_))+v(.5)))<v(4294967296)&_>=v(0)?~~_>>>0:0,a[i>>1]=r,i=d+-6|0,d=(o=v(v(B*v((m<(_=n<o?o:n)?m:_)-o))+v(.5)))<v(4294967296)&o>=v(0)?~~o>>>0:0,a[i>>1]=d):(f[e+56>>2]=-8388609,f[e+48>>2]=-8388609,f[e+52>>2]=-8388609,f[e+36>>2]=2139095039,f[e+40>>2]=2139095039,i=h[d>>1],r=h[d+2>>1],V=h[d+4>>1],f[e+12>>2]=0,B=C[t+64>>2],p=C[t+32>>2],m=v(v(v(V>>>0)/B)+p),C[e+8>>2]=m,E=C[t+60>>2],y=C[t+28>>2],_=v(v(v(r>>>0)/E)+y),C[e+4>>2]=_,F=C[t+56>>2],g=C[t+24>>2],o=v(v(v(i>>>0)/F)+g),C[e>>2]=o,i=h[d+6>>1],r=h[d+8>>1],V=h[d+10>>1],f[e+28>>2]=0,D=v(p+v(v(V>>>0)/B)),C[e+24>>2]=D,w=v(y+v(v(r>>>0)/E)),C[e+20>>2]=w,n=v(g+v(v(i>>>0)/F)),C[e+16>>2]=n,G=o<v(34028234663852886e22)?o:v(34028234663852886e22),C[e+32>>2]=G,i=_<v(34028234663852886e22)?e:e+32|0,_=C[i+4>>2],i=f[i+4>>2],r=m<v(34028234663852886e22)?e:e+32|0,o=C[r+8>>2],f[e+40>>2]=f[r+8>>2],R=n>v(-34028234663852886e22)?n:v(-34028234663852886e22),C[e+48>>2]=R,f[e+36>>2]=i,i=f[d+12>>2],r=w>v(-34028234663852886e22)?z:pt,n=C[r+4>>2],f[e+52>>2]=f[r+4>>2],r=D>v(-34028234663852886e22)?z:pt,m=C[r+8>>2],f[e+56>>2]=f[r+8>>2],(i=(((0|i)>-1?i:-1)-i|0)+W|0)&&(r=h[(i=(i<<4)+Y|0)+2>>1],V=h[i+4>>1],Et=h[i>>1],f[e+12>>2]=0,D=v(v(v(Et>>>0)/F)+g),C[e>>2]=D,Dt=v(v(v(V>>>0)/B)+p),C[e+8>>2]=Dt,It=v(v(v(r>>>0)/E)+y),C[e+4>>2]=It,r=h[i+6>>1],V=h[i+8>>1],i=h[i+10>>1],f[e+28>>2]=0,St=v(p+v(v(i>>>0)/B)),C[e+24>>2]=St,Tt=v(y+v(v(V>>>0)/E)),C[e+20>>2]=Tt,w=v(g+v(v(r>>>0)/F)),C[e+16>>2]=w,_=C[(i=It<_?e:e+32|0)+4>>2],i=f[i+4>>2],o=C[(r=Dt<o?e:e+32|0)+8>>2],f[e+40>>2]=f[r+8>>2],R=R<w?w:R,C[e+48>>2]=R,G=G>D?D:G,C[e+32>>2]=G,f[e+36>>2]=i,n=C[(i=Tt>n?z:pt)+4>>2],f[e+52>>2]=f[i+4>>2],m=C[(i=St>m?z:pt)+8>>2],f[e+56>>2]=f[i+8>>2]),i=d+-6|0,D=C[t+48>>2],r=(m=v(v(B*v((D<(m=m<p?p:m)?D:m)-p))+v(.5)))<v(4294967296)&m>=v(0)?~~m>>>0:0,a[i>>1]=r,i=d+-8|0,m=C[t+44>>2],r=(n=v(v(E*v((m<(n=n<y?y:n)?m:n)-y))+v(.5)))<v(4294967296)&n>=v(0)?~~n>>>0:0,a[i>>1]=r,i=d+-10|0,n=C[t+40>>2],r=(R=v(v(F*v((n<(R=R<g?g:R)?n:R)-g))+v(.5)))<v(4294967296)&R>=v(0)?~~R>>>0:0,a[i>>1]=r,i=d+-12|0,r=(o=v(v(v((D<(o=o<p?p:o)?D:o)-p)*B)+v(.5)))<v(4294967296)&o>=v(0)?~~o>>>0:0,a[i>>1]=r,i=d+-14|0,r=(o=v(v(v((m<(o=_<y?y:_)?m:o)-y)*E)+v(.5)))<v(4294967296)&o>=v(0)?~~o>>>0:0,a[i>>1]=r,i=d+-16|0,d=(o=v(v(v((n<(o=G<g?g:G)?n:o)-g)*F)+v(.5)))<v(4294967296)&o>=v(0)?~~o>>>0:0,a[i>>1]=d),Q=Q+-16|0,1!=(0|(W=W+-1|0)););Z=e- -64|0}(g):function(t){var e,i,r=0,a=0,o=0,h=0,d=0,g=0,y=0;if(Z=e=Z+-64|0,n[e+56|0]=1,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,r=f[t+72>>2],i=0|yt[f[f[r>>2]+12>>2]](r),f[(r=o=e+32|0)>>2]=0,f[r+4>>2]=0,f[(r=g=e+24|0)>>2]=0,f[r+4>>2]=0,f[(r=a=e+16|0)>>2]=0,f[r+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,(0|i)<=0)f[e+44>>2]=i;else{if(r=dA(m(i,36)),f[r+32>>2]=0,f[e+52>>2]=r,f[e+48>>2]=i,n[e+56|0]=1,h=f[a+4>>2],f[(d=r+8|0)>>2]=f[a>>2],f[d+4>>2]=h,a=f[e+12>>2],f[r>>2]=f[e+8>>2],f[r+4>>2]=a,a=f[e+28>>2],f[r+16>>2]=f[e+24>>2],f[r+20>>2]=a,a=f[o+4>>2],f[(r=r+24|0)>>2]=f[o>>2],f[r+4>>2]=a,1!=(0|i))for(d=i+-1|0,o=36;h=f[e+12>>2],a=f[e+52>>2]+o|0,f[(r=a)>>2]=f[e+8>>2],f[r+4>>2]=h,y=f[(h=e+16|0)+4>>2],f[(r=r+8|0)>>2]=f[h>>2],f[r+4>>2]=y,y=f[(r=g)+4>>2],f[(h=a+16|0)>>2]=f[r>>2],f[h+4>>2]=y,y=f[(r=r+8|0)+4>>2],f[(h=a+24|0)>>2]=f[r>>2],f[h+4>>2]=y,f[a+32>>2]=0,o=o+36|0,d=d+-1|0;);if(f[e+44>>2]=i,!((0|i)<1))for(r=0,o=f[e+52>>2];g=f[t+72>>2],yt[f[f[g>>2]+16>>2]](g,r,o),f[o+32>>2]=r,o=o+36|0,(0|(r=r+1|0))<(0|i););}(function(t,e){var i,r,a=0,o=0,h=0,d=0,g=0,m=0,y=0,p=0;if(Z=i=Z-16|0,function(t,e){var i,r,n=0,a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=0,p=0,R=0;if(f[(i=Z-32|0)+24>>2]=-8388609,f[i+16>>2]=-8388609,f[i+20>>2]=-8388609,f[i+8>>2]=2139095039,f[i>>2]=2139095039,f[i+4>>2]=2139095039,(0|(r=f[e+4>>2]))<1)_=v(34028234663852886e22),h=v(-34028234663852886e22),d=v(-34028234663852886e22),a=v(-34028234663852886e22),g=v(34028234663852886e22),o=v(34028234663852886e22);else for(y=i+16|0,e=f[e+12>>2]+16|0,_=v(34028234663852886e22),h=v(-34028234663852886e22),d=v(-34028234663852886e22),a=v(-34028234663852886e22),g=v(34028234663852886e22),o=v(34028234663852886e22);o=o>(m=C[(n=e+-16|0)>>2])?m:o,C[i>>2]=o,p=g>C[e+-12>>2]?n:i,g=C[p+4>>2],f[i+4>>2]=f[p+4>>2],n=_>C[e+-8>>2]?n:i,_=C[n+8>>2],f[i+8>>2]=f[n+8>>2],a=a<(m=C[e>>2])?m:a,C[i+16>>2]=a,n=d<C[e+4>>2]?e:y,d=C[n+4>>2],f[i+20>>2]=f[n+4>>2],n=h<C[e+8>>2]?e:y,h=C[n+8>>2],f[i+24>>2]=f[n+8>>2],e=e+36|0,(0|(R=R+1|0))<(0|r););f[t+68>>2]=0,f[t+52>>2]=0,h=v(h+v(1)),C[t+48>>2]=h,d=v(d+v(1)),C[t+44>>2]=d,a=v(a+v(1)),C[t+40>>2]=a,f[t+36>>2]=0,_=v(_-v(1)),C[t+32>>2]=_,g=v(g-v(1)),C[t+28>>2]=g,o=v(o-v(1)),C[t+24>>2]=o,C[t- -64>>2]=v(65535)/v(h-_),C[t+60>>2]=v(65535)/v(d-g),C[t+56>>2]=v(65535)/v(a-o)}(t,e),f[t>>2]=0,(0|(a=f[t+8>>2]))<(0|(r=(h=f[e+4>>2])<<1))){if(f[t+12>>2]<(0|r)){if(h?(p=dA(h<<5),o=f[t+8>>2]):o=a,(0|o)>=1)for(;m=f[t+16>>2]+d|0,y=f[m+4>>2],f[(g=d+p|0)>>2]=f[m>>2],f[g+4>>2]=y,y=f[(m=m+8|0)+4>>2],f[(g=g+8|0)>>2]=f[m>>2],f[g+4>>2]=y,d=d+16|0,o=o+-1|0;);(o=f[t+16>>2])&&(_[t+20|0]&&CA(o),f[t+16>>2]=0),f[t+16>>2]=p,f[t+12>>2]=r,n[t+20|0]=1}for(d=a<<4,o=a-(h<<1)|0;h=f[i+4>>2],a=f[t+16>>2]+d|0,f[a>>2]=f[i>>2],f[a+4>>2]=h,f[a+8>>2]=f[i+8>>2],f[a+12>>2]=0,d=d+16|0,h=(a=o+1|0)>>>0>=o>>>0,o=a,h;);h=f[e+4>>2]}f[t+8>>2]=r,gA(t,e,0,h),Z=i+16|0})(t,e+40|0),(t=f[e+52>>2])&&(_[e+56|0]&&CA(t),f[e+52>>2]=0),Z=e- -64|0}(g),yt[f[f[t>>2]+116>>2]](t),g=f[t+88>>2],e=h[g+8>>1],i=h[g+10>>1],r=h[g>>1],o=h[g+2>>1],d=h[g+4>>1],g=h[g+6>>1],f[t+48>>2]=0,f[t+32>>2]=0,y=C[t+96>>2],p=C[t+128>>2],C[t+36>>2]=y+v(v(g>>>0)/p),R=C[t+136>>2],D=C[t+104>>2],C[t+28>>2]=v(v(d>>>0)/R)+D,B=C[t+132>>2],E=C[t+100>>2],C[t+24>>2]=v(v(o>>>0)/B)+E,C[t+20>>2]=y+v(v(r>>>0)/p),C[t+44>>2]=D+v(v(i>>>0)/R),C[t+40>>2]=E+v(v(e>>>0)/B)},function(t){n[(t|=0)+52|0]=1},function(t){return 25},We,function(t){return(t|=0)+148|0},function(t){return f[(t|=0)+208>>2]},we,We,we,function(t,e,i){(function(t,e,i){var r=v(0),n=0,a=0,o=0;e=f[t+52>>2]+m(f[t+56>>2],e)|0,o=f[t+36>>2],3!=f[t+64>>2]?(n=f[e+8>>2],a=f[e+4>>2],e=f[e>>2]):(n=h[e+4>>1],a=h[e+2>>1],e=h[e>>1]),e=o+m(e,f[t+48>>2])|0,o=i+68|0,1!=f[t+44>>2]?(C[i+60>>2]=C[e>>2]*C[t+12>>2],C[i- -64>>2]=C[e+4>>2]*C[t+16>>2],r=v(C[e+8>>2]*C[t+20>>2])):(C[i+60>>2]=g[e>>3]*+C[t+12>>2],C[i- -64>>2]=g[e+8>>3]*+C[t+16>>2],r=v(g[e+16>>3]*+C[t+20>>2])),C[o>>2]=r,e=f[t+36>>2]+m(f[t+48>>2],a)|0,a=i+84|0,1!=f[t+44>>2]?(C[i+76>>2]=C[e>>2]*C[t+12>>2],C[i+80>>2]=C[e+4>>2]*C[t+16>>2],r=v(C[e+8>>2]*C[t+20>>2])):(C[i+76>>2]=g[e>>3]*+C[t+12>>2],C[i+80>>2]=g[e+8>>3]*+C[t+16>>2],r=v(g[e+16>>3]*+C[t+20>>2])),C[a>>2]=r,e=f[t+36>>2]+m(f[t+48>>2],n)|0,n=i+100|0,1!=f[t+44>>2]?(C[i+92>>2]=C[e>>2]*C[t+12>>2],C[i+96>>2]=C[e+4>>2]*C[t+16>>2],r=v(C[e+8>>2]*C[t+20>>2])):(C[i+92>>2]=g[e>>3]*+C[t+12>>2],C[i+96>>2]=g[e+8>>3]*+C[t+16>>2],r=v(g[e+16>>3]*+C[t+20>>2])),C[n>>2]=r,yt[f[f[i>>2]+44>>2]](i,C[t+4>>2])})((t|=0)+148|0,e|=0,i|=0)},De,function(t){var e=0;t=f[(t|=0)+144>>2],(0|(e=f[t+32>>2]))>=1?f[t+32>>2]=e+1:(e=f[t+8>>2],yt[f[f[e>>2]+16>>2]](e,t+36|0,t+40|0,t+44|0,t+48|0,t+52|0,t+56|0,t+60|0,t- -64|0,f[t+28>>2]),f[t+32>>2]=1)},function(t){var e=0,i=0;t=f[(t|=0)+144>>2],(e=f[t+32>>2])&&(i=t,(0|e)>=2?t=e+-1|0:(e=f[t+8>>2],yt[f[f[e>>2]+24>>2]](e,f[t+28>>2]),f[t+36>>2]=0,t=0),f[i+32>>2]=t)},function(t,e,i,r,n){t|=0,e|=0,i|=0,r|=0,n|=0;var a,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0);Z=a=Z-32|0,t=0|yt[f[f[t>>2]+84>>2]](t),yt[f[f[t>>2]+16>>2]](t,e,a),Y=C[i+56>>2],B=C[i+36>>2],E=C[i+40>>2],F=C[i+32>>2],R=C[i+48>>2],m=C[i+8>>2],V=C[i>>2],G=C[i+4>>2],h=C[a+16>>2],o=v(v(h+C[a>>2])*v(.5)),d=C[(e=a+20|0)>>2],_=v(v(d+C[a+4>>2])*v(.5)),g=C[(t=a+24|0)>>2],D=v(v(g+C[a+8>>2])*v(.5)),h=v(h-o),p=C[i+16>>2],d=v(d-_),w=C[i+20>>2],g=v(g-D),Q=C[i+24>>2],W=v(v(v(h*v(y(p)))+v(d*v(y(w))))+v(g*v(y(Q)))),p=v(v(v(v(o*p)+v(_*w))+v(D*Q))+C[i+52>>2]),C[e>>2]=W+p,C[a+4>>2]=p-W,R=v(R+v(v(v(o*V)+v(_*G))+v(D*m))),m=v(v(v(h*v(y(V)))+v(d*v(y(G))))+v(g*v(y(m)))),C[a>>2]=R-m,e=f[a+4>>2],f[r>>2]=f[a>>2],f[r+4>>2]=e,f[a+12>>2]=0,o=v(Y+v(v(v(o*F)+v(_*B))+v(D*E))),_=v(v(v(h*v(y(F)))+v(d*v(y(B))))+v(g*v(y(E)))),C[a+8>>2]=o-_,i=f[a+12>>2],f[(e=r+8|0)>>2]=f[a+8>>2],f[e+4>>2]=i,f[a+28>>2]=0,C[t>>2]=_+o,C[a+16>>2]=m+R,e=f[a+20>>2],f[n>>2]=f[a+16>>2],f[n+4>>2]=e,i=f[t+4>>2],f[(e=n+8|0)>>2]=f[t>>2],f[e+4>>2]=i,Z=a+32|0},oe,oe,De,De,ae,function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var a,o=v(0),d=v(0),g=v(0),m=v(0),p=0,R=0,D=0;if(Z=a=Z-112|0,yt[f[f[t>>2]+112>>2]](t),f[a+100>>2]=0,n[a+104|0]=1,f[a+92>>2]=0,f[a+96>>2]=0,f[a+84>>2]=0,o=v(C[r>>2]-C[i>>2]),d=v(C[r+4>>2]-C[i+4>>2]),g=v(C[r+8>>2]-C[i+8>>2]),m=v(v(1)/v(E(v(v(v(o*o)+v(d*d))+v(g*g))))),C[a+80>>2]=g*m,C[a+76>>2]=d*m,C[a+72>>2]=o*m,function(t,e,i,r){var a,o=v(0),d=0,g=0,m=v(0),p=v(0),R=0,D=0,B=v(0),E=v(0),F=v(0),V=0,G=0,w=v(0),Q=0,W=v(0),Y=v(0),Z=0,z=v(0),yt=v(0),pt=v(0);if((0|(a=f[t>>2]))>=1)for(;;){d=(V=Q<<4)+f[t+16>>2]|0,R=h[d+4>>1],B=C[t+64>>2],m=C[t+32>>2],D=h[d+10>>1],g=h[d+2>>1],E=C[t+60>>2],p=C[t+28>>2],G=h[d+8>>1],F=C[t+24>>2],o=C[t+56>>2],w=v(F+v(v(h[d+6>>1])/o));t:{e:{if(o=v(v(v(v(v(h[d>>1])/o)+F)+w)*v(.5)),F=v(C[i>>2]-o),w=v(w-o),v(F*C[e>>2])>=v(0)&&v(y(F))>w||(o=v(v(v(g>>>0)/E)+p),p=v(p+v(v(G>>>0)/E)),o=v(v(o+p)*v(.5)),E=v(C[i+4>>2]-o),p=v(p-o),v(E*C[e+4>>2])>=v(0)&&v(y(E))>p||(o=v(v(v(R>>>0)/B)+m),m=v(m+v(v(D>>>0)/B)),o=v(v(o+m)*v(.5)),B=v(C[i+8>>2]-o),o=v(m-o),m=C[e+8>>2],v(B*m)>=v(0)&&v(y(B))>o||(W=C[e+4>>2],z=v(y(W)),yt=v(y(m)),v(y(v(v(B*W)-v(E*m))))>v(v(p*yt)+v(o*z))||(Y=C[e>>2],pt=v(y(Y)),v(y(v(v(F*m)-v(B*Y))))>v(v(w*yt)+v(o*pt)))))))d=f[d+12>>2]>-1,R=0;else if(R=1^(D=v(y(v(v(E*Y)-v(F*W))))>v(v(w*z)+v(p*pt))),d=(0|(Z=f[d+12>>2]))>-1,!((0|Z)<0|D)){if((0|(g=f[r+4>>2]))==f[r+8>>2]&&!((0|g)>=(0|(G=g?g<<1:1)))){G?(V=dA(G<<2),g=f[r+4>>2]):V=0,D=f[r+12>>2];i:{if((0|g)>=1)for(d=V,R=D;f[d>>2]=f[R>>2],d=d+4|0,R=R+4|0,g=g+-1|0;);else if(!D)break i;_[r+16|0]&&CA(D),f[r+12>>2]=0,g=f[r+4>>2]}f[r+12>>2]=V,n[r+16|0]=1,f[r+8>>2]=G}f[f[r+12>>2]+(g<<2)>>2]=Z,f[r+4>>2]=f[r+4>>2]+1;break e}if(!(d|R)){Q=Q-f[12+(V+f[t+16>>2]|0)>>2]|0;break t}}Q=Q+1|0}if(!((0|Q)<(0|a)))break}}(t+72|0,a+72|0,i,a+88|0),r=f[a+92>>2])for(R=f[t+176>>2],f[a+64>>2]=1008981770,i=(r<<2)-4|0;D=f[f[a+100>>2]+i>>2],p=0|yt[f[f[t>>2]+84>>2]](t),yt[f[f[p>>2]+20>>2]](p,D,a),yt[f[f[e>>2]+8>>2]](e,a,R,f[f[a+100>>2]+i>>2]),i=i+-4|0,r=r+-1|0;);yt[f[f[t>>2]+116>>2]](t),(t=f[a+100>>2])&&(_[a+104|0]&&CA(t),f[a+100>>2]=0),Z=a+112|0},$e,function(t){CA($e(t|=0))},function(t,e){t|=0;var i=0,r=0,a=0;if(i=f[(e|=0)+4>>2],f[t+56>>2]=f[e>>2],f[t+60>>2]=i,a=f[(r=e+8|0)+4>>2],f[(i=t- -64|0)>>2]=f[r>>2],f[i+4>>2]=a,i=f[t+156>>2])for(r=(i<<2)-4|0;a=f[f[t+164>>2]+r>>2],yt[f[f[a>>2]+24>>2]](a,e),r=r+-4|0,i=i+-1|0;);n[t+52|0]=1},Le,function(t,e,i){t|=0,e=v(e);var r,n=0,a=0,o=0;if(Z=r=Z-16|0,f[(i|=0)>>2]=0,f[i+4>>2]=0,f[(n=i+8|0)>>2]=0,f[n+4>>2]=0,n=f[t+156>>2])for(e=v(e/v(0|n)),a=(n<<2)-4|0;o=f[f[t+164>>2]+a>>2],yt[f[f[o>>2]+32>>2]](o,e,r),C[i>>2]=C[r>>2]+C[i>>2],C[i+4>>2]=C[r+4>>2]+C[i+4>>2],C[i+8>>2]=C[r+8>>2]+C[i+8>>2],a=a+-4|0,n=n+-1|0;);Z=r+16|0},function(t){return 11313},function(t,e){t|=0,e=v(e);var i=0,r=0,a=0;if(C[t+16>>2]=e,i=f[t+156>>2])for(r=(i<<2)-4|0;a=f[f[t+164>>2]+r>>2],yt[f[f[a>>2]+44>>2]](a,e),r=r+-4|0,i=i+-1|0;);n[t+52|0]=1},function(t){return 64},function(t,e,i){var r,n,a;return QA(t|=0,e|=0,i|=0),r=f[t+148>>2],yt[f[f[r>>2]+56>>2]](r,e+12|0,i),f[e+56>>2]=f[t+16>>2],f[e+40>>2]=f[t+56>>2],f[e+44>>2]=f[t+60>>2],f[e+48>>2]=f[t- -64>>2],f[e+52>>2]=f[t+68>>2],n=e,a=0|yt[f[f[t>>2]+80>>2]](t),f[n+60>>2]=a,10708},function(t,e,i,r){e|=0,i|=0,r|=0;var n=0,a=0,o=0;if(n=f[(t|=0)+156>>2])for(a=(n<<2)-4|0;o=f[f[t+164>>2]+a>>2],yt[f[f[o>>2]+64>>2]](o,e,i,r),a=a+-4|0,n=n+-1|0;);},function(t){t|=0;var e,i=0,r=0,a=0,o=v(0),h=v(0),d=v(0),g=0,m=0,y=0,p=v(0),R=v(0),D=v(0),B=v(0),E=0;if(f[t+20>>2]=2139095039,f[t+24>>2]=2139095039,f[t+44>>2]=-8388609,f[(e=t+36|0)>>2]=-8388609,f[e+4>>2]=-8388609,f[t+28>>2]=2139095039,a=f[t+156>>2])for(E=t+20|0,m=(a<<2)-4|0,y=f[t+164>>2],p=v(34028234663852886e22),R=v(-34028234663852886e22),D=v(-34028234663852886e22),o=v(-34028234663852886e22),B=v(34028234663852886e22),h=v(34028234663852886e22);a=a+-1|0,i=f[m+y>>2],_[i+52|0]&&(yt[f[f[i>>2]+68>>2]](i),n[i+52|0]=0,R=C[t+44>>2],D=C[t+40>>2],B=C[t+24>>2],y=f[t+164>>2],o=C[t+36>>2],h=C[t+20>>2],p=C[t+28>>2]),i=f[m+y>>2],h=h>(d=C[i+20>>2])?d:h,C[t+20>>2]=h,r=i+20|0,g=B>C[i+24>>2]?r:E,B=C[g+4>>2],f[t+24>>2]=f[g+4>>2],r=p>C[i+28>>2]?r:E,p=C[r+8>>2],f[t+28>>2]=f[r+8>>2],o=o<(d=C[(r=i+36|0)>>2])?d:o,C[t+36>>2]=o,g=D<C[i+40>>2]?r:e,D=C[g+4>>2],f[t+40>>2]=f[g+4>>2],i=R<C[i+44>>2]?r:e,R=C[i+8>>2],f[t+44>>2]=f[i+8>>2],m=m+-4|0,a;);},function(t){var e=0,i=0,r=0;if(e=f[(t|=0)+156>>2])for(i=(e<<2)-4|0;r=f[f[t+164>>2]+i>>2],yt[f[f[r>>2]+72>>2]](r),i=i+-4|0,e=e+-1|0;);n[t+52|0]=1},pe,we,we,we,we,we,De,De,qe,qe,Ar,oe,oe,De,De,ae,function(t,e,i,r){e|=0,i|=0,r|=0;var n=0,a=0,o=0;if(n=f[(t|=0)+156>>2])for(a=(n<<2)-4|0;o=f[f[t+164>>2]+a>>2],yt[f[f[o>>2]+144>>2]](o,e,i,r),a=a+-4|0,n=n+-1|0;);},Ke,kA,function(t,e){t|=0;var i,r=0;r=f[(e|=0)+4>>2],f[t+56>>2]=f[e>>2],f[t+60>>2]=r,i=f[(e=e+8|0)+4>>2],f[(r=t- -64|0)>>2]=f[e>>2],f[r+4>>2]=i,yt[f[f[t>>2]+72>>2]](t)},function(t,e){t|=0,e=v(e);var i=0,r=0;if(C[t+16>>2]=e,i=0|yt[f[f[t>>2]+88>>2]](t))for(i=i+-1|0;r=0|yt[f[f[t>>2]+124>>2]](t,i),yt[f[f[r>>2]+44>>2]](r,e),-1!=(0|(i=i+-1|0)););n[t+52|0]=1},ae,qe,qe,ae,sA,ve,We,function(t){return f[(t|=0)+60>>2]},function(t,e,i){t|=0,e|=0,i|=0;var r,n=0,a=v(0),o=0,_=0,h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0);Z=r=Z-80|0,f[r+72>>2]=1008981770,yt[f[f[t>>2]+20>>2]](t,e,r+8|0),a=C[r+12>>2],t=r+40|0,e=r+24|0,h=C[r+28>>2],d=C[r+44>>2],_=(o=a>C[((n=h>d)?t:e)+4>>2])?36:4,p=C[(r+8|0)+(n?_:o?20:_)>>2],m=C[r+16>>2],g=C[r+32>>2],y=C[r+48>>2],_=(o=m>C[((n=g>y)?t:e)+8>>2])?40:8,R=C[(r+8|0)+(n?_:o?24:_)>>2],_=(o=a<C[((n=h<d)?t:e)+4>>2])?36:4,D=C[(r+8|0)+(n?_:o?20:_)>>2],n=t,n=(e=m<C[((t=g<y)?n:e)+8>>2])?40:8,m=C[(r+8|0)+(t?n:e?24:n)>>2],t=(h=C[r+24>>2])>(d=C[r+40>>2]),n=(e=(g=C[r+8>>2])>(t?d:h))<<5,y=C[(r+8|0)+(t?n:e?16:n)>>2],a=C[r+72>>2],n=(e=g<((t=h<d)?d:h))<<5,C[i+16>>2]=a+C[(r+8|0)+(t?n:e?16:n)>>2],C[i>>2]=y-a,C[i+24>>2]=a+m,C[i+20>>2]=a+D,C[i+8>>2]=R-a,C[i+4>>2]=p-a,Z=r+80|0},function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=0,a=0,o=0;e=f[t+52>>2]+m(f[t+56>>2],e)|0,n=f[t+36>>2],3!=f[t+64>>2]?(a=f[e+8>>2],o=f[e+4>>2],e=f[e>>2]):(a=h[e+4>>1],o=h[e+2>>1],e=h[e>>1]),e=n+m(e,f[t+48>>2])|0,n=i,1!=f[t+44>>2]?(C[i>>2]=C[e>>2]*C[t+12>>2],C[i+4>>2]=C[e+4>>2]*C[t+16>>2],r=v(C[e+8>>2]*C[t+20>>2])):(C[i>>2]=g[e>>3]*+C[t+12>>2],C[i+4>>2]=g[e+8>>3]*+C[t+16>>2],r=v(g[e+16>>3]*+C[t+20>>2])),C[n+8>>2]=r,e=f[t+36>>2]+m(f[t+48>>2],o)|0,n=i+24|0,1!=f[t+44>>2]?(C[i+16>>2]=C[e>>2]*C[t+12>>2],C[i+20>>2]=C[e+4>>2]*C[t+16>>2],r=v(C[e+8>>2]*C[t+20>>2])):(C[i+16>>2]=g[e>>3]*+C[t+12>>2],C[i+20>>2]=g[e+8>>3]*+C[t+16>>2],r=v(g[e+16>>3]*+C[t+20>>2])),C[n>>2]=r,e=f[t+36>>2]+m(f[t+48>>2],a)|0,n=i+40|0,1!=f[t+44>>2]?(C[i+32>>2]=C[e>>2]*C[t+12>>2],C[i+36>>2]=C[e+4>>2]*C[t+16>>2],r=v(C[e+8>>2]*C[t+20>>2])):(C[i+32>>2]=g[e>>3]*+C[t+12>>2],C[i+36>>2]=g[e+8>>3]*+C[t+16>>2],r=v(g[e+16>>3]*+C[t+20>>2])),C[n>>2]=r,f[i+64>>2]=f[t+4>>2]},function(t){var e=0;return f[(t|=0)>>2]=14216,(e=f[t+68>>2])&&(rr(e),CA(f[t+68>>2])),(e=f[t+28>>2])&&(_[t+32|0]&&CA(e),f[t+28>>2]=0),f[t+28>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,n[t+32|0]=1,0|t},function(t){var e=0;f[(t|=0)>>2]=14216,(e=f[t+68>>2])&&(rr(e),CA(f[t+68>>2])),(e=f[t+28>>2])&&(_[t+32|0]&&CA(e),f[t+28>>2]=0),f[t+28>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,n[t+32|0]=1,CA(t)},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),Z=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0);a=C[t+44>>2],h=C[t+60>>2],n=f[t+20>>2],o=C[t+40>>2],d=C[t+56>>2],_=C[t+36>>2],g=C[t+52>>2],Z=v(yt[f[f[t>>2]+48>>2]](t)),z=v(yt[f[f[t>>2]+48>>2]](t)),pt=v(yt[f[f[t>>2]+48>>2]](t)),Dt=C[e+52>>2],m=C[e+24>>2],E=C[e+20>>2],p=C[e+56>>2],F=C[e+40>>2],V=C[e+36>>2],It=C[e+48>>2],G=C[e+8>>2],w=C[e>>2],Q=C[e+4>>2],W=C[e+16>>2],Y=C[e+32>>2],f[i+12>>2]=0,R=p,p=v(n?v(g+_)*v(.5):0),D=v(n?v(d+o)*v(.5):0),B=v(n?v(h+a)*v(.5):0),R=v(R+v(v(v(Y*p)+v(V*D))+v(F*B))),_=v(Z+v(n?v(g-_)*v(.5):0)),o=v(z+v(n?v(d-o)*v(.5):0)),a=v(pt+v(n?v(h-a)*v(.5):0)),h=v(v(v(_*v(y(Y)))+v(o*v(y(V))))+v(a*v(y(F)))),C[i+8>>2]=R-h,d=v(Dt+v(v(v(p*W)+v(D*E))+v(B*m))),g=v(v(v(_*v(y(W)))+v(o*v(y(E))))+v(a*v(y(m)))),C[i+4>>2]=d-g,m=v(It+v(v(v(p*w)+v(D*Q))+v(B*G))),a=v(v(v(_*v(y(w)))+v(o*v(y(Q))))+v(a*v(y(G)))),C[i>>2]=m-a,f[r+12>>2]=0,C[r+8>>2]=h+R,C[r+4>>2]=g+d,C[r>>2]=a+m},function(t,e){e|=0;var i,r=0,n=0,a=0,o=0,_=0,h=0,d=0,g=0,m=0,y=0,p=0,R=0,D=0,B=0;if(Z=i=Z-144|0,f[(t|=0)+20>>2]>=1)for(R=i+96|0,m=i- -64|0,y=i+48|0,p=i+32|0;r=f[t+28>>2]+g|0,_=f[(d=r+8|0)+4>>2],f[(n=i+24|0)>>2]=f[d>>2],f[n+4>>2]=_,o=f[r+4>>2],f[i+16>>2]=f[r>>2],f[i+20>>2]=o,a=f[(_=r+24|0)+4>>2],f[(o=p+8|0)>>2]=f[_>>2],f[o+4>>2]=a,_=f[(d=r+16|0)+4>>2],f[p>>2]=f[d>>2],f[p+4>>2]=_,h=f[(a=r+40|0)+4>>2],f[(_=d=y+8|0)>>2]=f[a>>2],f[_+4>>2]=h,a=f[(_=r+32|0)+4>>2],f[y>>2]=f[_>>2],f[y+4>>2]=a,B=f[(h=r+56|0)+4>>2],f[(a=_=m+8|0)>>2]=f[h>>2],f[a+4>>2]=B,h=f[(a=r+48|0)+4>>2],f[m>>2]=f[a>>2],f[m+4>>2]=h,a=i+8|0,r=f[r- -64>>2],r=0|yt[f[f[r>>2]+28>>2]](r),f[a>>2]=f[r+8>>2],h=f[r+4>>2],r=f[r>>2],C[a>>2]=v(C[a>>2]*C[e+8>>2])/C[t+88>>2],f[i>>2]=r,f[i+4>>2]=h,f[i+12>>2]=0,C[i>>2]=v(C[i>>2]*C[e>>2])/C[t+80>>2],C[i+4>>2]=v(C[i+4>>2]*C[e+4>>2])/C[t+84>>2],r=f[(f[t+28>>2]+g|0)- -64>>2],yt[f[f[r>>2]+24>>2]](r,i),f[i+76>>2]=0,C[i+72>>2]=v(C[i+72>>2]*C[e+8>>2])/C[t+88>>2],C[i+68>>2]=v(C[i+68>>2]*C[e+4>>2])/C[t+84>>2],C[i+64>>2]=v(C[i+64>>2]*C[e>>2])/C[t+80>>2],h=f[n+4>>2],r=f[t+28>>2]+g|0,f[(a=r+8|0)>>2]=f[n>>2],f[a+4>>2]=h,n=f[i+20>>2],f[r>>2]=f[i+16>>2],f[r+4>>2]=n,a=f[o+4>>2],f[(n=r+24|0)>>2]=f[o>>2],f[n+4>>2]=a,o=f[p+4>>2],f[(n=r+16|0)>>2]=f[p>>2],f[n+4>>2]=o,o=f[d+4>>2],f[(n=r+40|0)>>2]=f[d>>2],f[n+4>>2]=o,o=f[y+4>>2],f[(n=r+32|0)>>2]=f[y>>2],f[n+4>>2]=o,o=f[m+4>>2],f[(n=r+48|0)>>2]=f[m>>2],f[n+4>>2]=o,n=f[_+4>>2],f[(r=r+56|0)>>2]=f[_>>2],f[r+4>>2]=n,f[t+68>>2]&&(r=f[(f[t+28>>2]+g|0)- -64>>2],yt[f[f[r>>2]+8>>2]](r,i+16|0,i+128|0,i+112|0),r=f[i+116>>2],f[R>>2]=f[i+112>>2],f[R+4>>2]=r,o=f[(n=i+136|0)+4>>2],f[(r=i+88|0)>>2]=f[n>>2],f[r+4>>2]=o,o=f[(n=i+120|0)+4>>2],f[(r=R+8|0)>>2]=f[n>>2],f[r+4>>2]=o,r=f[i+132>>2],f[i+80>>2]=f[i+128>>2],f[i+84>>2]=r,cr(f[t+68>>2],f[76+(f[t+28>>2]+g|0)>>2],i+80|0)),g=g+80|0,(0|(D=D+1|0))<f[t+20>>2];);r=f[e+4>>2],f[t+80>>2]=f[e>>2],f[t+84>>2]=r,g=f[(e=e+8|0)+4>>2],f[(r=t+88|0)>>2]=f[e>>2],f[r+4>>2]=g,yt[f[f[t>>2]+68>>2]](t),Z=i+144|0},function(t){return(t|=0)+80|0},function(t,e,i){t|=0,e=v(e),i|=0;var r,n=v(0),a=0,o=v(0),_=v(0);Z=r=Z-96|0,f[(a=r+44|0)>>2]=0,f[a+4>>2]=0,f[(a=r+56|0)>>2]=0,f[a+4>>2]=0,f[r+52>>2]=1065353216,f[(a=r+76|0)>>2]=0,f[a+4>>2]=0,f[r+72>>2]=1065353216,f[(a=r+84|0)>>2]=0,f[a+4>>2]=0,f[r+92>>2]=0,f[r+36>>2]=0,f[r+40>>2]=0,f[r+32>>2]=1065353216,f[r+64>>2]=0,f[r+68>>2]=0,yt[f[f[t>>2]+8>>2]](t,r+32|0,r+16|0,r),e=v(e/v(12)),n=v(v(C[r>>2]-C[r+16>>2])*v(.5)),n=v(n+n),n=v(n*n),o=v(v(C[r+4>>2]-C[r+20>>2])*v(.5)),o=v(o+o),o=v(o*o),C[i+8>>2]=e*v(n+o),_=n,n=v(v(C[r+8>>2]-C[r+24>>2])*v(.5)),n=v(n+n),n=v(n*n),C[i+4>>2]=e*v(_+n),C[i>>2]=e*v(o+n),Z=r+96|0},function(t){return 14364},function(t,e){t|=0,e=v(e),C[t+76>>2]=e},function(t){return v(C[(t|=0)+76>>2])},function(t){return 24},function(t,e,i){var r=0,n=0,a=0,o=0,_=0,h=0,d=0,C=0,g=0,m=0,v=0,y=0;if(QA(t|=0,e|=0,i|=0),f[e+12>>2]=0,f[e+20>>2]=f[t+76>>2],r=f[t+20>>2],f[e+16>>2]=r,r){if(o=0|yt[f[f[i>>2]+16>>2]](i,76,r),r=f[o+8>>2],d=e,C=0|yt[f[f[i>>2]+28>>2]](i,r),f[d+12>>2]=C,f[e+16>>2]>0)for(a=72,r=r+72|0;n=f[t+28>>2]+a|0,f[r>>2]=f[n>>2],d=r+-8|0,C=0|yt[f[f[i>>2]+28>>2]](i,f[n+-8>>2]),f[d>>2]=C,yt[f[f[i>>2]+24>>2]](i,f[(f[t+28>>2]+a|0)-8>>2])||(n=f[(f[t+28>>2]+a|0)-8>>2],C=i,g=0|yt[f[f[n>>2]+52>>2]](n),m=1,d=f[f[i>>2]+16>>2],n=0|yt[d](0|C,0|g,0|m),_=f[(f[t+28>>2]+a|0)-8>>2],m=i,g=n,C=0|yt[f[f[_>>2]+56>>2]](_,f[n+8>>2],i),v=1346455635,y=f[(f[t+28>>2]+a|0)-8>>2],d=f[f[i>>2]+20>>2],yt[d](0|m,0|g,0|C,0|v,0|y)),n=f[t+28>>2]+a|0,f[r+-72>>2]=f[n+-72>>2],f[r+-68>>2]=f[n+-68>>2],f[r+-64>>2]=f[n+-64>>2],f[r+-60>>2]=f[n+-60>>2],f[r+-56>>2]=f[n+-56>>2],f[r+-52>>2]=f[n+-52>>2],f[r+-48>>2]=f[n+-48>>2],f[r+-44>>2]=f[n+-44>>2],f[r+-40>>2]=f[n+-40>>2],f[r+-36>>2]=f[n+-36>>2],f[r+-32>>2]=f[n+-32>>2],f[r+-28>>2]=f[n+-28>>2],f[r+-24>>2]=f[n+-24>>2],f[r+-20>>2]=f[n+-20>>2],f[r+-16>>2]=f[n+-16>>2],f[r+-4>>2]=f[n+-4>>2],f[r+-12>>2]=f[n+-12>>2],a=a+80|0,r=r+76|0,(0|(h=h+1|0))<f[e+16>>2];);yt[f[f[i>>2]+20>>2]](i,o,14288,1497453121,f[o+8>>2])}return 14313},function(t,e){e|=0;var i=0,r=0;if(f[(t|=0)+72>>2]=f[t+72>>2]+1,(0|(i=f[t+20>>2]))>=1)for(r=m(i,80)+-16|0;i=i+-1|0,(0|e)==f[f[t+28>>2]+r>>2]&&Br(t,i),r=r+-80|0,(0|i)>0;);yt[f[f[t>>2]+68>>2]](t)},function(t){t|=0;var e,i=v(0),r=0,n=0,a=0,o=0;if(Z=e=Z-32|0,f[t+52>>2]=-581039253,f[t+56>>2]=-581039253,f[t+36>>2]=1566444395,f[t+40>>2]=1566444395,f[(r=t+60|0)>>2]=-581039253,f[r+4>>2]=0,f[(r=t+44|0)>>2]=1566444395,f[r+4>>2]=0,f[t+20>>2]>=1)for(r=64;n=f[t+28>>2]+r|0,a=f[n>>2],yt[f[f[a>>2]+8>>2]](a,n+-64|0,e+16|0,e),i=C[e+16>>2],C[t+36>>2]>i&&(C[t+36>>2]=i),i=C[e>>2],C[t+52>>2]<i&&(C[t+52>>2]=i),i=C[e+20>>2],C[t+40>>2]>i&&(C[t+40>>2]=i),i=C[e+4>>2],C[t+56>>2]<i&&(C[t+56>>2]=i),i=C[e+24>>2],C[t+44>>2]>i&&(C[t+44>>2]=i),i=C[e+8>>2],C[t+60>>2]<i&&(C[t+60>>2]=i),r=r+80|0,(0|(o=o+1|0))<f[t+20>>2];);Z=e+32|0},_r,function(t){var e;f[(t|=0)>>2]=14564,(e=f[t+32>>2])&&(_[t+36|0]&&CA(e),f[t+32>>2]=0),f[t+32>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,n[t+36|0]=1,CA(t)},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a=0,o=0,d=0,y=0,p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=0,G=0,w=0,Q=0;if(Z=i=Z-80|0,(0|(n=0|yt[f[f[t>>2]+28>>2]](t)))>=1)for(p=C[t+12>>2],R=C[t+8>>2],D=C[t+4>>2];;){yt[f[f[t>>2]+16>>2]](t,i+76|0,i+52|0,i- -64|0,i+56|0,i+72|0,i+68|0,i+48|0,i+60|0,V);t:if(!((r=f[i+64>>2])>>>0>1))if(r-1){if((r=f[i+60>>2]+-2|0)>>>0>3)break t;switch(r-1|0){case 2:if(f[i+48>>2]<1)break t;for(r=0;y=f[i+76>>2],d=f[i+56>>2],o=f[i+72>>2]+m(f[i+68>>2],r)|0,a=y+m(d,_[0|o])|0,B=C[a>>2],E=C[a+4>>2],F=C[a+8>>2],f[i+12>>2]=0,C[i+8>>2]=p*F,C[i+4>>2]=R*E,C[i>>2]=D*B,a=y+m(d,_[o+1|0])|0,B=C[a>>2],E=C[a+4>>2],F=C[a+8>>2],f[i+28>>2]=0,C[i+24>>2]=p*F,C[i+20>>2]=R*E,C[i+16>>2]=D*B,o=y+m(d,_[o+2|0])|0,B=C[o>>2],E=C[o+4>>2],F=C[o+8>>2],f[i+44>>2]=0,C[i+40>>2]=p*F,C[i+36>>2]=R*E,C[i+32>>2]=D*B,yt[f[f[e>>2]+8>>2]](e,i,V,r),(0|(r=r+1|0))<f[i+48>>2];);break t;case 0:if(f[i+48>>2]<1)break t;for(r=0;y=f[i+76>>2],d=f[i+56>>2],o=f[i+72>>2]+m(f[i+68>>2],r)|0,a=y+m(d,h[o>>1])|0,B=C[a>>2],E=C[a+4>>2],F=C[a+8>>2],f[i+12>>2]=0,C[i+8>>2]=p*F,C[i+4>>2]=R*E,C[i>>2]=D*B,a=y+m(d,h[o+2>>1])|0,B=C[a>>2],E=C[a+4>>2],F=C[a+8>>2],f[i+28>>2]=0,C[i+24>>2]=p*F,C[i+20>>2]=R*E,C[i+16>>2]=D*B,o=y+m(d,h[o+4>>1])|0,B=C[o+8>>2],E=C[o+4>>2],F=C[o>>2],f[i+44>>2]=0,C[i+32>>2]=D*F,C[i+36>>2]=R*E,C[i+40>>2]=p*B,yt[f[f[e>>2]+8>>2]](e,i,V,r),(0|(r=r+1|0))<f[i+48>>2];);break t;case 1:break t}if(f[i+48>>2]<1)break t;for(r=0;y=f[i+76>>2],d=f[i+56>>2],o=f[i+72>>2]+m(f[i+68>>2],r)|0,a=y+m(d,f[o>>2])|0,B=C[a>>2],E=C[a+4>>2],F=C[a+8>>2],f[i+12>>2]=0,C[i+8>>2]=p*F,C[i+4>>2]=R*E,C[i>>2]=D*B,a=y+m(d,f[o+4>>2])|0,B=C[a>>2],E=C[a+4>>2],F=C[a+8>>2],f[i+28>>2]=0,C[i+24>>2]=p*F,C[i+20>>2]=R*E,C[i+16>>2]=D*B,o=y+m(d,f[o+8>>2])|0,B=C[o+8>>2],E=C[o+4>>2],F=C[o>>2],f[i+44>>2]=0,C[i+32>>2]=D*F,C[i+36>>2]=R*E,C[i+40>>2]=p*B,yt[f[f[e>>2]+8>>2]](e,i,V,r),(0|(r=r+1|0))<f[i+48>>2];);}else if(r=f[i+60>>2]+-2|0,!(r>>>0>3)){switch(r-1|0){case 2:if(f[i+48>>2]<1)break t;for(r=0;o=f[i+72>>2]+m(f[i+68>>2],r)|0,d=_[0|o],f[i+12>>2]=0,y=f[i+76>>2],a=d,d=f[i+56>>2],a=y+m(a,d)|0,C[i+8>>2]=p*v(g[a+16>>3]),C[i+4>>2]=R*v(g[a+8>>3]),C[i>>2]=D*v(g[a>>3]),a=_[o+1|0],f[i+28>>2]=0,a=y+m(a,d)|0,C[i+24>>2]=p*v(g[a+16>>3]),C[i+20>>2]=R*v(g[a+8>>3]),C[i+16>>2]=D*v(g[a>>3]),o=y+m(d,_[o+2|0])|0,G=g[o>>3],w=g[o+8>>3],Q=g[o+16>>3],f[i+44>>2]=0,C[i+40>>2]=p*v(Q),C[i+36>>2]=R*v(w),C[i+32>>2]=D*v(G),yt[f[f[e>>2]+8>>2]](e,i,V,r),(0|(r=r+1|0))<f[i+48>>2];);break t;case 0:if(f[i+48>>2]<1)break t;for(r=0;f[i+12>>2]=0,f[i+28>>2]=0,y=f[i+76>>2],d=f[i+56>>2],o=f[i+72>>2]+m(f[i+68>>2],r)|0,a=y+m(d,h[o>>1])|0,C[i+8>>2]=p*v(g[a+16>>3]),C[i+4>>2]=R*v(g[a+8>>3]),C[i>>2]=D*v(g[a>>3]),a=y+m(d,h[o+2>>1])|0,C[i+24>>2]=p*v(g[a+16>>3]),C[i+20>>2]=R*v(g[a+8>>3]),C[i+16>>2]=D*v(g[a>>3]),f[i+44>>2]=0,o=y+m(d,h[o+4>>1])|0,C[i+32>>2]=D*v(g[o>>3]),C[i+36>>2]=R*v(g[o+8>>3]),C[i+40>>2]=p*v(g[o+16>>3]),yt[f[f[e>>2]+8>>2]](e,i,V,r),(0|(r=r+1|0))<f[i+48>>2];);break t;case 1:break t}if(!(f[i+48>>2]<1))for(r=0;f[i+12>>2]=0,f[i+28>>2]=0,y=f[i+76>>2],d=f[i+56>>2],o=f[i+72>>2]+m(f[i+68>>2],r)|0,a=y+m(d,f[o>>2])|0,C[i+8>>2]=p*v(g[a+16>>3]),C[i+4>>2]=R*v(g[a+8>>3]),C[i>>2]=D*v(g[a>>3]),a=y+m(d,f[o+4>>2])|0,C[i+24>>2]=p*v(g[a+16>>3]),C[i+20>>2]=R*v(g[a+8>>3]),C[i+16>>2]=D*v(g[a>>3]),f[i+44>>2]=0,o=y+m(d,f[o+8>>2])|0,C[i+32>>2]=D*v(g[o>>3]),C[i+36>>2]=R*v(g[o+8>>3]),C[i+40>>2]=p*v(g[o+16>>3]),yt[f[f[e>>2]+8>>2]](e,i,V,r),(0|(r=r+1|0))<f[i+48>>2];);}if(yt[f[f[t>>2]+24>>2]](t,V),(0|(V=V+1|0))==(0|n))break}Z=i+80|0},mr,mr,Rr,Rr,function(t){return f[(t|=0)+24>>2]},Rr,Rr,function(t){return 1==f[(t|=0)+48>>2]|0},function(t,e,i){t|=0,i|=0;var r,n=0;n=f[(e|=0)+4>>2],f[t+52>>2]=f[e>>2],f[t+56>>2]=n,r=f[(e=e+8|0)+4>>2],f[(n=t+60|0)>>2]=f[e>>2],f[n+4>>2]=r,e=f[i+4>>2],f[t+68>>2]=f[i>>2],f[t+72>>2]=e,n=f[(i=i+8|0)+4>>2],f[(e=t+76|0)>>2]=f[i>>2],f[e+4>>2]=n,f[t+48>>2]=1},function(t,e,i){e|=0,i|=0;var r=0,n=0;r=f[(t|=0)+56>>2],f[e>>2]=f[t+52>>2],f[e+4>>2]=r,n=f[(r=t+60|0)+4>>2],f[(e=e+8|0)>>2]=f[r>>2],f[e+4>>2]=n,n=f[(r=t+76|0)+4>>2],f[(e=i+8|0)>>2]=f[r>>2],f[e+4>>2]=n,e=f[t+72>>2],f[i>>2]=f[t+68>>2],f[i+4>>2]=e},function(t){return 28},function(t,e,i){e|=0,i|=0;var r,o=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0,D=0,B=0,E=0,F=0,V=0,G=0,w=0;if(Z=r=Z-32|0,o=0|yt[f[f[(t|=0)>>2]+28>>2]](t),f[e>>2]=0,f[e+20>>2]=o,o){if(B=0|yt[f[f[i>>2]+16>>2]](i,32,o),v=f[B+8>>2],G=e,w=0|yt[f[f[i>>2]+28>>2]](i,v),f[G>>2]=w,(0|(V=0|yt[f[f[t>>2]+28>>2]](t)))>0)for(;;){yt[f[f[t>>2]+16>>2]](t,r+28|0,r+4|0,r+16|0,r+8|0,r+24|0,r+20|0,r,r+12|0,D),f[v>>2]=0,f[v+4>>2]=0,f[(o=v+8|0)>>2]=0,f[o+4>>2]=0,f[(o=v+16|0)>>2]=0,f[o+4>>2]=0,o=f[r>>2],f[v+24>>2]=o,f[v+28>>2]=f[r+4>>2];t:if(!((d=f[r+12>>2]+-2|0)>>>0>3)){switch(d-1|0){default:if(!o)break t;if(g=0|yt[f[f[i>>2]+16>>2]](i,4,m(o,3)),o=f[g+8>>2],G=v,w=0|yt[f[f[i>>2]+28>>2]](i,o),f[G+8>>2]=w,f[r>>2]>=1)for(d=0,y=f[r+24>>2];C=y+m(f[r+20>>2],d)|0,f[o>>2]=f[C>>2],f[o+4>>2]=f[C+4>>2],f[o+8>>2]=f[C+8>>2],o=o+12|0,(0|(d=d+1|0))<f[r>>2];);yt[f[f[i>>2]+20>>2]](i,g,14373,1497453121,f[g+8>>2]);break t;case 0:if(!o)break t;if(g=0|yt[f[f[i>>2]+16>>2]](i,8,o),o=f[g+8>>2],G=v,w=0|yt[f[f[i>>2]+28>>2]](i,o),f[G+12>>2]=w,f[r>>2]>=1)for(d=0;C=f[r+24>>2]+m(f[r+20>>2],d)|0,a[o>>1]=h[C>>1],a[o+2>>1]=h[C+2>>1],C=h[C+4>>1],a[o+6>>1]=0,a[o+4>>1]=C,o=o+8|0,(0|(d=d+1|0))<f[r>>2];);yt[f[f[i>>2]+20>>2]](i,g,14388,1497453121,f[g+8>>2]);break t;case 1:break t;case 2:}if(o){if(g=0|yt[f[f[i>>2]+16>>2]](i,4,o),o=f[g+8>>2],G=v,w=0|yt[f[f[i>>2]+28>>2]](i,o),f[G+16>>2]=w,f[r>>2]>=1)for(d=0;C=f[r+24>>2]+m(f[r+20>>2],d)|0,n[0|o]=_[0|C],n[o+1|0]=_[C+1|0],n[o+2|0]=_[C+2|0],n[o+3|0]=0,o=o+4|0,(0|(d=d+1|0))<f[r>>2];);yt[f[f[i>>2]+20>>2]](i,g,14415,1497453121,f[g+8>>2])}}t:if(!((o=f[r+16>>2])>>>0>1))if(o-1){if(!(o=f[r+4>>2]))break t;if(C=0|yt[f[f[i>>2]+16>>2]](i,16,o),o=f[C+8>>2],G=v,w=0|yt[f[f[i>>2]+28>>2]](i,o),f[G>>2]=w,(0|(y=f[r+4>>2]))>=1)for(g=0,E=f[r+8>>2],d=f[r+28>>2];f[o>>2]=f[d>>2],f[o+4>>2]=f[d+4>>2],f[o+8>>2]=f[d+8>>2],d=d+E|0,o=o+16|0,(0|(g=g+1|0))<(0|y););yt[f[f[i>>2]+20>>2]](i,C,14438,1497453121,f[C+8>>2])}else if(o=f[r+4>>2],o){if(C=0|yt[f[f[i>>2]+16>>2]](i,32,o),o=f[C+8>>2],G=v,w=0|yt[f[f[i>>2]+28>>2]](i,o),f[G+4>>2]=w,(0|(y=f[r+4>>2]))>=1)for(g=0,E=f[r+8>>2],d=f[r+28>>2];p=f[d+4>>2],f[o>>2]=f[d>>2],f[o+4>>2]=p,F=f[(R=d+8|0)+4>>2],f[(p=o+8|0)>>2]=f[R>>2],f[p+4>>2]=F,F=f[(R=d+16|0)+4>>2],f[(p=o+16|0)>>2]=f[R>>2],f[p+4>>2]=F,d=d+E|0,o=o+32|0,(0|(g=g+1|0))<(0|y););yt[f[f[i>>2]+20>>2]](i,C,14457,1497453121,f[C+8>>2])}if(yt[f[f[t>>2]+24>>2]](t,D),v=v+32|0,(0|(D=D+1|0))==(0|V))break}yt[f[f[i>>2]+20>>2]](i,B,14477,1497453121,f[B+8>>2])}return f[e+24>>2]=0,f[e+4>>2]=f[t+4>>2],f[e+8>>2]=f[t+8>>2],f[e+12>>2]=f[t+12>>2],f[e+16>>2]=f[t+16>>2],Z=r+32|0,14492},Gr,function(t){CA(Gr(t|=0))},function(t,e){e|=0;var i=0,r=0,a=0,o=0,h=0,d=0;t:{if(_[(t|=0)+165|0]){if(f[t+92>>2]>=(0|e))break t;if(d=i=e?dA(e<<4):0,(0|(o=f[t+88>>2]))>=1)for(;i=f[t+96>>2]+h|0,a=f[i+4>>2],f[(r=h+d|0)>>2]=f[i>>2],f[r+4>>2]=a,a=f[(i=i+8|0)+4>>2],f[(r=r+8|0)>>2]=f[i>>2],f[r+4>>2]=a,h=h+16|0,o=o+-1|0;);return(a=f[t+96>>2])&&(_[t+100|0]&&CA(a),f[t+96>>2]=0),f[t+96>>2]=d,f[t+92>>2]=e,void(n[t+100|0]=1)}if(!(f[t+112>>2]>=(0|e))){i=e?dA(e<<2):0,a=f[t+116>>2];e:{if((0|(r=f[t+108>>2]))>=1)for(h=i,o=a;f[h>>2]=f[o>>2],h=h+4|0,o=o+4|0,r=r+-1|0;);else if(!a)break e;_[t+120|0]&&CA(a),f[t+116>>2]=0}f[t+116>>2]=i,f[t+112>>2]=e,n[t+120|0]=1}}},function(t,e){e|=0;var i=0,r=0,o=0,d=0,C=0;t:{if(_[(t|=0)+164|0]){if(f[t+132>>2]>=(0|e))break t;r=e?dA(e<<2):0,o=f[t+136>>2];e:{if((0|(i=f[t+128>>2]))>=1)for(d=r,C=o;f[d>>2]=f[C>>2],d=d+4|0,C=C+4|0,i=i+-1|0;);else if(!o)break e;_[t+140|0]&&CA(o),f[t+136>>2]=0}return f[t+136>>2]=r,f[t+132>>2]=e,void(n[t+140|0]=1)}if(!(f[t+152>>2]>=(0|e))){r=e?dA(e<<1):0,o=f[t+156>>2];e:{if((0|(i=f[t+148>>2]))>=1)for(d=r,C=o;a[d>>1]=h[C>>1],d=d+2|0,C=C+2|0,i=i+-1|0;);else if(!o)break e;_[t+160|0]&&CA(o),f[t+156>>2]=0}f[t+156>>2]=r,f[t+152>>2]=e,n[t+160|0]=1}}},hA,function(t,e,i){t|=0,e|=0,i|=0;var r,n,a,o,_=v(0),h=v(0),d=v(0),g=0,m=v(0);Z=r=Z-32|0,o=f[(n=i+8|0)+4>>2],f[(g=a=r+24|0)>>2]=f[n>>2],f[g+4>>2]=o,g=f[i+4>>2],f[r+16>>2]=f[i>>2],f[r+20>>2]=g,_=C[r+16>>2],d=C[r+20>>2],h=C[a>>2],v(v(v(_*_)+v(d*d))+v(h*h))<v(14210854715202004e-30)&&(f[r+24>>2]=-1082130432,f[r+28>>2]=0,f[r+16>>2]=-1082130432,f[r+20>>2]=-1082130432,h=v(-1),d=v(-1),_=v(-1)),m=h,h=v(v(1)/v(E(v(v(v(_*_)+v(d*d))+v(h*h))))),C[r+24>>2]=m*h,C[r+20>>2]=d*h,C[r+16>>2]=_*h,hA(r,e,r+16|0);t:{e:if(i=f[e+4>>2],!(i>>>0>13)){switch(i-2|0){case 6:_=v(C[e+32>>2]*C[e+16>>2]);break t;case 0:case 1:case 4:case 5:case 7:case 10:break e}_=C[e+48>>2];break t}_=v(yt[f[f[e>>2]+48>>2]](e))}f[t+12>>2]=0,C[t+8>>2]=v(_*C[r+24>>2])+C[r+8>>2],C[t+4>>2]=v(_*C[r+20>>2])+C[r+4>>2],C[t>>2]=v(_*C[r+16>>2])+C[r>>2],Z=r+32|0},sA,ve,function(t,e,i,r,n,a,o,_,h,g){return t|=0,e|=0,i|=0,r|=0,n|=0,a|=0,o|=0,_|=0,h|=0,g|=0,Z=g=Z-80|0,t=0,f[g+76>>2]=0,C[g+64>>2]=C[a+48>>2]-C[n+48>>2],C[g+72>>2]=C[a+56>>2]-C[n+56>>2],C[g+68>>2]=C[a+52>>2]-C[n+52>>2],e=1,(wr(i,n,r,a,g- -64|0,g+8|0)||(e=0,function(t,e,i,r,n,a){var o,_,h=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=0,w=0,Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0);if(Z=o=Z-544|0,f[a>>2]=0,f[a+4>>2]=0,f[a+32>>2]=0,f[(w=a+24|0)>>2]=0,f[w+4>>2]=0,f[(w=a+16|0)>>2]=0,f[w+4>>2]=0,f[(w=a+8|0)>>2]=0,f[w+4>>2]=0,f[o+388>>2]=i,f[o+384>>2]=t,g=C[r+20>>2],m=C[r+36>>2],y=C[(t=e+20|0)>>2],p=C[(i=e+36|0)>>2],B=C[(w=e+24|0)>>2],h=C[r+24>>2],R=C[(_=e+40|0)>>2],D=C[r+40>>2],F=C[r+32>>2],V=C[r>>2],Q=C[r+16>>2],W=C[r+4>>2],Y=C[e+32>>2],pt=C[e>>2],Dt=C[e+16>>2],It=C[e+4>>2],St=C[e+8>>2],z=C[r+8>>2],f[o+436>>2]=0,f[o+420>>2]=0,f[o+404>>2]=0,Tt=v(v(v(St*z)+v(B*h))+v(R*D)),C[o+432>>2]=Tt,Et=v(v(v(It*z)+v(y*h))+v(p*D)),C[o+428>>2]=Et,h=v(v(v(pt*z)+v(Dt*h))+v(Y*D)),C[o+424>>2]=h,D=v(v(v(St*W)+v(B*g))+v(R*m)),C[o+416>>2]=D,z=v(v(v(It*W)+v(y*g))+v(p*m)),C[o+412>>2]=z,g=v(v(v(pt*W)+v(Dt*g))+v(Y*m)),C[o+408>>2]=g,m=v(v(v(V*St)+v(Q*B))+v(F*R)),C[o+400>>2]=m,y=v(v(v(V*It)+v(Q*y))+v(F*p)),C[o+396>>2]=y,p=v(v(v(V*pt)+v(Q*Dt))+v(F*Y)),C[o+392>>2]=p,B=C[t>>2],R=C[i>>2],F=C[w>>2],V=C[r+52>>2],Q=C[e+52>>2],W=C[_>>2],Y=C[r+56>>2],pt=C[e+56>>2],Dt=C[e>>2],It=C[e+16>>2],St=C[e+32>>2],Ot=C[e+4>>2],Nt=C[e+8>>2],Ft=C[r+48>>2],Vt=C[e+48>>2],f[o+508>>2]=0,f[o+500>>2]=0,f[o+484>>2]=0,C[o+480>>2]=Tt,C[o+476>>2]=D,C[o+472>>2]=m,f[o+468>>2]=0,C[o+464>>2]=Et,C[o+460>>2]=z,C[o+456>>2]=y,f[o+452>>2]=0,C[o+448>>2]=h,C[o+444>>2]=g,g=v(Ft-Vt),m=v(V-Q),y=v(Y-pt),C[o+496>>2]=v(v(Nt*g)+v(F*m))+v(W*y),C[o+492>>2]=v(v(g*Ot)+v(m*B))+v(y*R),C[o+488>>2]=v(v(g*Dt)+v(m*It))+v(y*St),f[o+504>>2]=348,C[o+440>>2]=p,f[(t=o+136|0)>>2]=0,f[t+4>>2]=0,f[o+128>>2]=0,f[o+132>>2]=0,f[o+364>>2]=0,f[o+368>>2]=0,f[o+376>>2]=2,f[o+144>>2]=0,t=yr(o,o+384|0,n))f[a>>2]=1==(0|t)?1:2;else{if(G=f[o+372>>2],f[G+32>>2])for(h=v(0),r=0,t=0,B=v(0),p=v(0),y=v(0),m=v(0),g=v(0);R=C[(G=r+G|0)+16>>2],w=f[G>>2],G=f[o+504>>2],n=f[o+508>>2],i=f[o+384>>2]+(n>>1)|0,yt[1&n?f[f[i>>2]+G>>2]:G](o+528|0,i,w),w=f[o+508>>2],i=f[o+388>>2]+(w>>1)|0,Q=v(R*C[o+536>>2]),W=v(R*C[o+532>>2]),Y=v(R*C[o+528>>2]),n=f[f[o+372>>2]+r>>2],D=v(-C[n+8>>2]),F=v(-C[n+4>>2]),V=v(-C[n>>2]),G=f[o+504>>2],G=1&w?f[f[i>>2]+G>>2]:G,h=v(h+Q),B=v(B+W),p=v(p+Y),f[o+524>>2]=0,C[o+520>>2]=v(v(C[o+424>>2]*V)+v(C[o+428>>2]*F))+v(C[o+432>>2]*D),C[o+516>>2]=v(v(C[o+408>>2]*V)+v(C[o+412>>2]*F))+v(C[o+416>>2]*D),C[o+512>>2]=v(v(C[o+392>>2]*V)+v(C[o+396>>2]*F))+v(C[o+400>>2]*D),yt[G](o+528|0,i,o+512|0),D=C[o+528>>2],F=C[o+532>>2],V=C[o+536>>2],y=v(y+v(R*v(v(v(v(D*C[o+472>>2])+v(F*C[o+476>>2]))+v(V*C[o+480>>2]))+C[o+496>>2]))),m=v(m+v(R*v(v(v(v(D*C[o+456>>2])+v(F*C[o+460>>2]))+v(V*C[o+464>>2]))+C[o+492>>2]))),g=v(g+v(R*v(v(v(v(D*C[o+440>>2])+v(F*C[o+444>>2]))+v(V*C[o+448>>2]))+C[o+488>>2]))),r=r+4|0,t=t+1|0,G=f[o+372>>2],t>>>0<d[G+32>>2];);else g=v(0),m=v(0),y=v(0),p=v(0),B=v(0),h=v(0);R=C[e+48>>2],D=C[e+8>>2],F=C[e>>2],V=C[e+4>>2],Q=C[e+52>>2],W=C[e+24>>2],Y=C[e+16>>2],pt=C[e+20>>2],Dt=C[e+56>>2],It=C[e+40>>2],St=C[e+32>>2],z=C[e+36>>2],f[a+16>>2]=0,C[a+12>>2]=Dt+v(v(v(p*St)+v(B*z))+v(h*It)),C[a+8>>2]=Q+v(v(v(p*Y)+v(B*pt))+v(h*W)),C[a+4>>2]=R+v(v(v(p*F)+v(B*V))+v(h*D)),D=C[e+48>>2],F=C[e+8>>2],V=C[e>>2],Q=C[e+4>>2],W=C[e+52>>2],Y=C[e+24>>2],pt=C[e+16>>2],Dt=C[e+20>>2],It=C[e+56>>2],St=C[e+40>>2],z=C[e+32>>2],Tt=C[e+36>>2],p=v(p-g),B=v(B-m),h=v(h-y),R=v(E(v(v(v(p*p)+v(B*B))+v(h*h)))),C[a+52>>2]=R,f[a+48>>2]=0,f[a+32>>2]=0,Et=h,h=R>v(9999999747378752e-20)?v(v(1)/R):v(1),C[a+44>>2]=Et*h,C[a+40>>2]=B*h,C[a+36>>2]=p*h,C[a+28>>2]=It+v(v(v(g*z)+v(m*Tt))+v(y*St)),C[a+24>>2]=W+v(v(v(g*pt)+v(m*Dt))+v(y*Y)),C[a+20>>2]=D+v(v(v(g*V)+v(m*Q))+v(y*F)),G=1}return Z=o+544|0,G}(i,n,r,a,g- -64|0,g+8|0)))&&(t=f[g+16>>2],f[_>>2]=f[g+12>>2],f[_+4>>2]=t,r=f[(i=g+20|0)+4>>2],f[(t=_+8|0)>>2]=f[i>>2],f[t+4>>2]=r,i=f[(t=g+28|0)+4>>2],f[h>>2]=f[t>>2],f[h+4>>2]=i,r=f[(i=g+36|0)+4>>2],f[(t=h+8|0)>>2]=f[i>>2],f[t+4>>2]=r,t=f[g+48>>2],f[o>>2]=f[g+44>>2],f[o+4>>2]=t,r=f[(i=g+52|0)+4>>2],f[(t=o+8|0)>>2]=f[i>>2],f[t+4>>2]=r,t=e),Z=g+80|0,0|t},sA,ve,Sr,ve,function(t,e,i,r,a,o,h,d,g,m){t|=0,e|=0,i|=0,r|=0,a|=0,o|=0,h|=0,d|=0,g|=0,m|=0;var y,p,R,D,B=v(0),E=0,F=v(0),V=v(0),G=0,w=0,Q=v(0),W=0,Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=0,Nt=0,Ft=v(0),Vt=0,Gt=0,Lt=0,wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=0;for(Z=t=Z-4240|0,Gt=f[i+4>>2]+-17>>>0<=1?f[r+4>>2]+-17>>>0<2:Gt;Xr(),f[(G=(t+1264|0)+E|0)+12>>2]=0,V=C[E+1744>>2],Q=v(-V),B=C[E+1748>>2],F=C[E+1752>>2],C[G+8>>2]=v(v(C[a+8>>2]*Q)-v(C[a+24>>2]*B))-v(C[a+40>>2]*F),C[G+4>>2]=v(v(C[a+4>>2]*Q)-v(B*C[a+20>>2]))-v(F*C[a+36>>2]),C[G>>2]=v(v(C[a>>2]*Q)-v(B*C[a+16>>2]))-v(F*C[a+32>>2]),Q=C[o+32>>2],z=C[o>>2],pt=C[o+16>>2],Dt=C[o+36>>2],It=C[o+4>>2],St=C[o+20>>2],Tt=C[o+40>>2],Y=C[o+8>>2],Et=C[o+24>>2],f[(G=(t+272|0)+E|0)+12>>2]=0,C[G+8>>2]=v(v(V*Y)+v(B*Et))+v(F*Tt),C[G+4>>2]=v(v(V*It)+v(B*St))+v(F*Dt),C[G>>2]=v(v(V*z)+v(B*pt))+v(F*Q),672!=(0|(E=E+16|0)););if(G=42,!((0|(Nt=0|yt[f[f[i>>2]+84>>2]](i)))<1)){for(E=0,G=0;yt[f[f[i>>2]+88>>2]](i,G,t+3248|0),f[t+3260>>2]=0,B=C[t+3248>>2],F=C[t+3252>>2],V=C[t+3256>>2],C[t+3256>>2]=v(v(B*C[a+32>>2])+v(F*C[a+36>>2]))+v(V*C[a+40>>2]),C[t+3252>>2]=v(v(B*C[a+16>>2])+v(F*C[a+20>>2]))+v(V*C[a+24>>2]),C[t+3248>>2]=v(v(B*C[a>>2])+v(F*C[a+4>>2]))+v(V*C[a+8>>2]),Xr(),Ot=f[t+3260>>2],f[(w=E+2424|0)>>2]=f[t+3256>>2],f[w+4>>2]=Ot,Ot=f[t+3252>>2],f[(w=E+2416|0)>>2]=f[t+3248>>2],f[w+4>>2]=Ot,f[(w=(t+1264|0)+E|0)+684>>2]=0,V=C[t+3248>>2],Q=v(-V),B=C[t+3252>>2],F=C[t+3256>>2],C[w+680>>2]=v(v(C[a+8>>2]*Q)-v(C[a+24>>2]*B))-v(C[a+40>>2]*F),C[w+676>>2]=v(v(C[a+4>>2]*Q)-v(B*C[a+20>>2]))-v(F*C[a+36>>2]),C[w+672>>2]=v(v(C[a>>2]*Q)-v(B*C[a+16>>2]))-v(F*C[a+32>>2]),f[(w=(t+272|0)+E|0)+684>>2]=0,C[w+672>>2]=v(v(V*C[o>>2])+v(B*C[o+16>>2]))+v(F*C[o+32>>2]),C[w+676>>2]=v(v(V*C[o+4>>2])+v(B*C[o+20>>2]))+v(F*C[o+36>>2]),C[w+680>>2]=v(v(V*C[o+8>>2])+v(B*C[o+24>>2]))+v(F*C[o+40>>2]),E=E+16|0,(0|Nt)!=(0|(G=G+1|0)););G=G+42|0}if(p=i,R=t+1264|0,D=t+3248|0,(0|(y=0|yt[f[f[r>>2]+84>>2]](r)))>=1){for(w=G<<4,Nt=1744,Ot=t+1264|0,Lt=t+272|0,E=0;yt[f[f[r>>2]+88>>2]](r,E,t+3248|0),f[t+3260>>2]=0,B=C[t+3248>>2],F=C[t+3252>>2],V=C[t+3256>>2],C[t+3256>>2]=v(v(B*C[o+32>>2])+v(F*C[o+36>>2]))+v(V*C[o+40>>2]),C[t+3252>>2]=v(v(B*C[o+16>>2])+v(F*C[o+20>>2]))+v(V*C[o+24>>2]),C[t+3248>>2]=v(v(B*C[o>>2])+v(F*C[o+4>>2]))+v(V*C[o+8>>2]),Xr(),Yt=f[t+3260>>2],f[(Vt=(W=w+Nt|0)+8|0)>>2]=f[t+3256>>2],f[Vt+4>>2]=Yt,Vt=f[t+3252>>2],f[W>>2]=f[t+3248>>2],f[W+4>>2]=Vt,z=C[a+32>>2],pt=C[a>>2],Dt=C[a+16>>2],It=C[a+36>>2],St=C[a+4>>2],Tt=C[a+20>>2],Y=C[a+40>>2],Q=C[a+8>>2],Et=C[a+24>>2],B=C[t+3256>>2],V=C[t+3248>>2],F=C[t+3252>>2],f[(W=w+Ot|0)+12>>2]=0,Ft=Q,Q=v(-V),C[W+8>>2]=v(v(Ft*Q)-v(Et*F))-v(Y*B),C[W+4>>2]=v(v(St*Q)-v(Tt*F))-v(It*B),C[W>>2]=v(v(pt*Q)-v(Dt*F))-v(z*B),Q=C[o+32>>2],z=C[o>>2],pt=C[o+16>>2],Dt=C[o+36>>2],It=C[o+4>>2],St=C[o+20>>2],Tt=C[o+40>>2],Y=C[o+8>>2],Et=C[o+24>>2],f[(W=w+Lt|0)+12>>2]=0,C[W+8>>2]=v(v(V*Y)+v(F*Et))+v(B*Tt),C[W+4>>2]=v(v(V*It)+v(F*St))+v(B*Dt),C[W>>2]=v(v(V*z)+v(F*pt))+v(B*Q),Lt=Lt+16|0,Ot=Ot+16|0,Nt=Nt+16|0,(0|y)!=(0|(E=E+1|0)););G=E+G|0}if(yt[f[f[i>>2]+76>>2]](p,R,D,G),yt[f[f[r>>2]+76>>2]](r,t+272|0,t+2256|0,G),(0|G)<1)Q=v(0xde0b6b000000000),It=v(0),z=v(0),St=v(0),pt=v(0),Tt=v(0),Dt=v(0),Et=v(0);else for(Q=v(0xde0b6b000000000),E=0,Et=v(0),Dt=v(0),Tt=v(0),pt=v(0),St=v(0),z=v(0),It=v(0);Xr(),B=C[E+1744>>2],F=C[E+1748>>2],V=Gt?v(0):C[E+1752>>2],+v(v(v(B*B)+v(F*F))+v(V*V))>.01&&(Y=C[(w=(t+2256|0)+E|0)>>2],Ft=C[w+4>>2],wt=C[w+8>>2],xt=C[(w=(t+3248|0)+E|0)>>2],Qt=C[w+4>>2],Wt=C[w+8>>2],(Y=v(v(v(B*v(v(v(v(v(Y*C[o>>2])+v(Ft*C[o+4>>2]))+v(wt*C[o+8>>2]))+C[o+48>>2])-v(v(v(v(xt*C[a>>2])+v(Qt*C[a+4>>2]))+v(Wt*C[a+8>>2]))+C[a+48>>2])))+v(F*v(v(v(v(v(Y*C[o+16>>2])+v(Ft*C[o+20>>2]))+v(wt*C[o+24>>2]))+C[o+52>>2])-v(v(v(v(xt*C[a+16>>2])+v(Qt*C[a+20>>2]))+v(Wt*C[a+24>>2]))+C[a+52>>2]))))+v(V*v(Gt?0:v(v(v(v(Y*C[o+32>>2])+v(Ft*C[o+36>>2]))+v(wt*C[o+40>>2]))+C[o+56>>2])-v(v(v(v(xt*C[a+32>>2])+v(Qt*C[a+36>>2]))+v(Wt*C[a+40>>2]))+C[a+56>>2])))))<Q&&(Et=C[E+1756>>2],It=B,z=B,St=F,pt=F,Tt=V,Dt=V,Q=Y)),E=E+16|0,G=G+-1|0;);return GA(i),GA(r),E=0,Q<v(0)||(B=GA(i),F=GA(r),e=Mr(t+192|0,i,r,e,0),f[t+116>>2]=0,E=f[(r=a+8|0)+4>>2],f[(i=t- -64|0)>>2]=f[r>>2],f[i+4>>2]=E,E=f[(r=a+24|0)+4>>2],f[(i=t+80|0)>>2]=f[r>>2],f[i+4>>2]=E,E=f[(r=a+40|0)+4>>2],f[(i=t+96|0)>>2]=f[r>>2],f[i+4>>2]=E,B=v(Q+v(v(B+F)+v(.5))),C[t+112>>2]=v(Dt*B)+C[a+56>>2],C[t+108>>2]=v(pt*B)+C[a+52>>2],i=f[a+4>>2],f[t+56>>2]=f[a>>2],f[t+60>>2]=i,i=f[a+20>>2],f[t+72>>2]=f[a+16>>2],f[t+76>>2]=i,i=f[a+36>>2],f[t+88>>2]=f[a+32>>2],f[t+92>>2]=i,C[t+104>>2]=v(z*B)+C[a+48>>2],a=f[(r=o+8|0)+4>>2],f[(i=t+128|0)>>2]=f[r>>2],f[i+4>>2]=a,r=f[o+20>>2],f[(i=t+136|0)>>2]=f[o+16>>2],f[i+4>>2]=r,a=f[(r=o+24|0)+4>>2],f[(i=t+144|0)>>2]=f[r>>2],f[i+4>>2]=a,r=f[o+36>>2],f[(i=t+152|0)>>2]=f[o+32>>2],f[i+4>>2]=r,a=f[(r=o+40|0)+4>>2],f[(i=t+160|0)>>2]=f[r>>2],f[i+4>>2]=a,r=f[o+52>>2],f[(i=t+168|0)>>2]=f[o+48>>2],f[i+4>>2]=r,a=f[(r=o+56|0)+4>>2],f[(i=t+176|0)>>2]=f[r>>2],f[i+4>>2]=a,f[t+184>>2]=1566444395,i=f[o+4>>2],f[t+120>>2]=f[o>>2],f[t+124>>2]=i,f[e+16>>2]=0,C[e+12>>2]=-Dt,C[e+8>>2]=-pt,C[e+4>>2]=-z,n[t+48|0]=0,f[t+8>>2]=15076,Sr(e,t+56|0,t+8|0,m),(i=_[t+48|0])&&(F=C[t+44>>2],f[d+12>>2]=0,B=v(B-F),C[d>>2]=C[t+28>>2]-v(z*B),e=t+36|0,C[d+8>>2]=C[e>>2]-v(Dt*B),C[d+4>>2]=C[t+32>>2]-v(pt*B),r=f[t+32>>2],f[g>>2]=f[t+28>>2],f[g+4>>2]=r,a=f[e+4>>2],f[(r=g+8|0)>>2]=f[e>>2],f[r+4>>2]=a,C[h>>2]=It,C[h+4>>2]=St,C[h+8>>2]=Tt,C[h+12>>2]=Et),E=0!=(0|i)),Z=t+4240|0,0|E},ve,De,De,function(t,e,i,r){t|=0,e|=0,i|=0,r=v(r);var a,o=0;o=f[e+4>>2],f[t+4>>2]=f[e>>2],f[t+8>>2]=o,a=f[(e=e+8|0)+4>>2],f[(o=t+12|0)>>2]=f[e>>2],f[o+4>>2]=a,e=f[i+4>>2],f[t+20>>2]=f[i>>2],f[t+24>>2]=e,o=f[(i=i+8|0)+4>>2],f[(e=t+28|0)>>2]=f[i>>2],f[e+4>>2]=o,n[t+40|0]=1,C[t+36>>2]=r},sA,ve,zr,ve,De,De,function(t,e,i,r){t|=0,e|=0,i|=0,r=v(r);var a=0,o=0;C[t+36>>2]>r&&(n[t+40|0]=1,a=f[e+4>>2],f[t+4>>2]=f[e>>2],f[t+8>>2]=a,o=f[(e=e+8|0)+4>>2],f[(a=t+12|0)>>2]=f[e>>2],f[a+4>>2]=o,e=f[i+4>>2],f[t+20>>2]=f[i>>2],f[t+24>>2]=e,a=f[(i=i+8|0)+4>>2],f[(e=t+28|0)>>2]=f[i>>2],f[e+4>>2]=a,C[t+36>>2]=r)},sA,ve,function(t,e,i,r){var a,o;return t|=0,i|=0,r|=0,i=f[(e|=0)>>2],i=0|yt[f[f[i>>2]+56>>2]](i,72),r=f[e+4>>2],a=f[t+12>>2],o=f[t+16>>2],t=f[t+8>>2],vA(i,e),n[i+28|0]=1,f[i+8>>2]=t,f[i>>2]=15444,f[i+24>>2]=0,n[i+48|0]=1,f[i+16>>2]=0,f[i+20>>2]=0,f[i+44>>2]=0,f[i+64>>2]=a,f[i+68>>2]=o,n[i+60|0]=0,f[i+56>>2]=r,n[i+52|0]=0,f[i+36>>2]=0,f[i+40>>2]=0,0|i},function(t){var e=0,i=0;return f[(t|=0)>>2]=15444,_[t+52|0]&&((e=f[t+56>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e))),(e=f[t+44>>2])&&(_[t+48|0]&&CA(e),f[t+44>>2]=0),f[t+44>>2]=0,f[t+36>>2]=0,f[t+40>>2]=0,n[t+48|0]=1,(e=f[t+24>>2])&&(_[t+28|0]&&CA(e),f[t+24>>2]=0),f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,n[t+28|0]=1,0|t},function(t){var e=0,i=0;f[(t|=0)>>2]=15444,_[t+52|0]&&((e=f[t+56>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e))),(e=f[t+44>>2])&&(_[t+48|0]&&CA(e),f[t+44>>2]=0),f[t+44>>2]=0,f[t+36>>2]=0,f[t+40>>2]=0,n[t+48|0]=1,(e=f[t+24>>2])&&(_[t+28|0]&&CA(e),f[t+24>>2]=0),f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,n[t+28|0]=1,$(t)},function(t,e,i,r,a){t|=0,e|=0,i|=0,r|=0,a|=0;var o,h=0,d=v(0),g=v(0),p=0,D=v(0),B=0,F=v(0),V=0,G=0,w=0,Q=0,W=0,Y=0,z=0,pt=0,Dt=0,It=v(0),St=0,Tt=v(0),Et=0,Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=0,wt=0,xt=v(0),Qt=0,Wt=0,Yt=v(0),Pt=v(0),Mt=v(0),Zt=v(0),Ut=v(0),Xt=v(0),Jt=v(0),jt=v(0),zt=v(0),Ht=v(0),Kt=0,qt=v(0),$t=v(0),bi=v(0),di=v(0),yi=v(0),Ii=v(0),Bi=v(0),BA=0,gr=v(0),tn=v(0),en=0,An=0,rn=0,nn=0,an=0,on=0,sn=0,ln=0,fn=0,cn=0,bn=0,_n=v(0),un=0,hn=0,dn=0;Z=o=Z-928|0,(h=f[t+56>>2])||(h=f[t+4>>2],h=0|yt[f[f[h>>2]+12>>2]](h,f[e+8>>2],f[i+8>>2]),n[t+52|0]=1,f[t+56>>2]=h),f[a+4>>2]=h,V=f[i+4>>2];t:{e:if(z=f[e+4>>2],B=f[z+4>>2]+-8|0,!(B>>>0>2)){switch(B-1|0){case 1:if((B=f[V+4>>2]+-8|0)>>>0>2)break e;switch(B-1|0){case 1:if(r=z+32|0,t=f[z+56>>2],Ut=C[r+(t<<2)>>2],d=C[r+((t+2|0)%3<<2)>>2],B=V+32|0,r=f[V+56>>2],g=C[h+784>>2],(d=Pr(o+432|0,o+8|0,Ut,d,C[B+(r<<2)>>2],C[B+((r+2|0)%3<<2)>>2],t,r,f[e+12>>2],f[i+12>>2],g))<g&&yt[f[f[a>>2]+16>>2]](a,o+432|0,o+8|0,d),t=f[a+4>>2],!f[t+780>>2])break t;if((0|(e=f[t+772>>2]))!=(0|(i=f[f[a+8>>2]+8>>2]))){se(t,f[f[a+12>>2]+8>>2]+4|0,i+4|0);break t}se(t,e+4|0,f[f[a+12>>2]+8>>2]+4|0);break t;case 0:break e}if(r=z+32|0,t=f[z+56>>2],g=C[h+784>>2],(d=Pr(o+432|0,o+8|0,C[r+(t<<2)>>2],C[r+((t+2|0)%3<<2)>>2],v(0),v(C[V+32>>2]*C[V+16>>2]),t,1,f[e+12>>2],f[i+12>>2],g))<g&&yt[f[f[a>>2]+16>>2]](a,o+432|0,o+8|0,d),t=f[a+4>>2],!f[t+780>>2])break t;if((0|(e=f[t+772>>2]))!=(0|(i=f[f[a+8>>2]+8>>2]))){se(t,f[f[a+12>>2]+8>>2]+4|0,i+4|0);break t}se(t,e+4|0,f[f[a+12>>2]+8>>2]+4|0);break t;case 0:break e}if(10==f[V+4>>2]){if(r=V+32|0,t=f[V+56>>2],g=C[h+784>>2],(d=Pr(o+432|0,o+8|0,v(0),v(C[z+32>>2]*C[z+16>>2]),C[r+(t<<2)>>2],C[r+((t+2|0)%3<<2)>>2],1,t,f[e+12>>2],f[i+12>>2],g))<g&&yt[f[f[a>>2]+16>>2]](a,o+432|0,o+8|0,d),t=f[a+4>>2],!f[t+780>>2])break t;if((0|(e=f[t+772>>2]))!=(0|(i=f[f[a+8>>2]+8>>2]))){se(t,f[f[a+12>>2]+8>>2]+4|0,i+4|0);break t}se(t,e+4|0,f[f[a+12>>2]+8>>2]+4|0);break t}}if(f[o+920>>2]=1566444395,n[o+764|0]=0,f[o+740>>2]=953267991,Dt=Mr(o+352|0,z,V,o+432|0,f[t+8>>2]),f[Dt+32>>2]=V,f[Dt+28>>2]=z,g=v(v(v(v(yt[f[f[z>>2]+48>>2]](z))+v(yt[f[f[V>>2]+48>>2]](V)))+C[f[t+56>>2]+784>>2])+C[a+32>>2]),C[o+920>>2]=g*g,h=f[e+12>>2],W=f[(B=h+8|0)+4>>2],f[(Q=o+800|0)>>2]=f[B>>2],f[Q+4>>2]=W,B=f[h>>2],W=f[h+4>>2],w=f[(Q=h+24|0)+4>>2],f[(pt=o+816|0)>>2]=f[Q>>2],f[pt+4>>2]=w,Q=f[h+16>>2],w=f[h+20>>2],St=f[(pt=h+40|0)+4>>2],f[(wt=o+832|0)>>2]=f[pt>>2],f[wt+4>>2]=St,pt=f[h+32>>2],St=f[h+36>>2],Lt=f[(wt=h+56|0)+4>>2],f[(Et=o+848|0)>>2]=f[wt>>2],f[Et+4>>2]=Lt,f[o+792>>2]=B,f[o+796>>2]=W,f[o+808>>2]=Q,f[o+812>>2]=w,f[o+824>>2]=pt,f[o+828>>2]=St,B=f[h+52>>2],f[o+840>>2]=f[h+48>>2],f[o+844>>2]=B,h=f[i+12>>2],W=f[(B=h+8|0)+4>>2],f[(Q=o+864|0)>>2]=f[B>>2],f[Q+4>>2]=W,B=f[h+4>>2],f[o+856>>2]=f[h>>2],f[o+860>>2]=B,W=f[h+20>>2],f[(B=o+872|0)>>2]=f[h+16>>2],f[B+4>>2]=W,Q=f[(W=h+24|0)+4>>2],f[(w=o+880|0)>>2]=f[W>>2],f[w+4>>2]=Q,Q=f[(W=h+40|0)+4>>2],f[(w=o+896|0)>>2]=f[W>>2],f[w+4>>2]=Q,Q=f[h+36>>2],f[(w=W=o+888|0)>>2]=f[h+32>>2],f[w+4>>2]=Q,w=f[h+52>>2],f[(Q=o+904|0)>>2]=f[h+48>>2],f[Q+4>>2]=w,w=f[(h=h+56|0)+4>>2],f[(pt=o+912|0)>>2]=f[h>>2],f[pt+4>>2]=w,!((0|(h=f[z+4>>2]))>6)&&(!((0|(w=f[V+4>>2]))>6)&&(f[o+344>>2]=15564,g=v(0),h&&(g=v(yt[f[f[z>>2]+48>>2]](z)),w=f[V+4>>2]),w&&(d=v(yt[f[f[V>>2]+48>>2]](V))),n[o+44|0]=0,C[o+36>>2]=d,C[o+32>>2]=g,f[o+12>>2]=a,f[o+8>>2]=15740,f[z+56>>2]))){if(f[V+56>>2]){d=C[f[t+56>>2]+784>>2];e:{i:{if(_[r+24|0]){if(g=v(-1.0000000150474662e30),function(t,e,i,r,n,a){var o,h=v(0),d=v(0),g=v(0),m=v(0),p=v(0),R=v(0),D=0,B=v(0),F=0,V=v(0),G=0,w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=0,It=0,St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=0,Lt=v(0),wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0),Zt=v(0),Ut=v(0),Xt=v(0),Jt=v(0),jt=v(0),zt=v(0),Ht=v(0),Kt=v(0),qt=v(0);Z=o=Z-112|0,f[687]=f[687]+1,m=C[i+52>>2],F=20,p=C[i+20>>2],Q=C[i+24>>2],wt=C[r+52>>2],xt=C[r+20>>2],w=C[r+24>>2],Qt=C[i+56>>2],h=C[t+68>>2],B=C[i+36>>2],R=C[t+72>>2],W=C[i+40>>2],Y=C[r+56>>2],Ot=C[e+68>>2],d=C[r+36>>2],Nt=C[e+72>>2],V=C[r+40>>2],z=C[i+48>>2],Ft=C[i+8>>2],Wt=C[i+4>>2],Yt=C[i>>2],Pt=C[r+48>>2],Mt=C[r+8>>2],Et=C[r+4>>2],pt=C[r>>2],St=C[i+16>>2],Zt=C[r+16>>2],Tt=C[t+64>>2],Vt=C[i+32>>2],g=C[e+64>>2],Ut=C[r+32>>2],f[o+28>>2]=0,Qt=v(v(Qt+v(v(v(Tt*Vt)+v(h*B))+v(R*W)))-v(Y+v(v(v(g*Ut)+v(Ot*d))+v(Nt*V)))),C[o+24>>2]=Qt,wt=v(v(m+v(v(v(Tt*St)+v(h*p))+v(R*Q)))-v(wt+v(v(v(g*Zt)+v(Ot*xt))+v(Nt*w)))),C[o+20>>2]=wt,xt=v(v(z+v(v(v(Tt*Yt)+v(h*Wt))+v(R*Ft)))-v(Pt+v(v(v(g*pt)+v(Ot*Et))+v(Nt*Mt)))),C[o+16>>2]=xt;A:{r:{n:{a:{o:{s:if(G=f[t+28>>2],(0|G)<1)h=v(34028234663852886e22);else for(G=G+-1|0,h=v(34028234663852886e22);;){if(D=f[t+36>>2]+F|0,R=C[D+8>>2],Ot=C[D+4>>2],Nt=C[D>>2],f[o+12>>2]=0,B=v(v(v(Nt*Vt)+v(Ot*B))+v(R*W)),C[o+8>>2]=B,p=v(v(v(Nt*St)+v(Ot*p))+v(R*Q)),C[o+4>>2]=p,R=v(v(v(Nt*C[i>>2])+v(Ot*C[i+4>>2]))+v(R*Ft)),C[o>>2]=R,v(v(v(R*xt)+v(p*wt))+v(B*Qt))<v(0)&&(C[o+8>>2]=-B,C[o+4>>2]=-p,C[o>>2]=-R),f[685]=f[685]+1,!_[2988]||jr(i,r,o+16|0,o,t,e,h)){if(Dt=0,f[686]=f[686]+1,IA(t,i,o,o+108|0,o+104|0,o+80|0,o- -64|0),IA(e,r,o,o+100|0,o+96|0,o+48|0,o+32|0),(p=C[o+104>>2])<(B=C[o+100>>2])||((R=C[o+96>>2])<(W=C[o+108>>2])||(g=(g=v(p-B))<(p=v(R-W))?g:p,Dt=1)),!Dt)break o;g<h&&(D=f[o+4>>2],f[n>>2]=f[o>>2],f[n+4>>2]=D,Gt=f[(It=o+8|0)+4>>2],f[(D=n+8|0)>>2]=f[It>>2],f[D+4>>2]=Gt,h=g)}if(!G)break s;F=F+36|0,G=G+-1|0,W=C[i+40>>2],B=C[i+36>>2],Vt=C[i+32>>2],Q=C[i+24>>2],p=C[i+20>>2],St=C[i+16>>2],Ft=C[i+8>>2]}if((0|(G=f[e+28>>2]))>=1)for(Dt=20;;){if(D=f[e+36>>2]+Dt|0,g=C[D+8>>2],p=C[D>>2],B=C[D+4>>2],f[o+12>>2]=0,R=v(v(v(p*C[r+32>>2])+v(B*C[r+36>>2]))+v(g*C[r+40>>2])),C[o+8>>2]=R,W=v(v(v(p*C[r+16>>2])+v(B*C[r+20>>2]))+v(g*C[r+24>>2])),C[o+4>>2]=W,g=v(v(v(p*C[r>>2])+v(B*C[r+4>>2]))+v(g*C[r+8>>2])),C[o>>2]=g,v(v(v(g*xt)+v(W*wt))+v(R*Qt))<v(0)&&(C[o+8>>2]=-R,C[o+4>>2]=-W,C[o>>2]=-g),f[685]=f[685]+1,!_[2988]||jr(i,r,o+16|0,o,t,e,h)){if(F=0,f[686]=f[686]+1,IA(t,i,o,o+108|0,o+104|0,o+80|0,o- -64|0),IA(e,r,o,o+100|0,o+96|0,o+48|0,o+32|0),(g=C[o+104>>2])<(p=C[o+100>>2])||((B=C[o+96>>2])<(R=C[o+108>>2])||(Q=(Q=v(g-p))<(g=v(B-R))?Q:g,F=1)),!F)break o;Q<h&&(D=f[o+4>>2],f[n>>2]=f[o>>2],f[n+4>>2]=D,Gt=f[(It=o+8|0)+4>>2],f[(D=n+8|0)>>2]=f[It>>2],f[D+4>>2]=Gt,h=Q)}if(Dt=Dt+36|0,!(G=G+-1|0))break}if((0|(Dt=f[t+48>>2]))>=1)break a;It=-1,Q=v(0),g=v(0),p=v(0),B=v(0),R=v(0),W=v(0),Gt=-1;break n}r=0;break A}for(F=f[e+48>>2],Gt=-1,D=0,It=-1,W=v(0),R=v(0),B=v(0),p=v(0),g=v(0),Q=v(0);;){if((0|F)>=1){for(G=f[t+56>>2]+(D<<4)|0,Ft=C[G>>2],St=C[G+4>>2],Tt=C[G+8>>2],Ot=v(v(v(Ft*C[i+32>>2])+v(St*C[i+36>>2]))+v(Tt*C[i+40>>2])),Nt=v(v(v(Ft*C[i+16>>2])+v(St*C[i+20>>2]))+v(Tt*C[i+24>>2])),Ft=v(v(v(Ft*C[i>>2])+v(St*C[i+4>>2]))+v(Tt*C[i+8>>2])),G=0,Dt=4;;){if(F=f[e+56>>2]+Dt|0,Vt=C[F+4>>2],w=C[F+-4>>2],Y=C[F>>2],Lt=C[r+40>>2],jt=C[r+32>>2],zt=C[r+36>>2],St=C[r+24>>2],Tt=C[r+16>>2],m=C[r+20>>2],Ht=C[r+8>>2],Kt=C[r>>2],qt=C[r+4>>2],f[o+12>>2]=0,St=v(v(v(w*Tt)+v(Y*m))+v(Vt*St)),Tt=v(v(v(w*Kt)+v(Y*qt))+v(Vt*Ht)),m=v(v(Ft*St)-v(Nt*Tt)),C[o+8>>2]=m,Vt=v(v(v(w*jt)+v(Y*zt))+v(Vt*Lt)),w=v(v(Ot*Tt)-v(Ft*Vt)),C[o+4>>2]=w,Y=v(v(Nt*Vt)-v(Ot*St)),C[o>>2]=Y,(!(+v(y(m))>1e-6^1)||+v(y(Y))>1e-6|+v(y(w))>1e-6)&&(Lt=m,m=v(v(1)/v(E(v(v(m*m)+v(v(Y*Y)+v(w*w)))))),Lt=v(Lt*m),C[o+8>>2]=Lt,w=v(w*m),C[o+4>>2]=w,m=v(Y*m),C[o>>2]=m,v(v(v(m*xt)+v(w*wt))+v(Qt*Lt))<v(0)&&(C[o+8>>2]=-Lt,C[o+4>>2]=-w,C[o>>2]=-m),f[685]=f[685]+1,!_[2988]||jr(i,r,o+16|0,o,t,e,h))){if(F=0,f[686]=f[686]+1,IA(t,i,o,o+108|0,o+104|0,o+80|0,o- -64|0),IA(e,r,o,o+100|0,o+96|0,o+48|0,o+32|0),(m=C[o+104>>2])<(w=C[o+100>>2])||((Y=C[o+96>>2])<(Lt=C[o+108>>2])||((d=v(m-w))<(m=v(Y-Lt))?(F=1,Yt=C[o+56>>2],Pt=C[o+52>>2],Mt=C[o+48>>2],V=C[o+72>>2],z=C[o+68>>2],Wt=C[o+64>>2]):(F=1,Yt=C[o+40>>2],Pt=C[o+36>>2],Mt=C[o+32>>2],V=C[o+88>>2],z=C[o+84>>2],Wt=C[o+80>>2],d=m))),!F)break r;d<h&&(It=f[o+4>>2],f[n>>2]=f[o>>2],f[n+4>>2]=It,F=f[(Gt=o+8|0)+4>>2],f[(It=n+8|0)>>2]=f[Gt>>2],f[It+4>>2]=F,Q=Mt,g=Pt,p=Yt,B=Wt,R=z,W=V,Et=Tt,pt=St,Zt=Vt,Ut=Ft,Xt=Nt,Jt=Ot,It=D,Gt=G,h=d)}if(Dt=Dt+16|0,!((0|(G=G+1|0))<(0|(F=f[e+48>>2]))))break}Dt=f[t+48>>2]}if(!((0|(D=D+1|0))<(0|Dt)))break}}if(!((It|Gt)<0)){Yt=v(Q-B),Pt=v(g-R),Mt=v(p-W),V=v(v(v(Yt*Et)+v(Pt*pt))+v(Mt*Zt)),Wt=v(v(v(Yt*Ut)+v(Pt*Xt))+v(Mt*Jt)),h=v(0),z=v(v(v(Et*Ut)+v(pt*Xt))+v(Zt*Jt)),(d=v(v(1)-v(z*z)))!=v(0)&&(h=v(-1.0000000150474662e30),(d=v(v(Wt-v(V*z))/d))<v(-1.0000000150474662e30)||(h=d)>v(1.0000000150474662e30)&&(h=v(1.0000000150474662e30)));n:if((V=v(v(z*h)-V))<v(-1.0000000150474662e30)){if((d=v(Wt+v(z*v(-1.0000000150474662e30))))<v(-1.0000000150474662e30)){V=v(-1.0000000150474662e30),h=v(-1.0000000150474662e30);break n}if(h=v(1.0000000150474662e30),!(d>v(1.0000000150474662e30))){V=v(-1.0000000150474662e30),h=d;break n}V=v(-1.0000000150474662e30)}else V>v(1.0000000150474662e30)&&(h=v(-1.0000000150474662e30),V=v(1.0000000150474662e30),d=v(Wt+v(z*v(1.0000000150474662e30))),d<v(-1.0000000150474662e30)||(h=d,h>v(1.0000000150474662e30)&&(h=v(1.0000000150474662e30))));f[o+92>>2]=0,Zt=v(Zt*V),d=v(Zt+v(Mt-v(Jt*h))),C[o+88>>2]=d,z=v(pt*V),pt=v(z+v(Pt-v(Xt*h))),C[o+84>>2]=pt,V=v(Et*V),h=v(V+v(Yt-v(Ut*h))),C[o+80>>2]=h,(Et=v(v(d*d)+v(v(h*h)+v(pt*pt))))>v(1.1920928955078125e-7)&&(m=d,Ut=v(E(Et)),d=v(v(1)/Ut),Et=v(m*d),C[o+88>>2]=Et,pt=v(pt*d),C[o+84>>2]=pt,h=v(h*d),C[o+80>>2]=h,v(v(v(h*xt)+v(pt*wt))+v(Et*Qt))<v(0)&&(C[o+88>>2]=-Et,C[o+84>>2]=-pt,C[o+80>>2]=-h),f[o+76>>2]=0,C[o+72>>2]=p+Zt,C[o+68>>2]=g+z,C[o+64>>2]=Q+V,yt[f[f[a>>2]+16>>2]](a,o+80|0,o- -64|0,v(-Ut)))}if(r=1,h=C[n>>2],d=C[n+4>>2],Q=C[n+8>>2],!(v(v(v(xt*h)+v(wt*d))+v(Qt*Q))<v(0)))break A;f[n+12>>2]=0,C[n+8>>2]=-Q,C[n+4>>2]=-d,C[n>>2]=-h;break A}r=0}return Z=o+112|0,r}(f[z+56>>2],f[V+56>>2],f[e+12>>2],f[i+12>>2],o+248|0,a))break i;break e}if(Sr(Dt,o+792|0,o+8|0,f[r+20>>2]),h=f[(r=o+24|0)+4>>2],f[(B=o+256|0)>>2]=f[r>>2],f[B+4>>2]=h,r=f[o+20>>2],f[o+248>>2]=f[o+16>>2],f[o+252>>2]=r,g=C[o+40>>2],!_[o+44|0]|g<v(0)^1)break e}if((0|(h=f[t+16>>2]))<=-1)for(f[t+20>>2]<=-1&&((r=f[t+24>>2])&&(_[t+28|0]&&CA(r),f[t+24>>2]=0),f[t+20>>2]=0,f[t+24>>2]=0,n[t+28|0]=1),B=h<<4;r=f[o+332>>2],Dt=f[t+24>>2]+B|0,f[(W=Dt)>>2]=f[o+328>>2],f[W+4>>2]=r,W=f[(r=o+336|0)+4>>2],f[(Dt=Dt+8|0)>>2]=f[r>>2],f[Dt+4>>2]=W,B=B+16|0,Dt=(r=h+1|0)>>>0>=h>>>0,h=r,Dt;);f[t+16>>2]=0,function(t,e,i,r,a,o,h,d,g,y){var p,R,D=0,B=0,F=v(0),V=v(0),G=0,w=v(0),Q=v(0),W=0,Y=0,z=0,yt=v(0),pt=0,Dt=0,It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=0;if(Z=p=Z-32|0,f[p+28>>2]=f[t+12>>2],F=C[t>>2],w=C[t+4>>2],Q=C[t+8>>2],V=v(v(1)/v(E(v(v(v(F*F)+v(w*w))+v(Q*Q))))),yt=v(Q*V),C[p+24>>2]=yt,It=v(w*V),C[p+20>>2]=It,St=v(F*V),C[p+16>>2]=St,pt=-1,(0|(G=f[i+28>>2]))>=1)for(t=f[i+36>>2]+20|0,Tt=C[a+40>>2],Et=C[a+36>>2],Ot=C[a+24>>2],Nt=C[a+20>>2],Ft=C[a+32>>2],Vt=C[a+16>>2],Gt=C[a+8>>2],Lt=C[a+4>>2],wt=C[a>>2],V=v(-34028234663852886e22);F=C[t>>2],w=C[t+4>>2],Q=C[t+8>>2],V=(D=(F=v(v(v(St*v(v(v(F*wt)+v(w*Lt))+v(Q*Gt)))+v(It*v(v(v(F*Vt)+v(w*Nt))+v(Q*Ot))))+v(yt*v(v(v(F*Ft)+v(w*Et))+v(Q*Tt)))))>V)?F:V,pt=D?B:pt,t=t+36|0,(0|(B=B+1|0))<(0|G););if((0|(t=f[d+4>>2]))<=-1)for(f[d+8>>2]<=-1&&((D=f[d+12>>2])&&(_[d+16|0]&&CA(D),f[d+12>>2]=0),n[d+16|0]=1,f[d+8>>2]=0,f[d+12>>2]=0),B=t<<4;W=f[p+4>>2],D=f[d+12>>2]+B|0,f[D>>2]=f[p>>2],f[D+4>>2]=W,W=f[(G=p+8|0)+4>>2],f[(D=D+8|0)>>2]=f[G>>2],f[D+4>>2]=W,B=B+16|0,G=(D=t+1|0)>>>0>=t>>>0,t=D,G;);if(f[d+4>>2]=0,t=f[i+36>>2]+m(pt,36)|0,(0|(R=f[t+4>>2]))>=1)for(xt=t+12|0,B=0,D=0;;){if(t=f[i+16>>2]+(f[f[xt>>2]+(D<<2)>>2]<<4)|0,V=C[t>>2],F=C[t+4>>2],w=C[t+8>>2],Q=v(v(v(v(V*C[a+32>>2])+v(F*C[a+36>>2]))+v(w*C[a+40>>2]))+C[a+56>>2]),yt=v(v(v(v(V*C[a+16>>2])+v(F*C[a+20>>2]))+v(w*C[a+24>>2]))+C[a+52>>2]),V=v(v(v(v(V*C[a>>2])+v(F*C[a+4>>2]))+v(w*C[a+8>>2]))+C[a+48>>2]),f[d+8>>2]==(0|B)&&!((0|B)>=(0|(G=B?B<<1:1)))){if(G?(W=dA(G<<4),B=f[d+4>>2]):W=0,(0|B)>=1)for(t=0;z=f[d+12>>2]+t|0,Dt=f[z+4>>2],f[(Y=t+W|0)>>2]=f[z>>2],f[Y+4>>2]=Dt,Dt=f[(z=z+8|0)+4>>2],f[(Y=Y+8|0)>>2]=f[z>>2],f[Y+4>>2]=Dt,t=t+16|0,B=B+-1|0;);(t=f[d+12>>2])&&(_[d+16|0]&&CA(t),f[d+12>>2]=0),f[d+12>>2]=W,n[d+16|0]=1,f[d+8>>2]=G,B=f[d+4>>2]}if(t=f[d+12>>2]+(B<<4)|0,f[t+12>>2]=0,C[t+8>>2]=Q,C[t+4>>2]=yt,C[t>>2]=V,B=f[d+4>>2]+1|0,f[d+4>>2]=B,(0|(D=D+1|0))==(0|R))break}(0|pt)>-1&&Or(p+16|0,e,r,d,g,o,h,y),Z=p+32|0}(o+248|0,f[z+56>>2],f[V+56>>2],f[e+12>>2],f[i+12>>2],v(g-d),d,t+12|0,t+32|0,a)}if(!_[t+52|0])break t;if(t=f[a+4>>2],!f[t+780>>2])break t;if((0|(e=f[t+772>>2]))!=(0|(i=f[f[a+8>>2]+8>>2]))){se(t,f[f[a+12>>2]+8>>2]+4|0,i+4|0);break t}se(t,e+4|0,f[f[a+12>>2]+8>>2]+4|0);break t}if(1==f[V+4>>2]){if(f[o+252>>2]=0,h=f[i+12>>2],F=C[h+56>>2],Ot=C[h+36>>2],xt=C[h+40>>2],Yt=C[h+52>>2],Mt=C[h+20>>2],Zt=C[h+24>>2],g=C[V+68>>2],d=C[V+60>>2],D=C[V- -64>>2],Ht=C[h+32>>2],Xt=C[h+16>>2],It=C[h+48>>2],Tt=C[h+8>>2],Jt=C[h>>2],jt=C[h+4>>2],h=dA(16),f[o+256>>2]=1,f[o+260>>2]=h,n[o+264|0]=1,C[h>>2]=It+v(v(v(d*Jt)+v(D*jt))+v(g*Tt)),C[h+4>>2]=Yt+v(v(v(d*Xt)+v(D*Mt))+v(g*Zt)),f[h+12>>2]=0,C[h+8>>2]=F+v(v(v(d*Ht)+v(D*Ot))+v(g*xt)),B=f[o+252>>2]+1|0,f[o+252>>2]=B,g=C[V+76>>2],h=f[i+12>>2],d=C[V+80>>2],D=C[V+84>>2],F=v(v(v(v(g*C[h+32>>2])+v(d*C[h+36>>2]))+v(D*C[h+40>>2]))+C[h+56>>2]),Ot=v(v(v(v(g*C[h+16>>2])+v(d*C[h+20>>2]))+v(D*C[h+24>>2]))+C[h+52>>2]),g=v(v(v(v(g*C[h>>2])+v(d*C[h+4>>2]))+v(D*C[h+8>>2]))+C[h+48>>2]),f[o+256>>2]==(0|B)&&!((0|B)>=(0|(W=B?B<<1:1)))){if(W?(Q=dA(W<<4),B=f[o+252>>2]):Q=0,(0|B)>=1)for(h=0;w=f[o+260>>2]+h|0,pt=f[w+4>>2],f[(St=h+Q|0)>>2]=f[w>>2],f[St+4>>2]=pt,pt=f[(w=w+8|0)+4>>2],f[(St=St+8|0)>>2]=f[w>>2],f[St+4>>2]=pt,h=h+16|0,B=B+-1|0;);(h=f[o+260>>2])&&(_[o+264|0]&&CA(h),f[o+260>>2]=0),f[o+260>>2]=Q,n[o+264|0]=1,f[o+256>>2]=W,B=f[o+252>>2]}if(h=f[o+260>>2]+(B<<4)|0,f[h+12>>2]=0,C[h+8>>2]=F,C[h+4>>2]=Ot,C[h>>2]=g,B=f[o+252>>2]+1|0,f[o+252>>2]=B,g=C[V+92>>2],i=f[i+12>>2],d=C[V+96>>2],D=C[V+100>>2],F=v(v(v(v(g*C[i>>2])+v(d*C[i+4>>2]))+v(D*C[i+8>>2]))+C[i+48>>2]),Ot=v(v(v(v(g*C[i+32>>2])+v(d*C[i+36>>2]))+v(D*C[i+40>>2]))+C[i+56>>2]),g=v(v(v(v(g*C[i+16>>2])+v(d*C[i+20>>2]))+v(D*C[i+24>>2]))+C[i+52>>2]),f[o+256>>2]==(0|B)&&!((0|B)>=(0|(i=B?B<<1:1)))){if(i?(W=dA(i<<4),B=f[o+252>>2]):W=0,(0|B)>=1)for(h=0;Q=f[o+260>>2]+h|0,w=f[Q+4>>2],f[(pt=h+W|0)>>2]=f[Q>>2],f[pt+4>>2]=w,w=f[(Q=Q+8|0)+4>>2],f[(pt=pt+8|0)>>2]=f[Q>>2],f[pt+4>>2]=w,h=h+16|0,B=B+-1|0;);(h=f[o+260>>2])&&(_[o+264|0]&&CA(h),f[o+260>>2]=0),f[o+260>>2]=W,n[o+264|0]=1,f[o+256>>2]=i,B=f[o+252>>2]}if(i=f[o+260>>2]+(B<<4)|0,f[i+12>>2]=0,C[i+8>>2]=Ot,C[i+4>>2]=g,C[i>>2]=F,f[o+252>>2]=f[o+252>>2]+1,g=C[f[t+56>>2]+784>>2],Sr(Dt,o+792|0,o+344|0,f[r+20>>2]),d=C[Dt+4>>2],D=C[Dt+8>>2],F=C[Dt+12>>2],(Ot=v(v(v(d*d)+v(D*D))+v(F*F)))>v(1.1920928955078125e-7)){if(f[o+340>>2]=0,Ut=F,F=v(v(1)/Ot),C[o+336>>2]=Ut*F,C[o+332>>2]=D*F,C[o+328>>2]=d*F,d=v(v(C[Dt+56>>2]-v(yt[f[f[z>>2]+48>>2]](z)))-v(yt[f[f[V>>2]+48>>2]](V))),(0|(V=f[t+36>>2]))<=-1)for(f[t+40>>2]<=-1&&((i=f[t+44>>2])&&(_[t+48|0]&&CA(i),f[t+44>>2]=0),f[t+40>>2]=0,f[t+44>>2]=0,n[t+48|0]=1),h=V<<4;i=f[o+316>>2],r=f[t+44>>2]+h|0,f[(B=r)>>2]=f[o+312>>2],f[B+4>>2]=i,B=f[(i=o+320|0)+4>>2],f[(r=r+8|0)>>2]=f[i>>2],f[r+4>>2]=B,h=h+16|0,r=(i=V+1|0)>>>0>=V>>>0,V=i,r;);f[t+36>>2]=0,Or(o+328|0,f[z+56>>2],f[e+12>>2],o+248|0,t+32|0,v(d-g),g,a)}if(_[t+52|0]&&(t=f[a+4>>2],f[t+780>>2]&&((0|(e=f[t+772>>2]))==(0|(i=f[f[a+8>>2]+8>>2]))?se(t,e+4|0,f[f[a+12>>2]+8>>2]+4|0):se(t,f[f[a+12>>2]+8>>2]+4|0,i+4|0))),!(t=f[o+260>>2]))break t;_[o+264|0]&&CA(t),f[o+260>>2]=0;break t}}if(Sr(Dt,o+792|0,a,f[r+20>>2]),!(!f[t+64>>2]|f[f[a+4>>2]+780>>2]>=f[t+68>>2])&&(g=C[Dt+4>>2],d=C[Dt+8>>2],D=C[Dt+12>>2],(F=v(v(v(g*g)+v(d*d))+v(D*D)))>v(1.1920928955078125e-7)&&(w=o+856|0,pt=o+840|0,St=o+824|0,wt=o+808|0,Ut=d,d=v(v(1)/F),Ot=v(Ut*d),Ht=v(g*d),Xt=v(D*d),v(y(Xt))>v(.7071067690849304)?(g=v(v(1)/v(E(v(v(Xt*Xt)+v(Ot*Ot))))),d=v(Ot*g),g=v(-v(Xt*g)),D=v(0)):(d=v(v(1)/v(E(v(v(Ht*Ht)+v(Ot*Ot))))),g=v(Ht*d),D=v(-v(Ot*d)),d=v(0)),F=v(yt[f[f[z>>2]+16>>2]](z)),xt=v(yt[f[f[V>>2]+16>>2]](V)),Yt=C[744],Lt=f[(V=(h=(z=F<xt)?o+792|0:w)+8|0)+4>>2],f[(Et=en=o+256|0)>>2]=f[V>>2],f[Et+4>>2]=Lt,Et=f[(Lt=(V=z?wt:B)+8|0)+4>>2],f[(Qt=o+272|0)>>2]=f[Lt>>2],f[Qt+4>>2]=Et,Qt=f[(Et=(Lt=z?St:W)+8|0)+4>>2],f[(Kt=o+288|0)>>2]=f[Et>>2],f[Kt+4>>2]=Qt,Kt=f[(Qt=(Et=z?pt:Q)+8|0)+4>>2],f[(BA=o+304|0)>>2]=f[Qt>>2],f[BA+4>>2]=Kt,Qt=f[h+4>>2],f[o+248>>2]=f[h>>2],f[o+252>>2]=Qt,h=f[V+4>>2],f[o+264>>2]=f[V>>2],f[o+268>>2]=h,h=f[Lt+4>>2],f[o+280>>2]=f[Lt>>2],f[o+284>>2]=h,h=f[Et+4>>2],f[o+296>>2]=f[Et>>2],f[o+300>>2]=h,!((0|(h=f[t+64>>2]))<1))))for(Ut=d,F=v(v(R(v(Yt/(z?F:xt)),v(.39269909262657166)))*v(.5)),_n=v(v(v(D*D)+v(g*g))+v(d*d)),d=v(dr(F)/v(E(_n))),xt=v(Ut*d),Yt=v(g*d),Mt=v(D*d),Zt=Cr(F),Ut=v(E(v(v(Xt*Xt)+v(v(Ht*Ht)+v(Ot*Ot))))),Lt=o+296|0,Et=o+224|0,Qt=o+208|0,Kt=o+280|0,BA=o+192|0,An=o+264|0,rn=o+176|0,nn=o+160|0,an=o+144|0,on=o+128|0,sn=o+112|0,ln=o+96|0,fn=o+80|0,cn=o- -64|0,bn=o+48|0,V=0;_n>v(1.1920928955078125e-7)&&(F=v(v(v(v(6.2831854820251465)/v(0|h))*v(0|V))*v(.5)),D=v(dr(F)/Ut),g=v(Xt*D),d=v(Ot*D),D=v(Ht*D),F=Cr(F),z?(h=f[e+12>>2],Jt=C[h>>2],jt=C[h+4>>2],qt=C[h+8>>2],f[o+804>>2]=0,$t=C[h+36>>2],bi=C[h+20>>2],di=C[h+40>>2],yi=C[h+24>>2],Ii=C[h+32>>2],Bi=C[h+16>>2],f[o+836>>2]=0,f[o+820>>2]=0,Nt=v(v(v(v(Yt*F)-v(Zt*d))-v(Mt*g))+v(xt*D)),Ft=v(v(v(v(Zt*F)+v(Mt*D))+v(Yt*d))+v(xt*g)),Vt=v(v(v(v(Mt*F)-v(Zt*D))-v(xt*d))+v(Yt*g)),Gt=v(v(v(v(xt*F)-v(Zt*g))-v(Yt*D))+v(Mt*d)),It=v(v(v(g*Nt)+v(v(D*Ft)+v(F*Vt)))-v(d*Gt)),Tt=v(v(v(v(F*Ft)-v(D*Vt))-v(d*Nt))-v(g*Gt)),zt=v(v(v(d*Vt)+v(v(g*Ft)+v(F*Gt)))-v(D*Nt)),g=v(v(v(D*Gt)+v(v(F*Nt)+v(d*Ft)))-v(g*Vt)),d=v(v(2)/v(v(Tt*Tt)+v(v(zt*zt)+v(v(It*It)+v(g*g))))),D=v(zt*d),Ft=v(It*D),F=v(g*d),Vt=v(Tt*F),Nt=v(Ft-Vt),Gt=v(g*D),Pt=v(It*d),gr=v(Tt*Pt),d=v(Gt+gr),Pt=v(It*Pt),tn=v(g*F),g=v(v(1)-v(Pt+tn)),C[o+832>>2]=v(v(qt*Nt)+v(yi*d))+v(di*g),C[o+828>>2]=v(v(Nt*jt)+v(d*bi))+v(g*$t),C[o+824>>2]=v(v(Nt*Jt)+v(d*Bi))+v(g*Ii),F=v(It*F),It=v(Tt*D),g=v(F+It),Tt=v(zt*D),d=v(v(1)-v(Pt+Tt)),D=v(Gt-gr),C[o+816>>2]=v(v(qt*g)+v(yi*d))+v(di*D),C[o+812>>2]=v(v(g*jt)+v(d*bi))+v(D*$t),C[o+808>>2]=v(v(g*Jt)+v(d*Bi))+v(D*Ii),g=v(v(1)-v(tn+Tt)),d=v(F-It),D=v(Ft+Vt),C[o+800>>2]=v(v(qt*g)+v(yi*d))+v(di*D),C[o+796>>2]=v(v(g*jt)+v(d*bi))+v(D*$t),C[o+792>>2]=v(v(g*Jt)+v(d*Bi))+v(D*Ii),h=f[i+12>>2],G=f[h+4>>2],f[w>>2]=f[h>>2],f[w+4>>2]=G,G=f[(p=h+8|0)+4>>2],f[(Y=w+8|0)>>2]=f[p>>2],f[Y+4>>2]=G,G=f[(p=h+24|0)+4>>2],f[(Y=B+8|0)>>2]=f[p>>2],f[Y+4>>2]=G,p=f[h+20>>2],f[B>>2]=f[h+16>>2],f[B+4>>2]=p,G=f[(p=h+40|0)+4>>2],f[(Y=W+8|0)>>2]=f[p>>2],f[Y+4>>2]=G,p=f[h+36>>2],f[W>>2]=f[h+32>>2],f[W+4>>2]=p,G=f[(p=h+56|0)+4>>2],f[(Y=Q+8|0)>>2]=f[p>>2],f[Y+4>>2]=G,p=f[h+52>>2],f[Q>>2]=f[h+48>>2],f[Q+4>>2]=p):(h=f[e+12>>2],G=f[(p=h+8|0)>>2],p=f[p+4>>2],Y=f[h>>2],hn=f[h+4>>2],Wt=f[h+20>>2],f[wt>>2]=f[h+16>>2],f[wt+4>>2]=Wt,dn=f[(Wt=h+24|0)+4>>2],f[(un=wt+8|0)>>2]=f[Wt>>2],f[un+4>>2]=dn,f[(Wt=o+800|0)>>2]=G,f[Wt+4>>2]=p,p=f[h+36>>2],f[St>>2]=f[h+32>>2],f[St+4>>2]=p,G=f[(p=h+40|0)+4>>2],f[(Wt=St+8|0)>>2]=f[p>>2],f[Wt+4>>2]=G,G=f[(p=h+56|0)+4>>2],f[(Wt=pt+8|0)>>2]=f[p>>2],f[Wt+4>>2]=G,p=f[h+52>>2],f[pt>>2]=f[h+48>>2],f[pt+4>>2]=p,f[o+792>>2]=Y,f[o+796>>2]=hn,h=f[i+12>>2],Jt=C[h+36>>2],jt=C[h+20>>2],qt=C[h+40>>2],$t=C[h+24>>2],bi=C[h+32>>2],di=C[h>>2],yi=C[h+16>>2],Ii=C[h+4>>2],Bi=C[h+8>>2],f[o+900>>2]=0,f[o+884>>2]=0,f[o+868>>2]=0,Nt=v(v(v(v(Yt*F)-v(Zt*d))-v(Mt*g))+v(xt*D)),Ft=v(v(v(v(Zt*F)+v(Mt*D))+v(Yt*d))+v(xt*g)),Vt=v(v(v(v(Mt*F)-v(Zt*D))-v(xt*d))+v(Yt*g)),Gt=v(v(v(v(xt*F)-v(Zt*g))-v(Yt*D))+v(Mt*d)),It=v(v(v(g*Nt)+v(v(D*Ft)+v(F*Vt)))-v(d*Gt)),Tt=v(v(v(v(F*Ft)-v(D*Vt))-v(d*Nt))-v(g*Gt)),zt=v(v(v(d*Vt)+v(v(g*Ft)+v(F*Gt)))-v(D*Nt)),g=v(v(v(D*Gt)+v(v(F*Nt)+v(d*Ft)))-v(g*Vt)),d=v(v(2)/v(v(Tt*Tt)+v(v(zt*zt)+v(v(It*It)+v(g*g))))),D=v(zt*d),Ft=v(It*D),F=v(g*d),Vt=v(Tt*F),Nt=v(Ft-Vt),Gt=v(g*D),Pt=v(It*d),gr=v(Tt*Pt),d=v(Gt+gr),Pt=v(It*Pt),tn=v(g*F),g=v(v(1)-v(Pt+tn)),C[o+896>>2]=v(v(Bi*Nt)+v($t*d))+v(qt*g),C[o+892>>2]=v(v(Nt*Ii)+v(d*jt))+v(g*Jt),C[o+888>>2]=v(v(Nt*di)+v(d*yi))+v(g*bi),F=v(It*F),It=v(Tt*D),g=v(F+It),Tt=v(zt*D),d=v(v(1)-v(Pt+Tt)),D=v(Gt-gr),C[o+880>>2]=v(v(Bi*g)+v($t*d))+v(qt*D),C[o+876>>2]=v(v(g*Ii)+v(d*jt))+v(D*Jt),C[o+872>>2]=v(v(g*di)+v(d*yi))+v(D*bi),g=v(v(1)-v(tn+Tt)),d=v(F-It),D=v(Ft+Vt),C[o+864>>2]=v(v(Bi*g)+v($t*d))+v(qt*D),C[o+860>>2]=v(v(g*Ii)+v(d*jt))+v(D*Jt),C[o+856>>2]=v(v(g*di)+v(d*yi))+v(D*bi)),h=f[o+796>>2],f[bn>>2]=f[o+792>>2],f[bn+4>>2]=h,h=f[wt+4>>2],f[cn>>2]=f[wt>>2],f[cn+4>>2]=h,h=f[St+4>>2],f[fn>>2]=f[St>>2],f[fn+4>>2]=h,h=f[pt+4>>2],f[ln>>2]=f[pt>>2],f[ln+4>>2]=h,p=f[(h=o+800|0)+4>>2],f[(G=bn+8|0)>>2]=f[h>>2],f[G+4>>2]=p,p=f[(h=wt+8|0)+4>>2],f[(G=cn+8|0)>>2]=f[h>>2],f[G+4>>2]=p,p=f[(h=St+8|0)+4>>2],f[(G=fn+8|0)>>2]=f[h>>2],f[G+4>>2]=p,p=f[(h=pt+8|0)+4>>2],f[(G=ln+8|0)>>2]=f[h>>2],f[G+4>>2]=p,f[o+40>>2]=0,f[o+44>>2]=a,f[o+8>>2]=15924,h=f[r+20>>2],G=f[(p=w+8|0)+4>>2],f[(Y=sn+8|0)>>2]=f[p>>2],f[Y+4>>2]=G,p=f[w+4>>2],f[sn>>2]=f[w>>2],f[sn+4>>2]=p,G=f[(p=B+8|0)+4>>2],f[(Y=on+8|0)>>2]=f[p>>2],f[Y+4>>2]=G,p=f[B+4>>2],f[on>>2]=f[B>>2],f[on+4>>2]=p,G=f[(p=W+8|0)+4>>2],f[(Y=an+8|0)>>2]=f[p>>2],f[Y+4>>2]=G,p=f[W+4>>2],f[an>>2]=f[W>>2],f[an+4>>2]=p,G=f[(p=Q+8|0)+4>>2],f[(Y=nn+8|0)>>2]=f[p>>2],f[Y+4>>2]=G,p=f[Q+4>>2],f[nn>>2]=f[Q>>2],f[nn+4>>2]=p,p=f[en+4>>2],f[(G=rn+8|0)>>2]=f[en>>2],f[G+4>>2]=p,p=f[o+252>>2],f[rn>>2]=f[o+248>>2],f[rn+4>>2]=p,G=f[(p=An+8|0)+4>>2],f[(Y=BA+8|0)>>2]=f[p>>2],f[Y+4>>2]=G,p=f[An+4>>2],f[BA>>2]=f[An>>2],f[BA+4>>2]=p,G=f[(p=Kt+8|0)+4>>2],f[(Y=Qt+8|0)>>2]=f[p>>2],f[Y+4>>2]=G,p=f[Kt+4>>2],f[Qt>>2]=f[Kt>>2],f[Qt+4>>2]=p,G=f[(p=Lt+8|0)+4>>2],f[(Y=Et+8|0)>>2]=f[p>>2],f[Y+4>>2]=G,p=f[Lt+4>>2],f[Et>>2]=f[Lt>>2],f[Et+4>>2]=p,f[o+244>>2]=h,n[o+240|0]=z,Sr(Dt,o+792|0,o+8|0,h),h=f[t+64>>2]),(0|(V=V+1|0))<(0|h););_[t+52|0]&&(t=f[a+4>>2],f[t+780>>2]&&((0|(e=f[t+772>>2]))==(0|(i=f[f[a+8>>2]+8>>2]))?se(t,e+4|0,f[f[a+12>>2]+8>>2]+4|0):se(t,f[f[a+12>>2]+8>>2]+4|0,i+4|0)))}Z=o+928|0},function(t,e,i,r,a){t|=0,e|=0,i|=0,r|=0,a|=0;var o=v(0),h=v(0),d=v(0),g=0,m=0,y=0,p=0,R=0,D=0,B=0,E=0,F=0;return Z=t=Z-608|0,o=v(C[e+116>>2]-C[e+52>>2]),h=v(o*o),o=v(C[e+120>>2]-C[e+56>>2]),h=v(h+v(o*o)),o=v(C[e+124>>2]-C[e+60>>2]),h=v(h+v(o*o)),o=C[e+276>>2],h<v(o*o)&&(h=v(1),o=v(C[i+116>>2]-C[i+52>>2]),d=v(o*o),o=v(C[i+120>>2]-C[i+56>>2]),d=v(d+v(o*o)),o=v(C[i+124>>2]-C[i+60>>2]),d=v(d+v(o*o)),o=C[i+276>>2],d<v(o*o))||(h=v(1),_[2752]||(m=f[e+192>>2],g=f[i+272>>2],DA(t+552|0),f[(r=a=t+580|0)>>2]=0,f[r+4>>2]=0,f[(p=t+576|0)>>2]=1065353216,f[(r=y=t+588|0)>>2]=0,f[r+4>>2]=0,f[(R=t+596|0)>>2]=0,f[t+568>>2]=1065353216,f[t+572>>2]=1065353216,f[t+556>>2]=8,f[t+552>>2]=9852,f[t+604>>2]=0,f[t+600>>2]=g,f[t+584>>2]=g,f[t+548>>2]=0,f[t+540>>2]=1566444395,f[t+544>>2]=0,f[t+376>>2]=15992,n[0|(D=t+348|0)]=0,f[t+324>>2]=953267991,r=Hr(t,m,t+552|0,t+16|0),B=e+4|0,E=e+68|0,g=i+4|0,m=i+68|0,h=v(1),zr(r,B,E,g,m,t+376|0)&&(o=C[t+540>>2],C[e+268>>2]>o&&(C[e+268>>2]=o),C[i+268>>2]>o&&(C[i+268>>2]=o),h=v(1),o<v(1)&&(h=o)),r=f[i+192>>2],F=f[e+272>>2],DA(t+552|0),f[a>>2]=0,f[a+4>>2]=0,f[p>>2]=1065353216,f[y>>2]=0,f[y+4>>2]=0,f[R>>2]=0,f[t+568>>2]=1065353216,f[t+572>>2]=1065353216,f[t+556>>2]=8,f[t+552>>2]=9852,f[t+604>>2]=0,f[t+600>>2]=F,f[t+584>>2]=F,f[t+548>>2]=0,f[t+540>>2]=1566444395,f[t+544>>2]=0,f[t+376>>2]=15992,n[0|D]=0,f[t+324>>2]=953267991,zr(Hr(t,t+552|0,r,t+16|0),B,E,g,m,t+376|0)&&(o=C[t+540>>2],C[e+268>>2]>o&&(C[e+268>>2]=o),C[i+268>>2]>o&&(C[i+268>>2]=o),h>o&&(h=o)))),Z=t+608|0,v(h)},function(t,e){e|=0;var i=0,r=0,a=0,o=0,h=0;if(!(!(r=f[(t|=0)+56>>2])|!_[t+52|0])){if((0|(i=f[e+4>>2]))==f[e+8>>2]&&!((0|i)>=(0|(o=i?i<<1:1)))){if(o&&(h=dA(o<<2),i=f[e+4>>2]),(0|i)>=1)for(r=0,a=i;f[r+h>>2]=f[f[e+12>>2]+r>>2],r=r+4|0,a=a+-1|0;);(a=f[e+12>>2])&&(_[e+16|0]&&(CA(a),i=f[e+4>>2]),f[e+12>>2]=0),f[e+12>>2]=h,n[e+16|0]=1,f[e+8>>2]=o,r=f[t+56>>2]}f[e+4>>2]=i+1,f[f[e+12>>2]+(i<<2)>>2]=r}},ve,De,De,Kr,ve,De,De,function(t,e,i,r){t|=0,e|=0,i|=0,r=v(r);var a,o,_,h=0,d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0);Z=a=Z-16|0,C[t+32>>2]=r,h=f[e+4>>2],f[t+8>>2]=f[e>>2],f[t+12>>2]=h,_=f[(h=e+8|0)+4>>2],f[(o=t+16|0)>>2]=f[h>>2],f[o+4>>2]=_,g=C[h>>2],m=C[i>>2],y=C[e>>2],p=C[i+4>>2],R=C[e+4>>2],D=C[i+8>>2],d=C[t+28>>2],r=v(v(d+C[t+24>>2])+r),C[t+32>>2]=r,f[a+12>>2]=0,C[a+8>>2]=D-v(d*g),C[a+4>>2]=p-v(d*R),C[a>>2]=m-v(y*d),r<v(0)&&(n[t+36|0]=1),t=f[t+4>>2],yt[f[f[t>>2]+16>>2]](t,e,a,r),Z=a+16|0},ve,function(t,e,i,r){t|=0,e|=0,i|=0,r=v(r);var n,a=v(0),o=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0);Z=n=Z-16|0,It=C[e+8>>2],pt=C[i+8>>2],y=v(v(It*r)+pt),St=C[e+4>>2],Dt=C[i+4>>2],Tt=v(v(St*r)+Dt),Et=C[e>>2],a=v(Et*r),r=C[i>>2],Ot=v(a+r),_[t+232|0]?(B=C[t+40>>2],p=v(-C[t+88>>2]),E=C[t+56>>2],m=C[t+92>>2],g=C[t+72>>2],a=C[t+96>>2],w=v(v(v(B*p)-v(E*m))-v(g*a)),o=C[t+200>>2],F=C[t+44>>2],V=C[t+60>>2],R=C[t+76>>2],Y=v(v(v(F*p)-v(V*m))-v(R*a)),h=C[t+204>>2],G=C[t+48>>2],d=v(G*p),p=C[t- -64>>2],d=v(d-v(p*m)),m=C[t+80>>2],Q=v(d-v(m*a)),a=C[t+208>>2],d=v(v(v(v(v(w*o)+v(Y*h))+v(Q*a))+C[t+224>>2])+v(v(y*v(v(v(g*o)+v(R*h))+v(m*a)))+v(v(Ot*v(v(v(B*o)+v(F*h))+v(G*a)))+v(Tt*v(v(v(E*o)+v(V*h))+v(p*a)))))),o=C[t+168>>2],h=C[t+172>>2],a=C[t+176>>2],o=v(v(v(y*v(v(v(g*o)+v(R*h))+v(m*a)))+v(v(Ot*v(v(v(B*o)+v(F*h))+v(G*a)))+v(Tt*v(v(v(E*o)+v(V*h))+v(p*a)))))+v(v(v(v(o*w)+v(Y*h))+v(Q*a))+C[t+216>>2])),h=v(Et*v(o-r)),a=y,r=C[t+184>>2],y=C[t+188>>2],R=v(v(g*r)+v(R*y)),g=C[t+192>>2],y=v(v(v(a*v(R+v(m*g)))+v(v(Ot*v(v(v(B*r)+v(F*y))+v(G*g)))+v(Tt*v(v(v(E*r)+v(V*y))+v(p*g)))))+v(v(v(v(w*r)+v(Y*y))+v(Q*g))+C[t+220>>2])),r=v(v(h+v(St*v(y-Dt)))+v(It*v(d-pt))),C[n+8>>2]=d+v(It*r),C[n+4>>2]=y+v(St*r),C[n>>2]=o+v(Et*r)):(Vt=C[t+224>>2],B=C[t+208>>2],E=C[t+200>>2],g=C[t+204>>2],Gt=C[t+216>>2],o=C[t+172>>2],F=C[t+176>>2],V=C[t+168>>2],R=C[t+104>>2],d=v(-C[t+152>>2]),h=C[t+120>>2],W=C[t+156>>2],G=C[t+136>>2],z=C[t+160>>2],p=v(v(v(R*d)-v(h*W))-v(G*z)),m=C[t+108>>2],a=C[t+124>>2],w=C[t+140>>2],Y=v(v(v(m*d)-v(a*W))-v(w*z)),Q=C[t+112>>2],D=v(Q*d),d=C[t+128>>2],D=v(D-v(d*W)),W=C[t+144>>2],z=v(D-v(W*z)),D=C[t+184>>2],Nt=C[t+188>>2],Ft=C[t+192>>2],D=v(v(v(pt*v(v(v(G*D)+v(w*Nt))+v(W*Ft)))+v(v(r*v(v(v(R*D)+v(m*Nt))+v(Q*Ft)))+v(Dt*v(v(v(h*D)+v(a*Nt))+v(d*Ft)))))+v(v(v(v(p*D)+v(Y*Nt))+v(z*Ft))+C[t+220>>2])),C[n+4>>2]=D,o=v(v(v(pt*v(v(v(G*V)+v(w*o))+v(W*F)))+v(v(r*v(v(v(R*V)+v(m*o))+v(Q*F)))+v(Dt*v(v(v(h*V)+v(a*o))+v(d*F)))))+v(Gt+v(v(v(V*p)+v(Y*o))+v(z*F)))),C[n>>2]=o,r=v(v(Vt+v(v(v(p*E)+v(Y*g))+v(z*B)))+v(v(pt*v(v(v(G*E)+v(w*g))+v(W*B)))+v(v(r*v(v(v(R*E)+v(m*g))+v(Q*B)))+v(Dt*v(v(v(h*E)+v(a*g))+v(d*B)))))),C[n+8>>2]=r,r=v(v(v(Et*v(Ot-o))+v(St*v(Tt-D)))+v(It*v(y-r)))),f[n+12>>2]=0,t=f[t+36>>2],yt[f[f[t>>2]+16>>2]](t,e,n,r),Z=n+16|0},WA,Rr,De,sA,ve,qe,function(){},ve,Ai,function(t){var e,i,r=0;return f[(t|=0)+8>>2]=16148,f[t>>2]=16120,e=f[(r=t+56|0)>>2],i=t+72|0,yt[f[f[e>>2]+20>>2]](e,f[i>>2]),r=f[r>>2],yt[f[f[r>>2]+16>>2]](r,f[i>>2]),0|t},function(t){var e,i,r=0;f[(t|=0)+8>>2]=16148,f[t>>2]=16120,e=f[(r=t+56|0)>>2],i=t+72|0,yt[f[f[e>>2]+20>>2]](e,f[i>>2]),r=f[r>>2],yt[f[f[r>>2]+16>>2]](r,f[i>>2]),CA(t)},function(t,e,i,r,n){t|=0,e|=0,i|=0,r|=0,n|=0;var a,o,h=0,d=0,g=v(0);Z=a=Z-16|0,Lr(a+8|0,16202),d=_[t+76|0],h=f[(o=d?e:i)+4>>2],f[h+4>>2]+-21>>>0>8||(f[f[(e=d?i:e)+4>>2]+4>>2]>19||(g=v(yt[f[f[h>>2]+48>>2]](h)),i=t+72|0,f[n+4>>2]=f[i>>2],function(t,e,i,r,n,a){var o,_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0);Z=o=Z+-64|0,C[t+56>>2]=e,f[t+52>>2]=i,f[t+40>>2]=n,f[t+36>>2]=r,f[t+44>>2]=a,i=f[n+12>>2],E=C[i+52>>2],F=C[i+56>>2],n=f[r+12>>2],V=C[n+52>>2],G=C[n+56>>2],_=C[i+20>>2],h=C[i+36>>2],w=C[n+20>>2],Q=C[n+36>>2],W=C[n+24>>2],d=C[i+24>>2],Y=C[n+40>>2],g=C[i+40>>2],z=C[n+32>>2],m=C[i+32>>2],pt=C[n>>2],y=C[i>>2],Dt=C[n+16>>2],p=C[i+16>>2],R=C[i+48>>2],It=C[n+48>>2],D=C[i+4>>2],St=C[n+4>>2],Tt=C[n+8>>2],B=C[i+8>>2],f[o+60>>2]=0,f[o+44>>2]=0,f[o+28>>2]=0,C[o+40>>2]=v(v(B*Tt)+v(d*W))+v(g*Y),C[o+36>>2]=v(v(B*St)+v(d*w))+v(g*Q),C[o+24>>2]=v(v(D*Tt)+v(_*W))+v(h*Y),C[o+20>>2]=v(v(D*St)+v(_*w))+v(h*Q),R=v(-R),C[o+56>>2]=v(v(v(B*R)-v(d*E))-v(g*F))+v(v(v(B*It)+v(d*V))+v(g*G)),C[o+52>>2]=v(v(v(D*R)-v(_*E))-v(h*F))+v(v(v(D*It)+v(_*V))+v(h*G)),f[o+12>>2]=0,C[o>>2]=v(v(y*pt)+v(p*Dt))+v(m*z),C[o+32>>2]=v(v(B*pt)+v(d*Dt))+v(g*z),C[o+16>>2]=v(v(D*pt)+v(_*Dt))+v(h*z),C[o+8>>2]=v(v(y*Tt)+v(p*W))+v(m*Y),C[o+4>>2]=v(v(y*St)+v(p*w))+v(m*Q),C[o+48>>2]=v(v(v(y*R)-v(p*E))-v(m*F))+v(v(v(y*It)+v(p*V))+v(m*G)),i=f[r+4>>2],yt[f[f[i>>2]+8>>2]](i,o,t+4|0,t+20|0),e=v(C[a+32>>2]+e),C[t+20>>2]=e+C[t+20>>2],C[(i=t+24|0)>>2]=e+C[i>>2],C[(i=t+28|0)>>2]=e+C[i>>2],C[t+4>>2]=C[t+4>>2]-e,C[(i=t+8|0)>>2]=C[i>>2]-e,C[(t=t+12|0)>>2]=C[t>>2]-e,Z=o- -64|0}(d=t+8|0,g,r,e,o,n),i=f[i>>2],f[i+776>>2]=f[o+8>>2],f[i+772>>2]=f[e+8>>2],yt[f[f[h>>2]+64>>2]](h,d,t+12|0,t+28|0),e=f[n+4>>2],f[e+780>>2]&&(i=(0|(r=f[e+772>>2]))==(0|(h=f[f[n+8>>2]+8>>2])),d=e,e=f[f[n+12>>2]+8>>2],se(d,(i?r:e)+4|0,(i?e:h)+4|0)),f[(t=t+44|0)>>2]=0,f[t+4>>2]=0)),qr(),Z=a+16|0},function(t,e,i,r,n){t|=0,e|=0,i|=0,r|=0,n|=0;var a=v(0),o=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=v(0),Pt=v(0),Mt=v(0),Zt=v(0),Ut=v(0),Xt=v(0);return Z=r=Z-240|0,Ut=v(1),n=_[t+76|0],a=v(C[(t=n?i:e)+116>>2]-C[t+52>>2]),o=v(a*a),a=v(C[t+120>>2]-C[t+56>>2]),o=v(o+v(a*a)),a=v(C[t+124>>2]-C[t+60>>2]),o=v(o+v(a*a)),a=C[t+276>>2],o<v(a*a)||(i=f[(e=n?e:i)+192>>2],f[i+4>>2]+-21>>>0>8||(It=C[t+92>>2],St=C[t+76>>2],Tt=C[t+108>>2],Et=C[t+88>>2],Ot=C[t+72>>2],Nt=C[t+104>>2],Ft=C[t+100>>2],Vt=C[t+84>>2],Gt=C[t+68>>2],y=C[e+36>>2],p=C[e+20>>2],R=C[e+4>>2],Lt=C[t+28>>2],wt=C[t+12>>2],xt=C[t+44>>2],Qt=C[t+24>>2],Wt=C[t+8>>2],Yt=C[t+40>>2],Pt=C[t+36>>2],Mt=C[t+20>>2],Zt=C[t+4>>2],D=C[e+12>>2],Q=C[t+116>>2],B=C[e+28>>2],o=C[t+120>>2],E=C[e+44>>2],W=C[t+124>>2],Xt=v(v(v(D*Q)+v(B*o))+v(E*W)),F=C[e+8>>2],Y=v(-C[e+52>>2]),V=C[e+24>>2],G=C[e+56>>2],w=C[e+40>>2],z=C[e+60>>2],m=v(v(v(F*Y)-v(V*G))-v(w*z)),a=v(m+v(v(v(F*Q)+v(V*o))+v(w*W))),h=C[t+56>>2],d=C[t+52>>2],g=C[t+60>>2],f[r+236>>2]=0,Dt=v(v(v(D*Y)-v(B*G))-v(E*z)),pt=v(Dt+v(v(v(D*d)+v(B*h))+v(E*g))),C[r+232>>2]=pt,m=v(m+v(v(v(F*d)+v(V*h))+v(w*g))),C[r+228>>2]=m,G=v(v(v(R*Y)-v(p*G))-v(y*z)),g=v(G+v(v(v(R*d)+v(p*h))+v(y*g))),C[r+224>>2]=g,Y=g,(h=v(G+v(v(v(R*Q)+v(p*o))+v(y*W))))<g&&(C[r+224>>2]=h,Y=h),Q=m,a<m&&(C[r+228>>2]=a,Q=a),(d=v(Dt+Xt))<(o=pt)&&(C[r+232>>2]=d,o=d),f[r+220>>2]=0,C[r+216>>2]=pt,C[r+212>>2]=m,C[r+208>>2]=g,W=g,g<h&&(C[r+208>>2]=h,W=h),G=m,m<a&&(C[r+212>>2]=a,G=a),z=pt,pt<d&&(C[r+216>>2]=d,z=d),Dt=o,o=C[t+272>>2],C[r+232>>2]=Dt-o,C[r+228>>2]=Q-o,C[r+224>>2]=Y-o,C[r+216>>2]=o+z,C[r+212>>2]=o+G,C[r+208>>2]=o+W,f[r+128>>2]=0,C[r+124>>2]=d,C[r+120>>2]=a,C[r+116>>2]=h,f[r+112>>2]=0,C[r+108>>2]=v(v(D*St)+v(B*It))+v(E*Tt),C[r+104>>2]=v(v(D*Ot)+v(B*Et))+v(E*Nt),C[r+100>>2]=v(v(D*Gt)+v(B*Vt))+v(E*Ft),f[r+96>>2]=0,C[r+92>>2]=v(v(F*St)+v(V*It))+v(w*Tt),C[r+88>>2]=v(v(F*Ot)+v(V*Et))+v(w*Nt),C[r+84>>2]=v(v(F*Gt)+v(V*Vt))+v(w*Ft),f[r+80>>2]=0,C[r+76>>2]=v(v(R*St)+v(p*It))+v(y*Tt),C[r+72>>2]=v(v(R*Ot)+v(p*Et))+v(y*Nt),f[r- -64>>2]=0,C[r+60>>2]=pt,C[r+56>>2]=m,C[r+52>>2]=g,f[r+48>>2]=0,C[r+44>>2]=v(v(D*wt)+v(B*Lt))+v(E*xt),C[r+40>>2]=v(v(D*Wt)+v(B*Qt))+v(E*Yt),C[r+36>>2]=v(v(D*Zt)+v(B*Mt))+v(E*Pt),f[r+32>>2]=0,C[r+28>>2]=v(v(F*wt)+v(V*Lt))+v(w*xt),C[r+24>>2]=v(v(F*Wt)+v(V*Qt))+v(w*Yt),C[r+20>>2]=v(v(F*Zt)+v(V*Mt))+v(w*Pt),f[r+16>>2]=0,C[r+12>>2]=v(v(R*wt)+v(p*Lt))+v(y*xt),C[r+8>>2]=v(v(R*Wt)+v(p*Qt))+v(y*Yt),C[r+196>>2]=o,C[r+68>>2]=v(v(R*Gt)+v(p*Vt))+v(y*Ft),C[r+4>>2]=v(v(R*Zt)+v(p*Mt))+v(y*Pt),f[r>>2]=16488,f[r+200>>2]=f[t+268>>2],i&&(yt[f[f[i>>2]+64>>2]](i,r,r+224|0,r+208|0),(a=C[r+200>>2])<C[t+268>>2]&&(C[t+268>>2]=a,Ut=a)))),Z=r+240|0,v(Ut)},function(t,e){e|=0;var i=0,r=0,a=0,o=0,h=0;if(r=f[(t|=0)+72>>2]){if((0|(i=f[e+4>>2]))==f[e+8>>2]&&!((0|i)>=(0|(o=i?i<<1:1)))){if(o&&(h=dA(o<<2),i=f[e+4>>2]),(0|i)>=1)for(r=0,a=i;f[r+h>>2]=f[f[e+12>>2]+r>>2],r=r+4|0,a=a+-1|0;);(a=f[e+12>>2])&&(_[e+16|0]&&(CA(a),i=f[e+4>>2]),f[e+12>>2]=0),f[e+12>>2]=h,n[e+16|0]=1,f[e+8>>2]=o,r=f[t+72>>2]}f[e+4>>2]=i+1,f[f[e+12>>2]+(i<<2)>>2]=r}},function(t){var e=0;return f[(t|=0)>>2]=16148,e=f[t+48>>2],yt[f[f[e>>2]+20>>2]](e,f[t+64>>2]),e=f[t+48>>2],yt[f[f[e>>2]+16>>2]](e,f[t+64>>2]),0|t},function(t){var e=0;f[(t|=0)>>2]=16148,e=f[t+48>>2],yt[f[f[e>>2]+20>>2]](e,f[t+64>>2]),e=f[t+48>>2],yt[f[f[e>>2]+16>>2]](e,f[t+64>>2]),CA(t)},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a=0,o=0,_=v(0),h=0,d=v(0),g=v(0),m=v(0),y=0,p=0;Z=n=Z-144|0,Lr(n+136|0,16160),((m=(_=C[e>>2])<(d=C[e+16>>2])?_:d)<(g=C[e+32>>2])?m:g)>C[t+20>>2]||(C[(C[e+(a=(_>d^1)<<4)>>2]>g?a:32)+e>>2]<C[t+4>>2]||(((m=(_=C[e+8>>2])<(d=C[(a=e+24|0)>>2])?_:d)<(g=C[(h=e+40|0)>>2])?m:g)>C[t+28>>2]||(C[(C[(a=_>d?e+8|0:a)>>2]>g?a:h)>>2]<C[t+12>>2]||(((m=(_=C[e+4>>2])<(d=C[(a=e+20|0)>>2])?_:d)<(g=C[(h=e+36|0)>>2])?m:g)>C[t+24>>2]||(a=_>d?e+4|0:a,f[f[f[t+36>>2]+4>>2]+4>>2]>19|C[(C[a>>2]>g?a:h)>>2]<C[t+8>>2]||(h=f[t+48>>2],p=zA(n+24|0),y=f[(o=e+8|0)+4>>2],f[(a=n+92|0)>>2]=f[o>>2],f[a+4>>2]=y,o=f[e+20>>2],f[(a=n+100|0)>>2]=f[e+16>>2],f[a+4>>2]=o,y=f[(o=e+24|0)+4>>2],f[(a=n+108|0)>>2]=f[o>>2],f[a+4>>2]=y,o=f[e+36>>2],f[(a=n+116|0)>>2]=f[e+32>>2],f[a+4>>2]=o,y=f[(o=e+40|0)+4>>2],f[(a=n+124|0)>>2]=f[o>>2],f[a+4>>2]=y,f[n+24>>2]=16352,a=f[e+4>>2],f[n+84>>2]=f[e>>2],f[n+88>>2]=a,f[n+72>>2]=f[t+56>>2],f[n+28>>2]=1,f[n+20>>2]=r,f[n+16>>2]=i,e=f[t+40>>2],f[n>>2]=e,a=f[e+8>>2],f[n+12>>2]=f[e+12>>2],f[n+8>>2]=a,_=C[f[t+44>>2]+32>>2],f[n+4>>2]=n+24,e=f[t+36>>2],e=_>v(0)?0|yt[f[f[h>>2]+8>>2]](h,e,n,0,2):0|yt[f[f[h>>2]+8>>2]](h,e,n,f[t+64>>2],1),a=f[t+44>>2],o=f[a+8>>2],f[o+8>>2]!=f[f[t+40>>2]+8>>2]?(o=f[a+12>>2],f[a+12>>2]=n,yt[f[f[a>>2]+12>>2]](a,i,r)):(f[a+8>>2]=n,yt[f[f[a>>2]+8>>2]](a,i,r)),yt[f[f[e>>2]+8>>2]](e,f[t+36>>2],n,f[t+52>>2],f[t+44>>2]),i=f[t+44>>2],f[(f[f[i+8>>2]+8>>2]==f[f[t+40>>2]+8>>2]?8:12)+i>>2]=o,yt[f[f[e>>2]>>2]](e),yt[f[f[h>>2]+60>>2]](h,e),Ae(p))))))),qr(),Z=n+144|0},ce,$A,ve,function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var a=0,o=0,_=0,h=v(0);Z=i=Z-800|0,Lr(i+792|0,16672),f[(r=i+740|0)>>2]=0,f[r+4>>2]=0,f[(r=i+752|0)>>2]=0,f[r+4>>2]=0,f[i+748>>2]=1065353216,f[(r=i+772|0)>>2]=0,f[r+4>>2]=0,f[i+768>>2]=1065353216,f[(r=i+780|0)>>2]=0,f[r+4>>2]=0,f[i+788>>2]=0,f[i+732>>2]=0,f[i+736>>2]=0,f[i+728>>2]=1065353216,f[i+760>>2]=0,f[i+764>>2]=0,f[i+720>>2]=0,f[i+724>>2]=0,f[i+552>>2]=15992,f[i+716>>2]=f[t+200>>2],r=f[t+196>>2],DA(i+496|0),f[(a=i+524|0)>>2]=0,f[a+4>>2]=0,f[i+520>>2]=1065353216,f[(a=i+532|0)>>2]=0,f[a+4>>2]=0,f[i+540>>2]=0,f[i+512>>2]=1065353216,f[i+516>>2]=1065353216,f[i+496>>2]=9852,f[i+548>>2]=0,f[i+544>>2]=r,f[i+528>>2]=r,f[i+500>>2]=8,r=zA(i+384|0),o=f[(a=e+8|0)+4>>2],f[(_=i+452|0)>>2]=f[a>>2],f[_+4>>2]=o,a=f[e+20>>2],f[(o=i+460|0)>>2]=f[e+16>>2],f[o+4>>2]=a,o=f[(a=e+24|0)+4>>2],f[(_=i+468|0)>>2]=f[a>>2],f[_+4>>2]=o,a=f[e+36>>2],f[(o=i+476|0)>>2]=f[e+32>>2],f[o+4>>2]=a,o=f[(a=e+40|0)+4>>2],f[(_=i+484|0)>>2]=f[a>>2],f[_+4>>2]=o,f[i+388>>2]=1,f[i+384>>2]=16352,a=f[e+4>>2],f[i+444>>2]=f[e>>2],f[i+448>>2]=a,n[i+356|0]=0,f[i+332>>2]=953267991,Ai($r(i+8|0,i+496|0,i+384|0,i+24|0),t+4|0,t+68|0,i+728|0,i+728|0,i+552|0)&&(h=C[i+716>>2],C[t+200>>2]>h&&(C[t+200>>2]=h)),Ae(r),qr(),Z=i+800|0},fi,function(t){$(fi(t|=0))},ti,function(t,e,i,r,n){t|=0,e|=0,i|=0,r|=0,n|=0;var a,o,h,d,g,m,y=0,p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=0,Y=v(0),Z=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=0;if((0|(W=f[t+52>>2]))<1)return v(v(1));for(a=(y=_[t+68|0])?e:i,o=f[(e=y?i:e)- -64>>2],Vt=C[e+60>>2],Gt=C[e+56>>2],Lt=C[e+52>>2],h=f[e+48>>2],R=C[e+44>>2],D=C[e+40>>2],B=C[e+36>>2],y=32,d=f[e+32>>2],E=C[e+28>>2],F=C[e+24>>2],V=C[e+20>>2],g=f[e+16>>2],G=C[e+12>>2],w=C[e+8>>2],i=f[e+304>>2],Q=C[e+4>>2],m=f[e+192>>2],Y=v(1);f[e+304>>2]=i+1,i=f[m+28>>2]+y|0,p=C[i+24>>2],Z=C[i+16>>2],z=C[i+20>>2],pt=C[i>>2],Dt=C[i+-32>>2],It=C[i+-16>>2],St=C[i+4>>2],Tt=C[i+-28>>2],Et=C[i+-12>>2],Ot=C[i+8>>2],Nt=C[i+-24>>2],Ft=C[i+-8>>2],f[e+64>>2]=0,f[e+48>>2]=0,f[e+32>>2]=0,f[e+16>>2]=0,C[e+44>>2]=v(v(B*Nt)+v(D*Ft))+v(R*Ot),C[e+40>>2]=v(v(B*Tt)+v(D*Et))+v(R*St),C[e+36>>2]=v(v(B*Dt)+v(D*It))+v(R*pt),C[e+28>>2]=v(v(V*Nt)+v(F*Ft))+v(E*Ot),C[e+24>>2]=v(v(V*Tt)+v(F*Et))+v(E*St),C[e+20>>2]=v(v(V*Dt)+v(F*It))+v(E*pt),C[e+12>>2]=v(v(Q*Nt)+v(w*Ft))+v(G*Ot),C[e+8>>2]=v(v(Q*Tt)+v(w*Et))+v(G*St),C[e+4>>2]=v(v(Q*Dt)+v(w*It))+v(G*pt),C[e+60>>2]=Vt+v(v(v(B*Z)+v(D*z))+v(R*p)),C[e+56>>2]=Gt+v(v(v(V*Z)+v(F*z))+v(E*p)),C[e+52>>2]=Lt+v(v(v(Q*Z)+v(w*z))+v(G*p)),i=f[f[t+60>>2]+wt>>2],p=v(yt[f[f[i>>2]+12>>2]](i,e,a,r,n)),f[e+64>>2]=o,C[e+60>>2]=Vt,C[e+56>>2]=Gt,C[e+52>>2]=Lt,f[e+48>>2]=h,C[e+44>>2]=R,C[e+40>>2]=D,C[e+36>>2]=B,f[e+32>>2]=d,C[e+28>>2]=E,C[e+24>>2]=F,C[e+20>>2]=V,f[e+16>>2]=g,C[e+12>>2]=G,C[e+8>>2]=w,C[e+4>>2]=Q,i=f[e+304>>2]+1|0,f[e+304>>2]=i,Y=p<Y?p:Y,y=y+80|0,wt=wt+4|0,W=W+-1|0;);return v(Y)},function(t,e){e|=0;var i=0,r=0,n=0,a=0;if((0|(i=f[(t|=0)+52>>2]))>=1)for(;(r=f[f[t+60>>2]+n>>2])&&(yt[f[f[r>>2]+16>>2]](r,e),i=f[t+52>>2]),n=n+4|0,(0|(a=a+1|0))<(0|i););},sA,ve,De,function(t,e){var i,r;e|=0,i=t|=0,r=f[f[f[t+4>>2]+4>>2]+28>>2],t=f[e+36>>2],ni(i,f[64+(r+m(t,80)|0)>>2],t)},function(t,e,i){t|=0,e|=0,i=v(i),yt[f[f[t>>2]+12>>2]](t,e)},lr,lr,function(t){var e=0;return f[(t|=0)>>2]=16844,(e=f[t+56>>2])&&(_[t+60|0]&&CA(e),f[t+56>>2]=0),f[t+56>>2]=0,f[t+48>>2]=0,f[t+52>>2]=0,n[t+60|0]=1,(e=f[t+36>>2])&&(_[t+40|0]&&CA(e),f[t+36>>2]=0),f[t+36>>2]=0,f[t+28>>2]=0,f[t+32>>2]=0,n[t+40|0]=1,(e=f[t+16>>2])&&(_[t+20|0]&&CA(e),f[t+16>>2]=0),f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,n[t+20|0]=1,0|t},function(t){var e=0;f[(t|=0)>>2]=16844,(e=f[t+56>>2])&&(_[t+60|0]&&CA(e),f[t+56>>2]=0),f[t+56>>2]=0,f[t+48>>2]=0,f[t+52>>2]=0,n[t+60|0]=1,(e=f[t+36>>2])&&(_[t+40|0]&&CA(e),f[t+36>>2]=0),f[t+36>>2]=0,f[t+28>>2]=0,f[t+32>>2]=0,n[t+40|0]=1,!(e=f[t+16>>2])|!_[t+20|0]||CA(e),$(t)},function(t,e,i){t|=0,e|=0,i|=0;var r=0,n=0,a=0,o=0,_=0,h=0,d=0,C=0;f[690]=f[690]+1,h=f[t+36>>2],r=m((r=((r=i<<16|e)<<15^-1)+r|0)>>>10^r,9),r=((r^=r>>>6)<<11^-1)+r|0,d=h+((f[t+12>>2]+-1&(r>>>16^r))<<2)|0;t:if(-1!=(0|(r=f[d>>2]))){for(a=f[t+16>>2],n=r;;){if(_=a+m(n,12)|0,f[_+4>>2]!=(0|i)||(0|e)!=f[_>>2]){if(-1!=(0|(n=f[f[t+56>>2]+(n<<2)>>2])))continue;break t}break}if(_){e=m(n,12),C=f[8+(e+a|0)>>2],n=f[t+56>>2];e:{i:{if((0|r)!=(0|(o=(0|e)/12|0))){for(;(0|o)!=(0|(r=f[n+((e=r)<<2)>>2])););if(i=r=f[n+(o<<2)>>2],-1==(0|e))break i;f[n+(e<<2)>>2]=r;break e}i=f[n+(o<<2)>>2]}f[d>>2]=i}if((0|o)==(0|(r=f[t+8>>2]+-1|0)))return f[t+8>>2]=o,0|C;e:{if(a=a+m(r,12)|0,e=f[a+4>>2]<<16|f[a>>2],e=m((e=(e<<15^-1)+e|0)>>>10^e,9),e=((e^=e>>>6)<<11^-1)+e|0,d=f[t+12>>2]+-1&(e>>>16^e),(0|(e=f[(h=h+(d<<2)|0)>>2]))!=(0|r)){for(;i=e,(0|r)!=(0|(e=f[n+(e<<2)>>2])););if(e=f[n+(r<<2)>>2],-1!=(0|i)){f[n+(i<<2)>>2]=e;break e}}else e=f[n+(r<<2)>>2];f[h>>2]=e}e=f[a+4>>2],f[_>>2]=f[a>>2],f[_+4>>2]=e,f[_+8>>2]=f[a+8>>2],e=f[t+36>>2]+(d<<2)|0,f[f[t+56>>2]+(o<<2)>>2]=f[e>>2],f[e>>2]=o,f[t+8>>2]=f[t+8>>2]+-1}}return 0|C},function(t,e,i){return t|=0,e|=0,i|=0,f[691]=f[691]+1,0|function(t,e,i){var r,a=0,o=0,h=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0;a=m((a=((a=i<<16|e)<<15^-1)+a|0)>>>10^a,9),y=(r=(a=((a^=a>>>6)<<11^-1)+a|0)>>>16^a)&(a=f[t+12>>2])+-1;t:{e:if(-1!=(0|(o=f[f[t+36>>2]+(y<<2)>>2]))){for(p=f[t+16>>2];;){if(h=p+m(o,12)|0,f[h+4>>2]!=(0|i)||(0|e)!=f[h>>2]){if(-1!=(0|(o=f[f[t+56>>2]+(o<<2)>>2])))continue;break e}break}if(h)break t}e:{i:{if(g=t,(0|a)==(0|(o=d=f[t+8>>2]))){if(!(R=(0|a)>=(0|(v=a?a<<1:1))))break i;o=a}f[g+8>>2]=o+1,h=(C=f[t+16>>2])+m(d,12)|0;break e}if(v&&(C=dA(m(v,12)),a=f[t+8>>2]),(0|a)>=1)for(o=0;h=f[t+16>>2]+o|0,p=f[h+4>>2],f[(g=o+C|0)>>2]=f[h>>2],f[g+4>>2]=p,f[g+8>>2]=f[h+8>>2],o=o+12|0,a=a+-1|0;);(a=f[t+16>>2])&&(_[t+20|0]&&CA(a),f[t+16>>2]=0),f[t+16>>2]=C,f[t+12>>2]=v,n[t+20|0]=1,f[t+8>>2]=f[t+8>>2]+1,h=m(d,12)+C|0,R||(ai(t),y=f[t+12>>2]+-1&r)}f[h>>2]=e,e=m(d,12)+C|0,f[e+8>>2]=0,f[e+4>>2]=i,e=f[t+56>>2]+(d<<2)|0,t=f[t+36>>2]+(y<<2)|0,f[e>>2]=f[t>>2],f[t>>2]=d}return h}(t,e,i)},ci,li,function(t){$(li(t|=0))},function(t,e,i,r,a){t|=0,e|=0,i|=0,r|=0,a|=0;var o,h,d=0,g=0,p=0,R=0,D=v(0),B=0,E=v(0),F=v(0),V=v(0),G=v(0),w=0,Q=v(0),W=v(0),Y=v(0),z=0,pt=0,Dt=v(0),It=v(0),St=v(0),Tt=0,Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=v(0),Qt=v(0),Wt=0,Yt=v(0),Pt=v(0),Mt=0,Zt=v(0),Ut=0,Xt=0,Jt=v(0),jt=v(0),zt=v(0),Ht=v(0),Kt=v(0),qt=v(0),$t=v(0),bi=v(0),di=v(0),yi=v(0);if(Z=o=Z-3328|0,h=f[e+4>>2],(pt=f[h+68>>2])&&(Xt=f[i+4>>2],Wt=f[Xt+68>>2])){if(f[Xt+72>>2]!=f[t+112>>2]||f[h+72>>2]!=f[t+108>>2]){if(g=8,d=f[t+84>>2],(0|(p=f[d+8>>2]))>=1){for(;(w=f[f[d+16>>2]+g>>2])&&(yt[f[f[w>>2]>>2]](w),B=f[t+4>>2],yt[f[f[B>>2]+60>>2]](B,w)),g=g+12|0,p=p+-1|0;);d=f[t+84>>2]}oi(d),f[t+108>>2]=f[h+72>>2],f[t+112>>2]=f[Xt+72>>2]}f[o+84>>2]=0,n[o+88|0]=1,f[o+76>>2]=0,f[o+80>>2]=0,be(o+112|0),be(o+916|0),be(o+1720|0),be(o+2524|0),(d=f[o+84>>2])&&(_[o+88|0]&&CA(d),f[o+84>>2]=0),f[o+76>>2]=0,f[o+80>>2]=4,w=f[t+84>>2],n[o+88|0]=0,R=f[w+8>>2],f[o+84>>2]=o+112;t:{if((0|R)<=0)g=o+112|0;else{for(B=0;;){if(d=f[8+(f[w+16>>2]+m(B,12)|0)>>2]){if(yt[f[f[d>>2]+16>>2]](d,o+72|0),(0|(g=f[o+76>>2]))>=1)for(R=0,p=0;d=f[f[o+84>>2]+R>>2],f[d+780>>2]&&(f[a+4>>2]=d,g=(0|(Mt=f[d+772>>2]))==(0|(z=f[f[a+8>>2]+8>>2])),Ut=d,d=f[f[a+12>>2]+8>>2],se(Ut,(g?Mt:d)+4|0,(g?d:z)+4|0),f[a+4>>2]=0,g=f[o+76>>2]),R=R+4|0,(0|(p=p+1|0))<(0|g););if((0|g)<=-1)for(f[o+80>>2]<=-1&&((d=f[o+84>>2])&&(_[o+88|0]&&CA(d),f[o+84>>2]=0),n[o+88|0]=1,f[o+80>>2]=0,f[o+84>>2]=0),R=g<<2;f[f[o+84>>2]+R>>2]=0,R=R+4|0,p=(d=g+1|0)>>>0>=g>>>0,g=d,p;);f[o+76>>2]=0,R=f[w+8>>2]}if(!((0|(B=B+1|0))<(0|R)))break}if(!(g=f[o+84>>2]))break t}_[o+88|0]&&CA(g),f[o+84>>2]=0}if(f[o+92>>2]=r,f[o+76>>2]=0,f[o+72>>2]=16988,f[o+88>>2]=f[t+4>>2],f[o+104>>2]=f[t+72>>2],f[o+100>>2]=f[t+84>>2],f[o+84>>2]=i,r=f[i+12>>2],D=C[r+56>>2],f[o+80>>2]=e,d=f[e+12>>2],E=C[d+40>>2],Lt=C[r+52>>2],F=C[d+24>>2],Et=C[r+48>>2],W=C[d+8>>2],wt=C[d+56>>2],Ot=C[d+52>>2],Yt=C[d+48>>2],V=C[d+36>>2],G=C[d+20>>2],Y=C[d+4>>2],Nt=C[r+40>>2],xt=C[r+24>>2],Ft=C[r+8>>2],Qt=C[r+36>>2],It=C[r+20>>2],Vt=C[r+4>>2],Dt=C[d>>2],St=C[d+16>>2],Q=C[d+32>>2],Gt=C[r+16>>2],Pt=C[r>>2],Zt=C[r+32>>2],f[o+96>>2]=a,(r=f[pt>>2])&&(d=f[Wt>>2])){for(Yt=v(-Yt),Jt=v(v(v(v(W*Yt)-v(F*Ot))-v(E*wt))+v(v(v(W*Et)+v(F*Lt))+v(E*D))),qt=v(v(v(v(Y*Yt)-v(G*Ot))-v(V*wt))+v(v(v(Y*Et)+v(G*Lt))+v(V*D))),Lt=v(v(v(v(Dt*Yt)-v(St*Ot))-v(Q*wt))+v(v(v(Dt*Et)+v(St*Lt))+v(Q*D))),D=C[a+32>>2],f[o+116>>2]=d,f[o+112>>2]=r,Et=v(v(v(W*Ft)+v(F*xt))+v(E*Nt)),wt=v(y(Et)),Ot=v(v(v(W*Vt)+v(F*It))+v(E*Qt)),Yt=v(y(Ot)),jt=v(v(v(W*Pt)+v(F*Gt))+v(E*Zt)),$t=v(y(jt)),zt=v(v(v(Y*Ft)+v(G*xt))+v(V*Nt)),bi=v(y(zt)),Ht=v(v(v(Y*Vt)+v(G*It))+v(V*Qt)),di=v(y(Ht)),Kt=v(v(v(Y*Pt)+v(G*Gt))+v(V*Zt)),yi=v(y(Kt)),Nt=v(v(v(Dt*Ft)+v(St*xt))+v(Q*Nt)),xt=v(y(Nt)),Ft=v(v(v(Dt*Vt)+v(St*It))+v(Q*Qt)),Qt=v(y(Ft)),Dt=v(v(v(Dt*Pt)+v(St*Gt))+v(Q*Zt)),St=v(y(Dt)),Wt=124,p=0,B=128,d=o+112|0,r=128,R=1;;){t:{e:{i:{if(Tt=f[(g=(Ut=(Mt=R+-1|0)<<3)+d|0)>>2],z=f[g+4>>2],V=C[z+16>>2],G=C[z>>2],E=v(v(v(V-G)*v(.5))+v(0)),Y=C[z+20>>2],Q=C[z+4>>2],F=v(v(v(Y-Q)*v(.5))+v(0)),It=C[z+24>>2],Vt=C[z+8>>2],W=v(v(v(It-Vt)*v(.5))+v(0)),Gt=v(v(v(St*E)+v(Qt*F))+v(xt*W)),V=v(v(V+G)*v(.5)),G=v(v(Y+Q)*v(.5)),Y=v(v(It+Vt)*v(.5)),Q=v(Lt+v(v(v(Dt*V)+v(Ft*G))+v(Nt*Y))),!(C[Tt>>2]<=v(D+v(Gt+Q))^1|C[Tt+16>>2]>=v(v(Q-Gt)-D)^1||(Q=v(v(v(yi*E)+v(di*F))+v(bi*W)),It=v(qt+v(v(v(Kt*V)+v(Ht*G))+v(zt*Y))),C[Tt+4>>2]<=v(D+v(Q+It))^1|C[Tt+20>>2]>=v(v(It-Q)-D)^1||(E=v(v(v($t*E)+v(Yt*F))+v(wt*W)),F=v(Jt+v(v(v(jt*V)+v(Ot*G))+v(Et*Y))),C[Tt+8>>2]<=v(D+v(E+F))^1|C[Tt+24>>2]>=v(v(F-E)-D)^1)))){if((0|Mt)<=(0|Wt))w=B,g=d,pt=p;else{A:if((0|B)>=(0|(w=B<<1))|(0|r)>=(0|w))g=d,pt=p;else{r:{n:{a:{if(B){if(g=dA(B<<4),!((0|B)<1)){for(Wt=g,r=d;pt=f[r+4>>2],f[Wt>>2]=f[r>>2],f[Wt+4>>2]=pt,Wt=Wt+8|0,r=r+8|0,B=B+-1|0;);if(!(255&p))break n;break a}}else g=0;if(r=pt=1,!d)break r;if(r=w,!(255&p))break A}CA(d)}r=1}pt=r,r=w}Wt=w+-4|0}if(d=f[z+40>>2],f[Tt+40>>2]){if(p=f[Tt+36>>2],d){f[(d=g+Ut|0)+4>>2]=f[z+36>>2],f[d>>2]=p,p=f[Tt+40>>2],f[(d=(R<<3)+g|0)+4>>2]=f[z+36>>2],f[d>>2]=p,p=f[Tt+36>>2],f[d+12>>2]=f[z+40>>2],f[d+8>>2]=p,p=f[Tt+40>>2],f[d+20>>2]=f[z+40>>2],f[d+16>>2]=p,R=R+3|0;break e}f[(d=g+Ut|0)+4>>2]=z,f[d>>2]=p,d=f[Tt+40>>2],f[(p=(R<<3)+g|0)+4>>2]=z,f[p>>2]=d;break i}if(d){f[(d=g+Ut|0)+4>>2]=f[z+36>>2],f[d>>2]=Tt,f[(d=(R<<3)+g|0)+4>>2]=f[z+40>>2],f[d>>2]=Tt;break i}yt[f[f[o+72>>2]+8>>2]](o+72|0,Tt,z),B=w,d=g,p=pt}R=Mt;break t}R=R+1|0}B=w,d=g,p=pt}if(!R)break}!d|!(255&p)||CA(d)}if(w=f[t+84>>2],f[w+8>>2]>=1)for(d=0;;){if(r=(pt=m(d,12))+f[w+16>>2]|0,(p=f[r+8>>2])&&(r=f[h+28>>2]+m(f[r>>2],80)|0,B=f[r+64>>2],g=f[e+12>>2],Pt=C[g+52>>2],Zt=C[g+56>>2],Q=C[r+48>>2],Lt=C[r+52>>2],Et=C[r+56>>2],wt=C[r+4>>2],Ot=C[r+20>>2],Nt=C[r+36>>2],xt=C[r+8>>2],Ft=C[r+24>>2],Qt=C[r+40>>2],D=C[g+20>>2],E=C[g+24>>2],It=C[r>>2],F=C[g+36>>2],Vt=C[r+16>>2],W=C[g+40>>2],Gt=C[r+32>>2],Yt=C[g+48>>2],V=C[g+8>>2],G=C[g>>2],Y=C[g+4>>2],Dt=C[g+16>>2],St=C[g+32>>2],f[o+172>>2]=0,f[o+156>>2]=0,f[o+140>>2]=0,f[o+124>>2]=0,C[o+144>>2]=v(v(St*It)+v(F*Vt))+v(W*Gt),C[o+128>>2]=v(v(Dt*It)+v(D*Vt))+v(E*Gt),C[o+112>>2]=v(v(G*It)+v(Y*Vt))+v(V*Gt),C[o+152>>2]=v(v(St*xt)+v(F*Ft))+v(W*Qt),C[o+148>>2]=v(v(St*wt)+v(F*Ot))+v(W*Nt),C[o+136>>2]=v(v(Dt*xt)+v(D*Ft))+v(E*Qt),C[o+132>>2]=v(v(Dt*wt)+v(D*Ot))+v(E*Nt),C[o+120>>2]=v(v(G*xt)+v(Y*Ft))+v(V*Qt),C[o+116>>2]=v(v(G*wt)+v(Y*Ot))+v(V*Nt),C[o+168>>2]=Zt+v(v(v(St*Q)+v(F*Lt))+v(W*Et)),C[o+164>>2]=Pt+v(v(v(Dt*Q)+v(D*Lt))+v(E*Et)),C[o+160>>2]=Yt+v(v(v(G*Q)+v(Y*Lt))+v(V*Et)),yt[f[f[B>>2]+8>>2]](B,o+112|0,o+56|0,o+40|0),D=C[a+32>>2],C[o+56>>2]=C[o+56>>2]-D,C[o+60>>2]=C[o+60>>2]-D,C[o+64>>2]=C[o+64>>2]-D,C[o+40>>2]=D+C[o+40>>2],C[o+44>>2]=D+C[o+44>>2],C[o+48>>2]=D+C[o+48>>2],r=f[Xt+28>>2]+m(f[4+(pt+f[w+16>>2]|0)>>2],80)|0,B=f[r+64>>2],g=f[i+12>>2],Zt=C[g+52>>2],Yt=C[g+56>>2],Lt=C[r+48>>2],Et=C[r+52>>2],wt=C[r+56>>2],Ot=C[r+4>>2],Nt=C[r+20>>2],xt=C[r+36>>2],Ft=C[r+8>>2],Qt=C[r+24>>2],It=C[r+40>>2],E=C[g+20>>2],F=C[g+24>>2],Vt=C[r>>2],W=C[g+36>>2],Gt=C[r+16>>2],V=C[g+40>>2],Pt=C[r+32>>2],Jt=C[g+48>>2],G=C[g+8>>2],Y=C[g>>2],Dt=C[g+4>>2],St=C[g+16>>2],Q=C[g+32>>2],f[o+172>>2]=0,f[o+156>>2]=0,f[o+140>>2]=0,f[o+124>>2]=0,C[o+144>>2]=v(v(Q*Vt)+v(W*Gt))+v(V*Pt),C[o+128>>2]=v(v(St*Vt)+v(E*Gt))+v(F*Pt),C[o+112>>2]=v(v(Y*Vt)+v(Dt*Gt))+v(G*Pt),C[o+152>>2]=v(v(Q*Ft)+v(W*Qt))+v(V*It),C[o+148>>2]=v(v(Q*Ot)+v(W*Nt))+v(V*xt),C[o+136>>2]=v(v(St*Ft)+v(E*Qt))+v(F*It),C[o+132>>2]=v(v(St*Ot)+v(E*Nt))+v(F*xt),C[o+120>>2]=v(v(Y*Ft)+v(Dt*Qt))+v(G*It),C[o+116>>2]=v(v(Y*Ot)+v(Dt*Nt))+v(G*xt),C[o+168>>2]=Yt+v(v(v(Q*Lt)+v(W*Et))+v(V*wt)),C[o+164>>2]=Zt+v(v(v(St*Lt)+v(E*Et))+v(F*wt)),C[o+160>>2]=Jt+v(v(v(Y*Lt)+v(Dt*Et))+v(G*wt)),yt[f[f[B>>2]+8>>2]](B,o+112|0,o+24|0,o+8|0),E=v(C[o+24>>2]-D),C[o+24>>2]=E,F=v(C[o+28>>2]-D),C[o+28>>2]=F,W=v(C[o+32>>2]-D),C[o+32>>2]=W,V=v(D+C[o+8>>2]),C[o+8>>2]=V,G=v(D+C[o+16>>2]),C[o+16>>2]=G,D=v(D+C[o+12>>2]),C[o+12>>2]=D,C[o+44>>2]<F|C[o+60>>2]>D|C[o+40>>2]<E|C[o+56>>2]>V||C[o+64>>2]>G||C[o+48>>2]<W)){if(yt[f[f[p>>2]>>2]](p),r=f[t+4>>2],yt[f[f[r>>2]+60>>2]](r,p),r=pt+f[w+16>>2]|0,Wt=f[r+4>>2],Mt=f[r>>2],(0|(R=f[t+92>>2]))==f[t+96>>2]&&!((0|R)>=(0|(r=R?R<<1:1)))){if(r?(B=dA(m(r,12)),R=f[t+92>>2]):B=0,(0|R)>=1)for(g=0;pt=f[t+100>>2]+g|0,z=f[pt+4>>2],f[(p=g+B|0)>>2]=f[pt>>2],f[p+4>>2]=z,f[p+8>>2]=f[pt+8>>2],g=g+12|0,R=R+-1|0;);(g=f[t+100>>2])&&(_[t+104|0]&&CA(g),f[t+100>>2]=0),f[t+100>>2]=B,n[t+104|0]=1,f[t+96>>2]=r,R=f[t+92>>2]}r=f[t+100>>2]+m(R,12)|0,f[r+8>>2]=0,f[r+4>>2]=Wt,f[r>>2]=Mt,f[t+92>>2]=f[t+92>>2]+1}if(!((0|(d=d+1|0))<f[w+8>>2]))break}if(f[t+92>>2]>=1)for(R=0,g=4;e=f[t+84>>2],i=f[t+100>>2]+g|0,yt[f[f[e>>2]+8>>2]](e,f[i+-4>>2],f[i>>2]),g=g+12|0,(0|(R=R+1|0))<f[t+92>>2];);(e=f[t+100>>2])&&(_[t+104|0]&&CA(e),f[t+100>>2]=0),f[t+100>>2]=0,f[t+92>>2]=0,f[t+96>>2]=0,n[t+104|0]=1}else ti(t,e,i,r,a);Z=o+3328|0},function(t,e,i,r,n){return v(v(0))},function(t,e){e|=0;var i=0,r=0,n=0,a=0;if(i=8,t=f[(t|=0)+84>>2],(0|(r=f[t+8>>2]))>=1)for(;(n=f[f[t+16>>2]+i>>2])&&(yt[f[f[n>>2]+16>>2]](n,e),r=f[t+8>>2]),i=i+12|0,(0|(a=a+1|0))<(0|r););},ve,function(t,e,i){t|=0,e|=0,i|=0;var r,n,a,o,_,h=v(0),d=v(0),g=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=0,Tt=0,Et=0,Ot=v(0),Nt=v(0),Ft=0,Vt=0;Z=r=Z-256|0,Lr(r+248|0,17064),f[t+4>>2]=f[t+4>>2]+1,n=f[i+36>>2],o=m(n,80),Et=f[t+12>>2],_=f[Et+4>>2]+28|0,St=f[64+(o+f[_>>2]|0)>>2],i=f[t+8>>2],a=f[e+36>>2],e=f[f[i+4>>2]+28>>2]+m(a,80)|0,Tt=f[e+64>>2],i=f[i+12>>2],V=C[i+52>>2],R=C[i+56>>2],y=C[i+24>>2],p=C[i+20>>2],h=C[i+40>>2],d=C[i+36>>2],Ot=C[i+48>>2],D=C[i+8>>2],B=C[i>>2],E=C[i+4>>2],F=C[i+16>>2],g=C[i+32>>2],i=0,f[r+244>>2]=0,f[r+228>>2]=0,f[r+212>>2]=0,G=C[e+8>>2],w=C[e+24>>2],Q=C[e+40>>2],C[r+224>>2]=v(v(g*G)+v(d*w))+v(h*Q),W=C[e+4>>2],Y=C[e+20>>2],z=C[e+36>>2],C[r+220>>2]=v(v(g*W)+v(d*Y))+v(h*z),C[r+208>>2]=v(v(F*G)+v(p*w))+v(y*Q),C[r+204>>2]=v(v(F*W)+v(p*Y))+v(y*z),pt=R,R=C[e+48>>2],Dt=C[e+52>>2],It=C[e+56>>2],C[r+240>>2]=pt+v(v(v(g*R)+v(d*Dt))+v(h*It)),C[r+236>>2]=V+v(v(v(F*R)+v(p*Dt))+v(y*It)),f[r+196>>2]=0,pt=g,g=C[e>>2],V=d,d=C[e+16>>2],Nt=h,h=C[e+32>>2],C[r+216>>2]=v(v(pt*g)+v(V*d))+v(Nt*h),C[r+200>>2]=v(v(F*g)+v(p*d))+v(y*h),C[r+192>>2]=v(v(B*G)+v(E*w))+v(D*Q),C[r+188>>2]=v(v(B*W)+v(E*Y))+v(D*z),C[r+184>>2]=v(v(B*g)+v(E*d))+v(D*h),C[r+232>>2]=Ot+v(v(v(B*R)+v(E*Dt))+v(D*It)),e=f[Et+12>>2],V=C[e+52>>2],R=C[e+56>>2],y=C[e+24>>2],p=C[e+20>>2],h=C[e+40>>2],d=C[e+36>>2],Et=f[_>>2],Ot=C[e+48>>2],D=C[e+8>>2],B=C[e>>2],E=C[e+4>>2],F=C[e+16>>2],g=C[e+32>>2],f[r+180>>2]=0,f[r+164>>2]=0,f[r+148>>2]=0,G=C[(e=Et+o|0)+8>>2],w=C[e+24>>2],Q=C[e+40>>2],C[r+160>>2]=v(v(g*G)+v(d*w))+v(h*Q),W=C[e+4>>2],Y=C[e+20>>2],z=C[e+36>>2],C[r+156>>2]=v(v(g*W)+v(d*Y))+v(h*z),C[r+144>>2]=v(v(F*G)+v(p*w))+v(y*Q),C[r+140>>2]=v(v(F*W)+v(p*Y))+v(y*z),pt=R,R=C[e+48>>2],Dt=C[e+52>>2],It=C[e+56>>2],C[r+176>>2]=pt+v(v(v(g*R)+v(d*Dt))+v(h*It)),C[r+172>>2]=V+v(v(v(F*R)+v(p*Dt))+v(y*It)),f[r+132>>2]=0,pt=g,g=C[e>>2],V=d,d=C[e+16>>2],Nt=h,h=C[e+32>>2],C[r+152>>2]=v(v(pt*g)+v(V*d))+v(Nt*h),C[r+136>>2]=v(v(F*g)+v(p*d))+v(y*h),C[r+128>>2]=v(v(B*G)+v(E*w))+v(D*Q),C[r+124>>2]=v(v(B*W)+v(E*Y))+v(D*z),C[r+120>>2]=v(v(B*g)+v(E*d))+v(D*h),C[r+168>>2]=Ot+v(v(v(B*R)+v(E*Dt))+v(D*It)),yt[f[f[Tt>>2]+8>>2]](Tt,r+184|0,r+104|0,r+88|0),yt[f[f[St>>2]+8>>2]](St,r+120|0,r+72|0,r+56|0),y=C[f[t+24>>2]+32>>2],p=v(C[r+104>>2]-y),C[r+104>>2]=p,C[r+108>>2]=C[r+108>>2]-y,C[r+112>>2]=C[r+112>>2]-y,C[r+88>>2]=y+C[r+88>>2],C[r+92>>2]=y+C[r+92>>2],C[r+96>>2]=y+C[r+96>>2];t:{if(e=f[693]){if(!yt[e](Tt,St))break t;p=C[r+104>>2]}p>C[r+56>>2]|C[r+88>>2]<C[r+72>>2]||(i=1),e=0,e=C[r+96>>2]<C[r+80>>2]|C[r+112>>2]>C[r+64>>2]?e:i,C[r+92>>2]<C[r+76>>2]|C[r+108>>2]>C[r+60>>2]|1^e||(f[r+48>>2]=-1,f[r+36>>2]=Tt,e=f[t+8>>2],f[r+32>>2]=e,f[r+40>>2]=f[e+8>>2],f[r+44>>2]=r+184,f[r+52>>2]=a,f[r+24>>2]=-1,f[r+12>>2]=St,e=f[t+12>>2],f[r+8>>2]=e,f[r+16>>2]=f[e+8>>2],f[r+20>>2]=r+120,f[r+28>>2]=n,e=function(t,e,i){var r=0,n=0,a=0;f[692]=f[692]+1,r=m((r=((r=i<<16|e)<<15^-1)+r|0)>>>10^r,9),r=((r^=r>>>6)<<11^-1)+r|0;e:{if(!((0|(r=f[t+12>>2]+-1&(r>>>16^r)))>=f[t+28>>2])&&-1!=(0|(r=f[f[t+36>>2]+(r<<2)>>2])))for(a=f[t+16>>2];;){if(n=m(r,12)+a|0,f[n+4>>2]==(0|i)&&(0|e)==f[n>>2])break e;if(-1==(0|(r=f[f[t+56>>2]+(r<<2)>>2])))break}n=0}return n}(f[t+28>>2],a,n),C[f[t+24>>2]+32>>2]>v(0)?(e=f[t+16>>2],i=0|yt[f[f[e>>2]+8>>2]](e,r+32|0,r+8|0,0,2)):e?i=f[e+8>>2]:(e=f[t+16>>2],i=0|yt[f[f[e>>2]+8>>2]](e,r+32|0,r+8|0,f[t+32>>2],1),e=f[t+28>>2],Ft=0|yt[f[f[e>>2]+12>>2]](e,a,n),Vt=i,f[Ft+8>>2]=Vt),e=f[t+24>>2],St=f[e+12>>2],Tt=f[e+8>>2],f[e+12>>2]=r+8,f[e+8>>2]=r+32,yt[f[f[e>>2]+8>>2]](e,-1,a),e=f[t+24>>2],yt[f[f[e>>2]+12>>2]](e,-1,n),yt[f[f[i>>2]+8>>2]](i,r+32|0,r+8|0,f[t+20>>2],f[t+24>>2]),t=f[t+24>>2],f[t+8>>2]=Tt,f[t+12>>2]=St)}qr(),Z=r+256|0},Rr,ve,Ar,Re,Rr,function(t){var e=0,i=0;return f[(t|=0)>>2]=17172,_[t+8|0]&&((e=f[t+12>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e))),0|t},function(t){var e=0,i=0;f[(t|=0)>>2]=17172,_[t+8|0]&&((e=f[t+12>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e))),$(t)},function(t,e,i,r,n){t|=0,e|=0,i|=0,r|=0,n|=0;var a=v(0),o=0,_=v(0),h=0,d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0);if(Z=r=Z-32|0,t=f[t+12>>2]){if(f[n+4>>2]=t,o=f[e+12>>2],h=f[i+12>>2],y=v(C[o+48>>2]-C[h+48>>2]),d=v(C[o+52>>2]-C[h+52>>2]),g=v(C[o+56>>2]-C[h+56>>2]),a=v(v(v(y*y)+v(d*d))+v(g*g)),o=f[i+4>>2],m=C[o+16>>2],_=C[o+32>>2],e=f[e+4>>2],p=C[e+16>>2],R=C[e+32>>2],(0|(o=f[t+780>>2]))>=1)for(e=t+4|0,h=0;le(e),e=e+192|0,(0|(h=h+1|0))<(0|(o=f[t+780>>2])););a=v(E(a)),m=v(_*m),_=v(R*p),o&&((e=f[424])&&(f[r+16>>2]=t,yt[e](r+16|0))),f[t+780>>2]=0,_=v(_+m),a>v(_+C[n+32>>2])||(f[r+24>>2]=0,f[r+28>>2]=0,f[r+16>>2]=1065353216,f[r+20>>2]=0,_=v(a-_),a>v(1.1920928955078125e-7)?(f[r+28>>2]=0,a=v(v(1)/a),g=v(g*a),C[r+24>>2]=g,d=v(d*a),C[r+20>>2]=d,a=v(y*a),C[r+16>>2]=a):(a=v(1),g=v(0),d=v(0)),f[r+12>>2]=0,t=f[i+12>>2],C[r>>2]=v(m*a)+C[t+48>>2],C[r+8>>2]=v(m*g)+C[t+56>>2],C[r+4>>2]=v(m*d)+C[t+52>>2],yt[f[f[n>>2]+16>>2]](n,r+16|0,r,_))}Z=r+32|0},Re,ui,ve,si,function(t){var e=0,i=0;return f[(t|=0)>>2]=17308,_[t+8|0]&&((e=f[t+12>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e))),0|t},function(t){var e=0,i=0;f[(t|=0)>>2]=17308,_[t+8|0]&&((e=f[t+12>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e))),$(t)},function(t,e,i,r,n){e|=0,i|=0,r|=0,n|=0;var a,o=0,h=0,d=0,g=0,m=0,v=0,y=0,p=0,R=0,D=0;Z=a=Z-160|0,(m=f[(t|=0)+12>>2])&&(f[n+4>>2]=m,o=_[t+16|0],y=f[(h=o?i:e)+4>>2],i=f[(o=o?e:i)+4>>2],C[(e=a+144|0)+12>>2]=C[m+784>>2]+C[n+32>>2],f[e+8>>2]=i,f[e+4>>2]=y,f[e>>2]=17248,m=e,f[a+136>>2]=1566444395,e=f[h+12>>2],h=f[e>>2],y=f[e+4>>2],p=f[(i=e+8|0)>>2],i=f[i+4>>2],v=f[(d=e+24|0)+4>>2],f[(g=a+32|0)>>2]=f[d>>2],f[g+4>>2]=v,f[(d=a+16|0)>>2]=p,f[d+4>>2]=i,i=f[e+16>>2],p=f[e+20>>2],v=f[(d=e+40|0)+4>>2],f[(g=a+48|0)>>2]=f[d>>2],f[g+4>>2]=v,d=f[e+32>>2],v=f[e+36>>2],D=f[(g=e+56|0)+4>>2],f[(R=a- -64|0)>>2]=f[g>>2],f[R+4>>2]=D,f[a+8>>2]=h,f[a+12>>2]=y,f[a+24>>2]=i,f[a+28>>2]=p,f[a+40>>2]=d,f[a+44>>2]=v,i=f[e+52>>2],f[a+56>>2]=f[e+48>>2],f[a+60>>2]=i,e=f[o+12>>2],o=f[(i=e+8|0)+4>>2],f[(h=a+80|0)>>2]=f[i>>2],f[h+4>>2]=o,i=f[e+4>>2],f[a+72>>2]=f[e>>2],f[a+76>>2]=i,o=f[(i=e+24|0)+4>>2],f[(h=a+96|0)>>2]=f[i>>2],f[h+4>>2]=o,i=f[e+20>>2],f[(o=a+88|0)>>2]=f[e+16>>2],f[o+4>>2]=i,o=f[(i=e+40|0)+4>>2],f[(h=a+112|0)>>2]=f[i>>2],f[h+4>>2]=o,i=f[e+36>>2],f[(o=a+104|0)>>2]=f[e+32>>2],f[o+4>>2]=i,i=f[e+52>>2],f[(o=a+120|0)>>2]=f[e+48>>2],f[o+4>>2]=i,i=f[(e=e+56|0)+4>>2],f[(o=a+128|0)>>2]=f[e>>2],f[o+4>>2]=i,si(m,a+8|0,n,f[r+20>>2],_[t+16|0]),_[t+8|0]&&(t=f[n+4>>2],f[t+780>>2]&&((0|(e=f[t+772>>2]))==(0|(i=f[f[n+8>>2]+8>>2]))?se(t,e+4|0,f[f[n+12>>2]+8>>2]+4|0):se(t,f[f[n+12>>2]+8>>2]+4|0,i+4|0)))),Z=a+160|0},Re,ui,ve,Ci,function(t){var e=0,i=0;return f[(t|=0)>>2]=17516,_[t+8|0]&&((e=f[t+12>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e))),0|t},function(t){var e=0,i=0;f[(t|=0)>>2]=17516,_[t+8|0]&&((e=f[t+12>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e))),$(t)},function(t,e,i,r,n){e|=0,i|=0,r|=0,n|=0;var a,o=0,h=0,d=0,C=0,g=0,m=0,v=0,y=0,p=0,R=0,D=0;Z=a=Z-160|0,(m=f[(t|=0)+12>>2])&&(f[n+4>>2]=m,m=f[i+4>>2],R=f[e+4>>2],f[a+152>>2]=1566444395,e=f[e+12>>2],h=f[(o=e+8|0)+4>>2],f[(d=a+32|0)>>2]=f[o>>2],f[d+4>>2]=h,o=f[e>>2],h=f[e+4>>2],v=f[(d=e+24|0)+4>>2],f[(C=a+48|0)>>2]=f[d>>2],f[C+4>>2]=v,d=f[e+16>>2],v=f[e+20>>2],y=f[(C=e+40|0)+4>>2],f[(g=a- -64|0)>>2]=f[C>>2],f[g+4>>2]=y,C=f[e+32>>2],y=f[e+36>>2],D=f[(g=e+56|0)+4>>2],f[(p=a+80|0)>>2]=f[g>>2],f[p+4>>2]=D,f[a+24>>2]=o,f[a+28>>2]=h,f[a+40>>2]=d,f[a+44>>2]=v,f[a+56>>2]=C,f[a+60>>2]=y,o=f[e+52>>2],f[a+72>>2]=f[e+48>>2],f[a+76>>2]=o,e=f[i+12>>2],o=f[(i=e+8|0)+4>>2],f[(h=a+96|0)>>2]=f[i>>2],f[h+4>>2]=o,i=f[e+4>>2],f[a+88>>2]=f[e>>2],f[a+92>>2]=i,i=f[e+20>>2],f[(o=a+104|0)>>2]=f[e+16>>2],f[o+4>>2]=i,o=f[(i=e+24|0)+4>>2],f[(h=a+112|0)>>2]=f[i>>2],f[h+4>>2]=o,o=f[(i=e+40|0)+4>>2],f[(h=a+128|0)>>2]=f[i>>2],f[h+4>>2]=o,i=f[e+36>>2],f[(o=a+120|0)>>2]=f[e+32>>2],f[o+4>>2]=i,i=f[e+52>>2],f[(o=a+136|0)>>2]=f[e+48>>2],f[o+4>>2]=i,i=f[(e=e+56|0)+4>>2],f[(o=a+144|0)>>2]=f[e>>2],f[o+4>>2]=i,f[(e=a+8|0)+8>>2]=m,f[e+4>>2]=R,f[e>>2]=17464,Ci(e,a+24|0,n,f[r+20>>2],0),_[t+8|0]&&(t=f[n+4>>2],f[t+780>>2]&&((0|(e=f[t+772>>2]))==(0|(i=f[f[n+8>>2]+8>>2]))?se(t,e+4|0,f[f[n+12>>2]+8>>2]+4|0):se(t,f[f[n+12>>2]+8>>2]+4|0,i+4|0)))),Z=a+160|0},Re,ui,function(t){var e=0,i=0;return f[(t|=0)>>2]=17588,_[t+8|0]&&((e=f[t+12>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e))),0|t},function(t){var e=0,i=0;f[(t|=0)>>2]=17588,_[t+8|0]&&((e=f[t+12>>2])&&(i=f[t+4>>2],yt[f[f[i>>2]+16>>2]](i,e))),$(t)},function(t,e,i,r,n){t|=0,e|=0,i|=0,r|=0,n|=0;var a=v(0),o=v(0),h=0,d=v(0),g=v(0),m=0,p=0,D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=0,W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=v(0),Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=v(0),Lt=0,wt=v(0),xt=v(0),Qt=v(0),Wt=v(0),Yt=v(0),Pt=0,Mt=v(0),Zt=v(0),Ut=v(0),Xt=v(0),Jt=v(0),jt=v(0),zt=v(0),Ht=v(0),Kt=v(0),qt=v(0),$t=v(0),bi=v(0),di=v(0),yi=v(0),Ii=v(0),Bi=v(0),BA=v(0);if(Z=r=Z-48|0,f[t+12>>2]){if(p=_[t+16|0],h=f[(Q=p?i:e)+12>>2],W=C[h+56>>2],Y=C[h+52>>2],z=C[h+48>>2],m=f[(Lt=p?e:i)+12>>2],wt=C[m+56>>2],Xt=C[m+48>>2],xt=C[m+52>>2],Q=f[Q+4>>2],pt=C[h+32>>2],Dt=C[h+16>>2],It=C[h>>2],St=C[h+36>>2],Tt=C[h+20>>2],Et=C[h+4>>2],o=C[m+40>>2],d=C[m+24>>2],a=C[m+8>>2],g=C[m+32>>2],F=C[m+16>>2],D=C[m>>2],p=f[Lt+4>>2],G=C[m+36>>2],V=C[h+40>>2],w=C[m+20>>2],Ot=C[h+24>>2],B=C[m+4>>2],Nt=C[h+8>>2],f[r+28>>2]=0,Wt=v(v(v(Nt*D)+v(Ot*F))+v(V*g)),Ft=v(-C[p+52>>2]),Yt=v(v(v(Nt*B)+v(Ot*w))+v(V*G)),Vt=C[(m=p+56|0)>>2],Ot=v(v(v(Nt*a)+v(Ot*d))+v(V*o)),V=C[(Pt=p+60|0)>>2],C[r+24>>2]=v(v(Wt*Ft)-v(Yt*Vt))-v(Ot*V),Nt=v(v(v(Et*D)+v(Tt*F))+v(St*g)),Mt=v(v(v(Et*B)+v(Tt*w))+v(St*G)),Zt=v(v(v(Et*a)+v(Tt*d))+v(St*o)),C[r+20>>2]=v(v(Nt*Ft)-v(Vt*Mt))-v(V*Zt),Ut=v(v(v(It*D)+v(Dt*F))+v(pt*g)),Qt=v(Ut*Ft),Ft=v(v(v(It*B)+v(Dt*w))+v(pt*G)),Gt=V,V=v(v(v(It*a)+v(Dt*d))+v(pt*o)),C[r+16>>2]=v(Qt-v(Vt*Ft))-v(Gt*V),yt[f[f[Q>>2]+64>>2]](r+32|0,Q,r+16|0),h=f[Lt+12>>2],Vt=C[h+48>>2],Jt=C[h+32>>2],jt=C[h+16>>2],zt=C[h+8>>2],Ht=C[h+4>>2],Kt=C[h>>2],qt=C[h+56>>2],$t=C[h+52>>2],bi=C[h+40>>2],di=C[h+36>>2],yi=C[h+24>>2],Ii=C[h+20>>2],Bi=C[p+68>>2],St=C[Pt>>2],Tt=C[p+52>>2],Et=C[m>>2],pt=C[r+40>>2],Dt=C[r+32>>2],It=C[r+36>>2],BA=C[f[t+12>>2]+784>>2],f[n+4>>2]=f[t+12>>2],Qt=v(v(v(z*a)+v(Y*d))+v(W*o)),Gt=a,a=v(-Xt),V=v(v(Qt+v(v(v(Gt*a)-v(d*xt))-v(o*wt)))+v(v(v(V*Dt)+v(Zt*It))+v(Ot*pt))),F=v(v(v(v(v(z*D)+v(Y*F))+v(W*g))+v(v(v(D*a)-v(F*xt))-v(g*wt)))+v(v(v(Ut*Dt)+v(Nt*It))+v(Wt*pt))),D=v(v(v(v(v(z*B)+v(Y*w))+v(W*G))+v(v(v(B*a)-v(w*xt))-v(G*wt)))+v(v(v(Ft*Dt)+v(Mt*It))+v(Yt*pt))),(o=v(v(v(St*V)+v(v(Tt*F)+v(Et*D)))-Bi))<BA&&(f[r+28>>2]=0,h=f[Lt+12>>2],d=C[p+52>>2],a=C[p+56>>2],g=C[p+60>>2],C[r+16>>2]=v(v(C[h>>2]*d)+v(C[h+4>>2]*a))+v(C[h+8>>2]*g),C[r+24>>2]=v(v(d*C[h+32>>2])+v(a*C[h+36>>2]))+v(g*C[h+40>>2]),C[r+20>>2]=v(v(d*C[h+16>>2])+v(a*C[h+20>>2]))+v(g*C[h+24>>2]),f[r+12>>2]=0,d=v(F-v(Tt*o)),a=v(D-v(Et*o)),g=v(V-v(St*o)),C[r+8>>2]=v(v(v(d*Jt)+v(a*di))+v(g*bi))+qt,C[r+4>>2]=v(v(v(d*jt)+v(a*Ii))+v(g*yi))+$t,C[r>>2]=v(v(zt*g)+v(v(Kt*d)+v(Ht*a)))+Vt,yt[f[f[n>>2]+16>>2]](n,r+16|0,r,o)),!(f[Q+4>>2]>6|f[f[n+4>>2]+780>>2]>=f[t+24>>2]||(d=C[p+60>>2],v(y(d))>v(.7071067690849304)?(o=C[p+56>>2],a=v(v(1)/v(E(v(v(d*d)+v(o*o))))),o=v(o*a),d=v(-v(d*a)),a=v(0)):(o=C[p+52>>2],a=C[p+56>>2],g=v(v(1)/v(E(v(v(o*o)+v(a*a))))),d=v(o*g),o=v(0),a=v(-v(a*g))),g=v(yt[f[f[Q>>2]+16>>2]](Q)),h=0,g=v(v(R(v(C[744]/g),v(.39269909262657166)))*v(.5)),D=dr(g),m=f[t+20>>2],F=Cr(g),(0|m)<1)))for(Gt=o,o=v(D/v(E(v(v(v(a*a)+v(d*d))+v(o*o))))),D=v(Gt*o),G=v(d*o),w=v(a*o);a=C[p+56>>2],g=C[p+60>>2],o=C[p+52>>2],d=v(v(v(v(6.2831854820251465)/v(0|m))*v(0|h))*v(.5)),B=v(dr(d)/v(E(v(v(v(o*o)+v(a*a))+v(g*g))))),o=v(o*B),d=Cr(d),a=v(a*B),g=v(g*B),B=v(v(v(v(F*d)+v(w*o))+v(G*a))+v(D*g)),W=v(v(v(v(w*d)-v(F*o))-v(D*a))+v(G*g)),Y=v(v(v(v(G*d)-v(F*a))-v(w*g))+v(D*o)),z=v(v(v(v(D*d)-v(F*g))-v(G*o))+v(w*a)),C[r+28>>2]=v(v(v(d*B)-v(o*W))-v(a*Y))-v(g*z),C[r+24>>2]=v(v(a*W)+v(v(g*B)+v(d*z)))-v(o*Y),C[r+20>>2]=v(v(o*z)+v(v(d*Y)+v(a*B)))-v(g*W),C[r+16>>2]=v(v(g*Y)+v(v(o*B)+v(d*W)))-v(a*z),gi(t,r+16|0,e,i,n),(0|(h=h+1|0))<(0|(m=f[t+20>>2])););!_[t+8|0]|!f[f[t+12>>2]+780>>2]||(t=f[n+4>>2],f[t+780>>2]&&((0|(e=f[t+772>>2]))==(0|(i=f[f[n+8>>2]+8>>2]))?se(t,e+4|0,f[f[n+12>>2]+8>>2]+4|0):se(t,f[f[n+12>>2]+8>>2]+4|0,i+4|0)))}Z=r+48|0},Re,ui,_i,function(t){$(_i(t|=0))},mi,function(t){return f[(t|=0)+16>>2]},function(t,e,i){var r;if(t|=0,!((r=8!=(0|(e|=0)))|8!=(0|(i|=0))))return f[t+56>>2];if(!(1!=(0|i)|r))return f[t+72>>2];if(!(1!=(0|e)|8!=(0|i)))return f[t+76>>2];if(!(e|i))return f[t+68>>2];if(!(28!=(0|i)|(0|e)>19))return f[t+84>>2];if(!(28!=(0|e)|(0|i)>19))return f[t+80>>2];t:{if((0|e)<=19){if((0|i)<=19)return f[t+28>>2];if(i+-21>>>0>8)break t;return f[t+32>>2]}if(!((0|i)>19|e+-21>>>0>8))return f[t+36>>2];if(31==(0|e))return 31==(0|i)?f[t+44>>2]:f[t+40>>2]}return 31==(0|i)?f[t+48>>2]:f[t+52>>2]},function(t,e,i){var r;if(t|=0,!((r=8!=(0|(e|=0)))|8!=(0|(i|=0))))return f[t+56>>2];if(!(1!=(0|i)|r))return f[t+72>>2];if(!(1!=(0|e)|8!=(0|i)))return f[t+76>>2];if(!(28!=(0|i)|(0|e)>19))return f[t+84>>2];if(!(28!=(0|e)|(0|i)>19))return f[t+80>>2];t:{if((0|e)<=19){if((0|i)<=19)return f[t+28>>2];if(i+-21>>>0>8)break t;return f[t+32>>2]}if(!((0|i)>19|e+-21>>>0>8))return f[t+36>>2];if(31==(0|e))return 31==(0|i)?f[t+44>>2]:f[t+40>>2]}return 31==(0|i)?f[t+48>>2]:f[t+52>>2]},ve,function(t,e,i,r){return t|=0,i|=0,r|=0,t=f[(e|=0)>>2],ei(t=0|yt[f[f[t>>2]+56>>2]](t,80),e,i,r,0),0|t},ve,function(t,e,i,r){return t|=0,i|=0,r|=0,t=f[(e|=0)>>2],ei(t=0|yt[f[f[t>>2]+56>>2]](t,80),e,i,r,1),0|t},ve,function(t,e,i,r){return t|=0,i|=0,r|=0,t=f[(e|=0)>>2],ri(t=0|yt[f[f[t>>2]+56>>2]](t,84),e,i,r,0),0|t},ve,function(t,e,i,r){return t|=0,i|=0,r|=0,t=f[(e|=0)>>2],function(t,e,i,r){ri(t,e,i,r,0),n[t+104|0]=1,f[t>>2]=16908,f[t+100>>2]=0,f[(e=t+92|0)>>2]=0,f[e+4>>2]=0,function(t){var e=0,i=0,r=0,a=0,o=0,h=0;if(f[t>>2]=16844,n[t+20|0]=1,f[t+16>>2]=0,n[t+40|0]=1,f[(e=i=t+8|0)>>2]=0,f[e+4>>2]=0,f[t+36>>2]=0,n[t+60|0]=1,f[(e=t+28|0)>>2]=0,f[e+4>>2]=0,f[t+56>>2]=0,f[(e=t+48|0)>>2]=0,f[e+4>>2]=0,e=dA(24),(0|(i=f[i>>2]))>=1)for(;a=f[t+16>>2]+r|0,h=f[a+4>>2],f[(o=e+r|0)>>2]=f[a>>2],f[o+4>>2]=h,f[o+8>>2]=f[a+8>>2],r=r+12|0,i=i+-1|0;);(r=f[t+16>>2])&&(_[t+20|0]&&CA(r),f[t+16>>2]=0),f[t+16>>2]=e,n[t+20|0]=1,f[t+12>>2]=2,ai(t)}(e=dA(64)),f[t+84>>2]=e,f[t+108>>2]=f[f[i+4>>2]+72>>2],f[t+112>>2]=f[f[r+4>>2]+72>>2]}(t=0|yt[f[f[t>>2]+56>>2]](t,116),e,i,r),0|t},ve,function(t,e,i,r){return t|=0,i|=0,r|=0,t=f[(e|=0)>>2],ri(t=0|yt[f[f[t>>2]+56>>2]](t,84),e,i,r,1),0|t},ve,function(t,e,i,r){return t|=0,t=f[(e|=0)>>2],uA(t=0|yt[f[f[t>>2]+56>>2]](t,8),e),f[t>>2]=17112,0|t},ve,function(t,e,i,r){return t|=0,i|=0,r|=0,t=f[(e|=0)>>2],function(t,e,i,r){vA(t,e),f[t+12>>2]=0,n[t+8|0]=0,f[t>>2]=17172,e=f[t+4>>2],e=0|yt[f[f[e>>2]+12>>2]](e,f[i+8>>2],f[r+8>>2]),n[t+8|0]=1,f[t+12>>2]=e}(t=0|yt[f[f[t>>2]+56>>2]](t,16),e,i,r),0|t},ve,function(t,e,i,r){t|=0,i|=0,r|=0;var a=0;return a=f[(e|=0)>>2],function(t,e,i,r,a,o){vA(t,i),n[t+16|0]=o,f[t+12>>2]=e,n[t+8|0]=0,f[t>>2]=17308,e||(e=f[t+4>>2],e=0|yt[f[f[e>>2]+12>>2]](e,f[r+8>>2],f[a+8>>2]),n[t+8|0]=1,f[t+12>>2]=e)}(a=0|yt[f[f[a>>2]+56>>2]](a,20),f[e+4>>2],e,i,r,_[t+4|0]),0|a},ve,function(t,e,i,r){return t|=0,i|=0,r|=0,t=f[(e|=0)>>2],function(t,e,i,r){vA(t,e),f[t+12>>2]=0,n[t+8|0]=0,f[t>>2]=17516,e=f[t+4>>2],yt[f[f[e>>2]+24>>2]](e,f[i+8>>2],f[r+8>>2])&&(e=f[t+4>>2],e=0|yt[f[f[e>>2]+12>>2]](e,f[i+8>>2],f[r+8>>2]),n[t+8|0]=1,f[t+12>>2]=e)}(t=0|yt[f[f[t>>2]+56>>2]](t,16),e,i,r),0|t},ve,function(t,e,i,r){t|=0,i|=0,r|=0;var a=0;return a=f[(e|=0)>>2],function(t,e,i,r,a,o,_){uA(t,e),f[t+24>>2]=_,f[t+20>>2]=o,n[t+16|0]=a,f[t+12>>2]=0,n[t+8|0]=0,f[t>>2]=17588,e=f[t+4>>2],o=a?r:i,i=a?i:r,yt[f[f[e>>2]+24>>2]](e,f[o+8>>2],f[i+8>>2])&&(e=f[t+4>>2],e=0|yt[f[f[e>>2]+12>>2]](e,f[o+8>>2],f[i+8>>2]),n[t+8|0]=1,f[t+12>>2]=e)}(a=0|yt[f[f[a>>2]+56>>2]](a,28),e,i,r,_[t+4|0],f[t+8>>2],f[t+12>>2]),0|a},function(t){var e=0;return f[(t|=0)>>2]=18600,(e=f[t+60>>2])&&(_[t- -64|0]&&CA(e),f[t+60>>2]=0),f[t+60>>2]=0,f[t+52>>2]=0,f[t+56>>2]=0,n[t- -64|0]=1,(e=f[t+40>>2])&&(_[t+44|0]&&CA(e),f[t+40>>2]=0),f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,n[t+44|0]=1,(e=f[t+16>>2])&&(_[t+20|0]&&CA(e),f[t+16>>2]=0),f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,n[t+20|0]=1,0|t},function(t){var e=0;f[(t|=0)>>2]=18600,(e=f[t+60>>2])&&(_[t- -64|0]&&CA(e),f[t+60>>2]=0),f[t+60>>2]=0,f[t+52>>2]=0,f[t+56>>2]=0,n[t- -64|0]=1,(e=f[t+40>>2])&&(_[t+44|0]&&CA(e),f[t+40>>2]=0),f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,n[t+44|0]=1,(e=f[t+16>>2])&&(_[t+20|0]&&CA(e),f[t+16>>2]=0),f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,n[t+20|0]=1,CA(t)},function(t,e,i){t|=0,e|=0,i|=0;var r,a=0;f[696]=f[696]+1;t:{e:{if(r=f[t+24>>2]){if(yt[f[f[r>>2]+8>>2]](r,e,i))break e;break t}if(!(f[i+8>>2]&f[e+4>>2])|!(f[e+8>>2]&f[i+4>>2]))break t}a=function(t,e,i){var r,a,o,h=0,d=0,C=0,g=0,v=0,y=0,p=0,R=0,D=0,B=0;d=f[e+12>>2]>f[i+12>>2],g=f[(r=d?e:i)+12>>2],C=f[(a=d?i:e)+12>>2],e=m((e=((e=g<<16|C)<<15^-1)+e|0)>>>10^e,9),y=(o=(e=((e^=e>>>6)<<11^-1)+e|0)>>>16^e)&(d=f[t+12>>2])+-1;e:{if(-1!=(0|(e=f[f[t+40>>2]+(y<<2)>>2])))for(h=f[t+16>>2];;){if(i=(v=e<<4)+h|0,(0|g)==f[f[4+(h+v|0)>>2]+12>>2]&&f[f[i>>2]+12>>2]==(0|C))break e;if(-1==(0|(e=f[f[t+60>>2]+(e<<2)>>2])))break}if((0|(e=d))==(0|(i=g=f[t+8>>2]))&&(i=d,!((0|e)>=(0|(h=e?e<<1:1))))){if(h?(C=dA(h<<4),i=f[t+8>>2]):(C=0,i=d),(0|i)>=1)for(e=12;v=e+C|0,p=f[t+16>>2]+e|0,f[v+-12>>2]=f[p+-12>>2],B=f[(R=p+-8|0)+4>>2],f[(D=v+-8|0)>>2]=f[R>>2],f[D+4>>2]=B,f[v>>2]=f[p>>2],e=e+16|0,i=i+-1|0;);(e=f[t+16>>2])&&(_[t+20|0]&&CA(e),f[t+16>>2]=0),f[t+16>>2]=C,f[t+12>>2]=h,n[t+20|0]=1,i=f[t+8>>2],e=h}f[t+8>>2]=i+1,C=g<<4,h=f[t+16>>2],(i=f[t+68>>2])&&(yt[f[f[i>>2]+8>>2]](i,a,r),e=f[t+12>>2]),i=h+C|0,(0|d)<(0|e)&&(Qi(t),y=f[t+12>>2]+-1&o),d=f[r+12>>2],C=f[a+12>>2],f[(e=h+(g<<4)|0)+8>>2]=0,f[e+12>>2]=0,h=e,e=(0|C)<(0|d),f[h+4>>2]=e?r:a,d=f[t+60>>2]+(g<<2)|0,t=f[t+40>>2]+(y<<2)|0,f[d>>2]=f[t>>2],f[i>>2]=e?a:r,f[t>>2]=g}return i}(t,e,i)}return 0|a},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n=0,a=0,o=0,_=0,h=0,d=0,C=0;f[695]=f[695]+1,n=f[e+12>>2]>f[i+12>>2],a=f[(o=n?e:i)+12>>2],_=f[(h=n?i:e)+12>>2],e=m((e=((e=a<<16|_)<<15^-1)+e|0)>>>10^e,9),e=((e^=e>>>6)<<11^-1)+e|0,d=f[t+12>>2]+-1&(e>>>16^e);t:if(-1!=(0|(e=f[f[t+40>>2]+(d<<2)>>2]))){for(n=f[t+16>>2];;){if((0|a)!=f[f[(i=n+(e<<4)|0)+4>>2]+12>>2]||f[f[i>>2]+12>>2]!=(0|_)){if(-1!=(0|(e=f[f[t+60>>2]+(e<<2)>>2])))continue;break t}break}yt[f[f[t>>2]+32>>2]](t,i,r),C=f[12+(n+(e<<4)|0)>>2],a=f[t+60>>2];e:{if(_=f[t+40>>2]+(d<<2)|0,(0|(e=f[_>>2]))!=(0|(n=i-f[t+16>>2]>>4))){for(;i=e,(0|n)!=(0|(e=f[a+(e<<2)>>2])););if(e=f[a+(n<<2)>>2],-1!=(0|i)){f[a+(i<<2)>>2]=e;break e}}else e=f[a+(n<<2)>>2];f[_>>2]=e}if(a=f[t+8>>2]+-1|0,(e=f[t+68>>2])&&yt[f[f[e>>2]+12>>2]](e,h,o,r),(0|a)==(0|n))return f[t+8>>2]=f[t+8>>2]+-1,0|C;r=f[t+60>>2];e:{if(h=f[t+16>>2],e=f[f[(o=h+(a<<4)|0)+4>>2]+12>>2]<<16|f[f[o>>2]+12>>2],e=m((e=(e<<15^-1)+e|0)>>>10^e,9),e=((e^=e>>>6)<<11^-1)+e|0,_=f[t+12>>2]+-1&(e>>>16^e),d=f[t+40>>2]+(_<<2)|0,(0|(e=f[d>>2]))!=(0|a)){for(;i=e,(0|a)!=(0|(e=f[r+(e<<2)>>2])););if(e=f[r+(a<<2)>>2],-1!=(0|i)){f[r+(i<<2)>>2]=e;break e}}else e=f[r+(a<<2)>>2];f[d>>2]=e}i=f[o+4>>2],f[(e=h+(n<<4)|0)>>2]=f[o>>2],f[e+4>>2]=i,r=f[(i=o+8|0)+4>>2],f[(e=e+8|0)>>2]=f[i>>2],f[e+4>>2]=r,e=f[t+40>>2]+(_<<2)|0,f[f[t+60>>2]+(n<<2)>>2]=f[e>>2],f[e>>2]=n,f[t+8>>2]=f[t+8>>2]+-1}return 0|C},function(t,e,i){var r;t|=0,e|=0,i|=0,Z=r=Z-16|0,f[r+12>>2]=e,f[r+8>>2]=18960,yt[f[f[t>>2]+48>>2]](t,r+8|0,i),Z=r+16|0},ci,ci,hi,function(t,e,i){t|=0,e|=0,(i|=0)&&((t=f[e+8>>2])&&(yt[f[f[t>>2]>>2]](t),yt[f[f[i>>2]+60>>2]](i,f[e+8>>2]),f[e+8>>2]=0))},function(t){return f[(t|=0)+8>>2]},function(t,e,i){var r;t|=0,e|=0,i|=0,Z=r=Z-16|0,f[r+12>>2]=i,f[r+8>>2]=t,f[r+4>>2]=e,f[r>>2]=18816,yt[f[f[t>>2]+48>>2]](t,r,i),Z=r+16|0},Gi,function(t,e,i){t|=0,e|=0,i|=0;var r,n=0,a=0;if(Z=r=Z-16|0,Lr(r+8|0,18668),f[t+8>>2]>=1)for(;a=f[t+16>>2]+(n<<4)|0,yt[f[f[e>>2]+8>>2]](e,a)?(yt[f[f[t>>2]+12>>2]](t,f[a>>2],f[a+4>>2],i),f[694]=f[694]+-1):n=n+1|0,(0|n)<f[t+8>>2];);qr(),Z=r+16|0},function(t,e,i){t|=0,e|=0,i|=0;var r,n,a=0,o=0;f[697]=f[697]+1,a=f[e+12>>2]>f[i+12>>2],r=f[(a?e:i)+12>>2],n=f[(a?i:e)+12>>2],e=m((e=((e=n|r<<16)<<15^-1)+e|0)>>>10^e,9),e=((e^=e>>>6)<<11^-1)+e|0;t:{if(!((0|(e=f[t+12>>2]+-1&(e>>>16^e)))>=f[t+32>>2])&&-1!=(0|(e=f[f[t+40>>2]+(e<<2)>>2])))for(i=f[t+16>>2];;){if(a=(o=e<<4)+i|0,f[f[4+(i+o|0)>>2]+12>>2]==(0|r)&&(0|n)==f[f[a>>2]+12>>2])break t;if(-1==(0|(e=f[f[t+60>>2]+(e<<2)>>2])))break}a=0}return 0|a},we,function(t,e){e|=0,f[(t|=0)+68>>2]=e},function(t,e){t|=0,e|=0;var i,r=0,a=0,o=0,h=0,d=0,C=0,g=0,m=0,v=0,y=0,p=0;if(Z=i=Z-32|0,f[i+20>>2]=0,f[i+12>>2]=0,f[i+16>>2]=0,a=f[t+8>>2],n[i+24|0]=1,!((0|a)<1)){for(a=0;;){if(o=f[t+16>>2]+(d<<4)|0,(0|r)==(0|a))if((0|a)>=(0|(h=a?a<<1:1)))r=a;else{if(C=h?dA(h<<4):0,(0|a)>=1)for(r=12;g=r+C|0,m=f[i+20>>2]+r|0,f[g+-12>>2]=f[m+-12>>2],p=f[(v=m+-8|0)+4>>2],f[(y=g+-8|0)>>2]=f[v>>2],f[y+4>>2]=p,f[g>>2]=f[m>>2],r=r+16|0,a=a+-1|0;);(r=f[i+20>>2])&&(_[i+24|0]&&CA(r),f[i+20>>2]=0),f[i+20>>2]=C,n[i+24|0]=1,f[i+16>>2]=h,r=f[i+12>>2]}if(r=f[i+20>>2]+(r<<4)|0,f[r>>2]=f[o>>2],a=f[o+8>>2],f[r+4>>2]=f[o+4>>2],f[r+8>>2]=a,f[r+12>>2]=f[o+12>>2],r=(h=f[i+12>>2])+1|0,f[i+12>>2]=r,!((0|(d=d+1|0))<f[t+8>>2]))break;a=f[i+16>>2]}if(!((0|h)<0))for(a=-1,o=f[i+20>>2];yt[f[f[t>>2]+12>>2]](t,f[o>>2],f[o+4>>2],e),o=o+16|0,(0|(a=a+1|0))<(0|h););}if(f[t+52>>2]>=1){for(r=f[t+60>>2],o=0;f[r>>2]=-1,r=r+4|0,(0|(o=o+1|0))<f[t+52>>2];);r=f[i+12>>2]}if((0|r)>=2&&(Ei(i+8|0,i,0,r+-1|0),r=f[i+12>>2]),o=f[i+20>>2],(0|r)>=1)for(e=0,r=4;a=r+o|0,yt[f[f[t>>2]+8>>2]](t,f[a+-4>>2],f[a>>2]),r=r+16|0,o=f[i+20>>2],(0|(e=e+1|0))<f[i+12>>2];);o&&(_[i+24|0]&&CA(o),f[i+20>>2]=0),Z=i+32|0},ve,function(t,e){e|=0;var i=0;return(0|(i=f[(t|=0)+4>>2]))!=f[e+4>>2]&&(0|i)!=f[e>>2]||(i=f[t+8>>2],yt[f[f[i>>2]+32>>2]](i,e,f[t+12>>2])),0},ve,function(t,e){return e|=0,(0|(t=f[(t|=0)+4>>2]))==f[e>>2]|(0|t)==f[e+4>>2]},Fi,function(t){$(Fi(t|=0))},function(t,e,i,r,n,a,o,h){t|=0,e|=0,i|=0,r|=0,n|=0,a|=0,o|=0,h|=0;var d=0;return Z=h=Z-48|0,r=dA(64),f[r+8>>2]=o,f[r+4>>2]=a,f[r>>2]=n,n=f[e+4>>2],f[r+16>>2]=f[e>>2],f[r+20>>2]=n,d=f[(n=e+8|0)+4>>2],f[(a=r+24|0)>>2]=f[n>>2],f[a+4>>2]=d,a=f[i+4>>2],f[r+32>>2]=f[i>>2],f[r+36>>2]=a,d=f[(a=i+8|0)+4>>2],f[(o=r+40|0)>>2]=f[a>>2],f[o+4>>2]=d,f[r+52>>2]=0,f[r+56>>2]=0,d=f[n+4>>2],f[(o=h+24|0)>>2]=f[n>>2],f[o+4>>2]=d,o=f[a+4>>2],f[(n=h+40|0)>>2]=f[a>>2],f[n+4>>2]=o,n=f[e>>2],e=f[e+4>>2],a=f[i+4>>2],i=f[i>>2],f[r+60>>2]=f[t+104>>2],f[h+32>>2]=i,f[h+36>>2]=a,i=f[t+148>>2]+1|0,f[r+12>>2]=i,f[t+148>>2]=i,f[h+16>>2]=n,f[h+20>>2]=e,e=or(i=t+4|0,h+16|0,r),f[r+52>>2]=0,f[r+48>>2]=e,e=84+((f[t+104>>2]<<2)+t|0)|0,f[r+56>>2]=f[e>>2],(n=f[e>>2])&&(f[n+52>>2]=r),f[e>>2]=r,_[t+153|0]||(f[h+8>>2]=r,f[h>>2]=19252,f[h+4>>2]=t,Wi(i,f[t+4>>2],h+16|0,h),Wi(t=t+44|0,f[t>>2],h+16|0,h)),Z=h+48|0,0|r},function(t,e,i){t|=0,i|=0;var r,a=0;br(2==f[(e|=0)+60>>2]?t+44|0:t+4|0,f[e+48>>2]),r=f[e+56>>2],a=(a=f[e+52>>2])?a+56|0:84+((f[e+60>>2]<<2)+t|0)|0,f[a>>2]=r,(a=f[e+56>>2])&&(f[a+52>>2]=f[e+52>>2]),a=f[t+96>>2],yt[f[f[a>>2]+16>>2]](a,e,i),CA(e),n[t+154|0]=1},function(t,e,i,r,a){t|=0,e|=0,i|=0,r|=0,a|=0;var o=0,h=0,d=0,g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=0,G=0;Z=a=Z-48|0,d=f[(h=i+8|0)+4>>2],f[(o=a+24|0)>>2]=f[h>>2],f[o+4>>2]=d,d=f[(h=r+8|0)+4>>2],f[(o=a+40|0)>>2]=f[h>>2],f[o+4>>2]=d,o=f[i+4>>2],f[a+16>>2]=f[i>>2],f[a+20>>2]=o,o=f[r+4>>2],f[a+32>>2]=f[r>>2],f[a+36>>2]=o;t:if(2!=f[e+60>>2])if(h=1,f[t+128>>2]=f[t+128>>2]+1,o=f[e+48>>2],C[o>>2]<=C[a+32>>2]^1|C[o+16>>2]>=C[a+16>>2]^1|C[o+4>>2]<=C[a+36>>2]^1|C[o+20>>2]>=C[a+20>>2]^1||C[o+8>>2]<=C[a+40>>2]^1|C[o+24>>2]>=C[a+24>>2]^1)cr(t+4|0,o,a+16|0),f[t+132>>2]=f[t+132>>2]+1;else{if(m=C[e+20>>2],y=C[e+24>>2],B=C[i>>2],E=C[i+4>>2],F=C[i+8>>2],p=C[e+16>>2],f[a+12>>2]=0,g=C[t+100>>2],R=v(g*v(v(C[e+40>>2]-y)*v(.5))),C[a+8>>2]=R,D=v(g*v(v(C[e+36>>2]-m)*v(.5))),C[a+4>>2]=D,g=v(g*v(v(C[e+32>>2]-p)*v(.5))),C[a>>2]=g,m=v(E-m),v(B-p)<v(0)&&(C[a>>2]=-g),y=v(F-y),m<v(0)&&(C[a+4>>2]=-D),y<v(0)&&(C[a+8>>2]=-R),h=0,!function(t,e,i,r){var n=0,a=0,o=v(0),_=0,h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0);h=C[i>>2];e:{if(C[e>>2]<=h){if(o=C[i+4>>2],!(C[e+4>>2]<=o^1|C[e+8>>2]<=C[i+8>>2]^1|C[e+16>>2]>=C[i+16>>2]^1|C[e+20>>2]>=C[i+20>>2]^1)&&(n=0,C[e+24>>2]>=C[i+24>>2]))break e}else o=C[i+4>>2];g=v(o-v(.05000000074505806)),C[i+4>>2]=g,d=v(h-v(.05000000074505806)),C[i>>2]=d,m=v(C[i+8>>2]-v(.05000000074505806)),C[i+8>>2]=m,y=v(C[i+16>>2]+v(.05000000074505806)),C[i+16>>2]=y,o=v(C[(n=i+20|0)>>2]+v(.05000000074505806)),C[n>>2]=o,h=v(C[(_=i+24|0)>>2]+v(.05000000074505806)),C[_>>2]=h,n=(p=C[r>>2])>v(0),C[(n<<4)+i>>2]=(n?y:d)+p,n=(d=C[r+4>>2])>v(0),C[(n?20:4)+i>>2]=(n?o:g)+d,r=(o=C[r+8>>2])>v(0),C[(r?24:8)+i>>2]=(r?h:m)+o;i:if(r=nr(t,e))if(a=f[t+8>>2],(0|a)>=0){if(!a)break i;for(;;){if(!(n=f[r+32>>2]))break i;if(r=n,!(a=a+-1|0))break}}else r=f[t>>2];else r=0;n=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=n,n=f[_+4>>2],f[(a=e+24|0)>>2]=f[_>>2],f[a+4>>2]=n,_=f[(n=i+16|0)+4>>2],f[(a=e+16|0)>>2]=f[n>>2],f[a+4>>2]=_,n=f[(i=i+8|0)+4>>2],f[(_=e+8|0)>>2]=f[i>>2],f[_+4>>2]=n,ar(t,r,e),n=1}return n}(t+4|0,o,a+16|0,a))break t;h=1,f[t+132>>2]=f[t+132>>2]+1}else br(t+44|0,f[e+48>>2]),V=e,G=or(t+4|0,a+16|0,e),f[V+48>>2]=G,h=1;d=f[e+56>>2],o=(o=f[e+52>>2])?o+56|0:84+((f[e+60>>2]<<2)+t|0)|0,f[o>>2]=d,(o=f[e+56>>2])&&(f[o+52>>2]=f[e+52>>2]),o=f[i+4>>2],f[e+16>>2]=f[i>>2],f[e+20>>2]=o,d=f[(i=i+8|0)+4>>2],f[(o=e+24|0)>>2]=f[i>>2],f[o+4>>2]=d,d=f[(o=r+8|0)+4>>2],f[(i=e+40|0)>>2]=f[o>>2],f[i+4>>2]=d,i=f[r+4>>2],f[e+32>>2]=f[r>>2],f[e+36>>2]=i,f[e+52>>2]=0,i=84+(((r=f[t+104>>2])<<2)+t|0)|0,f[e+56>>2]=f[i>>2],f[e+60>>2]=r,(r=f[i>>2])&&(f[r+52>>2]=e),f[i>>2]=e,h&&(n[t+154|0]=1,_[t+153|0]||(f[a>>2]=19252,f[a+4>>2]=t,Di(i=t+44|0,f[i>>2],f[e+48>>2],a),Di(t+4|0,f[t+4>>2],f[e+48>>2],a))),Z=a+48|0},function(t,e,i,r){t|=0,i|=0,r|=0;var n=0;t=f[(e|=0)+20>>2],f[i>>2]=f[e+16>>2],f[i+4>>2]=t,t=i+8|0,n=f[(i=e+24|0)+4>>2],f[t>>2]=f[i>>2],f[t+4>>2]=n,n=f[(i=e+40|0)+4>>2],f[(t=r+8|0)>>2]=f[i>>2],f[t+4>>2]=n,t=f[e+36>>2],f[r>>2]=f[e+32>>2],f[r+4>>2]=t},function(t,e,i,r,n,a){var o,_,h;t|=0,e|=0,i|=0,r|=0,n|=0,a|=0,Z=i=Z-16|0,f[i+8>>2]=19324,f[i+12>>2]=r,o=r+4|0,_=r+20|0,h=f[t+168>>2],wi(t+4|0,f[t+4>>2],e,o,_,C[r+32>>2],n,a,h,i+8|0),wi(t=t+44|0,f[t>>2],e,o,_,C[r+32>>2],n,a,h,i+8|0),Z=i+16|0},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a=0,o=0;Z=n=Z-48|0,f[n+44>>2]=r,f[n+40>>2]=19396,o=f[(a=e+8|0)+4>>2],f[(r=n+16|0)>>2]=f[a>>2],f[r+4>>2]=o,o=f[(a=i+8|0)+4>>2],f[(r=n+32|0)>>2]=f[a>>2],f[r+4>>2]=o,r=f[e+4>>2],f[n+8>>2]=f[e>>2],f[n+12>>2]=r,e=f[i+4>>2],f[n+24>>2]=f[i>>2],f[n+28>>2]=e,Wi(t+4|0,f[t+4>>2],n+8|0,n+40|0),Wi(t=t+44|0,f[t>>2],n+8|0,n+40|0),Z=n+48|0},function(t,e){(function(t,e){var i,r,a=0,o=0,h=0,d=0,g=0,y=0,p=0,R=0,D=0,B=v(0);if(Z=i=Z-32|0,tr(r=t+4|0,1+((0|m(f[t+112>>2],f[t+16>>2]))/100|0)|0),f[t+124>>2]&&(tr(t+44|0,a=1+((0|m(f[t+108>>2],f[t+56>>2]))/100|0)|0),a=f[t+124>>2]-a|0,f[t+124>>2]=(0|a)>0?a:0),a=(f[t+104>>2]+1|0)%2|0,f[t+104>>2]=a,o=f[84+((a<<2)+t|0)>>2]){for(g=t+44|0,D=i+16|0;a=f[o+56>>2],h=(h=f[o+52>>2])?h+56|0:84+((f[o+60>>2]<<2)+t|0)|0,f[h>>2]=a,(h=f[o+56>>2])&&(f[h+52>>2]=f[o+52>>2]),f[o+52>>2]=0,f[o+56>>2]=f[t+92>>2],(h=f[t+92>>2])&&(f[h+52>>2]=o),f[t+92>>2]=o,br(r,f[o+48>>2]),h=f[(y=o+24|0)+4>>2],f[(d=i+8|0)>>2]=f[y>>2],f[d+4>>2]=h,R=f[o+16>>2],p=f[o+20>>2],h=f[o+36>>2],f[D>>2]=f[o+32>>2],f[D+4>>2]=h,h=f[(y=o+40|0)+4>>2],f[(d=D+8|0)>>2]=f[y>>2],f[d+4>>2]=h,f[i>>2]=R,f[i+4>>2]=p,h=or(g,i,o),f[o+60>>2]=2,f[o+48>>2]=h,o=a,a;);n[t+154|0]=1,f[t+124>>2]=f[t+56>>2]}if(f[i>>2]=19252,f[i+4>>2]=t,_[t+153|0]&&(Di(r,f[t+4>>2],f[t+44>>2],i),_[t+153|0]&&Di(r,a=f[r>>2],a,i)),_[t+154|0]&&(a=f[t+96>>2],d=0|yt[f[f[a>>2]+28>>2]](a),!((0|(h=f[d+4>>2]))<1))){R=t+144|0;t:{if((0|(p=(0|h)<(0|(a=(0|(o=f[t+120>>2]))>(0|(a=(0|m(f[t+116>>2],h))/100|0))?o:a))?h:a))>=1){for(o=0;a=f[d+12>>2]+((f[R>>2]+o|0)%(0|h)<<4)|0,y=f[a>>2],g=f[y+48>>2],h=f[a+4>>2],a=f[h+48>>2],!(C[g>>2]<=C[a+16>>2]^1|C[g+16>>2]>=C[a>>2]^1|C[g+4>>2]<=C[a+20>>2]^1|C[g+20>>2]>=C[a+4>>2]^1)&&C[g+8>>2]<=C[a+24>>2]&&C[g+24>>2]>=C[a+8>>2]||(a=f[t+96>>2],yt[f[f[a>>2]+12>>2]](a,y,h,e),o=o+-1|0,p=p+-1|0),h=f[d+4>>2],(0|(o=o+1|0))<(0|p););if(R=t+144|0,o=0,(0|h)<=0)break t}o=(f[R>>2]+p|0)%(0|h)|0}f[R>>2]=o}n[t+154|0]=0,f[t+120>>2]=1,f[t+140>>2]=f[t+140>>2]+1,a=f[t+132>>2],o=t,e=f[t+128>>2],B=v(0),e&&(B=v(v(a>>>0)/v(e>>>0))),C[o+136>>2]=B,f[t+132>>2]=a>>>1,f[t+128>>2]=e>>>1,Z=i+32|0})(t|=0,e|=0),function(t,e){var i,r=0,a=0,o=0,h=0,d=0,g=0,m=0,v=0,y=0,p=0,R=0;if(Z=i=Z-16|0,r=f[t+96>>2],yt[f[f[r>>2]+56>>2]](r)){if(r=f[t+96>>2],a=0|yt[f[f[r>>2]+28>>2]](r),(0|(o=f[a+4>>2]))>=2&&(Ei(a,i+8|0,0,o+-1|0),o=f[a+4>>2]),(0|o)>=1){for(;;){m=f[a+12>>2]+R|0,r=f[m+4>>2],h=v,v=f[m>>2];t:{e:if((0|r)!=(0|g)||(0|h)!=(0|v)){if(d=f[v+48>>2],h=f[r+48>>2],!(C[d>>2]<=C[h+16>>2]^1|C[d+16>>2]>=C[h>>2]^1|C[d+4>>2]<=C[h+20>>2]^1|C[d+20>>2]>=C[h+4>>2]^1)&&C[d+8>>2]<=C[h+24>>2]){if(g=r,!(C[d+24>>2]>=C[h+8>>2]))break e;break t}g=r}r=f[t+96>>2],yt[f[f[r>>2]+32>>2]](r,m,e),f[m>>2]=0,f[m+4>>2]=0,y=y+1|0,o=f[a+4>>2]}if(R=R+16|0,!((0|(p=p+1|0))<(0|o)))break}if((0|o)>=2&&(Ei(a,i,0,o+-1|0),o=f[a+4>>2]),t=o-y|0,(0|y)<=-1){if(f[a+8>>2]<(0|t)){if(t?(p=dA(t<<4),e=f[a+4>>2]):(p=0,e=o),(0|e)>=1)for(r=12;g=r+p|0,v=f[a+12>>2]+r|0,f[g+-12>>2]=f[v+-12>>2],m=f[(h=v+-8|0)+4>>2],f[(d=g+-8|0)>>2]=f[h>>2],f[d+4>>2]=m,f[g>>2]=f[v>>2],r=r+16|0,e=e+-1|0;);(e=f[a+12>>2])&&(_[a+16|0]&&CA(e),f[a+12>>2]=0),f[a+12>>2]=p,n[a+16|0]=1,f[a+8>>2]=t}for(r=o<<4;e=f[a+12>>2]+r|0,f[e>>2]=0,f[e+4>>2]=0,f[(e=e+8|0)>>2]=0,f[e+4>>2]=0,r=r+16|0,g=(e=y+1|0)>>>0>=y>>>0,y=e,g;);}o=t}f[a+4>>2]=o}Z=i+16|0}(t,e)},ne,ne,function(t,e,i){t|=0,e|=0,i|=0;var r,n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0);r=f[t+44>>2];t:if(t=f[t+4>>2]){if(o=C[t>>2],r){if(_=(n=C[t+20>>2])>(a=C[r+20>>2])?n:a,h=(n=C[t+8>>2])<(a=C[r+8>>2])?n:a,d=(n=C[t+4>>2])<(a=C[r+4>>2])?n:a,g=(n=C[t+16>>2])>(a=C[r+16>>2])?n:a,o=o<(n=C[r>>2])?o:n,!((n=C[t+24>>2])>(a=C[r+24>>2]))){n=a;break t}break t}a=C[t+28>>2],n=C[t+24>>2],_=C[t+20>>2],g=C[t+16>>2],m=C[t+12>>2],h=C[t+8>>2],d=C[t+4>>2]}else r&&(a=C[r+28>>2],n=C[r+24>>2],_=C[r+20>>2],g=C[r+16>>2],m=C[r+12>>2],h=C[r+8>>2],d=C[r+4>>2],o=C[r>>2]);C[e+12>>2]=m,C[e+8>>2]=h,C[e+4>>2]=d,C[e>>2]=o,C[i+12>>2]=a,C[i+8>>2]=n,C[i+4>>2]=_,C[i>>2]=g},function(t,e){e|=0,f[(t|=0)+16>>2]==(0-f[t+56>>2]|0)&&(fr(t+4|0),fr(t+44|0),n[t+153|0]=256,n[t+154|0]=1,f[t+124>>2]=0,f[t+104>>2]=0,f[t+116>>2]=10,f[t+120>>2]=1,f[t+108>>2]=1,f[t+112>>2]=0,f[(e=t+84|0)>>2]=0,f[e+4>>2]=0,f[t+92>>2]=0,f[t+128>>2]=0,f[t+132>>2]=0,f[(e=t+136|0)>>2]=0,f[e+4>>2]=0,f[(t=t+144|0)>>2]=0,f[t+4>>2]=0)},qe,ve,function(t,e,i){t|=0;var r=0;(0|(e|=0))!=(0|(i|=0))&&(r=f[f[t+4>>2]+96>>2],yt[f[f[r>>2]+8>>2]](r,f[e+36>>2],f[i+36>>2]),t=f[t+4>>2],f[t+120>>2]=f[t+120>>2]+1)},function(t,e){e|=0,yt[f[f[(t|=0)>>2]+8>>2]](t,e,f[f[t+8>>2]+48>>2])},ve,Zi,ve,Zi,function(t){var e;return f[(t|=0)>>2]=20096,(e=f[t+556>>2])&&(_[t+560|0]&&CA(e),f[t+556>>2]=0),f[t+556>>2]=0,f[t+548>>2]=0,f[t+552>>2]=0,n[t+560|0]=1,Ze(t),0|t},function(t){var e;f[(t|=0)>>2]=20096,(e=f[t+556>>2])&&(_[t+560|0]&&CA(e),f[t+556>>2]=0),f[t+556>>2]=0,f[t+548>>2]=0,f[t+552>>2]=0,n[t+560|0]=1,Ze(t),CA(t)},function(t){return 496},function(t,e,i){return Ne(t|=0,e|=0,i|=0),f[e+264>>2]=f[t+324>>2],f[e+268>>2]=f[t+328>>2],f[e+272>>2]=f[t+332>>2],f[e+276>>2]=f[t+336>>2],f[e+280>>2]=f[t+340>>2],f[e+284>>2]=f[t+344>>2],f[e+288>>2]=f[t+348>>2],f[e+292>>2]=f[t+352>>2],f[e+296>>2]=f[t+356>>2],f[e+300>>2]=f[t+360>>2],f[e+304>>2]=f[t+364>>2],f[e+308>>2]=f[t+368>>2],f[e+312>>2]=f[t+372>>2],f[e+316>>2]=f[t+376>>2],f[e+320>>2]=f[t+380>>2],f[e+324>>2]=f[t+384>>2],f[e+328>>2]=f[t+388>>2],f[e+332>>2]=f[t+392>>2],f[e+336>>2]=f[t+396>>2],f[e+340>>2]=f[t+400>>2],f[e+456>>2]=f[t+404>>2],f[e+344>>2]=f[t+604>>2],f[e+348>>2]=f[t+608>>2],f[e+352>>2]=f[t+612>>2],f[e+356>>2]=f[t+616>>2],f[e+360>>2]=f[t+408>>2],f[e+364>>2]=f[t+412>>2],f[e+368>>2]=f[t+416>>2],f[e+372>>2]=f[t+420>>2],f[e+376>>2]=f[t+424>>2],f[e+380>>2]=f[t+428>>2],f[e+384>>2]=f[t+432>>2],f[e+388>>2]=f[t+436>>2],f[e+392>>2]=f[t+440>>2],f[e+396>>2]=f[t+444>>2],f[e+400>>2]=f[t+448>>2],f[e+404>>2]=f[t+452>>2],f[e+408>>2]=f[t+456>>2],f[e+412>>2]=f[t+460>>2],f[e+416>>2]=f[t+464>>2],f[e+420>>2]=f[t+468>>2],f[e+424>>2]=f[t+472>>2],f[e+428>>2]=f[t+476>>2],f[e+432>>2]=f[t+480>>2],f[e+436>>2]=f[t+484>>2],f[e+440>>2]=f[t+488>>2],f[e+444>>2]=f[t+492>>2],f[e+448>>2]=f[t+496>>2],f[e+452>>2]=f[t+500>>2],i=f[t+508>>2],f[e+460>>2]=f[t+504>>2],f[e+464>>2]=i,i=f[t+520>>2],f[e+468>>2]=f[t+516>>2],f[e+472>>2]=i,i=f[t+528>>2],f[e+476>>2]=f[t+524>>2],f[e+480>>2]=i,i=f[t+536>>2],f[e+484>>2]=f[t+532>>2],f[e+488>>2]=i,f[e+492>>2]=_[t+512|0],20124},function(t,e){var i,r,n=0,a=0,o=0,_=0;a=e|=0,o=0|yt[f[f[(t|=0)>>2]+16>>2]](t),_=1,n=f[f[e>>2]+16>>2],r=0|yt[n](0|a,0|o,0|_),_=e,o=r,a=0|yt[f[f[t>>2]+20>>2]](t,f[r+8>>2],e),i=t,n=f[f[e>>2]+20>>2],yt[n](0|_,0|o,0|a,1497645650,0|i)},function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0);return o=C[i+100>>2],_=C[i+16>>2],h=C[i+20>>2],d=C[i+24>>2],n=C[i+108>>2],r=v(v(v(C[i+112>>2]-v(o*C[i+116>>2]))-v(v(v(v(v(_*C[t+64>>2])+v(h*C[t+68>>2]))+v(d*C[t+72>>2]))+v(v(v(C[i>>2]*C[t+80>>2])+v(C[i+4>>2]*C[t+84>>2]))+v(C[i+8>>2]*C[t+88>>2])))*n))-v(n*v(v(v(v(C[i+48>>2]*C[e+64>>2])+v(C[i+52>>2]*C[e+68>>2]))+v(C[i+56>>2]*C[e+72>>2]))+v(v(v(C[i+32>>2]*C[e+80>>2])+v(C[i+36>>2]*C[e+84>>2]))+v(C[i+40>>2]*C[e+88>>2]))))),(n=v(o+r))<(a=C[i+120>>2])?(r=v(a-o),n=a):n>(a=C[i+124>>2])&&(r=v(a-o),n=a),C[i+100>>2]=n,f[t+240>>2]&&(C[t+64>>2]=v(C[t+112>>2]*v(r*v(_*C[t+128>>2])))+C[t+64>>2],C[t+68>>2]=v(v(r*v(h*C[t+132>>2]))*C[t+116>>2])+C[t+68>>2],C[t+72>>2]=v(v(r*v(d*C[t+136>>2]))*C[t+120>>2])+C[t+72>>2],n=C[i+72>>2],a=C[i+68>>2],C[t+80>>2]=v(v(r*C[t+96>>2])*C[i+64>>2])+C[t+80>>2],o=C[t+104>>2],C[t+84>>2]=v(a*v(r*C[t+100>>2]))+C[t+84>>2],C[t+88>>2]=v(n*v(r*o))+C[t+88>>2]),f[e+240>>2]&&(n=C[i+56>>2],a=C[i+52>>2],C[e+64>>2]=v(C[e+112>>2]*v(r*v(C[i+48>>2]*C[e+128>>2])))+C[e+64>>2],C[e+68>>2]=v(v(r*v(a*C[e+132>>2]))*C[e+116>>2])+C[e+68>>2],C[e+72>>2]=v(v(r*v(n*C[e+136>>2]))*C[e+120>>2])+C[e+72>>2],n=C[i+88>>2],a=C[i+84>>2],C[e+80>>2]=v(v(r*C[e+96>>2])*C[i+80>>2])+C[e+80>>2],o=C[e+104>>2],C[e+84>>2]=v(a*v(r*C[e+100>>2]))+C[e+84>>2],C[e+88>>2]=v(n*v(r*o))+C[e+88>>2]),v(r)},function(t,e,i){t|=0,e|=0,i|=0;var r,n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0);return n=C[i+100>>2],_=C[i+16>>2],h=C[i+20>>2],d=C[i+24>>2],a=C[i+108>>2],a=v(v(v(C[i+112>>2]-v(n*C[i+116>>2]))-v(v(v(v(v(_*C[t+64>>2])+v(h*C[t+68>>2]))+v(d*C[t+72>>2]))+v(v(v(C[i>>2]*C[t+80>>2])+v(C[i+4>>2]*C[t+84>>2]))+v(C[i+8>>2]*C[t+88>>2])))*a))-v(a*v(v(v(v(C[i+48>>2]*C[e+64>>2])+v(C[i+52>>2]*C[e+68>>2]))+v(C[i+56>>2]*C[e+72>>2]))+v(v(v(C[i+32>>2]*C[e+80>>2])+v(C[i+36>>2]*C[e+84>>2]))+v(C[i+40>>2]*C[e+88>>2]))))),r=(g=v(n+a))<(o=C[i+120>>2]),C[i+100>>2]=r?o:g,n=r?v(o-n):a,f[t+240>>2]&&(C[t+64>>2]=v(C[t+112>>2]*v(n*v(_*C[t+128>>2])))+C[t+64>>2],C[t+68>>2]=v(v(n*v(h*C[t+132>>2]))*C[t+116>>2])+C[t+68>>2],C[t+72>>2]=v(v(n*v(d*C[t+136>>2]))*C[t+120>>2])+C[t+72>>2],a=C[i+72>>2],o=C[i+68>>2],C[t+80>>2]=v(v(n*C[t+96>>2])*C[i+64>>2])+C[t+80>>2],_=C[t+104>>2],C[t+84>>2]=v(o*v(n*C[t+100>>2]))+C[t+84>>2],C[t+88>>2]=v(a*v(n*_))+C[t+88>>2]),f[e+240>>2]&&(a=C[i+56>>2],o=C[i+52>>2],C[e+64>>2]=v(C[e+112>>2]*v(n*v(C[i+48>>2]*C[e+128>>2])))+C[e+64>>2],C[e+68>>2]=v(v(n*v(o*C[e+132>>2]))*C[e+116>>2])+C[e+68>>2],C[e+72>>2]=v(v(n*v(a*C[e+136>>2]))*C[e+120>>2])+C[e+72>>2],a=C[i+88>>2],o=C[i+84>>2],C[e+80>>2]=v(v(n*C[e+96>>2])*C[i+80>>2])+C[e+80>>2],_=C[e+104>>2],C[e+84>>2]=v(o*v(n*C[e+100>>2]))+C[e+84>>2],C[e+88>>2]=v(a*v(n*_))+C[e+88>>2]),v(n)},function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=0;return(n=C[i+128>>2])!=v(0)&&(f[700]=f[700]+1,r=C[i+96>>2],a=v(n-v(r*C[i+116>>2])),o=C[i+16>>2],_=C[i+20>>2],h=C[i+24>>2],n=C[i+108>>2],n=v(v(a-v(v(v(v(v(o*C[t+144>>2])+v(_*C[t+148>>2]))+v(h*C[t+152>>2]))+v(v(v(C[i>>2]*C[t+160>>2])+v(C[i+4>>2]*C[t+164>>2]))+v(C[i+8>>2]*C[t+168>>2])))*n))-v(n*v(v(v(v(C[i+48>>2]*C[e+144>>2])+v(C[i+52>>2]*C[e+148>>2]))+v(C[i+56>>2]*C[e+152>>2]))+v(v(v(C[i+32>>2]*C[e+160>>2])+v(C[i+36>>2]*C[e+164>>2]))+v(C[i+40>>2]*C[e+168>>2]))))),g=(d=v(r+n))<(a=C[i+120>>2]),C[i+96>>2]=g?a:d,r=g?v(a-r):n,f[t+240>>2]&&(C[t+144>>2]=v(C[t+112>>2]*v(r*v(o*C[t+128>>2])))+C[t+144>>2],C[t+148>>2]=v(v(r*v(_*C[t+132>>2]))*C[t+116>>2])+C[t+148>>2],C[t+152>>2]=v(v(r*v(h*C[t+136>>2]))*C[t+120>>2])+C[t+152>>2],n=C[i+72>>2],a=C[i+68>>2],C[t+160>>2]=v(v(r*C[t+96>>2])*C[i+64>>2])+C[t+160>>2],o=C[t+104>>2],C[t+164>>2]=v(a*v(r*C[t+100>>2]))+C[t+164>>2],C[t+168>>2]=v(n*v(r*o))+C[t+168>>2]),f[e+240>>2]&&(n=C[i+56>>2],a=C[i+52>>2],C[e+144>>2]=v(C[e+112>>2]*v(r*v(C[i+48>>2]*C[e+128>>2])))+C[e+144>>2],C[e+148>>2]=v(v(r*v(a*C[e+132>>2]))*C[e+116>>2])+C[e+148>>2],C[e+152>>2]=v(v(r*v(n*C[e+136>>2]))*C[e+120>>2])+C[e+152>>2],n=C[i+88>>2],a=C[i+84>>2],C[e+160>>2]=v(v(r*C[e+96>>2])*C[i+80>>2])+C[e+160>>2],o=C[e+104>>2],C[e+164>>2]=v(a*v(r*C[e+100>>2]))+C[e+164>>2],C[e+168>>2]=v(n*v(r*o))+C[e+168>>2])),v(r)},qi,function(t){CA(qi(t|=0))},De,function(t,e,i,r,n,a,o,_,h,d){return t|=0,e|=0,i|=0,r|=0,n|=0,a|=0,o|=0,_|=0,h|=0,d|=0,Z=d=Z-16|0,Lr(d+8|0,20295),v(yt[f[f[t>>2]+44>>2]](t,e,i,r,n,a,o,_,h)),v(yt[f[f[t>>2]+48>>2]](t,e,i,r,n,a,o,_,h)),v(yt[f[f[t>>2]+36>>2]](t,e,i,_)),qr(),Z=d+16|0,v(v(0))},De,function(t){f[(t|=0)+232>>2]=0},We,function(t,e,i,r){if(t|=0,e|=0,r|=0,(0|(i|=0))>=1)for(;nf(t,f[e>>2],r),e=e+4|0,i=i+-1|0;);},function(t,e,i,r,n,a,o,_,h){t|=0,e|=0,i|=0,r|=0,n|=0,a|=0,_|=0;var d=v(0),g=v(0);t:if(!(!f[_+52>>2]|f[_+20>>2]<1))for(e=0;;){if(d=v(0),(0|(r=f[t+28>>2]))>=1)for(i=0;g=d,a=f[t+16>>2],n=f[t+36>>2]+m(f[f[t+116>>2]+i>>2],152)|0,d=v(yt[f[t+220>>2]](a+m(f[n+144>>2],244)|0,m(f[n+148>>2],244)+a|0,n)),d=v(g+v(d*d)),i=i+4|0,r=r+-1|0;);if(d<=C[_+92>>2])break t;if((0|e)>=((i=f[_+20>>2])+-1|0))break t;if(!((0|(e=e+1|0))<(0|i)))break}},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var a=0,o=0,h=0,d=v(0),g=v(0),p=0,R=v(0),D=v(0),B=v(0),E=v(0),F=0,V=0;if(4&(a=f[r+72>>2])&&!((0|(h=f[t+28>>2]))<1))if(i=f[t+76>>2],e=f[t+36>>2],16&a)for(e=e+140|0;a=f[e+-8>>2],f[a+124>>2]=f[e+-40>>2],o=i+m(f[e>>2],152)|0,f[a+128>>2]=f[o+100>>2],f[a+132>>2]=f[o+252>>2],e=e+152|0,h=h+-1|0;);else for(e=e+140|0;a=f[e+-8>>2],f[a+124>>2]=f[e+-40>>2],f[a+128>>2]=f[100+(i+m(f[e>>2],152)|0)>>2],e=e+152|0,h=h+-1|0;);if((0|(p=f[t+48>>2]))>=1)for(a=100;i=f[t+56>>2]+a|0,h=f[i+32>>2],(e=f[h+44>>2])&&(o=f[h+28>>2],R=C[o+416>>2],D=C[i+-76>>2],B=C[o+412>>2],E=C[i+-80>>2],d=C[i>>2],g=v(v(1)/C[r+12>>2]),C[e>>2]=C[e>>2]+v(v(v(C[i+-84>>2]*d)*C[o+408>>2])*g),C[e+4>>2]=v(v(B*v(d*E))*g)+C[e+4>>2],C[e+8>>2]=v(v(R*v(d*D))*g)+C[e+8>>2],F=f[h+32>>2],R=C[F+416>>2],D=C[i+-44>>2],B=C[F+412>>2],E=C[i+-48>>2],d=C[i>>2],g=v(v(1)/C[r+12>>2]),C[e+32>>2]=C[e+32>>2]+v(v(v(C[i+-52>>2]*d)*C[F+408>>2])*g),C[(V=e+36|0)>>2]=v(v(B*v(d*E))*g)+C[V>>2],C[(V=e+40|0)>>2]=v(v(R*v(d*D))*g)+C[V>>2],R=C[o+612>>2],D=C[i+-92>>2],B=C[o+608>>2],E=C[i+-96>>2],d=C[i>>2],g=v(v(1)/C[r+12>>2]),C[e+16>>2]=C[e+16>>2]+v(v(v(C[i+-100>>2]*C[o+604>>2])*d)*g),C[(o=e+20|0)>>2]=v(v(d*v(E*B))*g)+C[o>>2],C[(o=e+24|0)>>2]=v(v(d*v(D*R))*g)+C[o>>2],R=C[F+612>>2],D=C[i+-60>>2],B=C[F+608>>2],E=C[i+-64>>2],d=C[i>>2],g=v(v(1)/C[r+12>>2]),C[e+48>>2]=C[e+48>>2]+v(v(v(C[i+-68>>2]*C[F+604>>2])*d)*g),C[(o=e+52|0)>>2]=v(v(d*v(E*B))*g)+C[o>>2],C[(e=e+56|0)>>2]=v(v(d*v(D*R))*g)+C[e>>2]),d=C[i>>2],C[h+36>>2]=d,v(y(d))>=C[h+16>>2]&&(n[h+20|0]=0),a=a+152|0,p=p+-1|0;);if((0|(a=f[t+8>>2]))>=1)for(o=f[t+16>>2],e=176,F=0;(h=f[(i=e+o|0)- -64>>2])&&(f[r+52>>2]?(af(i+-176|0,C[r+12>>2],C[r+60>>2]),o=f[t+16>>2],R=C[(i=o+e|0)>>2],d=C[i+8>>2],g=C[i+4>>2],h=f[i- -64>>2]):(R=v(C[i+-112>>2]+C[i>>2]),C[i>>2]=R,a=i+4|0,g=v(C[i+-108>>2]+C[a>>2]),C[a>>2]=g,a=i+8|0,d=v(C[i+-104>>2]+C[a>>2]),C[a>>2]=d,C[(a=i+16|0)>>2]=C[i+-96>>2]+C[a>>2],C[(a=i+20|0)>>2]=C[i+-92>>2]+C[a>>2],C[(a=i+24|0)>>2]=C[i+-88>>2]+C[a>>2]),D=C[(i=e+o|0)+32>>2],B=C[i+36>>2],E=C[i+40>>2],f[h+384>>2]=0,C[h+380>>2]=d+E,C[h+376>>2]=g+B,C[h+372>>2]=R+D,f[h+304>>2]=f[h+304>>2]+1,i=f[t+16>>2]+e|0,d=C[i+16>>2],g=C[i+48>>2],R=C[i+20>>2],D=C[i+52>>2],B=C[i+24>>2],E=C[i+56>>2],i=f[i- -64>>2],f[i+400>>2]=0,C[i+396>>2]=B+E,C[i+392>>2]=R+D,C[i+388>>2]=d+g,f[i+304>>2]=f[i+304>>2]+1,f[r+52>>2]&&(h=f[t+16>>2]+e|0,i=f[h- -64>>2],f[i+304>>2]=f[i+304>>2]+1,V=f[(p=(a=h+-176|0)+8|0)+4>>2],f[(o=i+12|0)>>2]=f[p>>2],f[o+4>>2]=V,o=f[a+4>>2],f[i+4>>2]=f[a>>2],f[i+8>>2]=o,V=f[(p=(a=h+-160|0)+8|0)+4>>2],f[(o=i+28|0)>>2]=f[p>>2],f[o+4>>2]=V,p=f[a+4>>2],f[(o=i+20|0)>>2]=f[a>>2],f[o+4>>2]=p,p=f[(a=h+-144|0)+4>>2],f[(o=i+36|0)>>2]=f[a>>2],f[o+4>>2]=p,p=f[(a=a+8|0)+4>>2],f[(o=i+44|0)>>2]=f[a>>2],f[o+4>>2]=p,p=f[(o=(h=h+-128|0)+8|0)+4>>2],f[(a=i+60|0)>>2]=f[o>>2],f[a+4>>2]=p,a=f[h+4>>2],f[(i=i+52|0)>>2]=f[h>>2],f[i+4>>2]=a),o=f[t+16>>2],f[f[(o+e|0)- -64>>2]+212>>2]=-1,a=f[t+8>>2]),e=e+244|0,(0|(F=F+1|0))<(0|a););return f[t+28>>2]>-1|f[t+32>>2]>-1||((e=f[t+36>>2])&&(_[t+40|0]&&CA(e),f[t+36>>2]=0),f[t+32>>2]=0,f[t+36>>2]=0,n[t+40|0]=1),f[t+28>>2]=0,f[t+48>>2]>-1|f[t+52>>2]>-1||((e=f[t+56>>2])&&(_[t+60|0]&&CA(e),f[t+56>>2]=0),f[t+52>>2]=0,f[t+56>>2]=0,n[t+60|0]=1),f[t+48>>2]=0,f[t+68>>2]>-1|f[t+72>>2]>-1||((e=f[t+76>>2])&&(_[t+80|0]&&CA(e),f[t+76>>2]=0),f[t+72>>2]=0,f[t+76>>2]=0,n[t+80|0]=1),f[t+68>>2]=0,f[t+88>>2]>-1|f[t+92>>2]>-1||((e=f[t+96>>2])&&(_[t+100|0]&&CA(e),f[t+96>>2]=0),f[t+92>>2]=0,f[t+96>>2]=0,n[t+100|0]=1),f[t+88>>2]=0,f[t+8>>2]>-1|f[t+12>>2]>-1||((e=f[t+16>>2])&&(_[t+20|0]&&CA(e),f[t+16>>2]=0),f[t+12>>2]=0,f[t+16>>2]=0,n[t+20|0]=1),f[t+8>>2]=0,v(v(0))},function(t,e,i,r,a,o,h,d,g,y){t|=0,e|=0,i|=0,r|=0,a|=0,o|=0,h|=0,d|=0,g|=0,y|=0;var p=v(0),R=v(0),D=0,B=v(0),E=0,F=0,V=0,G=0,w=0,Q=0;if(1&n[g+72|0]){if(V=f[t+68>>2],E=f[t+28>>2],(0|(F=f[t+48>>2]))>=1){if(i=m(f[t+232>>2],1664525)+1013904223|0,1!=(0|F)&&(y=f[t+136>>2],r=f[y+4>>2],a=(i=m(i,1664525)+1013904223|0)^i>>>16,a^=a>>>8,a^=a>>>4,a=y+((1&((a^=a>>>2)>>>1^a))<<2)|0,f[y+4>>2]=f[a>>2],f[a>>2]=r,2!=(0|F)&&(r=f[y+8>>2],a=(i=m(i,1664525)+1013904223|0)^i>>>16,a^=a>>>8,a=y+((((a^=a>>>4)>>>2^a)>>>0)%3<<2)|0,f[y+8>>2]=f[a>>2],f[a>>2]=r,3!=(0|F)&&(r=f[y+12>>2],a=(i=m(i,1664525)+1013904223|0)^i>>>16,a^=a>>>8,a=y+((3&((a^=a>>>4)>>>2^a))<<2)|0,f[y+12>>2]=f[a>>2],f[a>>2]=r,4!=(0|F)))))for(o=y+16|0,r=4;Q=f[o>>2],G=o,w=y,D=i=m(i,1664525)+1013904223|0,(r=r+1|0)>>>0>65536||(D=a=i>>>16^i,r>>>0>256||(D=a^=a>>>8,r>>>0>16||(D=a>>>4^a))),a=w+((D>>>0)%(r>>>0)<<2)|0,f[G>>2]=f[a>>2],f[a>>2]=Q,o=o+4|0,(0|r)!=(0|F););f[t+232>>2]=i}if(!(f[g+20>>2]<=(0|e))){if((0|E)>=1){if(i=m(f[t+232>>2],1664525)+1013904223|0,1!=(0|E)&&(y=f[t+116>>2],r=f[y+4>>2],a=(i=m(i,1664525)+1013904223|0)^i>>>16,a^=a>>>8,a^=a>>>4,a=y+((1&((a^=a>>>2)>>>1^a))<<2)|0,f[y+4>>2]=f[a>>2],f[a>>2]=r,2!=(0|E)&&(r=f[y+8>>2],a=(i=m(i,1664525)+1013904223|0)^i>>>16,a^=a>>>8,a=y+((((a^=a>>>4)>>>2^a)>>>0)%3<<2)|0,f[y+8>>2]=f[a>>2],f[a>>2]=r,3!=(0|E)&&(r=f[y+12>>2],a=(i=m(i,1664525)+1013904223|0)^i>>>16,a^=a>>>8,a=y+((3&((a^=a>>>4)>>>2^a))<<2)|0,f[y+12>>2]=f[a>>2],f[a>>2]=r,4!=(0|E)))))for(o=y+16|0,r=4;F=f[o>>2],G=o,w=y,D=i=m(i,1664525)+1013904223|0,(r=r+1|0)>>>0>65536||(D=a=i>>>16^i,r>>>0>256||(D=a^=a>>>8,r>>>0>16||(D=a>>>4^a))),a=w+((D>>>0)%(r>>>0)<<2)|0,f[G>>2]=f[a>>2],f[a>>2]=F,o=o+4|0,(0|r)!=(0|E););f[t+232>>2]=i}if(!((0|V)<1)){if(i=m(f[t+232>>2],1664525)+1013904223|0,1!=(0|V)&&(y=f[t+156>>2],r=f[y+4>>2],a=(i=m(i,1664525)+1013904223|0)^i>>>16,a^=a>>>8,a^=a>>>4,a=y+((1&((a^=a>>>2)>>>1^a))<<2)|0,f[y+4>>2]=f[a>>2],f[a>>2]=r,2!=(0|V)&&(r=f[y+8>>2],a=(i=m(i,1664525)+1013904223|0)^i>>>16,a^=a>>>8,a=y+((((a^=a>>>4)>>>2^a)>>>0)%3<<2)|0,f[y+8>>2]=f[a>>2],f[a>>2]=r,3!=(0|V)&&(r=f[y+12>>2],a=(i=m(i,1664525)+1013904223|0)^i>>>16,a^=a>>>8,a=y+((3&((a^=a>>>4)>>>2^a))<<2)|0,f[y+12>>2]=f[a>>2],f[a>>2]=r,4!=(0|V)))))for(o=y+16|0,r=4;E=f[o>>2],G=o,w=y,D=i=m(i,1664525)+1013904223|0,(r=r+1|0)>>>0>65536||(D=a=i>>>16^i,r>>>0>256||(D=a^=a>>>8,r>>>0>16||(D=a>>>4^a))),a=w+((D>>>0)%(r>>>0)<<2)|0,f[G>>2]=f[a>>2],f[a>>2]=E,o=o+4|0,(0|r)!=(0|V););f[t+232>>2]=i}}}if((0|(a=f[t+48>>2]))>=1)for(i=0,o=0;r=f[t+56>>2]+m(f[f[t+136>>2]+i>>2],152)|0,f[r+136>>2]>(0|e)&&(R=p,a=f[t+16>>2],p=v(yt[f[t+212>>2]](a+m(f[r+144>>2],244)|0,a+m(f[r+148>>2],244)|0,r)),p=v(R+v(p*p)),a=f[t+48>>2]),i=i+4|0,(0|(o=o+1|0))<(0|a););if(!(f[g+20>>2]<=(0|e))){if((0|d)>=1)for(;e=f[h>>2],_[e+20|0]&&(e=ef(t,f[e+28>>2],C[g+12>>2]),i=ef(t,f[f[h>>2]+32>>2],C[g+12>>2]),r=f[h>>2],a=m(e,244),e=f[t+16>>2],yt[f[f[r>>2]+24>>2]](r,a+e|0,e+m(i,244)|0,C[g+12>>2])),h=h+4|0,d=d+-1|0;);i=f[t+28>>2];t:if(512&(e=f[g+72>>2])){if(!((0|i)<1))for(r=(16&e?2:1)<<2,o=0,h=0;R=p,a=f[t+16>>2],e=f[t+36>>2]+m(f[f[t+116>>2]+h>>2],152)|0,p=v(yt[f[t+216>>2]](a+m(f[e+144>>2],244)|0,a+m(f[e+148>>2],244)|0,e)),p=v(R+v(p*p)),(a=(R=C[e+100>>2])>v(0)^1)||(e=f[t+76>>2]+m(f[f[t+156>>2]+o>>2],152)|0,B=v(R*C[e+104>>2]),C[e+124>>2]=B,C[e+120>>2]=-B,B=p,d=f[t+16>>2],p=v(yt[f[t+212>>2]](d+m(f[e+144>>2],244)|0,d+m(f[e+148>>2],244)|0,e)),p=v(B+v(p*p))),a|!(16&_[g+72|0])||(e=f[t+76>>2]+m(f[4+(f[t+156>>2]+o|0)>>2],152)|0,R=v(R*C[e+104>>2]),C[e+124>>2]=R,C[e+120>>2]=-R,R=p,a=f[t+16>>2],p=v(yt[f[t+212>>2]](a+m(f[e+144>>2],244)|0,a+m(f[e+148>>2],244)|0,e)),p=v(R+v(p*p))),o=r+o|0,h=h+4|0,i=i+-1|0;);}else{if((0|i)>=1)for(r=0;R=p,a=f[t+16>>2],e=f[t+36>>2]+m(f[f[t+116>>2]+r>>2],152)|0,p=v(yt[f[t+216>>2]](a+m(f[e+144>>2],244)|0,a+m(f[e+148>>2],244)|0,e)),p=v(R+v(p*p)),r=r+4|0,i=i+-1|0;);if((0|(h=f[t+68>>2]))<1)break t;for(r=0;e=f[t+76>>2]+m(f[f[t+156>>2]+r>>2],152)|0,(R=C[100+(f[t+36>>2]+m(f[e+140>>2],152)|0)>>2])>v(0)&&(R=v(R*C[e+104>>2]),C[e+124>>2]=R,C[e+120>>2]=-R,R=p,i=f[t+16>>2],p=v(yt[f[t+212>>2]](i+m(f[e+144>>2],244)|0,i+m(f[e+148>>2],244)|0,e)),p=v(R+v(p*p))),r=r+4|0,h=h+-1|0;);}if(!((0|(h=f[t+88>>2]))<1))for(r=0;e=f[t+96>>2]+r|0,(R=C[100+(f[t+36>>2]+m(f[e+140>>2],152)|0)>>2])>v(0)&&(B=R,R=C[e+104>>2],R=(B=v(B*R))>R?R:B,C[e+124>>2]=R,C[e+120>>2]=-R,R=p,i=f[t+16>>2],p=v(yt[f[t+212>>2]](i+m(f[e+144>>2],244)|0,i+m(f[e+148>>2],244)|0,e)),p=v(R+v(p*p))),r=r+152|0,h=h+-1|0;);}return v(p)},function(t,e,i,r,a,o,h,d,g){t|=0,e|=0,i|=0,r|=0,a|=0,o|=0,h|=0,d|=0,g|=0;var p=0,R=0,D=0,B=0,E=0,F=0,V=0,G=0,w=v(0),Q=0,W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=v(0),St=0,Tt=v(0),Et=v(0),Ot=v(0),Nt=0,Ft=v(0),Vt=v(0),Gt=v(0),Lt=v(0),wt=v(0),xt=0,Qt=v(0),Wt=v(0),Yt=0,Pt=0,Mt=v(0),Zt=0,Ut=v(0),Xt=v(0),Jt=v(0),jt=v(0),zt=v(0),Ht=v(0),Kt=v(0),qt=0,$t=0,bi=0,di=0,yi=0,Ii=0,Bi=0,BA=0,gr=v(0),tn=v(0),en=v(0),An=v(0),rn=v(0),nn=v(0),an=v(0),on=v(0),sn=v(0),ln=v(0),fn=v(0),cn=v(0);if(Z=St=Z-256|0,f[t+188>>2]=-1,Lr(St+248|0,20232),(0|(g=f[d+72>>2]))!=f[t+224>>2]&&(f[t+224>>2]=g,f[t+220>>2]=536,f[t+216>>2]=535,f[t+212>>2]=534),f[t+184>>2]=0,(0|i)>=1)for(g=e,D=i;f[f[g>>2]+212>>2]=-1,g=g+4|0,D=D+-1|0;);if((0|(g=f[t+12>>2]))<=(0|i)){if(D=0,(g=i+1|0)&&(D=dA(m(g,244))),(0|(p=f[t+8>>2]))>=1)for(R=64;F=f[t+16>>2]+R|0,Q=f[(G=F+-64|0)+4>>2],f[(B=V=(E=R+D|0)+-64|0)>>2]=f[G>>2],f[B+4>>2]=Q,B=f[(G=G+8|0)+4>>2],f[(V=V+8|0)>>2]=f[G>>2],f[V+4>>2]=B,Nt=f[(Q=(V=F+-48|0)+8|0)+4>>2],f[(B=(G=E+-48|0)+8|0)>>2]=f[Q>>2],f[B+4>>2]=Nt,B=f[V+4>>2],f[G>>2]=f[V>>2],f[G+4>>2]=B,Nt=f[(Q=(V=F+-32|0)+8|0)+4>>2],f[(B=(G=E+-32|0)+8|0)>>2]=f[Q>>2],f[B+4>>2]=Nt,B=f[V+4>>2],f[G>>2]=f[V>>2],f[G+4>>2]=B,Q=f[(G=F+-16|0)+4>>2],f[(B=V=E+-16|0)>>2]=f[G>>2],f[B+4>>2]=Q,B=f[(G=G+8|0)+4>>2],f[(V=V+8|0)>>2]=f[G>>2],f[V+4>>2]=B,J(E,F,180),R=R+244|0,p=p+-1|0;);(p=f[t+16>>2])&&(_[t+20|0]&&CA(p),f[t+16>>2]=0),f[t+16>>2]=D,f[t+12>>2]=g,n[t+20|0]=1}if(E=X(St,0,244),(0|(D=f[t+8>>2]))<=-1)for((0|g)<=-1&&((g=f[t+16>>2])&&(_[t+20|0]&&CA(g),f[t+16>>2]=0),f[t+12>>2]=0,f[t+16>>2]=0,n[t+20|0]=1),R=m(D,244),V=E- -64|0,St=E+48|0,G=E+32|0,p=E+16|0;g=f[E+4>>2],F=f[t+16>>2]+R|0,f[F>>2]=f[E>>2],f[F+4>>2]=g,Q=f[(B=E+8|0)+4>>2],f[(g=F+8|0)>>2]=f[B>>2],f[g+4>>2]=Q,Q=f[(g=p)+4>>2],f[(B=F+16|0)>>2]=f[g>>2],f[B+4>>2]=Q,Q=f[(g=g+8|0)+4>>2],f[(B=F+24|0)>>2]=f[g>>2],f[B+4>>2]=Q,B=f[G+4>>2],f[(g=F+32|0)>>2]=f[G>>2],f[g+4>>2]=B,Q=f[(B=G+8|0)+4>>2],f[(g=F+40|0)>>2]=f[B>>2],f[g+4>>2]=Q,B=f[St+4>>2],f[(g=F+48|0)>>2]=f[St>>2],f[g+4>>2]=B,Q=f[(B=St+8|0)+4>>2],f[(g=F+56|0)>>2]=f[B>>2],f[g+4>>2]=Q,J(F- -64|0,V,180),R=R+244|0,F=(g=D+1|0)>>>0>=D>>>0,D=g,F;);if(f[t+8>>2]=0,(0|i)>=1)for(;D=ef(t,f[e>>2],C[d+12>>2]),!(g=f[e>>2])|!(2&f[g+252>>2])|C[g+404>>2]==v(0)||(p=f[t+16>>2],2&(R=f[g+564>>2])&&(Oi(E,g,C[d+84>>2]),z=C[g+364>>2],pt=C[g+332>>2],Ft=C[g+348>>2],Et=C[g+360>>2],Tt=C[g+328>>2],Ot=C[g+344>>2],R=p+m(D,244)|0,w=C[E>>2],W=C[E+4>>2],Dt=C[E+8>>2],Y=C[d+12>>2],C[R+224>>2]=C[R+224>>2]-v(v(v(v(w*C[g+324>>2])+v(W*C[g+340>>2]))+v(Dt*C[g+356>>2]))*Y),C[(F=R+228|0)>>2]=C[F>>2]-v(Y*v(v(v(w*Tt)+v(W*Ot))+v(Dt*Et))),C[(R=R+232|0)>>2]=C[R>>2]-v(Y*v(v(v(w*pt)+v(W*Ft))+v(Dt*z))),R=f[g+564>>2]),4&R&&(zi(E,g,C[d+12>>2]),w=C[E+8>>2],W=C[E+4>>2],R=p+m(D,244)|0,C[R+224>>2]=C[E>>2]+C[R+224>>2],C[(F=R+228|0)>>2]=W+C[F>>2],C[(R=R+232|0)>>2]=w+C[R>>2],R=f[g+564>>2]),8&R&&(Hi(E,g,C[d+12>>2]),w=C[E+8>>2],W=C[E+4>>2],g=p+m(D,244)|0,C[g+224>>2]=C[E>>2]+C[g+224>>2],C[(D=g+228|0)>>2]=W+C[D>>2],C[(g=g+232|0)>>2]=w+C[g>>2])),e=e+4|0,i=i+-1|0;);if((0|h)>=1)for(g=o,D=h;e=f[g>>2],yt[f[f[e>>2]+8>>2]](e),f[e+36>>2]=0,g=g+4|0,D=D+-1|0;);if(!((0|(e=f[t+168>>2]))>=(0|h)|f[t+172>>2]>=(0|h))){if(h?(D=dA(h<<3),e=f[t+168>>2]):D=0,(0|e)>=1)for(g=0;p=f[t+176>>2]+g|0,R=f[p+4>>2],f[(i=g+D|0)>>2]=f[p>>2],f[i+4>>2]=R,g=g+8|0,e=e+-1|0;);(e=f[t+176>>2])&&(_[t+180|0]&&CA(e),f[t+176>>2]=0),f[t+176>>2]=D,f[t+172>>2]=h,n[t+180|0]=1}if(f[t+168>>2]=h,(0|h)<1)R=0;else for(i=0,D=o,p=h,R=0;F=f[t+176>>2],e=f[D>>2],(g=f[e+44>>2])&&(f[g>>2]=0,f[g+4>>2]=0,f[(e=g+56|0)>>2]=0,f[e+4>>2]=0,f[(e=g+48|0)>>2]=0,f[e+4>>2]=0,f[(e=g+40|0)>>2]=0,f[e+4>>2]=0,f[(e=g+32|0)>>2]=0,f[e+4>>2]=0,f[(e=g+24|0)>>2]=0,f[e+4>>2]=0,f[(e=g+16|0)>>2]=0,f[e+4>>2]=0,f[(e=g+8|0)>>2]=0,f[e+4>>2]=0,e=f[D>>2]),g=i+F|0,i=i+8|0,D=D+4|0,_[e+20|0]?(yt[f[f[e>>2]+16>>2]](e,g),e=f[g>>2]):(f[g>>2]=0,f[g+4>>2]=0,e=0),R=e+R|0,p=p+-1|0;);if(!((0|(e=f[t+48>>2]))>=(0|R)|f[t+52>>2]>=(0|R))){if(R?(D=dA(m(R,152)),e=f[t+48>>2]):D=0,(0|e)>=1)for(g=0;J(g+D|0,f[t+56>>2]+g|0,152),g=g+152|0,e=e+-1|0;);(e=f[t+56>>2])&&(_[t+60|0]&&CA(e),f[t+56>>2]=0),f[t+56>>2]=D,f[t+52>>2]=R,n[t+60|0]=1}if(f[t+48>>2]=R,(0|h)>=1)for(g=f[t+176>>2],St=0,V=0;;){if(qt=V,f[(G=(Zt=St<<3)+g|0)>>2]){if(F=f[(B=(St<<2)+o|0)>>2],D=f[F+32>>2],Q=f[t+56>>2],R=ef(t,p=f[F+28>>2],C[d+12>>2]),Nt=ef(t,D,C[d+12>>2]),Yt=m(V,152),Pt=f[t+16>>2],(0|(xt=(0|(e=f[F+24>>2]))>0?e:f[d+20>>2]))>f[t+184>>2]&&(f[t+184>>2]=xt),e=Q+Yt|0,f[G>>2]>=1)for(i=0,g=e;g=X(g,0,152),f[(V=g+120|0)>>2]=-8388609,f[V+4>>2]=2139095039,f[g+148>>2]=Nt,f[g+144>>2]=R,f[(V=g+96|0)>>2]=0,f[V+4>>2]=0,f[g+136>>2]=xt,g=g+152|0,(0|(i=i+1|0))<f[G>>2];);if(i=Pt+m(R,244)|0,f[(g=i)+144>>2]=0,f[g+148>>2]=0,f[(g=g+152|0)>>2]=0,f[g+4>>2]=0,f[(g=i+160|0)>>2]=0,f[g+4>>2]=0,f[(g=i+168|0)>>2]=0,f[g+4>>2]=0,f[i+64>>2]=0,f[i+68>>2]=0,f[(g=i+88|0)>>2]=0,f[g+4>>2]=0,f[(g=i+80|0)>>2]=0,f[g+4>>2]=0,f[(g=i+72|0)>>2]=0,f[g+4>>2]=0,R=Pt+m(Nt,244)|0,f[(g=R)+144>>2]=0,f[g+148>>2]=0,f[(g=g+152|0)>>2]=0,f[g+4>>2]=0,f[(g=R+160|0)>>2]=0,f[g+4>>2]=0,f[(g=R+168|0)>>2]=0,f[g+4>>2]=0,f[R+64>>2]=0,f[R+68>>2]=0,f[(g=R+72|0)>>2]=0,f[g+4>>2]=0,f[(g=R+80|0)>>2]=0,f[g+4>>2]=0,f[(g=R+88|0)>>2]=0,f[g+4>>2]=0,f[e+116>>2]=f[d+40>>2],f[E+28>>2]=e+112,f[E+24>>2]=38,f[E+20>>2]=e+32,f[E+16>>2]=e+48,f[E+12>>2]=e,f[E+8>>2]=e+16,f[E+40>>2]=e+124,f[E+36>>2]=e+120,f[E+32>>2]=e+116,f[E+4>>2]=f[d+32>>2],f[E+48>>2]=f[d+4>>2],C[E>>2]=v(1)/C[d+12>>2],f[E+44>>2]=f[d+20>>2],e=f[B>>2],yt[f[f[e>>2]+20>>2]](e,E),f[G>>2]>=1)for(g=132+(Q+Yt|0)|0,Q=R+232|0,Nt=R+228|0,Yt=R+224|0,Pt=R+216|0,xt=R+212|0,V=R+208|0,R=R+240|0,$t=i+232|0,bi=i+228|0,di=i+224|0,yi=i+216|0,Ii=i+212|0,Bi=i+208|0,BA=i+240|0,i=0;e=g+-8|0,w=C[f[B>>2]+16>>2],C[e>>2]>=w&&(C[e>>2]=w),e=g+-12|0,w=v(-w),C[e>>2]<=w&&(C[e>>2]=w),f[g>>2]=F,e=f[F+28>>2],Y=C[e+328>>2],z=C[e+332>>2],pt=C[e+608>>2],Ft=C[e+348>>2],Et=C[e+340>>2],Tt=C[e+344>>2],w=C[e+612>>2],Dt=C[e+364>>2],W=C[e+356>>2],Ot=C[e+360>>2],Gt=C[e+604>>2],It=C[e+324>>2],f[g+-56>>2]=0,Vt=w,w=C[g+-132>>2],Lt=v(W*w),W=C[g+-128>>2],wt=Dt,Dt=C[g+-124>>2],C[g+-60>>2]=Vt*v(v(Lt+v(Ot*W))+v(wt*Dt)),C[g+-64>>2]=pt*v(v(v(w*Et)+v(W*Tt))+v(Dt*Ft)),C[g+-68>>2]=Gt*v(v(v(It*w)+v(Y*W))+v(z*Dt)),e=f[F+32>>2],Ft=C[e+328>>2],Et=C[e+332>>2],Tt=C[e+608>>2],Ot=C[e+348>>2],Gt=C[e+340>>2],It=C[e+344>>2],Y=C[e+612>>2],pt=C[e+364>>2],z=C[e+356>>2],Qt=C[e+360>>2],Wt=C[e+604>>2],Lt=C[e+324>>2],f[g+-40>>2]=0,Vt=Y,Y=C[g+-100>>2],Mt=v(z*Y),z=C[g+-96>>2],wt=pt,pt=C[g+-92>>2],C[g+-44>>2]=Vt*v(v(Mt+v(Qt*z))+v(wt*pt)),C[g+-48>>2]=Tt*v(v(v(Y*Gt)+v(z*It))+v(pt*Ot)),C[g+-52>>2]=Wt*v(v(v(Lt*Y)+v(Ft*z))+v(Et*pt)),Ft=v(0),Et=C[g+-116>>2],Tt=C[p+404>>2],Ot=C[g+-112>>2],Gt=C[g+-108>>2],Vt=v(v(v(v(Et*v(Et*Tt))+v(Ot*v(Tt*Ot)))+v(Gt*v(Tt*Gt)))+v(v(v(w*v(v(v(w*C[p+324>>2])+v(W*C[p+328>>2]))+v(Dt*C[p+332>>2])))+v(W*v(v(v(w*C[p+340>>2])+v(W*C[p+344>>2]))+v(Dt*C[p+348>>2]))))+v(Dt*v(v(v(w*C[p+356>>2])+v(W*C[p+360>>2]))+v(Dt*C[p+364>>2]))))),Tt=C[g+-84>>2],It=C[D+404>>2],Qt=C[g+-80>>2],Wt=C[g+-76>>2],It=v(v(Vt+v(v(v(Tt*v(Tt*It))+v(Qt*v(It*Qt)))+v(Wt*v(It*Wt))))+v(v(v(Y*v(v(v(Y*C[D+324>>2])+v(z*C[D+328>>2]))+v(pt*C[D+332>>2])))+v(z*v(v(v(Y*C[D+340>>2])+v(z*C[D+344>>2]))+v(pt*C[D+348>>2]))))+v(pt*v(v(v(Y*C[D+356>>2])+v(z*C[D+360>>2]))+v(pt*C[D+364>>2]))))),It=v(y(It))>v(1.1920928955078125e-7)?v(v(1)/It):v(0),C[g+-24>>2]=It,Lt=v(0),Vt=v(0),wt=v(0),Mt=v(0),Ut=v(0),Xt=v(0),f[BA>>2]&&(Xt=C[$t>>2],Ut=C[bi>>2],Mt=C[di>>2],Vt=C[Ii>>2],wt=C[Bi>>2],Lt=C[yi>>2]),Jt=v(0),jt=v(0),zt=v(0),Ht=v(0),Kt=v(0),f[R>>2]&&(Kt=C[Q>>2],Ht=C[Nt>>2],zt=C[Yt>>2],Jt=C[xt>>2],jt=C[V>>2],Ft=C[Pt>>2]),gr=C[p+380>>2],tn=C[p+372>>2],en=C[p+376>>2],An=C[p+396>>2],rn=C[p+388>>2],nn=C[p+392>>2],an=C[D+380>>2],on=C[D+372>>2],sn=C[D+376>>2],ln=C[D+396>>2],fn=C[D+388>>2],cn=C[D+392>>2],f[g+-32>>2]=0,C[(e=g+-20|0)>>2]=v(It*C[e>>2])+v(It*v(v(0)-v(C[E+48>>2]*v(v(v(v(v(Et*v(wt+tn))+v(Ot*v(Vt+en)))+v(Gt*v(Lt+gr)))+v(v(v(w*v(Mt+rn))+v(W*v(Ut+nn)))+v(Dt*v(Xt+An))))+v(v(v(v(Tt*v(jt+on))+v(Qt*v(Jt+sn)))+v(Wt*v(Ft+an)))+v(v(v(Y*v(zt+fn))+v(z*v(Ht+cn)))+v(pt*v(Kt+ln)))))))),g=g+152|0,(0|(i=i+1|0))<f[G>>2];);g=f[t+176>>2]}if(V=qt+f[g+Zt>>2]|0,(0|(St=St+1|0))==(0|h))break}if(yt[f[f[t>>2]+28>>2]](t,r,a,d),o=f[t+68>>2],a=f[t+28>>2],!((0|(p=f[t+128>>2]))>=(0|(h=f[t+48>>2]))|f[t+132>>2]>=(0|h))){h?(i=dA(h<<2),p=f[t+128>>2]):i=0,r=f[t+136>>2];t:{if((0|p)>=1)for(g=i,e=r;f[g>>2]=f[e>>2],g=g+4|0,e=e+4|0,p=p+-1|0;);else if(!r)break t;_[t+140|0]&&CA(r),f[t+136>>2]=0}f[t+136>>2]=i,f[t+132>>2]=h,n[t+140|0]=1}if(f[t+128>>2]=h,16&_[d+72|0]){if(!((0|(p=f[t+108>>2]))>=(0|(r=a<<1))|f[t+112>>2]>=(0|r))){a?(D=dA(a<<3),p=f[t+108>>2]):D=0,i=f[t+116>>2];t:{if((0|p)>=1)for(g=D,e=i;f[g>>2]=f[e>>2],g=g+4|0,e=e+4|0,p=p+-1|0;);else if(!i)break t;_[t+120|0]&&CA(i),f[t+116>>2]=0}f[t+116>>2]=D,f[t+112>>2]=r,n[t+120|0]=1}f[t+108>>2]=r}else{if(!((0|(p=f[t+108>>2]))>=(0|a)|f[t+112>>2]>=(0|a))){a?(i=dA(a<<2),p=f[t+108>>2]):i=0,r=f[t+116>>2];t:{if((0|p)>=1)for(g=i,e=r;f[g>>2]=f[e>>2],g=g+4|0,e=e+4|0,p=p+-1|0;);else if(!r)break t;_[t+120|0]&&CA(r),f[t+116>>2]=0}f[t+116>>2]=i,f[t+112>>2]=a,n[t+120|0]=1}f[t+108>>2]=a}if(!((0|(p=f[t+148>>2]))>=(0|o)|f[t+152>>2]>=(0|o))){o?(i=dA(o<<2),p=f[t+148>>2]):i=0,r=f[t+156>>2];t:{if((0|p)>=1)for(g=i,e=r;f[g>>2]=f[e>>2],g=g+4|0,e=e+4|0,p=p+-1|0;);else if(!r)break t;_[t+160|0]&&CA(r),f[t+156>>2]=0}f[t+156>>2]=i,f[t+152>>2]=o,n[t+160|0]=1}if(f[t+148>>2]=o,(0|h)>=1)for(g=f[t+136>>2],e=0;f[g>>2]=e,g=g+4|0,(0|h)!=(0|(e=e+1|0)););if((0|a)>=1)for(g=f[t+116>>2],e=0;f[g>>2]=e,g=g+4|0,(0|a)!=(0|(e=e+1|0)););if((0|o)>=1)for(g=f[t+156>>2],e=0;f[g>>2]=e,g=g+4|0,(0|o)!=(0|(e=e+1|0)););return qr(),Z=E+256|0,v(v(0))},function(t,e,i,r,n,a,o,_,h){t|=0,e|=0,i|=0,r|=0,n|=0,a|=0,o|=0,_|=0,h|=0;var d,g=0,m=0,y=v(0),p=0;Z=d=Z-16|0,Lr(d+8|0,20261),yt[f[f[t>>2]+32>>2]](t,e,i,r,n,a,o,_,h);t:if(!((0|(m=(0|(g=f[t+184>>2]))>(0|(m=f[_+20>>2]))?g:m))<1))for(p=m+-1|0,g=0;;){if(y=v(yt[f[f[t>>2]+40>>2]](t,g,e,i,r,n,a,o,_,h)),C[t+228>>2]=y,(0|g)>=(0|p)|y<=C[_+92>>2])break t;if(!((0|(g=g+1|0))<(0|m)))break}return qr(),Z=d+16|0,v(v(0))},ve,bf,kA,function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=0,It=v(0);Z=n=Z-32|0,B=C[e+24>>2],z=C[e+40>>2],F=C[e+36>>2],h=C[e+20>>2],m=C[e+8>>2],V=C[e+16>>2],p=C[e+4>>2],G=C[e+32>>2],R=C[e>>2],f[n+28>>2]=0,o=v(V-R),d=v(F-p),_=v(h-p),y=v(G-R),a=v(v(o*d)-v(_*y)),C[n+24>>2]=a,g=v(B-m),W=v(g*y),y=v(z-m),o=v(W-v(o*y)),C[n+20>>2]=o,d=v(v(_*y)-v(g*d)),C[n+16>>2]=d,D=C[t+4>>2],g=C[t+8>>2],w=C[t+12>>2],_=v(v(m*a)+v(v(R*d)+v(p*o))),y=v(v(v(v(d*D)+v(o*g))+v(a*w))-_),Y=C[t+20>>2],Q=C[t+24>>2],pt=C[t+28>>2],_=v(v(v(v(d*Y)+v(o*Q))+v(a*pt))-_),v(y*_)>=v(0)||(1&(e=f[t+36>>2])&&y<=v(0)||(_=v(y/v(y-_)))<C[t+40>>2]&&(W=g,g=v(v(1)-_),Q=v(v(Q*_)+v(W*g)),h=v(h-Q),D=v(v(Y*_)+v(D*g)),R=v(R-D),p=v(p-Q),V=v(V-D),g=v(v(pt*_)+v(w*g)),B=v(B-g),m=v(m-g),Y=v(v(a*a)+v(v(d*d)+v(o*o))),w=v(Y*v(-9999999747378752e-20)),v(v(a*v(v(h*R)-v(p*V)))+v(v(d*v(v(p*B)-v(m*h)))+v(o*v(v(m*V)-v(B*R)))))>=w&&(F=v(F-Q),G=v(G-D),D=v(a*v(v(F*V)-v(h*G))),W=h,h=v(z-g),v(D+v(v(d*v(v(W*h)-v(B*F)))+v(o*v(v(B*G)-v(h*V)))))>=w^1|v(v(a*v(v(p*G)-v(F*R)))+v(v(d*v(v(F*m)-v(h*p)))+v(o*v(v(h*R)-v(m*G)))))>=w^1||(h=a,a=v(v(1)/v(E(Y))),m=v(h*a),C[n+24>>2]=m,o=v(o*a),C[n+20>>2]=o,a=v(d*a),C[n+16>>2]=a,2&e|y<=v(0)^1?(Dt=t,It=v(yt[f[f[t>>2]+12>>2]](t,n+16|0,_,i,r)),C[Dt+40>>2]=It):(f[n+12>>2]=0,C[n+8>>2]=-m,C[n+4>>2]=-o,C[n>>2]=-a,Dt=t,It=v(yt[f[f[t>>2]+12>>2]](t,n,_,i,r)),C[Dt+40>>2]=It))))),Z=n+32|0},kA,function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var a,o,_=0,h=0,d=0,g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0);Z=a=Z-688|0,o=zA(a+576|0),h=f[(_=e+8|0)+4>>2],f[(d=a+644|0)>>2]=f[_>>2],f[d+4>>2]=h,_=f[e+20>>2],f[(h=a+652|0)>>2]=f[e+16>>2],f[h+4>>2]=_,h=f[(_=e+24|0)+4>>2],f[(d=a+660|0)>>2]=f[_>>2],f[d+4>>2]=h,_=f[e+36>>2],f[(h=a+668|0)>>2]=f[e+32>>2],f[h+4>>2]=_,h=f[(_=e+40|0)+4>>2],f[(d=a+676|0)>>2]=f[_>>2],f[d+4>>2]=h,f[a+580>>2]=1,f[a+576>>2]=16352,_=f[e+4>>2],f[a+636>>2]=f[e>>2],f[a+640>>2]=_,f[a+624>>2]=f[t+204>>2],n[a+548|0]=0,f[a+524>>2]=953267991,f[a+208>>2]=14800,e=of(a+184|0,f[t+4>>2],a+576|0,a+216|0,a+208|0),f[a+8>>2]=15992,f[a+172>>2]=1065353216,f[a+176>>2]=0,f[a+180>>2]=f[t+208>>2],bf(_=e,t+8|0,t+72|0,e=t+136|0,e,a+8|0)&&(m=C[a+140>>2],y=C[a+144>>2],g=C[a+148>>2],(p=v(v(v(m*m)+v(y*y))+v(g*g)))>v(9999999747378752e-20)&&((R=C[a+172>>2])<C[t+200>>2]&&(D=g,g=v(v(1)/v(E(p))),C[a+148>>2]=D*g,C[a+144>>2]=y*g,C[a+140>>2]=m*g,v(yt[f[f[t>>2]+12>>2]](t,a+140|0,a+156|0,R,i,r))))),Ae(o),Z=a+688|0},sf,function(t){var e=0,i=0,r=0,n=0,a=0,o=0;if(f[(t|=0)>>2]=20592,e=f[t+16>>2],(0|(i=f[t+8>>2]))>=1)for(;a=f[e+n>>2],(r=f[a+188>>2])&&(e=f[t+68>>2],e=0|yt[f[f[e>>2]+36>>2]](e),yt[f[f[e>>2]+40>>2]](e,r,f[t+24>>2]),e=f[t+68>>2],yt[f[f[e>>2]+12>>2]](e,r,f[t+24>>2]),f[a+188>>2]=0,i=f[t+8>>2],e=f[t+16>>2]),n=n+4|0,(0|(o=o+1|0))<(0|i););!e|!_[t+20|0]||CA(e),$(t)},function(t){t|=0;var e,i=0,r=0,n=0,a=0,o=0;if(Z=e=Z-16|0,Lr(e+8|0,20835),(0|(i=f[t+8>>2]))>=1)for(;;){n=f[f[t+16>>2]+r>>2];t:{e:if(!(_[t+76|0]||(a=f[n+220>>2]+-2|0,a>>>0>3)))switch(a-1|0){case 0:case 1:break e;default:break t}vf(t,n),i=f[t+8>>2]}if(r=r+4|0,!((0|(o=o+1|0))<(0|i)))break}qr(),Z=e+16|0},function(t){var e,i;t|=0,Z=e=Z-16|0,Lr(e+8|0,20847),i=f[t+68>>2],yt[f[f[i>>2]+32>>2]](i,f[t+24>>2]),qr(),Z=e+16|0},function(t,e){e|=0,f[(t|=0)+72>>2]=e},Ce,mf,function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a=0,o=0,_=0,h=v(0),d=v(0),g=v(0),y=v(0),p=0,R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=v(0),Dt=v(0),It=0,St=v(0),Tt=v(0),Et=v(0),Ot=0,Nt=0,Ft=0,Vt=0,Gt=0,Lt=0,wt=0,xt=v(0);Z=n=Z-144|0,yt[f[f[t>>2]+20>>2]](t)&&(o=0|yt[f[f[t>>2]+20>>2]](t),32768&yt[f[f[o>>2]+56>>2]](o)&&(o=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[o>>2]+64>>2]](o,e,v(.10000000149011612))));t:{e:if(o=f[i+4>>2],!(o>>>0>31)){switch(o-1|0){case 30:if((0|(a=f[i+20>>2]))<1)break t;for(_=m(a,80)+-80|0;o=f[i+28>>2]+_|0,p=f[o- -64>>2],h=C[o+56>>2],d=C[o+48>>2],g=C[o+52>>2],R=C[o+32>>2],E=C[o>>2],F=C[o+16>>2],V=C[o+36>>2],w=C[o+4>>2],W=C[o+20>>2],y=C[o+40>>2],D=C[o+8>>2],B=C[o+24>>2],f[n+60>>2]=0,f[n+44>>2]=0,f[n+28>>2]=0,f[n+12>>2]=0,Y=C[e+32>>2],G=C[e+36>>2],Q=C[e+40>>2],C[n+40>>2]=v(v(D*Y)+v(B*G))+v(y*Q),C[n+36>>2]=v(v(w*Y)+v(W*G))+v(V*Q),C[n+32>>2]=v(v(E*Y)+v(F*G))+v(R*Q),z=C[e+16>>2],pt=C[e+20>>2],Dt=C[e+24>>2],C[n+24>>2]=v(v(D*z)+v(B*pt))+v(y*Dt),C[n+20>>2]=v(v(w*z)+v(W*pt))+v(V*Dt),C[n+16>>2]=v(v(E*z)+v(F*pt))+v(R*Dt),St=D,D=C[e>>2],Tt=B,B=C[e+4>>2],Et=y,y=C[e+8>>2],C[n+8>>2]=v(v(St*D)+v(Tt*B))+v(Et*y),C[n+4>>2]=v(v(w*D)+v(W*B))+v(V*y),C[n>>2]=v(v(E*D)+v(F*B))+v(R*y),C[n+56>>2]=v(v(v(d*Y)+v(g*G))+v(h*Q))+C[e+56>>2],C[n+52>>2]=v(v(v(d*z)+v(g*pt))+v(h*Dt))+C[e+52>>2],C[n+48>>2]=v(v(v(d*D)+v(g*B))+v(h*y))+C[e+48>>2],yt[f[f[t>>2]+28>>2]](t,n,p,r),_=_+-80|0,(0|(a=a+-1|0))>0;);break t;default:_=f[(o=i+40|0)+4>>2],f[(a=n+8|0)>>2]=f[o>>2],f[a+4>>2]=_,o=f[i+36>>2],f[n>>2]=f[i+32>>2],f[n+4>>2]=o,h=v(yt[f[f[i>>2]+48>>2]](i)),d=v(yt[f[f[i>>2]+48>>2]](i)),g=v(v(yt[f[f[i>>2]+48>>2]](i))+C[a>>2]),C[a>>2]=g,h=v(h+C[n>>2]),C[n>>2]=h,d=v(d+C[n+4>>2]),C[n+4>>2]=d,t=0|yt[f[f[t>>2]+20>>2]](t),f[n+140>>2]=0,C[n+136>>2]=-g,C[n+132>>2]=-d,C[n+128>>2]=-h,yt[f[f[t>>2]+80>>2]](t,n+128|0,n,e,r);break t;case 7:h=v(yt[f[f[i>>2]+48>>2]](i)),t=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[t>>2]+24>>2]](t,h,e,r);break t;case 8:if((0|(p=f[i+96>>2]))<1)break t;for(a=(p<<2)-4|0,_=(p<<4)-8|0;o=f[i+104>>2]+_|0,h=C[o>>2],d=C[o+-8>>2],g=C[o+-4>>2],o=0|yt[f[f[t>>2]+20>>2]](t),Y=C[f[i+124>>2]+a>>2],f[n+60>>2]=0,f[n+44>>2]=0,f[n+28>>2]=0,f[n+12>>2]=0,R=C[e+40>>2],E=C[e+32>>2],V=v(E*v(0)),F=C[e+36>>2],w=v(F*v(0)),C[n+40>>2]=R+v(V+w),y=v(V+F),V=v(R*v(0)),C[n+36>>2]=y+V,C[n+32>>2]=v(E+w)+V,V=C[e+24>>2],w=C[e+16>>2],y=v(w*v(0)),W=C[e+20>>2],D=v(W*v(0)),C[n+24>>2]=V+v(y+D),B=v(y+W),y=v(V*v(0)),C[n+20>>2]=B+y,C[n+16>>2]=v(w+D)+y,y=C[e+8>>2],D=C[e>>2],G=v(D*v(0)),B=C[e+4>>2],Q=v(B*v(0)),C[n+8>>2]=y+v(G+Q),St=v(G+B),G=v(y*v(0)),C[n+4>>2]=St+G,C[n>>2]=v(D+Q)+G,C[n+56>>2]=v(v(v(d*E)+v(g*F))+v(h*R))+C[e+56>>2],C[n+52>>2]=v(v(v(d*w)+v(g*W))+v(h*V))+C[e+52>>2],C[n+48>>2]=v(v(v(d*D)+v(g*B))+v(h*y))+C[e+48>>2],yt[f[f[o>>2]+24>>2]](o,Y,n,r),a=a+-4|0,_=_+-16|0,(0|(p=p+-1|0))>0;);break t;case 9:a=i+32|0,i=f[i+56>>2],h=C[a+(i<<2)>>2],d=C[a+((i+2|0)%3<<2)>>2],t=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[t>>2]+84>>2]](t,d,h,i,e,r);break t;case 10:a=f[i+72>>2],h=C[i+60>>2],d=C[i+64>>2],t=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[t>>2]+92>>2]](t,h,d,a,e,r);break t;case 12:a=f[i+56>>2],h=v(yt[f[f[i>>2]+92>>2]](i)),p=f[(_=i+40|0)+4>>2],f[(o=n+8|0)>>2]=f[_>>2],f[o+4>>2]=p,_=f[i+36>>2],f[n>>2]=f[i+32>>2],f[n+4>>2]=_,d=v(yt[f[f[i>>2]+48>>2]](i)),g=v(yt[f[f[i>>2]+48>>2]](i)),wt=o,xt=v(v(yt[f[f[i>>2]+48>>2]](i))+C[o>>2]),C[wt>>2]=xt,C[n>>2]=d+C[n>>2],C[n+4>>2]=g+C[n+4>>2],d=C[(a<<2)+n>>2],t=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[t>>2]+88>>2]](t,h,d,a,e,r);break t;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 11:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 28:case 29:break e;case 27:}h=C[i+68>>2],t=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[t>>2]+96>>2]](t,i+52|0,h,e,r);break t}e:if(!((0|o)>6))if(It=f[i+56>>2],It){if(f[It+28>>2]<1)break e;for(;;){g=v(0);i:if(Ft=m(Nt,36),a=Ft+f[It+36>>2]|0,Ot=f[a+4>>2],Ot){if(h=v(0),d=v(0),!((0|Ot)<1))for(_=f[a+12>>2],a=f[(_+(Ot<<2)|0)-4>>2],p=1,Vt=0;;){if(_=(Gt=(o=f[_+Vt>>2])<<4)+f[It+16>>2]|0,V=C[_>>2],w=C[_+4>>2],W=C[_+8>>2],_=0|yt[f[f[t>>2]+20>>2]](t),f[n+12>>2]=0,Lt=f[It+16>>2],R=C[(a=Lt+(a<<4)|0)>>2],y=C[e+32>>2],E=C[a+4>>2],D=C[e+36>>2],F=C[a+8>>2],B=C[e+40>>2],Y=C[e+56>>2],C[n+8>>2]=v(v(v(R*y)+v(E*D))+v(F*B))+Y,G=C[e+16>>2],Q=C[e+20>>2],z=C[e+24>>2],pt=C[e+52>>2],C[n+4>>2]=v(v(v(R*G)+v(E*Q))+v(F*z))+pt,Dt=C[e>>2],St=C[e+4>>2],Tt=C[e+8>>2],Et=C[e+48>>2],C[n>>2]=v(v(v(R*Dt)+v(E*St))+v(F*Tt))+Et,f[n+140>>2]=0,R=C[(a=Gt+Lt|0)>>2],E=C[a+4>>2],F=C[a+8>>2],C[n+136>>2]=Y+v(v(v(y*R)+v(D*E))+v(B*F)),C[n+132>>2]=pt+v(v(v(G*R)+v(Q*E))+v(z*F)),C[n+128>>2]=Et+v(v(v(Dt*R)+v(St*E))+v(Tt*F)),yt[f[f[_>>2]+16>>2]](_,n,n+128|0,r),d=v(d+W),h=v(h+w),g=v(g+V),a=f[It+36>>2]+Ft|0,(0|p)>=f[a+4>>2])break i;Vt=Vt+4|0,p=p+1|0,_=f[a+12>>2],a=o}}else h=v(0),d=v(0);if(a=0|yt[f[f[t>>2]+20>>2]](t),16384&yt[f[f[a>>2]+56>>2]](a)&&(f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=1065353216,f[n+4>>2]=1065353216,a=f[It+36>>2]+Ft|0,E=C[a+28>>2],F=C[a+20>>2],V=C[a+24>>2],a=0|yt[f[f[t>>2]+20>>2]](t),f[n+140>>2]=0,R=v(v(1)/v(0|Ot)),g=v(R*g),w=C[e+32>>2],h=v(R*h),W=C[e+36>>2],d=v(R*d),R=C[e+40>>2],y=C[e+56>>2],C[n+136>>2]=v(v(v(g*w)+v(h*W))+v(d*R))+y,D=C[e+16>>2],B=C[e+20>>2],Y=C[e+24>>2],G=C[e+52>>2],C[n+132>>2]=v(v(v(g*D)+v(h*B))+v(d*Y))+G,Q=C[e>>2],z=C[e+4>>2],pt=C[e+8>>2],Dt=C[e+48>>2],C[n+128>>2]=v(v(v(g*Q)+v(h*z))+v(d*pt))+Dt,f[n+124>>2]=0,g=v(g+F),h=v(h+V),d=v(d+E),C[n+120>>2]=y+v(v(v(w*g)+v(W*h))+v(R*d)),C[n+116>>2]=G+v(v(v(g*D)+v(h*B))+v(d*Y)),C[n+112>>2]=Dt+v(v(v(g*Q)+v(h*z))+v(d*pt)),yt[f[f[a>>2]+16>>2]](a,n+128|0,n+112|0,n)),!((0|(Nt=Nt+1|0))<f[It+28>>2]))break}}else if(!((0|yt[f[f[i>>2]+100>>2]](i))<1))for(;yt[f[f[i>>2]+104>>2]](i,a,n,n+128|0),f[n+124>>2]=0,h=C[n>>2],R=C[e+32>>2],d=C[n+4>>2],E=C[e+36>>2],g=C[n+8>>2],F=C[e+40>>2],V=C[e+56>>2],C[n+120>>2]=v(v(v(h*R)+v(d*E))+v(g*F))+V,w=C[e+16>>2],W=C[e+20>>2],y=C[e+24>>2],D=C[e+52>>2],C[n+116>>2]=v(v(v(h*w)+v(d*W))+v(g*y))+D,B=C[e>>2],Y=C[e+4>>2],G=C[e+8>>2],Q=C[e+48>>2],C[n+112>>2]=v(v(v(h*B)+v(d*Y))+v(g*G))+Q,f[n+108>>2]=0,h=C[n+128>>2],d=C[n+132>>2],g=C[n+136>>2],C[n+104>>2]=V+v(v(v(R*h)+v(E*d))+v(F*g)),C[n+100>>2]=D+v(v(v(w*h)+v(W*d))+v(y*g)),C[n+96>>2]=Q+v(v(v(B*h)+v(Y*d))+v(G*g)),o=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[o>>2]+16>>2]](o,n+112|0,n+96|0,r),a=a+1|0,(0|a)<(0|yt[f[f[i>>2]+100>>2]](i)););(a=f[i+4>>2])+-21>>>0<=8&&(f[n+136>>2]=1566444395,f[n+140>>2]=0,f[n+128>>2]=1566444395,f[n+132>>2]=1566444395,f[n+120>>2]=-581039253,f[n+124>>2]=0,f[n+112>>2]=-581039253,f[n+116>>2]=-581039253,a=0|yt[f[f[t>>2]+20>>2]](t),_=f[(o=r+8|0)+4>>2],f[(p=n+20|0)>>2]=f[o>>2],f[p+4>>2]=_,_=f[(o=e+8|0)+4>>2],f[(p=n+36|0)>>2]=f[o>>2],f[p+4>>2]=_,o=f[e+20>>2],f[(_=n+44|0)>>2]=f[e+16>>2],f[_+4>>2]=o,_=f[(o=e+24|0)+4>>2],f[(p=n+52|0)>>2]=f[o>>2],f[p+4>>2]=_,o=f[e+36>>2],f[(_=n+60|0)>>2]=f[e+32>>2],f[_+4>>2]=o,_=f[(o=e+40|0)+4>>2],f[(p=n+68|0)>>2]=f[o>>2],f[p+4>>2]=_,f[n+8>>2]=a,f[n+4>>2]=22836,f[n>>2]=22812,a=f[r+4>>2],f[n+12>>2]=f[r>>2],f[n+16>>2]=a,a=f[e+4>>2],f[n+28>>2]=f[e>>2],f[n+32>>2]=a,o=f[(a=e+56|0)+4>>2],f[(_=n+84|0)>>2]=f[a>>2],f[_+4>>2]=o,a=f[e+52>>2],f[(o=n+76|0)>>2]=f[e+48>>2],f[o+4>>2]=a,yt[f[f[i>>2]+64>>2]](i,n,n+112|0,n+128|0),a=f[i+4>>2]),3==(0|a)&&(f[n+136>>2]=1566444395,f[n+140>>2]=0,f[n+128>>2]=1566444395,f[n+132>>2]=1566444395,f[n+120>>2]=-581039253,f[n+124>>2]=0,f[n+112>>2]=-581039253,f[n+116>>2]=-581039253,t=0|yt[f[f[t>>2]+20>>2]](t),o=f[(a=r+8|0)+4>>2],f[(_=n+20|0)>>2]=f[a>>2],f[_+4>>2]=o,o=f[(a=e+8|0)+4>>2],f[(_=n+36|0)>>2]=f[a>>2],f[_+4>>2]=o,a=f[e+20>>2],f[(o=n+44|0)>>2]=f[e+16>>2],f[o+4>>2]=a,o=f[(a=e+24|0)+4>>2],f[(_=n+52|0)>>2]=f[a>>2],f[_+4>>2]=o,a=f[e+36>>2],f[(o=n+60|0)>>2]=f[e+32>>2],f[o+4>>2]=a,o=f[(a=e+40|0)+4>>2],f[(_=n+68|0)>>2]=f[a>>2],f[_+4>>2]=o,f[n+8>>2]=t,f[n+4>>2]=22836,f[n>>2]=22812,t=f[r+4>>2],f[n+12>>2]=f[r>>2],f[n+16>>2]=t,t=f[e+4>>2],f[n+28>>2]=f[e>>2],f[n+32>>2]=t,r=f[(t=e+56|0)+4>>2],f[(a=n+84|0)>>2]=f[t>>2],f[a+4>>2]=r,t=f[e+52>>2],f[(r=n+76|0)>>2]=f[e+48>>2],f[r+4>>2]=t,t=f[i+96>>2],yt[f[f[t>>2]+8>>2]](t,4|n,n+112|0,n+128|0))}Z=n+144|0},function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n,a,o,_,h,d,g,m=0,y=0,p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0);Z=n=Z-256|0,f[(m=n+104|0)>>2]=0,f[m+4>>2]=0,f[(m=n+112|0)>>2]=0,f[m+4>>2]=0,f[(m=n+124|0)>>2]=0,f[m+4>>2]=0,f[n+120>>2]=1065353216,f[(m=n+132|0)>>2]=0,f[m+4>>2]=0,f[(m=n+140|0)>>2]=1065353216,f[m+4>>2]=0,_=f[(m=o=e+8|0)+4>>2],y=h=n+76|0,d=f[m>>2],f[y>>2]=d,f[y+4>>2]=_,y=f[(m=i+8|0)+4>>2],f[(a=n+92|0)>>2]=f[m>>2],f[a+4>>2]=y,f[n+32>>2]=22628,f[n+248>>2]=r,f[n+100>>2]=1065353216,g=f[e+4>>2],y=f[e>>2],f[n+68>>2]=y,f[n+72>>2]=g,r=f[i+4>>2],f[n+84>>2]=f[i>>2],f[n+88>>2]=r,f[n+244>>2]=t,f[(r=n+156|0)>>2]=d,f[r+4>>2]=_,f[(r=n+148|0)>>2]=y,f[r+4>>2]=g,f[(r=n+168|0)>>2]=0,f[r+4>>2]=0,f[(r=n+176|0)>>2]=0,f[r+4>>2]=0,f[(r=n+188|0)>>2]=0,f[r+4>>2]=0,f[n+184>>2]=1065353216,f[(r=n+196|0)>>2]=0,f[r+4>>2]=0,f[(r=n+204|0)>>2]=1065353216,f[r+4>>2]=0,r=f[i+4>>2],f[(y=n+212|0)>>2]=f[i>>2],f[y+4>>2]=r,r=f[m+4>>2],f[(y=n+220|0)>>2]=f[m>>2],f[y+4>>2]=r,f[n+164>>2]=1065353216,D=v(C[i>>2]-C[e>>2]),R=v(C[i+4>>2]-C[e+4>>2]),p=v(C[m>>2]-C[o>>2]),B=v(v(1)/v(E(v(v(v(D*D)+v(R*R))+v(p*p))))),V=(F=v(p*B))==v(0)?v(0xde0b6b000000000):v(v(1)/F),C[n+44>>2]=V,p=(R=v(R*B))==v(0)?v(0xde0b6b000000000):v(v(1)/R),C[n+40>>2]=p,f[n+60>>2]=V<v(0),f[n+56>>2]=p<v(0),p=v(D*B),C[n+64>>2]=v(v(p*v(C[n+84>>2]-C[n+68>>2]))+v(R*v(C[n+88>>2]-C[n+72>>2])))+v(F*v(C[a>>2]-C[h>>2])),p=p==v(0)?v(0xde0b6b000000000):v(v(1)/p),C[n+36>>2]=p,f[n+52>>2]=p<v(0),r=f[t+68>>2],f[(t=n+24|0)>>2]=0,f[t+4>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[(t=n+8|0)>>2]=0,f[t+4>>2]=0,f[n>>2]=0,f[n+4>>2]=0,yt[f[f[r>>2]+24>>2]](r,e,i,n+32|0,n+16|0,n),Z=n+256|0},kf,df,function(t){t|=0;var e,i,r=0,n=0,a=0,o=0,_=0,h=0;Z=e=Z-16|0,Lr(e+8|0,20873),yt[f[f[t>>2]+8>>2]](t),yt[f[f[t>>2]+12>>2]](t),i=f[t+24>>2],Lr(e,20907),i&&(r=f[t+68>>2],a=i,o=0|yt[f[f[r>>2]+36>>2]](r),_=t+28|0,h=f[t+24>>2],n=f[f[i>>2]+32>>2],yt[n](0|a,0|o,0|_,0|h)),qr(),qr(),Z=e+16|0},function(t,e){t|=0,yt[f[f[(e|=0)>>2]+32>>2]](e),Rf(t,e),yt[f[f[e>>2]+36>>2]](e)},ve,hf,ve,hf,ve,function(t,e){t|=0,e|=0;var i,r,n,a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),yt=v(0),pt=v(0),Dt=v(0),It=v(0);Z=i=Z-128|0,r=f[e+36>>2],e=f[f[t+8>>2]+28>>2]+m(r,80)|0,n=f[e+64>>2],D=C[e+32>>2],B=C[e>>2],E=C[e+16>>2],F=C[e+56>>2],V=C[e+52>>2],G=C[e+48>>2],w=C[e+36>>2],Q=C[e+20>>2],W=C[e+4>>2],Y=C[e+40>>2],z=C[e+24>>2],yt=C[e+8>>2],e=f[t+12>>2],pt=C[e+52>>2],Dt=C[e+56>>2],a=C[e+24>>2],o=C[e+20>>2],_=C[e+40>>2],h=C[e+36>>2],It=C[e+48>>2],d=C[e+8>>2],g=C[e>>2],y=C[e+4>>2],p=C[e+16>>2],R=C[e+32>>2],f[i+124>>2]=0,f[i+108>>2]=0,f[i+92>>2]=0,C[i+104>>2]=v(v(yt*R)+v(z*h))+v(Y*_),C[i+100>>2]=v(v(W*R)+v(Q*h))+v(w*_),C[i+88>>2]=v(v(yt*p)+v(z*o))+v(Y*a),C[i+84>>2]=v(v(W*p)+v(Q*o))+v(w*a),C[i+120>>2]=Dt+v(v(v(R*G)+v(h*V))+v(_*F)),C[i+116>>2]=pt+v(v(v(p*G)+v(o*V))+v(a*F)),f[i+76>>2]=0,C[i+72>>2]=v(v(g*yt)+v(y*z))+v(d*Y),C[i+68>>2]=v(v(g*W)+v(y*Q))+v(d*w),C[i+64>>2]=v(v(B*g)+v(E*y))+v(D*d),C[i+112>>2]=It+v(v(v(g*G)+v(y*V))+v(d*F)),C[i+96>>2]=v(v(B*R)+v(E*h))+v(D*_),C[i+80>>2]=v(v(B*p)+v(E*o))+v(D*a),f[i+60>>2]=r,f[i+56>>2]=-1,f[i+44>>2]=n,f[i+40>>2]=0,f[i+48>>2]=f[t+4>>2],f[i+52>>2]=i- -64,f[i+12>>2]=1065353216,f[i+24>>2]=-1,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=1,f[i+36>>2]=r,f[i+8>>2]=21552,e=f[t+24>>2],f[i+32>>2]=e,f[i+12>>2]=f[e+4>>2],f[i+28>>2]=f[e+20>>2],Cf(f[t+16>>2],f[t+20>>2],i+40|0,i+8|0),Z=i+128|0},sA,ve,function(t,e){return e|=0,t=f[(t|=0)+24>>2],0|yt[f[f[t>>2]+8>>2]](t,e)},function(t,e,i){t|=0,e|=0,i|=0;var r,n,a=v(0);return Z=r=Z-16|0,f[r+8>>2]=-1,f[r+12>>2]=f[t+28>>2],f[e+4>>2]||(f[e+4>>2]=r+8),n=f[t+24>>2],a=v(yt[f[f[n>>2]+12>>2]](n,e,i)),f[t+4>>2]=f[f[t+24>>2]+4>>2],Z=r+16|0,v(a)},ve,Gf,ve,Gf,ve,function(t,e){t|=0,e|=0;var i,r,n,a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),yt=v(0);Z=i=Z-112|0,r=f[e+36>>2],e=f[f[t+24>>2]+28>>2]+m(r,80)|0,n=f[e+64>>2],D=C[e+32>>2],B=C[e>>2],E=C[e+16>>2],F=C[e+56>>2],V=C[e+52>>2],G=C[e+48>>2],w=C[e+36>>2],Q=C[e+20>>2],W=C[e+4>>2],a=C[e+40>>2],o=C[e+24>>2],_=C[e+8>>2],f[i+108>>2]=0,f[i+92>>2]=0,f[i+76>>2]=0,e=f[t+28>>2],h=C[e+32>>2],d=C[e+36>>2],g=C[e+40>>2],C[i+88>>2]=v(v(_*h)+v(o*d))+v(a*g),C[i+84>>2]=v(v(W*h)+v(Q*d))+v(w*g),y=C[e+16>>2],p=C[e+20>>2],R=C[e+24>>2],C[i+72>>2]=v(v(_*y)+v(o*p))+v(a*R),C[i+68>>2]=v(v(W*y)+v(Q*p))+v(w*R),C[i+104>>2]=v(v(v(G*h)+v(V*d))+v(F*g))+C[e+56>>2],C[i+100>>2]=v(v(v(G*y)+v(V*p))+v(F*R))+C[e+52>>2],f[i+60>>2]=0,Y=_,_=C[e>>2],z=o,o=C[e+4>>2],yt=a,a=C[e+8>>2],C[i+56>>2]=v(v(Y*_)+v(z*o))+v(yt*a),C[i+52>>2]=v(v(W*_)+v(Q*o))+v(w*a),C[i+48>>2]=v(v(B*_)+v(E*o))+v(D*a),C[i+96>>2]=v(v(v(G*_)+v(V*o))+v(F*a))+C[e+48>>2],C[i+80>>2]=v(v(B*h)+v(E*d))+v(D*g),C[i+64>>2]=v(v(B*y)+v(E*p))+v(D*R),f[i+28>>2]=1065353216,f[i+32>>2]=1,f[i+36>>2]=-1,f[i+44>>2]=r,f[i+24>>2]=22368,e=f[t+32>>2],f[i+40>>2]=e,f[i+28>>2]=f[e+4>>2],f[i+20>>2]=r,f[i+16>>2]=-1,f[i+4>>2]=n,e=f[t+4>>2],f[i>>2]=e,f[i+8>>2]=f[e+8>>2],f[i+12>>2]=i+48,Bf(f[t+8>>2],f[t+12>>2],f[t+16>>2],i,i+24|0,C[t+20>>2]),Z=i+112|0},sA,ve,function(t,e){return e|=0,t=f[(t|=0)+16>>2],0|yt[f[f[t>>2]+8>>2]](t,e)},function(t,e,i){t|=0,e|=0,i|=0;var r,n,a=v(0);return Z=r=Z-16|0,f[r+8>>2]=-1,f[r+12>>2]=f[t+20>>2],f[e+4>>2]||(f[e+4>>2]=r+8),n=f[t+16>>2],a=v(yt[f[f[n>>2]+12>>2]](n,e,i)),f[t+4>>2]=f[f[t+16>>2]+4>>2],Z=r+16|0,v(a)},sA,ve,function(t,e){e|=0;var i,r=0,n=0,a=0;return Z=i=Z-32|0,r=f[(t|=0)+216>>2],C[r+4>>2]!=v(0)&&(n=1,e=f[e>>2],yt[f[f[r>>2]+8>>2]](r,f[e+188>>2])&&(r=f[t+216>>2],a=f[e+192>>2],f[i+24>>2]=-1,f[i+28>>2]=-1,f[i+20>>2]=e+4,f[i+16>>2]=e,f[i+12>>2]=a,f[i+8>>2]=0,Cf(t+68|0,t+132|0,i+8|0,r))),Z=i+32|0,0|n},ve,function(t,e){t|=0,e|=0;var i,r=0,n=0,a=v(0),o=0,_=0;return Z=i=Z-32|0,r=f[t+184>>2],C[r+4>>2]!=v(0)&&(n=1,e=f[e>>2],yt[f[f[r>>2]+8>>2]](r,f[e+188>>2])&&(a=C[t+188>>2],r=f[t+184>>2],o=f[t+192>>2],_=f[e+192>>2],f[i+24>>2]=-1,f[i+28>>2]=-1,f[i+20>>2]=e+4,f[i+16>>2]=e,f[i+12>>2]=_,f[i+8>>2]=0,Bf(o,t+36|0,t+100|0,i+8|0,r,a))),Z=i+32|0,0|n},sA,ve,function(t,e,i,r){t|=0,e|=0,i|=0,r|=0;var n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0);Z=i=Z-96|0,f[i+92>>2]=0,n=C[e>>2],d=C[t+60>>2],o=C[e+4>>2],D=C[t- -64>>2],_=C[e+8>>2],B=C[t+68>>2],F=C[t+84>>2],y=v(v(v(v(n*d)+v(o*D))+v(_*B))+F),C[i+88>>2]=y,h=C[t+44>>2],V=C[t+48>>2],G=C[t+52>>2],w=C[t+80>>2],a=v(v(v(v(n*h)+v(o*V))+v(_*G))+w),C[i+84>>2]=a,g=n,n=C[t+28>>2],m=o,o=C[t+32>>2],Q=_,_=C[t+36>>2],p=C[t+76>>2],z=v(v(v(v(g*n)+v(m*o))+v(Q*_))+p),C[i+80>>2]=z,f[i+76>>2]=0,f[i+60>>2]=0,R=C[e+16>>2],g=C[e+20>>2],m=C[e+24>>2],W=v(p+v(v(v(n*R)+v(o*g))+v(_*m))),C[i+64>>2]=W,Y=v(w+v(v(v(h*R)+v(V*g))+v(G*m))),C[i+68>>2]=Y,R=v(F+v(v(v(d*R)+v(D*g))+v(B*m))),C[i+72>>2]=R,g=n,n=C[e+32>>2],m=o,o=C[e+36>>2],Q=_,_=C[e+40>>2],p=v(p+v(v(v(g*n)+v(m*o))+v(Q*_))),C[i+48>>2]=p,h=v(w+v(v(v(h*n)+v(V*o))+v(G*_))),C[i+52>>2]=h,n=v(F+v(v(v(d*n)+v(D*o))+v(B*_))),C[i+56>>2]=n,f[i+44>>2]=0,o=v(v(v(y+R)+n)*v(.3333333432674408)),C[i+40>>2]=o,D=v(v(v(a+Y)+h)*v(.3333333432674408)),C[i+36>>2]=D,_=v(v(v(z+W)+p)*v(.3333333432674408)),C[i+32>>2]=_,e=f[t+8>>2],16384&yt[f[f[e>>2]+56>>2]](e)&&(d=C[i+80>>2],f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=1065353216,f[i+20>>2]=1065353216,e=f[t+8>>2],f[i+12>>2]=0,B=v(W-d),F=v(h-a),h=v(Y-a),d=v(p-d),g=a=v(v(B*F)-v(h*d)),m=v(a*a),a=v(n-y),n=v(R-y),y=v(v(h*a)-v(n*F)),a=v(v(n*d)-v(B*a)),n=v(v(1)/v(E(v(m+v(v(y*y)+v(a*a)))))),C[i+8>>2]=v(g*n)+o,C[i+4>>2]=D+v(a*n),C[i>>2]=_+v(y*n),yt[f[f[e>>2]+16>>2]](e,i+32|0,i,i+16|0)),r=f[t+8>>2],e=t+12|0,yt[f[f[r>>2]+16>>2]](r,i+80|0,i- -64|0,e),r=f[t+8>>2],yt[f[f[r>>2]+16>>2]](r,i- -64|0,i+48|0,e),t=f[t+8>>2],yt[f[f[t>>2]+16>>2]](t,i+48|0,i+80|0,e),Z=i+96|0},function(t,e,i,r){e|=0,i|=0,r|=0,yt[f[f[(t|=0)>>2]+8>>2]](t,e,i,r)},function(t){return(t|=0)+-4|0},function(t){$((t|=0)+-4|0)},function(t,e,i,r){e|=0,i|=0,r|=0,yt[f[f[(t=(t|=0)+-4|0)>>2]+8>>2]](t,e,i,r)},function(t){var e=0;return f[(t|=0)>>2]=22908,(e=f[t+56>>2])&&(_[t+60|0]&&CA(e),f[t+56>>2]=0),f[t+56>>2]=0,f[t+48>>2]=0,f[t+52>>2]=0,n[t+60|0]=1,(e=f[t+36>>2])&&(_[t+40|0]&&CA(e),f[t+36>>2]=0),f[t+36>>2]=0,f[t+28>>2]=0,f[t+32>>2]=0,n[t+40|0]=1,yf(t+4|0),0|t},function(t){var e=0;f[(t|=0)>>2]=22908,(e=f[t+56>>2])&&(_[t+60|0]&&CA(e),f[t+56>>2]=0),f[t+56>>2]=0,f[t+48>>2]=0,f[t+52>>2]=0,n[t+60|0]=1,(e=f[t+36>>2])&&(_[t+40|0]&&CA(e),f[t+36>>2]=0),f[t+36>>2]=0,f[t+28>>2]=0,f[t+32>>2]=0,n[t+40|0]=1,yf(t+4|0),$(t)},function(t,e,i){t|=0,i|=0;var r,a=0,o=0,h=0;if((0|(r=f[(e|=0)+8>>2]))<1)i=0;else for(o=f[e+16>>2],i=0;a=f[o>>2],3&_[a+204|0]||(f[a+208>>2]=i,i=i+1|0),f[a+268>>2]=1065353216,f[a+212>>2]=-1,o=o+4|0,(0|(h=h+1|0))<(0|r););!function(t,e){var i=0,r=0,a=0,o=0,h=0,d=0,C=0;if((0|(a=f[t+4>>2]))<(0|e)){if(f[t+8>>2]<(0|e)){if(e?(o=dA(e<<3),i=f[t+4>>2]):i=a,(0|i)>=1)for(;h=f[t+12>>2]+r|0,C=f[h+4>>2],f[(d=r+o|0)>>2]=f[h>>2],f[d+4>>2]=C,r=r+8|0,i=i+-1|0;);(i=f[t+12>>2])&&(_[t+16|0]&&CA(i),f[t+12>>2]=0),f[t+12>>2]=o,n[t+16|0]=1,f[t+8>>2]=e}for(r=a<<3,i=e-a|0;a=f[t+12>>2]+r|0,f[a>>2]=0,f[a+4>>2]=0,r=r+8|0,i=i+-1|0;);}if(f[t+4>>2]=e,(0|e)>=1)for(r=f[t+12>>2],i=0;f[r>>2]=i,f[r+4>>2]=1,r=r+8|0,(0|(i=i+1|0))!=(0|e););}(t+4|0,i),function(t,e){var i,r=0,n=0,a=0,o=0,h=0,d=0;if(e=f[e+68>>2],e=0|yt[f[f[e>>2]+36>>2]](e),(i=0|yt[f[f[e>>2]+36>>2]](e))&&(d=0|yt[f[f[e>>2]+20>>2]](e),!((0|i)<1)))for(;;){if((r=f[f[(e=(h<<4)+d|0)>>2]>>2])&&!(!(e=f[f[e+4>>2]>>2])|7&f[r+204>>2]|7&_[e+204|0])){if(e=f[e+208>>2],a=f[t+16>>2],o=f[r+208>>2],(0|(r=f[(n=a+(o<<3)|0)>>2]))!=(0|o))for(;r=a+(r<<3)|0,f[n>>2]=f[r>>2],o=f[r>>2],(0|(r=f[(n=a+(o<<3)|0)>>2]))!=(0|o););if((0|e)!=(0|(r=f[(n=a+(e<<3)|0)>>2])))for(;e=a+(r<<3)|0,f[n>>2]=f[e>>2],(0|(e=f[e>>2]))!=(0|(r=f[(n=a+(e<<3)|0)>>2])););(0|e)!=(0|o)&&(f[(r=a+(o<<3)|0)>>2]=e,f[(e=a+(e<<3)|0)+4>>2]=f[e+4>>2]+f[r+4>>2])}if((0|(h=h+1|0))==(0|i))break}}(t,e)},function(t,e){t|=0;var i,r=0,n=0,a=0,o=0,h=0,d=0,C=0,g=0;if((0|(i=f[(e|=0)+8>>2]))>=1)for(g=f[e+16>>2];;){if(r=f[(n<<2)+g>>2],3&_[r+204|0])f[r+208>>2]=-1,f[r+212>>2]=-2;else{if(C=(e=d)<<3,a=f[t+16>>2],(0|e)!=(0|(h=f[(o=C+a|0)>>2])))for(;e=a+(h<<3)|0,f[o>>2]=f[e>>2],(0|(e=f[e>>2]))!=(0|(h=f[(o=a+(e<<3)|0)>>2])););f[r+208>>2]=e,f[r+212>>2]=-1,f[4+(a+C|0)>>2]=n,d=d+1|0}if(!((0|(n=n+1|0))<(0|i)))break}},Ef,kA,qe,function(t,e,i,r,n){n=v(n)},Kr,ye,Df,If,function(t){CA(If(t|=0))},function(t){t|=0;var e,i=0,r=0,n=0,a=0,o=0,_=0;if(Z=e=Z-16|0,Lr(e+8|0,23348),mf(t),yt[f[f[t>>2]+20>>2]](t)&&(i=0|yt[f[f[t>>2]+20>>2]](t),6144&yt[f[f[i>>2]+56>>2]](i)&&!((0|(i=0|yt[f[f[t>>2]+104>>2]](t)))<1)))for(;i=i+-1|0,o=t,_=0|yt[f[f[t>>2]+108>>2]](t,i),a=f[f[t>>2]+172>>2],yt[a](0|o,0|_),(0|i)>0;);if(yt[f[f[t>>2]+20>>2]](t)&&(i=0|yt[f[f[t>>2]+20>>2]](t),16387&yt[f[f[i>>2]+56>>2]](i)&&yt[f[f[t>>2]+20>>2]](t)&&(i=0|yt[f[f[t>>2]+20>>2]](t),!(!yt[f[f[i>>2]+56>>2]](i)|f[t+296>>2]<1))))for(i=0;r=f[f[t+304>>2]+i>>2],yt[f[f[r>>2]+12>>2]](r,f[t+72>>2]),i=i+4|0,(0|(n=n+1|0))<f[t+296>>2];);yt[f[f[t>>2]+20>>2]](t)&&(t=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[t>>2]+104>>2]](t)),qr(),Z=e+16|0},function(t,e,i,r){kf(t|=0,e|=0,i|=0,r|=0)},function(t,e){t|=0,!(e|=0)|!(2&f[e+252>>2])?df(t,e):yt[f[f[t>>2]+92>>2]](t,e)},function(t,e){t|=0;var i,r,n=0,a=0;yt[f[f[(e|=0)>>2]+32>>2]](e),r=0|yt[f[f[e>>2]+16>>2]](e,104,1),i=X(f[r+8>>2],0,104),f[i+88>>2]=f[t+264>>2],f[i+92>>2]=f[t+268>>2],f[i+96>>2]=f[t+272>>2],f[i+100>>2]=f[t+276>>2],a=f[(n=t+124|0)+4>>2],f[i+28>>2]=f[n>>2],f[i+32>>2]=a,a=f[(n=t+104|0)+4>>2],f[i+12>>2]=f[n>>2],f[i+16>>2]=a,a=f[(n=t+116|0)+4>>2],f[i+20>>2]=f[n>>2],f[i+24>>2]=a,a=f[(n=t+96|0)+4>>2],f[i+4>>2]=f[n>>2],f[i+8>>2]=a,f[i>>2]=f[t+92>>2],f[i+36>>2]=f[t+132>>2],f[i+40>>2]=f[t+148>>2],f[i+44>>2]=f[t+152>>2],f[i+48>>2]=f[t+156>>2],f[i+52>>2]=f[t+160>>2],f[i+56>>2]=f[t+176>>2],f[i+60>>2]=f[t+180>>2],f[i+64>>2]=f[t+112>>2],f[i+68>>2]=f[t+164>>2],f[i+72>>2]=f[t+168>>2],f[i+76>>2]=f[t+172>>2],n=f[t+144>>2],f[i+84>>2]=0,f[i+80>>2]=n,yt[f[f[e>>2]+20>>2]](e,r,23665,1145853764,i),Rf(t,e),function(t,e){var i=0,r=0,n=0,a=0,o=0,h=0,d=0,C=0,g=0,m=0;if((0|(r=f[t+8>>2]))>=1)for(;i=f[f[t+16>>2]+n>>2],2&_[i+252|0]&&(h=e,d=0|yt[f[f[i>>2]+16>>2]](i),C=1,o=f[f[e>>2]+16>>2],r=0|yt[o](0|h,0|d,0|C),C=e,d=r,h=0|yt[f[f[i>>2]+20>>2]](i,f[r+8>>2],e),g=1497645650,m=i,o=f[f[e>>2]+20>>2],yt[o](0|C,0|d,0|h,0|g,0|m),r=f[t+8>>2]),n=n+4|0,(0|(a=a+1|0))<(0|r););if(f[t+228>>2]>=1)for(n=0,a=0;i=f[f[t+236>>2]+n>>2],m=e,g=0|yt[f[f[i>>2]+36>>2]](i),h=1,o=f[f[e>>2]+16>>2],r=0|yt[o](0|m,0|g,0|h),h=e,g=r,m=0|yt[f[f[i>>2]+40>>2]](i,f[r+8>>2],e),d=1397641027,C=i,o=f[f[e>>2]+20>>2],yt[o](0|h,0|g,0|m,0|d,0|C),n=n+4|0,(0|(a=a+1|0))<f[t+228>>2];);}(t,e),yt[f[f[e>>2]+36>>2]](e)},function(t,e,i,r){t|=0,e=v(e),i|=0,r=v(r);var a=0,o=0,h=v(0),d=0,g=0;t:if(i){if(C[t+284>>2]=r,e=v(C[t+280>>2]+e),C[t+280>>2]=e,!(e>=r))break t;a=t,h=e,e=v(e/r),o=v(y(e))<v(2147483648)?~~e:-2147483648,C[a+280>>2]=h-v(v(0|o)*r)}else f[t+284>>2]=0,C[t+280>>2]=_[t+316|0]?v(0):e,r=e,o=v(y(e))<v(1.1920928955078125e-7)^1,i=o;yt[f[f[t>>2]+20>>2]](t)&&(a=0|yt[f[f[t>>2]+20>>2]](t),d=2792,g=yt[f[f[a>>2]+56>>2]](a)>>>4&1,n[0|d]=g);t:if(o){if(a=(0|o)>(0|i)?i:o,yt[f[f[t>>2]+168>>2]](t,v(r*v(0|a))),yt[f[f[t>>2]+176>>2]](t),(0|a)<1)break t;for(i=0;yt[f[f[t>>2]+160>>2]](t,r),yt[f[f[t>>2]+80>>2]](t),(0|(i=i+1|0))<(0|a););}else yt[f[f[t>>2]+80>>2]](t);return yt[f[f[t>>2]+120>>2]](t),0|o},function(t,e,i){e|=0,i|=0;var r=0,a=0,o=0,h=0,d=0;if((0|(r=f[(t|=0)+228>>2]))==f[t+232>>2]&&!((0|r)>=(0|(o=r?r<<1:1)))){if(o&&(d=dA(o<<2),r=f[t+228>>2]),(0|r)>=1)for(a=r;f[h+d>>2]=f[f[t+236>>2]+h>>2],h=h+4|0,a=a+-1|0;);(a=f[t+236>>2])&&(_[t+240|0]&&(CA(a),r=f[t+228>>2]),f[t+236>>2]=0),f[t+236>>2]=d,f[t+232>>2]=o,n[t+240|0]=1}f[t+228>>2]=r+1,f[f[t+236>>2]+(r<<2)>>2]=e,i&&(Pi(f[e+28>>2],e),Pi(f[e+32>>2],e))},function(t,e){e|=0;var i=0,r=0,n=0,a=0;t:if(!((0|(i=f[(t|=0)+228>>2]))<1)){for(r=a=f[t+236>>2];;){if((0|e)!=f[r>>2]){if(r=r+4|0,(0|i)!=(0|(n=n+1|0)))continue;break t}break}(0|i)<=(0|n)||(n=r,i=(r=i+-1|0)<<2,f[n>>2]=f[i+a>>2],f[t+228>>2]=r,f[i+f[t+236>>2]>>2]=e)}Ki(f[e+28>>2],e),Ki(f[e+32>>2],e)},function(t,e){e|=0;var i=0,r=0,a=0,o=0,h=0;if((0|(i=f[(t|=0)+296>>2]))==f[t+300>>2]&&!((0|i)>=(0|(a=i?i<<1:1)))){if(a&&(h=dA(a<<2),i=f[t+296>>2]),(0|i)>=1)for(r=i;f[o+h>>2]=f[f[t+304>>2]+o>>2],o=o+4|0,r=r+-1|0;);(r=f[t+304>>2])&&(_[t+308|0]&&(CA(r),i=f[t+296>>2]),f[t+304>>2]=0),f[t+304>>2]=h,f[t+300>>2]=a,n[t+308|0]=1}f[t+296>>2]=i+1,f[f[t+304>>2]+(i<<2)>>2]=e},function(t,e){e|=0;var i=0,r=0,n=0,a=0;t:if(!((0|(i=f[(t|=0)+296>>2]))<1)){for(r=a=f[t+304>>2];;){if((0|e)!=f[r>>2]){if(r=r+4|0,(0|i)!=(0|(n=n+1|0)))continue;break t}break}(0|i)<=(0|n)||(n=r,i=(r=i+-1|0)<<2,f[n>>2]=f[i+a>>2],f[t+296>>2]=r,f[i+f[t+304>>2]>>2]=e)}},function(t,e){t|=0;var i=0,r=0,a=0,o=0,_=0;if(i=f[(e|=0)+4>>2],f[t+264>>2]=f[e>>2],f[t+268>>2]=i,a=f[(r=e+8|0)+4>>2],f[(i=t+272|0)>>2]=f[r>>2],f[i+4>>2]=a,(0|(r=f[t+248>>2]))>=1)for(i=0,a=0;;){t:{e:if(o=f[f[t+256>>2]+i>>2],_=f[o+220>>2]+-2|0,!(_>>>0>3))switch(_-1|0){case 0:case 1:break e;default:break t}1&n[o+564|0]||(Si(o,e),r=f[t+248>>2])}if(i=i+4|0,!((0|(a=a+1|0))<(0|r)))break}},function(t,e){t|=0;var i=0;i=f[(e|=0)+268>>2],f[t>>2]=f[e+264>>2],f[t+4>>2]=i,i=f[(e=e+272|0)+4>>2],f[(t=t+8|0)>>2]=f[e>>2],f[t+4>>2]=i},function(t){t|=0;var e,i=0,r=v(0),n=0,a=0,o=0,h=0;Z=e=Z+-64|0;t:if(_[t+290|0]){if((0|(n=f[t+8>>2]))<1)break t;for(;!(i=f[f[t+16>>2]+h>>2])|!(2&f[i+252>>2])|!f[i+540>>2]|3&_[i+204|0]||(xi(n=i+68|0,o=i+132|0,i+148|0,r=_[t+316|0]&&(r=C[t+284>>2])!=v(0)?v(C[t+280>>2]-r):v(C[t+280>>2]*C[i+268>>2]),e),i=f[i+540>>2],yt[f[f[i>>2]+12>>2]](i,e),n=f[t+8>>2]),h=h+4|0,(0|(a=a+1|0))<(0|n););}else if(a=f[t+248>>2],!((0|a)<1))for(;;){e:{i:if(i=f[f[t+256>>2]+n>>2],o=f[i+220>>2]+-2|0,!(o>>>0>3))switch(o-1|0){case 0:case 1:break i;default:break e}!f[i+540>>2]|3&_[i+204|0]||(xi(a=i+68|0,o=i+132|0,i+148|0,r=_[t+316|0]&&(r=C[t+284>>2])!=v(0)?v(C[t+280>>2]-r):v(C[t+280>>2]*C[i+268>>2]),e),i=f[i+540>>2],yt[f[f[i>>2]+12>>2]](i,e),a=f[t+248>>2])}if(n=n+4|0,!((0|(h=h+1|0))<(0|a)))break}Z=e- -64|0},function(t,e){t|=0;var i=0,r=0,a=0,o=0,h=0;if(3&_[(e|=0)+204|0]|1&n[e+564|0]||Si(e,t+264|0),f[e+192>>2]){if(1&n[e+204|0])Ye(e,2);else{if((0|(i=f[t+248>>2]))==f[t+252>>2]&&!((0|i)>=(0|(a=i?i<<1:1)))){if(a&&(h=dA(a<<2),i=f[t+248>>2]),(0|i)>=1)for(r=i;f[o+h>>2]=f[f[t+256>>2]+o>>2],o=o+4|0,r=r+-1|0;);(r=f[t+256>>2])&&(_[t+260|0]&&(CA(r),i=f[t+248>>2]),f[t+256>>2]=0),f[t+256>>2]=h,f[t+252>>2]=a,n[t+260|0]=1}f[t+248>>2]=i+1,f[f[t+256>>2]+(i<<2)>>2]=e}i=e,e=3&f[e+204>>2],yt[f[f[t>>2]+36>>2]](t,i,e?2:1,e?-3:-1)}},function(t,e,i,r){t|=0,i|=0,r|=0;var a=0,o=0,h=0,d=0,C=0;if(3&_[(e|=0)+204|0]|1&n[e+564|0]||Si(e,t+264|0),f[e+192>>2]){if(1&n[e+204|0])Ye(e,2);else{if((0|(a=f[t+248>>2]))==f[t+252>>2]&&!((0|a)>=(0|(h=a?a<<1:1)))){if(h&&(C=dA(h<<2),a=f[t+248>>2]),(0|a)>=1)for(o=a;f[d+C>>2]=f[f[t+256>>2]+d>>2],d=d+4|0,o=o+-1|0;);(o=f[t+256>>2])&&(_[t+260|0]&&(CA(o),a=f[t+248>>2]),f[t+256>>2]=0),f[t+256>>2]=C,f[t+252>>2]=h,n[t+260|0]=1}f[t+248>>2]=a+1,f[f[t+256>>2]+(a<<2)>>2]=e}yt[f[f[t>>2]+36>>2]](t,e,i,r)}},function(t,e){e|=0;var i=0,r=0,n=0,a=0;t:if(!((0|(i=f[(t|=0)+248>>2]))<1)){for(r=a=f[t+256>>2];;){if((0|e)!=f[r>>2]){if(r=r+4|0,(0|i)!=(0|(n=n+1|0)))continue;break t}break}(0|i)<=(0|n)||(n=r,i=(r=i+-1|0)<<2,f[n>>2]=f[i+a>>2],f[t+248>>2]=r,f[i+f[t+256>>2]>>2]=e)}df(t,e)},function(t,e){e|=0,_[(t|=0)+289|0]&&CA(f[t+216>>2]),f[t+216>>2]=e,n[t+289|0]=0,f[f[t+212>>2]+8>>2]=e},function(t){return f[(t|=0)+216>>2]},function(t){return f[(t|=0)+228>>2]},Mf,Mf,pe,function(t){var e=0,i=0,r=0,n=0;if(f[(t|=0)+248>>2]>=1)for(;i=f[f[t+256>>2]+r>>2],f[(e=i)+472>>2]=0,f[e+476>>2]=0,f[(e=e+496|0)>>2]=0,f[e+4>>2]=0,f[(e=i+488|0)>>2]=0,f[e+4>>2]=0,f[(i=i+480|0)>>2]=0,f[i+4>>2]=0,r=r+4|0,(0|(n=n+1|0))<f[t+248>>2];);},Jf,xf,Jf,xf,function(t,e){t|=0,e=v(e);var i,r=0,n=0,a=0,o=0;if(Z=i=Z-16|0,Lr(i+8|0,23639),(0|(n=f[t+248>>2]))>=1)for(;r=f[f[t+256>>2]+a>>2],3&_[r+204|0]||(Xi(r,e),Ji(r,e,r+68|0),n=f[t+248>>2]),a=a+4|0,(0|(o=o+1|0))<(0|n););qr(),Z=i+16|0},function(t,e){t|=0,e=v(e);var i,r=0,n=0,a=0,o=v(0),h=0,d=0,g=v(0),m=v(0),y=0,p=v(0);if(Z=i=Z-80|0,Lr(i+72|0,23581),(0|(r=f[t+248>>2]))>=1&&function(t,e,i,r){var n,a=0,o=0,h=0,d=v(0),g=0,m=0,y=0,p=0,R=0,D=0,B=0,E=0,F=0,V=0,G=0,w=0,Q=0,W=0,Y=v(0),z=0,pt=0,Dt=v(0),It=0,St=0;if(Z=n=Z-304|0,(0|i)>=1)for(G=n+56|0,R=n+40|0,w=n+272|0,D=n+24|0,pt=n+256|0,F=n+100|0,Q=n+160|0,W=n+144|0,B=n+288|0;;){o=f[e>>2],f[o+268>>2]=1065353216;t:{e:if(a=f[o+220>>2]+-2|0,!(a>>>0>3))switch(a-1|0){case 0:case 1:break e;default:break t}3&_[o+204|0]||(Ji(o,r,n+240|0),_[t+44|0]&&(d=C[o+276>>2],(d=v(d*d))!=v(0)&&(Dt=d,a=o+52|0,d=v(C[n+288>>2]-C[a>>2]),Y=v(d*d),d=v(C[n+292>>2]-C[o+56>>2]),Y=v(Y+v(d*d)),d=v(C[n+296>>2]-C[o+60>>2]),Dt<v(Y+v(d*d))&&(Lr(n+232|0,23561),f[f[o+192>>2]+4>>2]<=19&&(V=0,f[702]=f[702]+1,h=f[t+68>>2],g=0|yt[f[f[h>>2]+36>>2]](h),h=f[a+4>>2],f[W>>2]=f[a>>2],f[W+4>>2]=h,h=f[(a=a+8|0)+4>>2],f[(m=W+8|0)>>2]=f[a>>2],f[m+4>>2]=h,a=f[B+4>>2],f[Q>>2]=f[B>>2],f[Q+4>>2]=a,m=f[(a=h=B+8|0)+4>>2],f[(y=Q+8|0)>>2]=f[a>>2],f[y+4>>2]=m,f[n+140>>2]=-1,f[n+132>>2]=1065353216,f[n+136>>2]=1,f[n+128>>2]=23884,f[n+208>>2]=0,f[n+216>>2]=0,f[n+224>>2]=f[t+24>>2],f[n+220>>2]=g,f[n+212>>2]=o,a=f[o+272>>2],DA(n+72|0),f[F>>2]=0,f[F+4>>2]=0,f[(g=F+8|0)>>2]=0,f[g+4>>2]=0,f[F+16>>2]=0,f[n+96>>2]=1065353216,f[n+88>>2]=1065353216,f[n+92>>2]=1065353216,f[n+76>>2]=8,f[n+72>>2]=9852,f[n+124>>2]=0,f[n+120>>2]=a,f[n+104>>2]=a,f[n+216>>2]=f[t+56>>2],a=f[o+188>>2],g=f[a+8>>2],f[n+136>>2]=f[a+4>>2],f[n+140>>2]=g,m=f[(a=n+248|0)+4>>2],f[(g=n+16|0)>>2]=f[a>>2],f[g+4>>2]=m,a=f[B+4>>2],f[G>>2]=f[B>>2],f[G+4>>2]=a,y=f[(a=w+8|0)+4>>2],f[(m=R+8|0)>>2]=f[a>>2],f[m+4>>2]=y,a=f[w+4>>2],f[R>>2]=f[w>>2],f[R+4>>2]=a,y=f[(a=pt)+4>>2],f[D>>2]=f[a>>2],f[D+4>>2]=y,p=f[(a=a+8|0)+4>>2],f[(y=D+8|0)>>2]=f[a>>2],f[y+4>>2]=p,a=f[h+4>>2],f[(p=G+8|0)>>2]=f[h>>2],f[p+4>>2]=a,a=f[n+244>>2],f[n+8>>2]=f[n+240>>2],f[n+12>>2]=a,p=f[(h=(a=o+4|0)+8|0)>>2],h=f[h+4>>2],It=f[a>>2],St=f[a+4>>2],z=f[(E=o+20|0)+4>>2],f[D>>2]=f[E>>2],f[D+4>>2]=z,z=f[(E=o+28|0)+4>>2],f[y>>2]=f[E>>2],f[y+4>>2]=z,f[g>>2]=p,f[g+4>>2]=h,f[n+8>>2]=It,f[n+12>>2]=St,g=f[(h=o+36|0)+4>>2],f[R>>2]=f[h>>2],f[R+4>>2]=g,g=f[(h=o+44|0)+4>>2],f[m>>2]=f[h>>2],f[m+4>>2]=g,_f(t,n+72|0,a,n+8|0,n+128|0,v(0)),(d=C[n+132>>2])<v(1)&&(C[o+268>>2]=d,Ji(o,v(d*r),n+240|0),f[o+268>>2]=0,ji(o,n+240|0),V=4),V)||(V=0),qr(),V)))||ji(o,n+240|0))}if(e=e+4|0,!(i=i+-1|0))break}Z=n+304|0}(t,f[t+256>>2],r,e),_[t+291|0]){if(Lr(i- -64|0,23601),f[t+324>>2]>=1)for(;;){if(h=f[f[t+332>>2]+(y<<2)>>2],!(f[h+780>>2]<1))if(r=f[h+776>>2],n=f[r+252>>2]<<30>>31&r,r=f[h+772>>2],a=f[r+252>>2]<<30>>31&r)for(r=h+128|0,d=0;(e=ke(a,n))>v(0)&&((o=C[r>>2])!=v(0)&&(p=C[r+-60>>2],g=C[r+-56>>2],m=C[r+-52>>2],f[i+60>>2]=0,C[i+56>>2]=-v(e*v(m*o)),C[i+52>>2]=-v(e*v(g*o)),C[i+48>>2]=-v(e*v(p*o)),f[i+44>>2]=0,C[i+40>>2]=C[r+-68>>2]-C[a+60>>2],C[i+36>>2]=C[r+-72>>2]-C[a+56>>2],C[i+32>>2]=C[r+-76>>2]-C[a+52>>2],f[i+28>>2]=0,C[i+24>>2]=C[r+-84>>2]-C[n+60>>2],C[i+20>>2]=C[r+-88>>2]-C[n+56>>2],C[i+16>>2]=C[r+-92>>2]-C[n+52>>2],dt(a,i+48|0,i+32|0),f[i+12>>2]=0,C[i+8>>2]=-C[i+56>>2],C[i+4>>2]=-C[i+52>>2],C[i>>2]=-C[i+48>>2],dt(n,i,i+16|0))),r=r+192|0,(0|(d=d+1|0))<f[h+780>>2];);else for(r=h+68|0,d=0;(e=ke(a,n))>v(0)&&((o=C[r+60>>2])!=v(0)&&(p=C[r+4>>2],g=C[r+8>>2],m=C[r>>2],f[i+60>>2]=0,m=v(e*v(m*o)),C[i+48>>2]=-m,g=v(e*v(g*o)),C[i+56>>2]=-g,e=v(e*v(p*o)),C[i+52>>2]=-e,f[i+44>>2]=0,C[i+40>>2]=C[r+-8>>2]-C[a+60>>2],C[i+36>>2]=C[r+-12>>2]-C[a+56>>2],C[i+32>>2]=C[r+-16>>2]-C[a+52>>2],f[i+28>>2]=0,C[i+24>>2]=C[r+-24>>2]-C[n+60>>2],C[i+20>>2]=C[r+-28>>2]-C[n+56>>2],C[i+16>>2]=C[r+-32>>2]-C[n+52>>2],f[i+12>>2]=0,C[i+8>>2]=g,C[i+4>>2]=e,C[i>>2]=m,dt(n,i,i+16|0))),r=r+192|0,(0|(d=d+1|0))<f[h+780>>2];);if(!((0|(y=y+1|0))<f[t+324>>2]))break}qr()}qr(),Z=i+80|0},function(t){t|=0;var e,i=0,r=0,n=0,a=0,o=0,h=0,d=0,C=0;if(Z=e=Z-16|0,Lr(e+8|0,23445),i=f[t+220>>2],yt[f[f[i>>2]+8>>2]](i,t,f[t+24>>2]),(0|(d=f[t+324>>2]))>=1)for(C=f[t+332>>2];;){if(i=f[C+(h<<2)>>2],(r=f[i+772>>2])&&!(!(i=f[i+776>>2])|3&f[r+204>>2]|3&_[i+204|0])){if(i=f[i+208>>2],n=f[f[t+220>>2]+16>>2],a=f[r+208>>2],(0|(r=f[(o=n+(a<<3)|0)>>2]))!=(0|a))for(;r=n+(r<<3)|0,f[o>>2]=f[r>>2],a=f[r>>2],(0|(r=f[(o=n+(a<<3)|0)>>2]))!=(0|a););if((0|i)!=(0|(r=f[(o=n+(i<<3)|0)>>2])))for(;i=n+(r<<3)|0,f[o>>2]=f[i>>2],(0|(i=f[i>>2]))!=(0|(r=f[(o=n+(i<<3)|0)>>2])););(0|i)!=(0|a)&&(f[(r=n+(a<<3)|0)>>2]=i,f[(i=n+(i<<3)|0)+4>>2]=f[i+4>>2]+f[r+4>>2])}if(!((0|(h=h+1|0))<(0|d)))break}if((0|(d=f[t+228>>2]))>=1)for(C=f[t+236>>2],o=0;;){if(i=f[C+(o<<2)>>2],_[i+20|0]&&(r=f[i+28>>2],!(3&_[r+204|0]||(i=f[i+32>>2],3&_[i+204|0])))){if(i=f[i+208>>2],n=f[f[t+220>>2]+16>>2],a=f[r+208>>2],(0|(h=f[(r=n+(a<<3)|0)>>2]))!=(0|a))for(;a=r,r=n+(h<<3)|0,f[a>>2]=f[r>>2],a=f[r>>2],(0|(h=f[(r=n+(a<<3)|0)>>2]))!=(0|a););if((0|(h=f[(r=n+(i<<3)|0)>>2]))!=(0|i))for(;i=n+(h<<3)|0,f[r>>2]=f[i>>2],i=f[i>>2],(0|(h=f[(r=n+(i<<3)|0)>>2]))!=(0|i););(0|i)!=(0|a)&&(f[(r=n+(a<<3)|0)>>2]=i,f[(i=n+(i<<3)|0)+4>>2]=f[i+4>>2]+f[r+4>>2])}if((0|d)==(0|(o=o+1|0)))break}i=f[t+220>>2],yt[f[f[i>>2]+12>>2]](i,t),qr(),Z=e+16|0},function(t,e){t|=0,e|=0;var i,r,a,o,h,d,C=0,g=0,m=0,v=0;if(Z=r=Z-16|0,Lr(r+8|0,23428),(0|(m=f[t+196>>2]))<(0|(i=f[t+228>>2]))){if(f[t+200>>2]<(0|i)){if(i?(v=dA(i<<2),C=f[t+196>>2]):C=m,(0|C)>=1)for(;f[g+v>>2]=f[f[t+204>>2]+g>>2],g=g+4|0,C=C+-1|0;);(C=f[t+204>>2])&&(_[t+208|0]&&CA(C),f[t+204>>2]=0),f[t+204>>2]=v,f[t+200>>2]=i,n[t+208|0]=1}for(g=m<<2,C=i-m|0;f[f[t+204>>2]+g>>2]=0,g=g+4|0,C=C+-1|0;);}if(f[t+196>>2]=i,(0|yt[f[f[t>>2]+104>>2]](t))>=1)for(g=0,C=0;f[f[t+204>>2]+g>>2]=f[f[t+236>>2]+g>>2],g=g+4|0,(0|(C=C+1|0))<(0|yt[f[f[t>>2]+104>>2]](t)););(0|(C=f[t+196>>2]))>=2&&function A(t,e,i,r){for(var n=0,a=0,o=0,_=0,h=0,d=0,C=0,g=0,m=0,v=0;;){for(m=i,a=f[t+12>>2],g=f[a+((i+r|0)/2<<2)>>2],n=r;;){if(_=(0|(d=f[f[g+28>>2]+208>>2]))<0)for(h=i+-1|0,o=((i<<2)+a|0)-4|0,C=f[f[g+32>>2]+208>>2];h=h+1|0,v=f[(o=o+4|0)>>2],(0|(i=f[f[v+28>>2]+208>>2]))<=-1&&(i=f[f[v+32>>2]+208>>2]),(0|i)<(0|C););else for(h=i+-1|0,o=((i<<2)+a|0)-4|0;h=h+1|0,C=f[(o=o+4|0)>>2],(0|(i=f[f[C+28>>2]+208>>2]))<=-1&&(i=f[f[C+32>>2]+208>>2]),(0|i)<(0|d););if(_){for(i=n+1|0,n=(n<<2)+a|0,d=f[f[g+32>>2]+208>>2];_=f[n>>2],(0|(a=f[f[_+28>>2]+208>>2]))<=-1&&(a=f[f[_+32>>2]+208>>2]),n=n+-4|0,i=i+-1|0,(0|d)<(0|a););n=n+4|0}else{for(i=n+1|0,n=(n<<2)+a|0;_=f[n>>2],(0|(a=f[f[_+28>>2]+208>>2]))<=-1&&(a=f[f[_+32>>2]+208>>2]),n=n+-4|0,i=i+-1|0,(0|d)<(0|a););n=n+4|0}if((0|h)>(0|i)?(n=i,i=h):(a=f[o>>2],f[o>>2]=f[n>>2],f[f[t+12>>2]+(i<<2)>>2]=a,n=i+-1|0,i=h+1|0),!((0|i)<=(0|n)))break;a=f[t+12>>2]}if((0|n)>(0|m)&&A(t,e,m,n),!((0|i)<(0|r)))break}}(t+192|0,r,0,C+-1|0),g=0,yt[f[f[t>>2]+104>>2]](t)&&(g=f[t+204>>2]),function(t,e,i,r,a){if(f[t+20>>2]=a,f[t+16>>2]=r,f[t+12>>2]=i,f[t+4>>2]=e,(0|(e=f[t+32>>2]))<=-1)for(f[t+36>>2]<=-1&&((i=f[t+40>>2])&&(_[t+44|0]&&CA(i),f[t+40>>2]=0),f[t+36>>2]=0,f[t+40>>2]=0,n[t+44|0]=1),i=e<<2;f[f[t+40>>2]+i>>2]=0,i=i+4|0,a=(r=e+1|0)>>>0>=e>>>0,e=r,a;);if(f[t+32>>2]=0,(0|(e=f[t+52>>2]))<=-1)for(f[t+56>>2]<=-1&&((i=f[t+60>>2])&&(_[t- -64|0]&&CA(i),f[t+60>>2]=0),f[t+56>>2]=0,f[t+60>>2]=0,n[t- -64|0]=1),i=e<<2;f[f[t+60>>2]+i>>2]=0,i=i+4|0,a=(r=e+1|0)>>>0>=e>>>0,e=r,a;);if(f[t+52>>2]=0,(0|(e=f[t+72>>2]))<=-1)for(f[t+76>>2]<=-1&&((i=f[t+80>>2])&&(_[t+84|0]&&CA(i),f[t+80>>2]=0),f[t+76>>2]=0,f[t+80>>2]=0,n[t+84|0]=1),i=e<<2;f[f[t+80>>2]+i>>2]=0,i=i+4|0,a=(r=e+1|0)>>>0>=e>>>0,e=r,a;);f[t+72>>2]=0}(f[t+212>>2],e,g,f[t+196>>2],0|yt[f[f[t>>2]+20>>2]](t)),C=f[t+216>>2],m=f[t+24>>2],o=C,h=f[t+8>>2],d=0|yt[f[f[m>>2]+36>>2]](m),a=f[f[C>>2]+8>>2],yt[a](0|o,0|h,0|d),Ff(f[t+220>>2],f[t+24>>2],t,f[t+212>>2]),Uf(f[t+212>>2]),C=f[t+216>>2],yt[f[f[C>>2]+16>>2]](C,e,f[t+72>>2]),qr(),Z=r+16|0},function(t,e){t|=0,e=v(e);var i,r=0,n=v(0),a=0,o=v(0),h=0,d=0,g=0;if(Z=i=Z-16|0,Lr(i+8|0,23406),f[t+248>>2]>=1)for(;;){t:if(r=f[f[t+256>>2]+h>>2]){e:{if(!((d=(a=f[r+220>>2])+-2|0)-1|0&&d>>>0<=2)){if(n=C[r+372>>2],o=v(n*n),n=C[r+376>>2],o=v(o+v(n*n)),n=C[r+380>>2],o=v(o+v(n*n)),n=C[r+532>>2],o<v(n*n)&&(n=C[r+388>>2],o=v(n*n),n=C[r+392>>2],o=v(o+v(n*n)),n=C[r+396>>2],o=v(o+v(n*n)),n=C[r+536>>2],o<v(n*n))){C[r+224>>2]=C[r+224>>2]+e;break e}f[r+224>>2]=0,Ye(r,0),a=f[r+220>>2]}if(4==(0|a))break t}if(_[2792]||(n=C[750])==v(0)|(C[r+224>>2]>n^1?2!=(-2&a):0))Ye(r,1);else{if(3&_[r+204|0]){Ye(r,2);break t}if(1==(0|a)&&(Ye(r,3),a=f[r+220>>2]),2!=(0|a))break t;f[r+388>>2]=0,f[r+392>>2]=0,f[r+372>>2]=0,f[r+376>>2]=0,f[(a=r+396|0)>>2]=0,f[a+4>>2]=0,f[(a=r+380|0)>>2]=0,f[a+4>>2]=0,f[r+304>>2]=f[r+304>>2]+2}}if(h=h+4|0,!((0|(g=g+1|0))<f[t+248>>2]))break}qr(),Z=i+16|0},function(t,e){t|=0,e=v(e);var i,r,n,a=0,o=0,_=0;if(Z=i=Z-16|0,Lr(i,23363),(a=f[t+84>>2])&&yt[a](t,e),yt[f[f[t>>2]+140>>2]](t,e),a=0,f[t+32>>2]=0,C[t+28>>2]=e,r=t+48|0,n=0|yt[f[f[t>>2]+20>>2]](t),f[r>>2]=n,yt[f[f[t>>2]+164>>2]](t,e),yt[f[f[t>>2]+44>>2]](t),yt[f[f[t>>2]+148>>2]](t),C[t+104>>2]=e,yt[f[f[t>>2]+152>>2]](t,t+92|0),yt[f[f[t>>2]+144>>2]](t,e),Lr(i+8|0,23392),f[t+296>>2]>=1)for(;o=f[f[t+304>>2]+a>>2],yt[f[f[o>>2]+8>>2]](o,t,e),a=a+4|0,(0|(_=_+1|0))<f[t+296>>2];);qr(),yt[f[f[t>>2]+156>>2]](t,e),(a=f[t+80>>2])&&yt[a](t,e),qr(),Z=i+16|0},function(t,e){t|=0,e=v(e);var i,r=0,a=0,o=0,h=0;if(Z=i=Z-16|0,Lr(i,23536),Lr(i+8|0,23499),r=f[t+332>>2],f[t+324>>2]>=1)for(;a=f[t+24>>2],yt[f[f[a>>2]+16>>2]](a,f[r+o>>2]),o=o+4|0,r=f[t+332>>2],(0|(h=h+1|0))<f[t+324>>2];);r&&(_[t+336|0]&&CA(r),f[t+332>>2]=0),f[t+332>>2]=0,f[t+324>>2]=0,f[t+328>>2]=0,n[t+336|0]=1,qr(),(0|(r=f[t+248>>2]))>=1&&function(t,e,i,r){var a,o=0,h=0,d=0,g=0,y=v(0),p=0,B=0,E=v(0),F=v(0),V=0,G=v(0),w=v(0),Q=0,W=0,Y=0,z=0,pt=0,Dt=0,It=v(0),St=0,Tt=v(0),Et=v(0),Ot=v(0),Nt=v(0),Ft=v(0),Vt=v(0),Gt=0,Lt=0,wt=0,xt=0,Qt=0,Wt=0,Yt=0,Pt=0,Mt=v(0),Zt=v(0),Ut=v(0),Xt=v(0),Jt=0,jt=0,zt=0,Ht=0,Kt=0,qt=v(0),$t=v(0),bi=v(0);if(Z=a=Z-496|0,(0|i)>=1)for(Q=a+124|0,Jt=a+92|0,Gt=a+72|0,jt=a+368|0,Lt=a+248|0,Y=a+232|0,wt=a+464|0,z=a+216|0,zt=a+448|0,St=a+292|0,xt=a+352|0,Qt=a+336|0,pt=a+480|0;;){d=f[(Wt<<2)+e>>2],f[d+268>>2]=1065353216;t:{e:if(o=f[d+220>>2]+-2|0,!(o>>>0>3))switch(o-1|0){case 0:case 1:break e;default:break t}if(!(3&_[d+204|0])&&(Ji(d,r,a+432|0),_[t+44|0]&&(y=C[d+276>>2],(y=v(y*y))!=v(0)&&(F=y,W=d+52|0,y=v(C[a+480>>2]-C[W>>2]),E=v(y*y),y=v(C[a+484>>2]-C[d+56>>2]),E=v(E+v(y*y)),y=v(C[a+488>>2]-C[d+60>>2]),F<v(E+v(y*y)))))){if(Lr(a+424|0,23472),f[f[d+192>>2]+4>>2]<=19&&(f[702]=f[702]+1,o=f[t+68>>2],o=0|yt[f[f[o>>2]+36>>2]](o),h=f[W+4>>2],f[Qt>>2]=f[W>>2],f[Qt+4>>2]=h,g=f[(h=Yt=W+8|0)+4>>2],f[(B=Qt+8|0)>>2]=f[h>>2],f[B+4>>2]=g,h=f[pt+4>>2],f[xt>>2]=f[pt>>2],f[xt+4>>2]=h,B=f[(h=pt+8|0)+4>>2],f[(p=xt+8|0)>>2]=f[h>>2],f[p+4>>2]=B,f[a+332>>2]=-1,f[a+324>>2]=1065353216,f[a+328>>2]=1,f[a+320>>2]=23884,f[a+400>>2]=0,f[a+408>>2]=0,f[a+416>>2]=f[t+24>>2],f[a+412>>2]=o,f[a+404>>2]=d,o=f[d+272>>2],DA(a+264|0),f[St>>2]=0,f[St+4>>2]=0,f[(g=St+8|0)>>2]=0,f[g+4>>2]=0,f[St+16>>2]=0,f[a+288>>2]=1065353216,f[a+280>>2]=1065353216,f[a+284>>2]=1065353216,f[a+268>>2]=8,f[a+264>>2]=9852,f[a+316>>2]=0,f[a+312>>2]=o,f[a+296>>2]=o,f[a+408>>2]=f[t+56>>2],o=f[d+188>>2],g=f[o+8>>2],f[a+328>>2]=f[o+4>>2],f[a+332>>2]=g,B=f[(o=a+440|0)+4>>2],f[(g=a+208|0)>>2]=f[o>>2],f[g+4>>2]=B,o=f[pt+4>>2],f[Lt>>2]=f[pt>>2],f[Lt+4>>2]=o,p=f[(o=wt+8|0)+4>>2],f[(B=Y+8|0)>>2]=f[o>>2],f[B+4>>2]=p,o=f[wt+4>>2],f[Y>>2]=f[wt>>2],f[Y+4>>2]=o,p=f[(o=zt)+4>>2],f[z>>2]=f[o>>2],f[z+4>>2]=p,V=f[(o=o+8|0)+4>>2],f[(p=z+8|0)>>2]=f[o>>2],f[p+4>>2]=V,o=f[h+4>>2],f[(V=Lt+8|0)>>2]=f[h>>2],f[V+4>>2]=o,o=f[a+436>>2],f[a+200>>2]=f[a+432>>2],f[a+204>>2]=o,V=f[(h=(o=d+4|0)+8|0)>>2],h=f[h+4>>2],Ht=f[o>>2],Kt=f[o+4>>2],Pt=f[(Dt=d+20|0)+4>>2],f[z>>2]=f[Dt>>2],f[z+4>>2]=Pt,Pt=f[(Dt=d+28|0)+4>>2],f[p>>2]=f[Dt>>2],f[p+4>>2]=Pt,f[g>>2]=V,f[g+4>>2]=h,f[a+200>>2]=Ht,f[a+204>>2]=Kt,g=f[(h=d+36|0)+4>>2],f[Y>>2]=f[h>>2],f[Y+4>>2]=g,g=f[(h=d+44|0)+4>>2],f[B>>2]=f[h>>2],f[B+4>>2]=g,_f(t,a+264|0,o,a+200|0,a+320|0,v(0)),(y=C[a+324>>2])<v(1))){if(It=C[d+60>>2],G=C[d+56>>2],w=C[d+52>>2],F=C[a+376>>2],Tt=C[a+488>>2],Et=C[a+372>>2],Ot=C[a+484>>2],Nt=C[a+368>>2],Ft=C[a+480>>2],o=f[t+24>>2],B=0|yt[f[f[o>>2]+12>>2]](o,d,f[a+400>>2]),Vt=v(y*v(Ot-G)),G=v(y*v(Ft-w)),E=F,F=v(y*v(Tt-It)),w=v(v(v(-v(Et*Vt))-v(Nt*G))-v(E*F)),(0|(o=f[t+324>>2]))==f[t+328>>2]&&!((0|o)>=(0|(p=o?o<<1:1)))){if(p?(V=dA(p<<2),o=f[t+324>>2]):V=0,(0|o)>=1)for(g=0,h=o;f[g+V>>2]=f[f[t+332>>2]+g>>2],g=g+4|0,h=h+-1|0;);(h=f[t+332>>2])&&(_[t+336|0]&&(CA(h),o=f[t+324>>2]),f[t+332>>2]=0),f[t+332>>2]=V,n[t+336|0]=1,f[t+328>>2]=p}f[f[t+332>>2]+(o<<2)>>2]=B,f[t+324>>2]=o+1,o=f[a+400>>2],Tt=C[o+20>>2],Et=C[o+36>>2],Ot=C[o+40>>2],Nt=C[o+8>>2],Ft=C[o+24>>2],y=C[o+60>>2],qt=C[o+52>>2],It=C[o+56>>2],Zt=C[o+44>>2],E=C[o+12>>2],Ut=C[o+28>>2],Xt=C[o+4>>2],Mt=C[d+60>>2],$t=C[d+52>>2],bi=C[d+56>>2],f[(o=a+16|0)>>2]=0,f[o+4>>2]=0,f[(o=Jt)>>2]=0,f[o+4>>2]=0,f[(o=o+8|0)>>2]=0,f[o+4>>2]=0,f[Q>>2]=0,f[Q+4>>2]=0,f[(o=Q+8|0)>>2]=0,f[o+4>>2]=0,f[(o=Q+16|0)>>2]=0,f[o+4>>2]=0,f[(o=Q+24|0)>>2]=0,f[o+4>>2]=0,f[(o=Q+32|0)>>2]=0,f[o+4>>2]=0,f[Q+40>>2]=0,h=f[(o=jt)+4>>2],f[Gt>>2]=f[o>>2],f[Gt+4>>2]=h,h=f[(o=o+8|0)+4>>2],f[(g=Gt+8|0)>>2]=f[o>>2],f[g+4>>2]=h,f[a+8>>2]=0,f[a+12>>2]=0,f[a+36>>2]=0,C[a+88>>2]=w,G=v(G+$t),w=v(Vt+bi),F=v(F+Mt),Mt=v(v(v(E*G)+v(Ut*w))+v(Zt*F)),Vt=E,E=v(-qt),C[a+32>>2]=Mt+v(v(v(Vt*E)-v(Ut*It))-v(Zt*y)),C[a+28>>2]=v(v(v(G*Nt)+v(w*Ft))+v(F*Ot))+v(v(v(Nt*E)-v(Ft*It))-v(Ot*y)),C[a+24>>2]=v(v(v(G*Xt)+v(w*Tt))+v(F*Et))+v(v(v(Xt*E)-v(Tt*It))-v(Et*y)),o=B+m(ue(B,a+8|0),192)|0,f[o+100>>2]=0,C[o+88>>2]=R(v(D(v(C[d+228>>2]*C[f[a+400>>2]+228>>2]),v(-10))),v(10)),h=f[W+4>>2],f[(d=o+52|0)>>2]=f[W>>2],f[d+4>>2]=h,h=f[Yt+4>>2],f[(d=o+60|0)>>2]=f[Yt>>2],f[d+4>>2]=h,f[o+48>>2]=0,C[o+44>>2]=F,C[o+40>>2]=w,C[o+36>>2]=G}qr()}}if((0|(Wt=Wt+1|0))==(0|i))break}Z=a+496|0}(t,f[t+256>>2],r,e),qr(),Z=i+16|0},function(t,e){t|=0,e=v(e);var i=0,r=0,n=0,a=0;if((0|(r=f[t+8>>2]))>=1)for(;!(i=f[f[t+16>>2]+n>>2])|!(2&f[i+252>>2])|!(2&_[i+204|0])|2==f[i+220>>2]||(Ui(i,e),r=f[t+8>>2]),n=n+4|0,(0|(a=a+1|0))<(0|r););},function(t,e){t|=0,e|=0;var i,r=0,n=0,a=0,o=0,h=0,d=v(0),g=v(0),m=v(0),y=0,p=v(0),R=0,D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),z=v(0),pt=0,Dt=v(0),It=v(0),St=v(0),Tt=0,Et=v(0),Ot=0,Nt=v(0),Ft=v(0),Vt=v(0),Gt=0,Lt=0,wt=0,xt=v(0),Qt=v(0),Wt=v(0),Yt=0,Pt=v(0),Mt=v(0),Zt=0,Ut=v(0);Z=i=Z-176|0,r=0|yt[f[f[t>>2]+20>>2]](t),r=0|yt[f[f[r>>2]+56>>2]](r),a=0|yt[f[f[t>>2]+20>>2]](t),a=0|yt[f[f[a>>2]+56>>2]](a);t:if(!((Dt=C[e+40>>2])<=v(0)||(o=f[e+4>>2]+-3|0,o>>>0>9))){switch(n=2048&r,y=4096&a,o-1|0){default:if(f[(a=i+172|0)>>2]=0,f[(r=o=i+164|0)>>2]=0,f[r+4>>2]=0,f[(r=i+156|0)>>2]=0,f[r+4>>2]=0,f[(r=i+124|0)>>2]=0,f[r+4>>2]=0,f[(r=i+136|0)>>2]=0,f[r+4>>2]=0,f[i+132>>2]=1065353216,f[i+152>>2]=1065353216,f[i+116>>2]=0,f[i+120>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+112>>2]=1065353216,r=f[e+28>>2],p=C[r+52>>2],B=C[r+8>>2],E=C[r+12>>2],D=C[r+56>>2],F=C[r+28>>2],V=C[r+20>>2],w=C[r+24>>2],d=C[r+60>>2],m=C[r+44>>2],g=C[r+36>>2],Q=C[r+40>>2],W=C[r+4>>2],f[a>>2]=0,pt=i+168|0,G=d,d=C[e+300>>2],Y=v(g*d),g=C[e+304>>2],z=m,m=C[e+308>>2],C[pt>>2]=G+v(v(Y+v(Q*g))+v(z*m)),C[o>>2]=D+v(v(v(d*V)+v(g*w))+v(m*F)),C[i+160>>2]=p+v(v(v(d*W)+v(g*B))+v(m*E)),r=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[r>>2]+64>>2]](r,i+112|0,Dt),r=f[e+32>>2],p=C[r+52>>2],B=C[r+8>>2],E=C[r+12>>2],D=C[r+56>>2],F=C[r+28>>2],V=C[r+20>>2],w=C[r+24>>2],d=C[r+60>>2],m=C[r+44>>2],g=C[r+36>>2],Q=C[r+40>>2],W=C[r+4>>2],f[a>>2]=0,G=d,d=C[e+316>>2],Y=v(g*d),g=C[e+320>>2],z=m,m=C[e+324>>2],C[pt>>2]=G+v(v(Y+v(Q*g))+v(z*m)),C[o>>2]=D+v(v(v(d*V)+v(g*w))+v(m*F)),C[i+160>>2]=p+v(v(v(d*W)+v(g*B))+v(m*E)),!n)break t;t=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[t>>2]+64>>2]](t,i+112|0,Dt);break t;case 0:if(r=f[e+28>>2],xt=C[r+52>>2],d=C[r+8>>2],g=C[r+12>>2],w=C[e+584>>2],Q=C[e+552>>2],W=C[e+568>>2],Qt=C[r+56>>2],Wt=C[r+60>>2],Et=C[e+608>>2],z=C[e+600>>2],Nt=C[e+604>>2],m=C[r+28>>2],p=C[r+20>>2],B=C[r+24>>2],Ft=C[e+588>>2],G=C[e+556>>2],Y=C[e+572>>2],It=C[e+592>>2],E=C[r+44>>2],Vt=C[e+560>>2],D=C[r+36>>2],St=C[e+576>>2],F=C[r+40>>2],V=C[r+4>>2],f[i+172>>2]=0,f[i+156>>2]=0,f[i+140>>2]=0,C[i+152>>2]=v(v(Vt*D)+v(St*F))+v(It*E),C[i+148>>2]=v(v(G*D)+v(Y*F))+v(Ft*E),C[i+136>>2]=v(v(Vt*p)+v(St*B))+v(It*m),C[i+132>>2]=v(v(G*p)+v(Y*B))+v(Ft*m),C[i+168>>2]=Wt+v(v(v(D*z)+v(F*Nt))+v(E*Et)),C[i+164>>2]=Qt+v(v(v(p*z)+v(B*Nt))+v(m*Et)),f[i+124>>2]=0,C[i+144>>2]=v(v(Q*D)+v(W*F))+v(w*E),C[i+128>>2]=v(v(Q*p)+v(W*B))+v(w*m),C[i+120>>2]=v(v(V*Vt)+v(d*St))+v(g*It),C[i+116>>2]=v(v(V*G)+v(d*Y))+v(g*Ft),C[i+112>>2]=v(v(Q*V)+v(W*d))+v(w*g),C[i+160>>2]=xt+v(v(v(V*z)+v(d*Nt))+v(g*Et)),n?(r=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[r>>2]+64>>2]](r,i+112|0,Dt),r=f[e+32>>2],xt=C[r+52>>2],d=C[r+8>>2],g=C[r+12>>2],Qt=C[r+56>>2],Wt=C[r+60>>2],w=C[e+672>>2],Q=C[e+664>>2],W=C[e+668>>2],m=C[r+28>>2],p=C[r+20>>2],B=C[r+24>>2],Et=C[e+648>>2],z=C[e+616>>2],Nt=C[e+632>>2],Ft=C[e+652>>2],G=C[e+620>>2],Y=C[e+636>>2],It=C[e+656>>2],E=C[r+44>>2],Vt=C[e+624>>2],D=C[r+36>>2],St=C[e+640>>2],F=C[r+40>>2],V=C[r+4>>2],f[i+172>>2]=0,f[i+156>>2]=0,f[i+140>>2]=0,C[i+152>>2]=v(v(Vt*D)+v(St*F))+v(It*E),C[i+148>>2]=v(v(G*D)+v(Y*F))+v(Ft*E),C[i+144>>2]=v(v(z*D)+v(Nt*F))+v(Et*E),C[i+136>>2]=v(v(Vt*p)+v(St*B))+v(It*m),C[i+132>>2]=v(v(G*p)+v(Y*B))+v(Ft*m),C[i+168>>2]=Wt+v(v(v(D*Q)+v(F*W))+v(E*w)),C[i+164>>2]=Qt+v(v(v(p*Q)+v(B*W))+v(m*w)),C[i+160>>2]=xt+v(v(v(V*Q)+v(d*W))+v(g*w)),f[i+124>>2]=0,C[i+128>>2]=v(v(z*p)+v(Nt*B))+v(Et*m),C[i+120>>2]=v(v(V*Vt)+v(d*St))+v(g*It),C[i+116>>2]=v(v(V*G)+v(d*Y))+v(g*Ft),C[i+112>>2]=v(v(z*V)+v(Nt*d))+v(Et*g),r=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[r>>2]+64>>2]](r,i+112|0,Dt)):(r=f[e+32>>2],xt=C[r+52>>2],Qt=C[r+56>>2],Wt=C[r+60>>2],w=C[e+672>>2],Q=C[e+664>>2],W=C[e+668>>2],d=C[r+8>>2],g=C[r+12>>2],m=C[r+28>>2],p=C[r+20>>2],B=C[r+24>>2],Et=C[e+648>>2],z=C[e+616>>2],Nt=C[e+632>>2],Ft=C[e+652>>2],G=C[e+620>>2],Y=C[e+636>>2],It=C[e+656>>2],E=C[r+44>>2],Vt=C[e+624>>2],D=C[r+36>>2],St=C[e+640>>2],F=C[r+40>>2],V=C[r+4>>2],f[i+172>>2]=0,f[i+156>>2]=0,f[i+140>>2]=0,f[i+124>>2]=0,C[i+152>>2]=v(v(Vt*D)+v(St*F))+v(It*E),C[i+148>>2]=v(v(G*D)+v(Y*F))+v(Ft*E),C[i+144>>2]=v(v(z*D)+v(Nt*F))+v(Et*E),C[i+136>>2]=v(v(Vt*p)+v(St*B))+v(It*m),C[i+132>>2]=v(v(G*p)+v(Y*B))+v(Ft*m),C[i+128>>2]=v(v(z*p)+v(Nt*B))+v(Et*m),C[i+120>>2]=v(v(V*Vt)+v(d*St))+v(g*It),C[i+116>>2]=v(v(V*G)+v(d*Y))+v(g*Ft),C[i+112>>2]=v(v(z*V)+v(Nt*d))+v(Et*g),C[i+168>>2]=Wt+v(v(v(D*Q)+v(F*W))+v(E*w)),C[i+164>>2]=Qt+v(v(v(p*Q)+v(B*W))+v(m*w)),C[i+160>>2]=xt+v(v(v(V*Q)+v(d*W))+v(g*w))),!y|(d=function(t){var e=v(0);return(e=Wf(v(C[t>>2]-C[t+4>>2])))<v(-3.1415927410125732)?v(e+v(6.2831854820251465)):e>v(3.1415927410125732)^1?e:v(e+v(-6.2831854820251465))}(r=e+688|0))==(g=function(t){var e=v(0);return(e=Wf(v(C[t>>2]+C[t+4>>2])))<v(-3.1415927410125732)?v(e+v(6.2831854820251465)):e>v(3.1415927410125732)^1?e:v(e+v(-6.2831854820251465))}(r)))break t;m=C[e+692>>2],f[i+96>>2]=f[i+120>>2],f[i+100>>2]=f[i+136>>2],f[i+108>>2]=0,f[i+104>>2]=f[i+152>>2],f[i+80>>2]=f[i+112>>2],f[i+84>>2]=f[i+128>>2],f[i+92>>2]=0,f[i+88>>2]=f[i+144>>2],t=0|yt[f[f[t>>2]+20>>2]](t),f[(e=i+72|0)>>2]=0,f[e+4>>2]=0,f[i+64>>2]=0,f[i+68>>2]=0,e=m>v(0),yt[f[f[t>>2]+68>>2]](t,i+160|0,i+96|0,i+80|0,Dt,Dt,e?d:v(0),e?g:v(6.2831854820251465),i- -64|0,e,v(10));break t;case 1:if(r=f[e+28>>2],xt=C[r+52>>2],d=C[r+8>>2],g=C[r+12>>2],w=C[e+332>>2],Q=C[e+300>>2],W=C[e+316>>2],Qt=C[r+56>>2],Wt=C[r+60>>2],Et=C[e+356>>2],z=C[e+348>>2],Nt=C[e+352>>2],m=C[r+28>>2],p=C[r+20>>2],B=C[r+24>>2],Ft=C[e+336>>2],G=C[e+304>>2],Y=C[e+320>>2],It=C[e+340>>2],E=C[r+44>>2],Vt=C[e+308>>2],D=C[r+36>>2],St=C[e+324>>2],F=C[r+40>>2],V=C[r+4>>2],f[i+172>>2]=0,f[i+156>>2]=0,f[i+140>>2]=0,C[i+152>>2]=v(v(Vt*D)+v(St*F))+v(It*E),C[i+148>>2]=v(v(G*D)+v(Y*F))+v(Ft*E),C[i+136>>2]=v(v(Vt*p)+v(St*B))+v(It*m),C[i+132>>2]=v(v(G*p)+v(Y*B))+v(Ft*m),C[i+168>>2]=Wt+v(v(v(D*z)+v(F*Nt))+v(E*Et)),C[i+164>>2]=Qt+v(v(v(p*z)+v(B*Nt))+v(m*Et)),f[i+124>>2]=0,C[i+144>>2]=v(v(Q*D)+v(W*F))+v(w*E),C[i+128>>2]=v(v(Q*p)+v(W*B))+v(w*m),C[i+120>>2]=v(v(V*Vt)+v(d*St))+v(g*It),C[i+116>>2]=v(v(V*G)+v(d*Y))+v(g*Ft),C[i+112>>2]=v(v(Q*V)+v(W*d))+v(w*g),C[i+160>>2]=xt+v(v(v(V*z)+v(d*Nt))+v(g*Et)),n?(r=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[r>>2]+64>>2]](r,i+112|0,Dt),r=f[e+32>>2],xt=C[r+52>>2],d=C[r+8>>2],g=C[r+12>>2],Qt=C[r+56>>2],Wt=C[r+60>>2],w=C[e+420>>2],Q=C[e+412>>2],W=C[e+416>>2],m=C[r+28>>2],p=C[r+20>>2],B=C[r+24>>2],Et=C[e+396>>2],z=C[e+364>>2],Nt=C[e+380>>2],Ft=C[e+400>>2],G=C[e+368>>2],Y=C[e+384>>2],It=C[e+404>>2],E=C[r+44>>2],Vt=C[e+372>>2],D=C[r+36>>2],St=C[e+388>>2],F=C[r+40>>2],V=C[r+4>>2],f[i+172>>2]=0,f[i+156>>2]=0,f[i+140>>2]=0,C[i+152>>2]=v(v(Vt*D)+v(St*F))+v(It*E),C[i+148>>2]=v(v(G*D)+v(Y*F))+v(Ft*E),C[i+144>>2]=v(v(z*D)+v(Nt*F))+v(Et*E),C[i+136>>2]=v(v(Vt*p)+v(St*B))+v(It*m),C[i+132>>2]=v(v(G*p)+v(Y*B))+v(Ft*m),C[i+168>>2]=Wt+v(v(v(D*Q)+v(F*W))+v(E*w)),C[i+164>>2]=Qt+v(v(v(p*Q)+v(B*W))+v(m*w)),C[i+160>>2]=xt+v(v(v(V*Q)+v(d*W))+v(g*w)),f[i+124>>2]=0,C[i+128>>2]=v(v(z*p)+v(Nt*B))+v(Et*m),C[i+120>>2]=v(v(V*Vt)+v(d*St))+v(g*It),C[i+116>>2]=v(v(V*G)+v(d*Y))+v(g*Ft),C[i+112>>2]=v(v(z*V)+v(Nt*d))+v(Et*g),r=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[r>>2]+64>>2]](r,i+112|0,Dt)):(r=f[e+32>>2],xt=C[r+52>>2],Qt=C[r+56>>2],Wt=C[r+60>>2],w=C[e+420>>2],Q=C[e+412>>2],W=C[e+416>>2],d=C[r+8>>2],g=C[r+12>>2],m=C[r+28>>2],p=C[r+20>>2],B=C[r+24>>2],Et=C[e+396>>2],z=C[e+364>>2],Nt=C[e+380>>2],Ft=C[e+400>>2],G=C[e+368>>2],Y=C[e+384>>2],It=C[e+404>>2],E=C[r+44>>2],Vt=C[e+372>>2],D=C[r+36>>2],St=C[e+388>>2],F=C[r+40>>2],V=C[r+4>>2],f[i+172>>2]=0,f[i+156>>2]=0,f[i+140>>2]=0,f[i+124>>2]=0,C[i+152>>2]=v(v(Vt*D)+v(St*F))+v(It*E),C[i+148>>2]=v(v(G*D)+v(Y*F))+v(Ft*E),C[i+144>>2]=v(v(z*D)+v(Nt*F))+v(Et*E),C[i+136>>2]=v(v(Vt*p)+v(St*B))+v(It*m),C[i+132>>2]=v(v(G*p)+v(Y*B))+v(Ft*m),C[i+128>>2]=v(v(z*p)+v(Nt*B))+v(Et*m),C[i+120>>2]=v(v(V*Vt)+v(d*St))+v(g*It),C[i+116>>2]=v(v(V*G)+v(d*Y))+v(g*Ft),C[i+112>>2]=v(v(z*V)+v(Nt*d))+v(Et*g),C[i+168>>2]=Wt+v(v(v(D*Q)+v(F*W))+v(E*w)),C[i+164>>2]=Qt+v(v(v(p*Q)+v(B*W))+v(m*w)),C[i+160>>2]=xt+v(v(v(V*Q)+v(d*W))+v(g*w))),!y)break t;for(Zf(i+96|0,e,v(6.0868353843688965),Dt),f[i+108>>2]=0,d=C[i+96>>2],g=C[i+100>>2],m=C[i+104>>2],C[i+104>>2]=v(v(v(d*C[i+144>>2])+v(g*C[i+148>>2]))+v(m*C[i+152>>2]))+C[i+168>>2],C[i+100>>2]=v(v(v(d*C[i+128>>2])+v(g*C[i+132>>2]))+v(m*C[i+136>>2]))+C[i+164>>2],C[i+96>>2]=v(v(v(d*C[i+112>>2])+v(g*C[i+116>>2]))+v(m*C[i+120>>2]))+C[i+160>>2],a=i+160|0,o=i+72|0,r=0;Zf(i+80|0,e,v(v(v(0|r)*v(6.283185005187988))*v(.03125)),Dt),f[i+92>>2]=0,d=C[i+80>>2],g=C[i+84>>2],m=C[i+88>>2],C[i+88>>2]=v(v(v(d*C[i+144>>2])+v(g*C[i+148>>2]))+v(m*C[i+152>>2]))+C[i+168>>2],C[i+84>>2]=v(v(v(d*C[i+128>>2])+v(g*C[i+132>>2]))+v(m*C[i+136>>2]))+C[i+164>>2],C[i+80>>2]=v(v(v(d*C[i+112>>2])+v(g*C[i+116>>2]))+v(m*C[i+120>>2]))+C[i+160>>2],n=0|yt[f[f[t>>2]+20>>2]](t),f[o>>2]=0,f[o+4>>2]=0,f[i+64>>2]=0,f[i+68>>2]=0,yt[f[f[n>>2]+16>>2]](n,i+96|0,i+80|0,i- -64|0),3&r||(n=0|yt[f[f[t>>2]+20>>2]](t),f[o>>2]=0,f[o+4>>2]=0,f[i+64>>2]=0,f[i+68>>2]=0,yt[f[f[n>>2]+16>>2]](n,a,i+80|0,i- -64|0)),Gt=f[(pt=i+88|0)+4>>2],f[(n=i+104|0)>>2]=f[pt>>2],f[n+4>>2]=Gt,n=f[i+84>>2],f[i+96>>2]=f[i+80>>2],f[i+100>>2]=n,32!=(0|(r=r+1|0)););Q=C[e+512>>2],W=C[e+452>>2],r=f[e+32>>2],C[r+404>>2]>v(0)?(d=C[r+36>>2],D=C[e+412>>2],g=C[r+40>>2],F=C[e+416>>2],Et=v(v(d*D)+v(g*F)),m=C[r+20>>2],p=C[r+24>>2],B=C[r+28>>2],z=C[e+420>>2],Nt=v(v(v(m*D)+v(p*F))+v(B*z)),E=C[r+4>>2],G=v(E*D),D=C[r+8>>2],G=v(G+v(D*F)),F=C[r+12>>2],Ft=v(G+v(F*z)),G=C[e+372>>2],Y=C[e+388>>2],It=C[e+404>>2],V=C[r+44>>2],Vt=v(v(v(G*d)+v(Y*g))+v(It*V)),St=C[e+368>>2],xt=C[e+384>>2],Qt=C[e+400>>2],w=v(v(v(St*d)+v(xt*g))+v(Qt*V)),Wt=C[e+364>>2],Pt=C[e+380>>2],Mt=C[e+396>>2],d=v(v(v(Wt*d)+v(Pt*g))+v(Mt*V)),Ut=v(v(v(G*m)+v(Y*p))+v(It*B)),g=v(v(v(St*m)+v(xt*p))+v(Qt*B)),m=v(v(v(Wt*m)+v(Pt*p))+v(Mt*B)),G=v(v(v(E*G)+v(D*Y))+v(F*It)),p=v(v(v(E*St)+v(D*xt))+v(F*Qt)),B=v(v(v(Wt*E)+v(Pt*D))+v(Mt*F)),E=v(V*z)):(r=f[e+28>>2],d=C[r+36>>2],D=C[e+348>>2],g=C[r+40>>2],F=C[e+352>>2],Et=v(v(d*D)+v(g*F)),m=C[r+20>>2],p=C[r+24>>2],B=C[r+28>>2],z=C[e+356>>2],Nt=v(v(v(m*D)+v(p*F))+v(B*z)),E=C[r+4>>2],G=v(E*D),D=C[r+8>>2],G=v(G+v(D*F)),F=C[r+12>>2],Ft=v(G+v(F*z)),G=C[e+308>>2],Y=C[e+324>>2],It=C[e+340>>2],V=C[r+44>>2],Vt=v(v(v(G*d)+v(Y*g))+v(It*V)),St=C[e+304>>2],xt=C[e+320>>2],Qt=C[e+336>>2],w=v(v(v(St*d)+v(xt*g))+v(Qt*V)),Wt=C[e+300>>2],Pt=C[e+316>>2],Mt=C[e+332>>2],d=v(v(v(Wt*d)+v(Pt*g))+v(Mt*V)),Ut=v(v(v(G*m)+v(Y*p))+v(It*B)),g=v(v(v(St*m)+v(xt*p))+v(Qt*B)),m=v(v(v(Wt*m)+v(Pt*p))+v(Mt*B)),G=v(v(v(E*G)+v(D*Y))+v(F*It)),p=v(v(v(E*St)+v(D*xt))+v(F*Qt)),B=v(v(v(Wt*E)+v(Pt*D))+v(Mt*F)),E=v(V*z)),f[i+156>>2]=0,C[i+152>>2]=Vt,C[i+148>>2]=w,C[i+144>>2]=d,f[i+140>>2]=0,C[i+136>>2]=Ut,C[i+132>>2]=g,C[i+128>>2]=m,f[i+124>>2]=0,C[i+120>>2]=G,C[i+116>>2]=p,C[i+112>>2]=B,D=C[r+52>>2],F=C[r+56>>2],V=C[r+60>>2],f[i+172>>2]=0,C[i+168>>2]=V+v(Et+E),C[i+164>>2]=Nt+F,C[i+160>>2]=D+Ft,o=f[(r=a+8|0)+4>>2],f[(e=i+88|0)>>2]=f[r>>2],f[e+4>>2]=o,e=f[a+4>>2],f[i+80>>2]=f[a>>2],f[i+84>>2]=e,f[i+76>>2]=0,C[i+72>>2]=d,C[i+68>>2]=m,C[i+64>>2]=B,f[i+60>>2]=0,C[i+56>>2]=w,C[i+52>>2]=g,C[i+48>>2]=p,t=0|yt[f[f[t>>2]+20>>2]](t),f[(e=i+40|0)>>2]=0,f[e+4>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,yt[f[f[t>>2]+68>>2]](t,i+80|0,i- -64|0,i+48|0,Dt,Dt,v(v(-Q)-W),v(W-Q),i+32|0,1,v(10));break t;case 2:case 5:if(o=f[(a=e+1072|0)+4>>2],f[(r=h=i+120|0)>>2]=f[a>>2],f[r+4>>2]=o,o=f[(a=e+1088|0)+4>>2],f[(r=i+136|0)>>2]=f[a>>2],f[r+4>>2]=o,o=f[(a=e+1104|0)+4>>2],f[(r=i+152|0)>>2]=f[a>>2],f[r+4>>2]=o,o=f[(a=e+1120|0)+4>>2],f[(r=i+168|0)>>2]=f[a>>2],f[r+4>>2]=o,a=f[(r=pt=e+1064|0)+4>>2],f[i+112>>2]=f[r>>2],f[i+116>>2]=a,a=f[(r=Gt=e+1080|0)+4>>2],f[i+128>>2]=f[r>>2],f[i+132>>2]=a,a=f[(r=Lt=e+1096|0)+4>>2],f[i+144>>2]=f[r>>2],f[i+148>>2]=a,a=f[(r=wt=e+1112|0)+4>>2],f[i+160>>2]=f[r>>2],f[i+164>>2]=a,r=i+160|0,a=i+144|0,o=i+128|0,n?(n=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[n>>2]+64>>2]](n,i+112|0,Dt),Ot=f[(R=e+1184|0)+4>>2],f[(n=r+8|0)>>2]=f[R>>2],f[n+4>>2]=Ot,R=f[(n=e+1176|0)+4>>2],f[r>>2]=f[n>>2],f[r+4>>2]=R,R=f[(n=e+1144|0)+4>>2],f[o>>2]=f[n>>2],f[o+4>>2]=R,Ot=f[(R=e+1152|0)+4>>2],f[(n=o+8|0)>>2]=f[R>>2],f[n+4>>2]=Ot,R=f[(n=e+1160|0)+4>>2],f[a>>2]=f[n>>2],f[a+4>>2]=R,Ot=f[(R=e+1168|0)+4>>2],f[(n=a+8|0)>>2]=f[R>>2],f[n+4>>2]=Ot,R=f[(n=e+1136|0)+4>>2],f[h>>2]=f[n>>2],f[h+4>>2]=R,h=f[(n=e+1128|0)+4>>2],f[i+112>>2]=f[n>>2],f[i+116>>2]=h,n=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[n>>2]+64>>2]](n,i+112|0,Dt)):(R=f[(n=e+1136|0)+4>>2],f[h>>2]=f[n>>2],f[h+4>>2]=R,h=f[(n=e+1144|0)+4>>2],f[o>>2]=f[n>>2],f[o+4>>2]=h,R=f[(h=e+1152|0)+4>>2],f[(n=o+8|0)>>2]=f[h>>2],f[n+4>>2]=R,h=f[(n=e+1160|0)+4>>2],f[a>>2]=f[n>>2],f[a+4>>2]=h,R=f[(h=e+1168|0)+4>>2],f[(n=a+8|0)>>2]=f[h>>2],f[n+4>>2]=R,h=f[(n=e+1176|0)+4>>2],f[r>>2]=f[n>>2],f[r+4>>2]=h,R=f[(h=e+1184|0)+4>>2],f[(n=r+8|0)>>2]=f[h>>2],f[n+4>>2]=R,h=f[(n=e+1128|0)+4>>2],f[i+112>>2]=f[n>>2],f[i+116>>2]=h),!y)break t;n=f[Gt+4>>2],f[o>>2]=f[Gt>>2],f[o+4>>2]=n,n=f[Lt+4>>2],f[a>>2]=f[Lt>>2],f[a+4>>2]=n,n=f[wt+4>>2],f[r>>2]=f[wt>>2],f[r+4>>2]=n,R=f[(h=pt+8|0)+4>>2],n=y=i+120|0,Tt=f[h>>2],f[n>>2]=Tt,f[n+4>>2]=R,Ot=f[(R=Gt+8|0)+4>>2],f[(n=h=o+8|0)>>2]=f[R>>2],f[n+4>>2]=Ot,Yt=f[(Ot=Lt+8|0)+4>>2],f[(n=R=a+8|0)>>2]=f[Ot>>2],f[n+4>>2]=Yt,Zt=f[(Yt=wt+8|0)+4>>2],f[(n=Ot=r+8|0)>>2]=f[Yt>>2],f[n+4>>2]=Zt,n=f[pt+4>>2],f[i+112>>2]=f[pt>>2],f[i+116>>2]=n,f[i+96>>2]=Tt,f[i+100>>2]=f[i+136>>2],f[i+108>>2]=0,f[i+104>>2]=f[i+152>>2],f[i+80>>2]=f[i+112>>2],f[i+84>>2]=f[i+128>>2],f[i+92>>2]=0,f[i+88>>2]=f[i+144>>2],d=C[e+932>>2],g=C[e+936>>2],m=C[e+996>>2],p=C[e+1e3>>2],Tt=0|yt[f[f[t>>2]+20>>2]](t),f[(n=i+72|0)>>2]=0,f[n+4>>2]=0,f[i+64>>2]=0,f[i+68>>2]=0,n=e+1176|0,yt[f[f[Tt>>2]+72>>2]](Tt,n,i+96|0,i+80|0,v(Dt*v(.8999999761581421)),d,g,m,p,i- -64|0,v(10),1),f[i+92>>2]=0,f[i+88>>2]=f[i+148>>2],f[i+84>>2]=f[i+132>>2],f[i+80>>2]=f[i+116>>2],m=Vf(e,1),p=Vf(e,2),Yt=f[(Tt=e+1136|0)+4>>2],f[y>>2]=f[Tt>>2],f[y+4>>2]=Yt,Tt=f[(y=e+1144|0)+4>>2],f[o>>2]=f[y>>2],f[o+4>>2]=Tt,Tt=f[(y=e+1152|0)+4>>2],f[h>>2]=f[y>>2],f[h+4>>2]=Tt,h=f[(y=e+1160|0)+4>>2],f[a>>2]=f[y>>2],f[a+4>>2]=h,h=f[(y=e+1168|0)+4>>2],f[R>>2]=f[y>>2],f[R+4>>2]=h,h=f[(y=e+1128|0)+4>>2],f[i+112>>2]=f[y>>2],f[i+116>>2]=h,d=dr(p),g=C[i+80>>2],p=Cr(p),B=C[i+84>>2],C[i+68>>2]=v(p*B)-v(d*g),E=dr(m),m=Cr(m),D=C[i+88>>2],C[i+72>>2]=v(v(g*v(p*E))+v(B*v(E*d)))+v(m*D),C[i+64>>2]=v(v(g*v(m*p))+v(B*v(m*d)))-v(E*D),h=f[(y=e+1184|0)+4>>2],f[Ot>>2]=f[y>>2],f[Ot+4>>2]=h,y=f[n+4>>2],f[r>>2]=f[n>>2],f[r+4>>2]=y,f[i+60>>2]=0,C[i+56>>2]=-C[i+144>>2],C[i+52>>2]=-C[i+128>>2],C[i+48>>2]=-C[i+112>>2],(d=C[e+868>>2])>(g=C[e+872>>2])?(y=0|yt[f[f[t>>2]+20>>2]](t),f[(h=i+40|0)>>2]=0,f[h+4>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,yt[f[f[y>>2]+68>>2]](y,n,i+48|0,i- -64|0,Dt,Dt,v(-3.1415927410125732),v(3.1415927410125732),i+32|0,0,v(10))):d<g&&(y=0|yt[f[f[t>>2]+20>>2]](t),f[(h=i+40|0)>>2]=0,f[h+4>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,yt[f[f[y>>2]+68>>2]](y,n,i+48|0,i- -64|0,Dt,Dt,d,g,i+32|0,1,v(10))),n=f[Gt+4>>2],f[o>>2]=f[Gt>>2],f[o+4>>2]=n,n=f[Lt+4>>2],f[a>>2]=f[Lt>>2],f[a+4>>2]=n,n=f[wt+4>>2],f[r>>2]=f[wt>>2],f[r+4>>2]=n,h=f[(y=pt+8|0)+4>>2],f[(n=i+120|0)>>2]=f[y>>2],f[n+4>>2]=h,Gt=f[(n=Gt+8|0)+4>>2],f[(o=o+8|0)>>2]=f[n>>2],f[o+4>>2]=Gt,n=f[(o=Lt+8|0)+4>>2],f[(a=a+8|0)>>2]=f[o>>2],f[a+4>>2]=n,o=f[(a=wt+8|0)+4>>2],f[(r=r+8|0)>>2]=f[a>>2],f[r+4>>2]=o,r=f[pt+4>>2],f[i+112>>2]=f[pt>>2],f[i+116>>2]=r,o=f[(a=e+688|0)+4>>2],f[(r=i+40|0)>>2]=f[a>>2],f[r+4>>2]=o,a=f[(r=e+680|0)+4>>2],f[i+32>>2]=f[r>>2],f[i+36>>2]=a,o=f[(a=e+704|0)+4>>2],f[(r=i+24|0)>>2]=f[a>>2],f[r+4>>2]=o,r=f[(e=e+696|0)+4>>2],f[i+16>>2]=f[e>>2],f[i+20>>2]=r,t=0|yt[f[f[t>>2]+20>>2]](t),f[(e=i+8|0)>>2]=0,f[e+4>>2]=0,f[i>>2]=0,f[i+4>>2]=0,yt[f[f[t>>2]+80>>2]](t,i+32|0,i+16|0,i+112|0,i);break t;case 8:if(o=f[(a=e+1244|0)+4>>2],f[(r=h=i+120|0)>>2]=f[a>>2],f[r+4>>2]=o,o=f[(a=e+1260|0)+4>>2],f[(r=i+136|0)>>2]=f[a>>2],f[r+4>>2]=o,o=f[(a=e+1276|0)+4>>2],f[(r=i+152|0)>>2]=f[a>>2],f[r+4>>2]=o,o=f[(a=e+1292|0)+4>>2],f[(r=i+168|0)>>2]=f[a>>2],f[r+4>>2]=o,a=f[(r=pt=e+1236|0)+4>>2],f[i+112>>2]=f[r>>2],f[i+116>>2]=a,a=f[(r=Gt=e+1252|0)+4>>2],f[i+128>>2]=f[r>>2],f[i+132>>2]=a,a=f[(r=Lt=e+1268|0)+4>>2],f[i+144>>2]=f[r>>2],f[i+148>>2]=a,a=f[(r=wt=e+1284|0)+4>>2],f[i+160>>2]=f[r>>2],f[i+164>>2]=a,r=i+160|0,a=i+144|0,o=i+128|0,n?(n=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[n>>2]+64>>2]](n,i+112|0,Dt),Ot=f[(R=e+1356|0)+4>>2],f[(n=r+8|0)>>2]=f[R>>2],f[n+4>>2]=Ot,R=f[(n=e+1348|0)+4>>2],f[r>>2]=f[n>>2],f[r+4>>2]=R,R=f[(n=e+1316|0)+4>>2],f[o>>2]=f[n>>2],f[o+4>>2]=R,Ot=f[(R=e+1324|0)+4>>2],f[(n=o+8|0)>>2]=f[R>>2],f[n+4>>2]=Ot,R=f[(n=e+1332|0)+4>>2],f[a>>2]=f[n>>2],f[a+4>>2]=R,Ot=f[(R=e+1340|0)+4>>2],f[(n=a+8|0)>>2]=f[R>>2],f[n+4>>2]=Ot,R=f[(n=e+1308|0)+4>>2],f[h>>2]=f[n>>2],f[h+4>>2]=R,h=f[(n=e+1300|0)+4>>2],f[i+112>>2]=f[n>>2],f[i+116>>2]=h,n=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[n>>2]+64>>2]](n,i+112|0,Dt)):(R=f[(n=e+1308|0)+4>>2],f[h>>2]=f[n>>2],f[h+4>>2]=R,h=f[(n=e+1316|0)+4>>2],f[o>>2]=f[n>>2],f[o+4>>2]=h,R=f[(h=e+1324|0)+4>>2],f[(n=o+8|0)>>2]=f[h>>2],f[n+4>>2]=R,h=f[(n=e+1332|0)+4>>2],f[a>>2]=f[n>>2],f[a+4>>2]=h,R=f[(h=e+1340|0)+4>>2],f[(n=a+8|0)>>2]=f[h>>2],f[n+4>>2]=R,h=f[(n=e+1348|0)+4>>2],f[r>>2]=f[n>>2],f[r+4>>2]=h,R=f[(h=e+1356|0)+4>>2],f[(n=r+8|0)>>2]=f[h>>2],f[n+4>>2]=R,h=f[(n=e+1300|0)+4>>2],f[i+112>>2]=f[n>>2],f[i+116>>2]=h),!y)break t;n=f[Gt+4>>2],f[o>>2]=f[Gt>>2],f[o+4>>2]=n,n=f[Lt+4>>2],f[a>>2]=f[Lt>>2],f[a+4>>2]=n,n=f[wt+4>>2],f[r>>2]=f[wt>>2],f[r+4>>2]=n,R=f[(h=pt+8|0)+4>>2],n=y=i+120|0,Tt=f[h>>2],f[n>>2]=Tt,f[n+4>>2]=R,Ot=f[(R=Gt+8|0)+4>>2],f[(n=h=o+8|0)>>2]=f[R>>2],f[n+4>>2]=Ot,Yt=f[(Ot=Lt+8|0)+4>>2],f[(n=R=a+8|0)>>2]=f[Ot>>2],f[n+4>>2]=Yt,Zt=f[(Yt=wt+8|0)+4>>2],f[(n=Ot=r+8|0)>>2]=f[Yt>>2],f[n+4>>2]=Zt,n=f[pt+4>>2],f[i+112>>2]=f[pt>>2],f[i+116>>2]=n,f[i+96>>2]=Tt,f[i+100>>2]=f[i+136>>2],f[i+108>>2]=0,f[i+104>>2]=f[i+152>>2],f[i+80>>2]=f[i+112>>2],f[i+84>>2]=f[i+128>>2],f[i+92>>2]=0,f[i+88>>2]=f[i+144>>2],d=C[e+1060>>2],g=C[e+1144>>2],m=C[e+1148>>2],p=C[e+1056>>2],Tt=0|yt[f[f[t>>2]+20>>2]](t),f[(n=i+72|0)>>2]=0,f[n+4>>2]=0,f[i+64>>2]=0,f[i+68>>2]=0,n=e+1348|0,yt[f[f[Tt>>2]+72>>2]](Tt,n,i+96|0,i+80|0,v(Dt*v(.8999999761581421)),p,d,g,m,i- -64|0,v(10),1),f[i+92>>2]=0,p=C[(Tt=i+148|0)>>2],f[i+88>>2]=f[Tt>>2],d=C[(Tt=i+132|0)>>2],f[i+84>>2]=f[Tt>>2],g=C[i+116>>2],f[i+80>>2]=f[i+116>>2],B=C[e+1368>>2],E=C[e+1372>>2],Yt=f[(Tt=e+1308|0)+4>>2],f[y>>2]=f[Tt>>2],f[y+4>>2]=Yt,Tt=f[(y=e+1316|0)+4>>2],f[o>>2]=f[y>>2],f[o+4>>2]=Tt,Tt=f[(y=e+1324|0)+4>>2],f[h>>2]=f[y>>2],f[h+4>>2]=Tt,h=f[(y=e+1332|0)+4>>2],f[a>>2]=f[y>>2],f[a+4>>2]=h,h=f[(y=e+1340|0)+4>>2],f[R>>2]=f[y>>2],f[R+4>>2]=h,y=f[n+4>>2],f[r>>2]=f[n>>2],f[r+4>>2]=y,h=f[(y=e+1356|0)+4>>2],f[Ot>>2]=f[y>>2],f[Ot+4>>2]=h,h=f[(y=e+1300|0)+4>>2],f[i+112>>2]=f[y>>2],f[i+116>>2]=h,m=dr(E),E=Cr(E),C[i+68>>2]=v(E*d)-v(m*g),D=dr(B),B=Cr(B),C[i+72>>2]=v(v(v(E*D)*g)+v(v(D*m)*d))+v(B*p),C[i+64>>2]=v(v(v(B*E)*g)+v(v(B*m)*d))-v(D*p),f[i+60>>2]=0,C[i+56>>2]=-C[i+144>>2],C[i+52>>2]=-C[i+128>>2],C[i+48>>2]=-C[i+112>>2],(d=C[e+968>>2])>(g=C[e+972>>2])?(y=0|yt[f[f[t>>2]+20>>2]](t),f[(h=i+40|0)>>2]=0,f[h+4>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,yt[f[f[y>>2]+68>>2]](y,n,i+48|0,i- -64|0,Dt,Dt,v(-3.1415927410125732),v(3.1415927410125732),i+32|0,0,v(10))):d<g&&(y=0|yt[f[f[t>>2]+20>>2]](t),f[(h=i+40|0)>>2]=0,f[h+4>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,yt[f[f[y>>2]+68>>2]](y,n,i+48|0,i- -64|0,Dt,Dt,d,g,i+32|0,1,v(10))),n=f[Gt+4>>2],f[o>>2]=f[Gt>>2],f[o+4>>2]=n,n=f[Lt+4>>2],f[a>>2]=f[Lt>>2],f[a+4>>2]=n,n=f[wt+4>>2],f[r>>2]=f[wt>>2],f[r+4>>2]=n,h=f[(y=pt+8|0)+4>>2],f[(n=i+120|0)>>2]=f[y>>2],f[n+4>>2]=h,Gt=f[(n=Gt+8|0)+4>>2],f[(o=o+8|0)>>2]=f[n>>2],f[o+4>>2]=Gt,n=f[(o=Lt+8|0)+4>>2],f[(a=a+8|0)>>2]=f[o>>2],f[a+4>>2]=n,o=f[(a=wt+8|0)+4>>2],f[(r=r+8|0)>>2]=f[a>>2],f[r+4>>2]=o,r=f[pt+4>>2],f[i+112>>2]=f[pt>>2],f[i+116>>2]=r,o=f[(a=e+688|0)+4>>2],f[(r=i+40|0)>>2]=f[a>>2],f[r+4>>2]=o,a=f[(r=e+680|0)+4>>2],f[i+32>>2]=f[r>>2],f[i+36>>2]=a,o=f[(a=e+704|0)+4>>2],f[(r=i+24|0)>>2]=f[a>>2],f[r+4>>2]=o,r=f[(e=e+696|0)+4>>2],f[i+16>>2]=f[e>>2],f[i+20>>2]=r,t=0|yt[f[f[t>>2]+20>>2]](t),f[(e=i+8|0)>>2]=0,f[e+4>>2]=0,f[i>>2]=0,f[i+4>>2]=0,yt[f[f[t>>2]+80>>2]](t,i+32|0,i+16|0,i+112|0,i);break t;case 4:case 6:case 7:break t;case 3:}o=f[(a=e+832|0)+4>>2],f[(r=pt=i+120|0)>>2]=f[a>>2],f[r+4>>2]=o,o=f[(a=e+848|0)+4>>2],f[(r=i+136|0)>>2]=f[a>>2],f[r+4>>2]=o,o=f[(a=e+864|0)+4>>2],f[(r=i+152|0)>>2]=f[a>>2],f[r+4>>2]=o,o=f[(a=e+880|0)+4>>2],f[(r=i+168|0)>>2]=f[a>>2],f[r+4>>2]=o,a=f[(r=Gt=e+824|0)+4>>2],f[i+112>>2]=f[r>>2],f[i+116>>2]=a,a=f[(r=e+840|0)+4>>2],f[i+128>>2]=f[r>>2],f[i+132>>2]=a,a=f[(r=e+856|0)+4>>2],f[i+144>>2]=f[r>>2],f[i+148>>2]=a,a=f[(r=e+872|0)+4>>2],f[i+160>>2]=f[r>>2],f[i+164>>2]=a,r=i+160|0,a=i+144|0,o=i+128|0,n?(n=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[n>>2]+64>>2]](n,i+112|0,Dt),wt=f[(Lt=e+944|0)+4>>2],f[(n=r+8|0)>>2]=f[Lt>>2],f[n+4>>2]=wt,Lt=f[(n=e+936|0)+4>>2],f[r>>2]=f[n>>2],f[r+4>>2]=Lt,n=f[(r=e+904|0)+4>>2],f[o>>2]=f[r>>2],f[o+4>>2]=n,r=o+8|0,n=f[(o=e+912|0)+4>>2],f[r>>2]=f[o>>2],f[r+4>>2]=n,o=f[(r=e+920|0)+4>>2],f[a>>2]=f[r>>2],f[a+4>>2]=o,r=a+8|0,o=f[(a=e+928|0)+4>>2],f[r>>2]=f[a>>2],f[r+4>>2]=o,a=f[(r=e+896|0)+4>>2],f[pt>>2]=f[r>>2],f[pt+4>>2]=a,a=f[(r=e+888|0)+4>>2],f[i+112>>2]=f[r>>2],f[i+116>>2]=a,r=0|yt[f[f[t>>2]+20>>2]](t),yt[f[f[r>>2]+64>>2]](r,i+112|0,Dt)):(Lt=f[(n=e+896|0)+4>>2],f[pt>>2]=f[n>>2],f[pt+4>>2]=Lt,pt=f[(n=e+904|0)+4>>2],f[o>>2]=f[n>>2],f[o+4>>2]=pt,pt=f[(n=e+912|0)+4>>2],f[(o=o+8|0)>>2]=f[n>>2],f[o+4>>2]=pt,n=f[(o=e+920|0)+4>>2],f[a>>2]=f[o>>2],f[a+4>>2]=n,n=f[(o=e+928|0)+4>>2],f[(a=a+8|0)>>2]=f[o>>2],f[a+4>>2]=n,o=f[(a=e+936|0)+4>>2],f[r>>2]=f[a>>2],f[r+4>>2]=o,o=f[(a=e+944|0)+4>>2],f[(r=r+8|0)>>2]=f[a>>2],f[r+4>>2]=o,a=f[(r=e+888|0)+4>>2],f[i+112>>2]=f[r>>2],f[i+116>>2]=a),y&&(a=_[e+180|0],d=C[(r=a?Gt:e+888|0)+48>>2],F=C[r+8>>2],V=C[r+4>>2],o=f[r+4>>2],g=C[r+52>>2],w=C[r+24>>2],m=C[r+16>>2],n=f[r+16>>2],Q=C[r+20>>2],pt=f[r+20>>2],p=C[r+56>>2],D=C[r+40>>2],B=C[r+32>>2],Gt=f[r+32>>2],W=C[r+36>>2],Lt=f[r+36>>2],E=C[(r=(a?824:888)+e|0)>>2],a=f[r>>2],f[i+108>>2]=0,Et=v(D*v(0)),W=v(W*v(0)),D=C[e+184>>2],C[i+104>>2]=p+v(Et+v(W+v(D*B))),w=v(w*v(0)),Q=v(Q*v(0)),C[i+100>>2]=g+v(w+v(Q+v(D*m))),F=v(F*v(0)),V=v(V*v(0)),C[i+96>>2]=d+v(F+v(V+v(D*E))),f[i+92>>2]=0,G=p,p=C[e+188>>2],C[i+88>>2]=G+v(Et+v(W+v(p*B))),C[i+84>>2]=g+v(w+v(Q+v(p*m))),C[i+80>>2]=d+v(F+v(V+v(p*E))),r=0|yt[f[f[t>>2]+20>>2]](t),f[(wt=i+72|0)>>2]=0,f[wt+4>>2]=0,f[i+64>>2]=0,f[i+68>>2]=0,yt[f[f[r>>2]+16>>2]](r,i+96|0,i+80|0,i- -64|0),f[i+76>>2]=0,f[i+72>>2]=Gt,f[i+68>>2]=n,f[i+64>>2]=a,f[i+60>>2]=0,f[i+56>>2]=Lt,f[i+52>>2]=pt,f[i+48>>2]=o,d=C[e+196>>2],g=C[e+192>>2],t=0|yt[f[f[t>>2]+20>>2]](t),f[(r=i+40|0)>>2]=0,f[r+4>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,yt[f[f[t>>2]+68>>2]](t,e+936|0,i- -64|0,i+48|0,Dt,Dt,g,d,i+32|0,1,v(10)))}Z=i+176|0},function(t){var e=0,i=0,r=0,n=0,a=0;if((0|(e=f[(t|=0)+248>>2]))>=1)for(;;){t:{e:if(r=f[f[t+256>>2]+i>>2],n=f[r+220>>2]+-2|0,!(n>>>0>3))switch(n-1|0){case 0:case 1:break e;default:break t}Ti(r),e=f[t+248>>2]}if(i=i+4|0,!((0|(a=a+1|0))<(0|e)))break}},Rr,function(t,e){t|=0,e=v(e);var i,r=0,n=0,a=0;if(Z=i=Z-16|0,Lr(i+8|0,23392),f[t+296>>2]>=1)for(;n=f[f[t+304>>2]+r>>2],yt[f[f[n>>2]+8>>2]](n,t,e),r=r+4|0,(0|(a=a+1|0))<f[t+296>>2];);qr(),Z=i+16|0},function(t){var e=0;return f[(t|=0)>>2]=23768,(e=f[t+80>>2])&&(_[t+84|0]&&CA(e),f[t+80>>2]=0),f[t+80>>2]=0,f[t+72>>2]=0,f[t+76>>2]=0,n[t+84|0]=1,(e=f[t+60>>2])&&(_[t- -64|0]&&CA(e),f[t+60>>2]=0),f[t+60>>2]=0,f[t+52>>2]=0,f[t+56>>2]=0,n[t- -64|0]=1,(e=f[t+40>>2])&&(_[t+44|0]&&CA(e),f[t+40>>2]=0),f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,n[t+44|0]=1,0|t},function(t){var e=0;f[(t|=0)>>2]=23768,(e=f[t+80>>2])&&(_[t+84|0]&&CA(e),f[t+80>>2]=0),f[t+80>>2]=0,f[t+72>>2]=0,f[t+76>>2]=0,n[t+84|0]=1,(e=f[t+60>>2])&&(_[t- -64|0]&&CA(e),f[t+60>>2]=0),f[t+60>>2]=0,f[t+52>>2]=0,f[t+56>>2]=0,n[t- -64|0]=1,!(e=f[t+40>>2])|!_[t+44|0]||CA(e),$(t)},function(t,e,i,r,a,o){t|=0,e|=0,i|=0,r|=0,a|=0;var h=0,d=0,C=0,g=0,m=0,y=0,p=0,R=0;if(!((0|(o|=0))>=0))return o=f[t+8>>2],void v(yt[f[f[o>>2]+12>>2]](o,e,i,r,a,f[t+12>>2],f[t+16>>2],f[t+4>>2],f[t+20>>2],f[t+24>>2]));t:{if((0|(g=f[t+16>>2]))>=1)for(y=f[t+12>>2];;){if(C=f[y>>2],(0|(h=f[f[C+28>>2]+208>>2]))<=-1&&(h=f[f[C+32>>2]+208>>2]),(0|h)==(0|o))break t;if(y=y+4|0,!((0|(d=d+1|0))<(0|g)))break}y=0}if((0|d)<(0|g))for(C=g-d|0,h=f[t+12>>2]+(d<<2)|0;g=f[h>>2],(0|(d=f[f[g+28>>2]+208>>2]))<=-1&&(d=f[f[g+32>>2]+208>>2]),h=h+4|0,p=((0|o)==(0|d))+p|0,C=C+-1|0;);if(o=f[t+4>>2],f[o+80>>2]<2)h=f[t+8>>2],v(yt[f[f[h>>2]+12>>2]](h,e,i,r,a,y,p,o,f[t+20>>2],f[t+24>>2]));else{if(!((0|i)<1))for(h=f[t+36>>2],d=f[t+32>>2];;){if(R=(m<<2)+e|0,(0|h)==(0|d))if((0|h)>=(0|(g=h?h<<1:1)))o=h;else{if(g?(C=dA(g<<2),o=f[t+32>>2]):(C=0,o=h),(0|o)>=1)for(h=0,d=o;f[h+C>>2]=f[f[t+40>>2]+h>>2],h=h+4|0,d=d+-1|0;);(h=f[t+40>>2])&&(_[t+44|0]&&(CA(h),o=f[t+32>>2]),f[t+40>>2]=0),f[t+40>>2]=C,n[t+44|0]=1,f[t+36>>2]=g,h=g}else o=d;if(d=o+1|0,f[t+32>>2]=d,f[f[t+40>>2]+(o<<2)>>2]=f[R>>2],(0|(m=m+1|0))==(0|i))break}if((0|a)>=1)for(h=f[t+56>>2],d=f[t+52>>2],m=0;;){if(i=(m<<2)+r|0,(0|h)==(0|d))if((0|h)>=(0|(e=h?h<<1:1)))o=h;else{if(e?(C=dA(e<<2),o=f[t+52>>2]):(C=0,o=h),(0|o)>=1)for(h=0,d=o;f[h+C>>2]=f[f[t+60>>2]+h>>2],h=h+4|0,d=d+-1|0;);(h=f[t+60>>2])&&(_[t+64|0]&&(CA(h),o=f[t+52>>2]),f[t+60>>2]=0),f[t+60>>2]=C,n[t+64|0]=1,f[t+56>>2]=e,h=e}else o=d;if(d=o+1|0,f[t+52>>2]=d,f[f[t+60>>2]+(o<<2)>>2]=f[i>>2],(0|(m=m+1|0))==(0|a))break}if(p)for(h=f[t+76>>2],d=f[t+72>>2],m=0;;){if(i=(m<<2)+y|0,(0|h)==(0|d))if((0|h)>=(0|(e=h?h<<1:1)))o=h;else{if(e?(C=dA(e<<2),o=f[t+72>>2]):(C=0,o=h),(0|o)>=1)for(h=0,d=o;f[h+C>>2]=f[f[t+80>>2]+h>>2],h=h+4|0,d=d+-1|0;);(r=f[t+80>>2])&&(_[t+84|0]&&(CA(r),o=f[t+72>>2]),f[t+80>>2]=0),f[t+80>>2]=C,n[t+84|0]=1,f[t+76>>2]=e,h=e}else o=d;if(d=o+1|0,f[t+72>>2]=d,f[f[t+80>>2]+(o<<2)>>2]=f[i>>2],(0|p)==(0|(m=m+1|0)))break}else d=f[t+72>>2];(f[t+52>>2]+d|0)>f[f[t+4>>2]+80>>2]&&Uf(t)}},ve,function(t,e){t|=0;var i,r,n=0;return i=f[(e|=0)>>2],r=f[t+84>>2],!(f[e+8>>2]&f[t+8>>2])|!(f[t+12>>2]&f[e+4>>2])|(0|i)==(0|r)||(t=f[t+96>>2],n=0|yt[f[f[t>>2]+28>>2]](t,r,i)),0|n},function(t,e,i){t|=0,e|=0,i|=0;var r=0,n=v(0),a=v(0),o=v(0),h=0,d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0);return n=v(1),(0|(r=f[e>>2]))==f[t+84>>2]|4&_[r+204|0]|v(v(v(v(C[t+32>>2]-C[t+16>>2])*C[e+8>>2])+v(v(C[t+36>>2]-C[t+20>>2])*C[e+12>>2]))+v(v(C[t+40>>2]-C[t+24>>2])*C[e+16>>2]))>=v(-C[t+88>>2])||(f[t+80>>2]=r,f[t+4>>2]=f[e+40>>2],i?(r=f[(i=e+8|0)+4>>2],f[t+48>>2]=f[i>>2],f[t+52>>2]=r,h=f[(i=i+8|0)+4>>2],f[(r=t+56|0)>>2]=f[i>>2],f[r+4>>2]=h):(d=C[r+12>>2],g=C[r+8>>2],m=C[r+28>>2],y=C[r+20>>2],p=C[r+24>>2],R=C[r+44>>2],D=C[r+36>>2],B=C[r+40>>2],E=C[r+4>>2],n=C[e+16>>2],a=C[e+8>>2],o=C[e+12>>2],f[t+60>>2]=0,C[t+56>>2]=v(v(a*D)+v(o*B))+v(n*R),C[t+52>>2]=v(v(a*y)+v(o*p))+v(n*m),C[t+48>>2]=v(v(E*a)+v(g*o))+v(d*n)),i=f[e+28>>2],f[t+64>>2]=f[e+24>>2],f[t+68>>2]=i,r=f[(i=e+32|0)+4>>2],f[(t=t+72|0)>>2]=f[i>>2],f[t+4>>2]=r,n=C[e+40>>2]),v(n)},function(t){var e;return f[(t|=0)>>2]=23960,(e=f[t+336>>2])&&(_[t+340|0]&&CA(e),f[t+336>>2]=0),f[t+336>>2]=0,f[t+328>>2]=0,f[t+332>>2]=0,n[t+340|0]=1,Ze(t),0|t},function(t){var e;f[(t|=0)>>2]=23960,(e=f[t+336>>2])&&(_[t+340|0]&&CA(e),f[t+336>>2]=0),f[t+336>>2]=0,f[t+328>>2]=0,f[t+332>>2]=0,n[t+340|0]=1,Ze(t),CA(t)},function(t,e,i){t|=0,i|=0;var r,a=0,o=0,h=0;r=f[(e|=0)>>2];t:{e:if(!((0|(i=f[t+328>>2]))<1)){for(e=f[t+336>>2],a=i;;){if((0|r)!=f[e>>2]){if(e=e+4|0,a=a+-1|0)continue;break e}break}if(a)break t}if(f[t+332>>2]==(0|i)&&!((0|i)>=(0|(o=i?i<<1:1)))){if(o&&(h=dA(o<<2),i=f[t+328>>2]),(0|i)>=1)for(e=0,a=i;f[e+h>>2]=f[f[t+336>>2]+e>>2],e=e+4|0,a=a+-1|0;);(e=f[t+336>>2])&&(_[t+340|0]&&(CA(e),i=f[t+328>>2]),f[t+336>>2]=0),f[t+336>>2]=h,f[t+332>>2]=o,n[t+340|0]=1}f[t+328>>2]=i+1,f[f[t+336>>2]+(i<<2)>>2]=r}},function(t,e,i,r){e|=0,i|=0,r|=0;var n=0,a=0;t:if(!((0|(i=f[(t|=0)+328>>2]))<1)){for(a=f[e>>2],r=0,e=n=f[t+336>>2];;){if((0|a)!=f[e>>2]){if(e=e+4|0,(0|(r=r+1|0))!=(0|i))continue;break t}break}(0|r)>=(0|i)||(r=t,t=i+-1|0,f[r+328>>2]=t,f[e>>2]=f[(t<<2)+n>>2])}},function(t){var e=0;return f[(t|=0)>>2]=24004,e=f[t+344>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+344>>2]),f[t>>2]=23960,(e=f[t+336>>2])&&(_[t+340|0]&&CA(e),f[t+336>>2]=0),f[t+336>>2]=0,f[t+328>>2]=0,f[t+332>>2]=0,n[t+340|0]=1,Ze(t),0|t},function(t){var e=0;f[(t|=0)>>2]=24004,e=f[t+344>>2],yt[f[f[e>>2]>>2]](e),CA(f[t+344>>2]),f[t>>2]=23960,(e=f[t+336>>2])&&(_[t+340|0]&&CA(e),f[t+336>>2]=0),f[t+336>>2]=0,f[t+328>>2]=0,f[t+332>>2]=0,n[t+340|0]=1,Ze(t),CA(t)},function(t,e,i){t|=0,e|=0;var r,a=0,o=0,h=0,d=0,C=0;i=(i|=0)||f[t+188>>2],r=f[e>>2];t:{e:if(!((0|(a=f[t+328>>2]))<1)){for(h=f[t+336>>2],o=a;;){if((0|r)!=f[h>>2]){if(h=h+4|0,o=o+-1|0)continue;break e}break}if(o)break t}if(f[t+332>>2]==(0|a)&&!((0|a)>=(0|(d=a?a<<1:1)))){if(d&&(C=dA(d<<2),a=f[t+328>>2]),(0|a)>=1)for(h=0,o=a;f[h+C>>2]=f[f[t+336>>2]+h>>2],h=h+4|0,o=o+-1|0;);(o=f[t+336>>2])&&(_[t+340|0]&&(CA(o),a=f[t+328>>2]),f[t+336>>2]=0),f[t+336>>2]=C,f[t+332>>2]=d,n[t+340|0]=1}f[f[t+336>>2]+(a<<2)>>2]=r,f[t+328>>2]=a+1,t=f[t+344>>2],yt[f[f[t>>2]+8>>2]](t,i,e)}},function(t,e,i,r){t|=0,i|=0,r|=0;var n,a,o=0,_=0,h=0;a=f[(e|=0)>>2],r=r||f[t+188>>2];t:if(!((0|(n=f[t+328>>2]))<1)){for(o=h=f[t+336>>2];;){if((0|a)!=f[o>>2]){if(o=o+4|0,(0|(_=_+1|0))!=(0|n))continue;break t}break}(0|_)>=(0|n)||(_=o,o=n+-1|0,f[_>>2]=f[(o<<2)+h>>2],f[t+328>>2]=o,t=f[t+344>>2],yt[f[f[t>>2]+12>>2]](t,r,e,i))}},function(t){var e;return f[(t|=0)>>2]=24116,(e=f[t+212>>2])&&(_[t+216|0]&&CA(e),f[t+212>>2]=0),f[t+212>>2]=0,f[t+204>>2]=0,f[t+208>>2]=0,n[t+216|0]=1,0|t},function(t){var e;f[(t|=0)>>2]=24116,(e=f[t+212>>2])&&(_[t+216|0]&&CA(e),f[t+212>>2]=0),f[t+212>>2]=0,f[t+204>>2]=0,f[t+208>>2]=0,n[t+216|0]=1,CA(t)},function(t,e,i){t|=0,e|=0,i=v(i),yt[f[f[t>>2]+32>>2]](t,e),yt[f[f[t>>2]+36>>2]](t,e,i)},Rr,function(t,e){t|=0,e|=0;var i,r=v(0),a=v(0),o=v(0),_=v(0),h=0;n[t+251|0]=1,h=f[e+4>>2],f[t+68>>2]=f[e>>2],f[t+72>>2]=h,i=f[(e=e+8|0)+4>>2],f[(h=t+76|0)>>2]=f[e>>2],f[h+4>>2]=i,r=C[t+68>>2],a=C[t+72>>2],o=C[h>>2],(_=v(E(v(v(v(r*r)+v(a*a))+v(o*o)))))>v(1.1920928955078125e-7)?(_=v(v(1)/_),o=v(o*_),a=v(a*_),r=v(r*_),e=f[t+80>>2]):(r=v(0),a=v(0),o=v(0),e=0),C[t+84>>2]=r,f[t+96>>2]=e,C[t+92>>2]=o,C[t+88>>2]=a},function(t,e,i){t|=0,e|=0,i=v(i);var r,a=0,o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=0;n[t+251|0]=0,a=f[e+4>>2],f[t+68>>2]=f[e>>2],f[t+72>>2]=a,r=f[(e=e+8|0)+4>>2],f[(a=t+76|0)>>2]=f[e>>2],f[a+4>>2]=r,_=C[t+68>>2],h=C[t+72>>2],d=C[a>>2],(g=v(E(v(v(v(_*_)+v(h*h))+v(d*d)))))>v(1.1920928955078125e-7)&&(o=v(v(1)/g),m=v(d*o),y=v(h*o),o=v(_*o),p=f[t+80>>2]),C[t+84>>2]=o,f[t+96>>2]=p,C[t+92>>2]=m,C[t+88>>2]=y,C[t+252>>2]=C[t+252>>2]+i},function(t,e){e|=0;var i,r=0,n=0,o=0,_=0,h=0;if(f[(t|=0)+68>>2]=0,f[t+72>>2]=0,f[(i=t+76|0)>>2]=0,f[i+4>>2]=0,f[t+252>>2]=0,a[t+248>>1]=0,f[t+20>>2]=0,f[t+24>>2]=0,t=f[f[t+8>>2]+344>>2],f[4+(0|yt[f[f[t>>2]+28>>2]](t))>>2]>=1)for(;n=t,o=f[f[12+(0|yt[f[f[t>>2]+28>>2]](t))>>2]>>2],_=f[f[12+(0|yt[f[f[t>>2]+28>>2]](t))>>2]+4>>2],h=f[e+24>>2],r=f[f[t>>2]+12>>2],yt[r](0|n,0|o,0|_,0|h),f[4+(0|yt[f[f[t>>2]+28>>2]](t))>>2]>0;);},function(t,e){t|=0;var i,r,n=0,a=0;i=f[(a=(e|=0)+8|0)>>2],a=f[a+4>>2],r=f[e>>2],e=f[e+4>>2],t=f[t+8>>2],f[(n=t+44|0)>>2]=1065353216,f[n+4>>2]=0,f[(n=t+36|0)>>2]=0,f[n+4>>2]=0,f[t+24>>2]=1065353216,f[(n=t+28|0)>>2]=0,f[n+4>>2]=0,f[(n=t+16|0)>>2]=0,f[n+4>>2]=0,f[t+4>>2]=1065353216,f[(n=t+8|0)>>2]=0,f[n+4>>2]=0,f[(n=t+60|0)>>2]=i,f[n+4>>2]=a,f[(a=t+52|0)>>2]=r,f[a+4>>2]=e,f[t+304>>2]=f[t+304>>2]+1},function(t,e){e|=0;var i,r=0,n=0,a=0,o=0,_=0;Z=e=Z-16|0,a=f[(t|=0)+8>>2],o=f[(r=a+52|0)+4>>2],f[t+132>>2]=f[r>>2],f[t+136>>2]=o,_=f[(n=a+60|0)+4>>2],f[(o=t+140|0)>>2]=f[n>>2],f[o+4>>2]=_,o=f[r>>2],r=f[r+4>>2],_=f[n+4>>2],f[(i=t+160|0)>>2]=f[n>>2],f[i+4>>2]=_,f[t+152>>2]=o,f[t+156>>2]=r,tt(a+4|0,e),o=f[(n=e+8|0)+4>>2],f[(r=a=t+176|0)>>2]=f[n>>2],f[r+4>>2]=o,r=f[e+4>>2],f[t+168>>2]=f[e>>2],f[t+172>>2]=r,n=f[a+4>>2],f[(r=t+192|0)>>2]=f[a>>2],f[r+4>>2]=n,a=f[t+172>>2],f[t+184>>2]=f[t+168>>2],f[t+188>>2]=a,Z=e+16|0},function(t,e,i){t|=0,e|=0,i=v(i);var r,a=0,o=0,h=0,d=v(0),g=0,m=v(0),p=v(0),R=0,D=v(0),B=v(0),F=v(0),V=0,G=0,w=v(0),Q=v(0),W=v(0),Y=v(0),z=0,pt=v(0),Dt=0,It=0,St=0,Tt=0,Et=0,Ot=0,Nt=0,Ft=0,Vt=0;Z=r=Z-80|0,d=C[t+100>>2],m=C[t+104>>2],D=C[t+108>>2],(p=v(v(v(d*d)+v(m*m))+v(D*D)))>v(0)&&(p=Vi(v(v(1)-C[t+244>>2]),i),D=v(D*p),C[t+108>>2]=D,m=v(m*p),C[t+104>>2]=m,d=v(d*p),C[t+100>>2]=d,p=v(v(v(d*d)+v(m*m))+v(D*D))),p>v(0)&&(a=f[t+8>>2],g=f[(h=a+12|0)>>2],V=f[h+4>>2],R=f[a+4>>2],G=f[a+8>>2],Dt=f[(z=a+28|0)+4>>2],f[(o=h=r+40|0)>>2]=f[z>>2],f[o+4>>2]=Dt,f[(o=r+24|0)>>2]=g,f[o+4>>2]=V,z=f[(g=a+36|0)>>2],Dt=f[g+4>>2],St=f[(g=a+20|0)>>2],Tt=f[g+4>>2],Et=f[(g=a+44|0)>>2],Ot=f[g+4>>2],Nt=f[(It=a+60|0)+4>>2],f[(g=V=r+72|0)>>2]=f[It>>2],f[g+4>>2]=Nt,f[(g=r+56|0)>>2]=Et,f[g+4>>2]=Ot,f[r+16>>2]=R,f[r+20>>2]=G,f[r+32>>2]=St,f[r+36>>2]=Tt,R=f[(a=a+52|0)+4>>2],f[r+64>>2]=f[a>>2],f[r+68>>2]=R,f[r+48>>2]=z,f[r+52>>2]=Dt,F=v(E(p)),Q=dr(w=v(v(F*i)*v(.5))),tt(r+16|0,r),p=C[r+12>>2],W=C[r>>2],w=Cr(w),B=d,d=v(v(1)/F),F=v(B*d),B=v(D*d),d=v(m*d),m=v(Q/v(E(v(v(B*B)+v(v(F*F)+v(d*d)))))),D=v(F*m),F=v(d*m),Q=C[r+8>>2],B=v(B*m),Y=C[r+4>>2],d=v(v(v(v(W*w)+v(p*D))+v(F*Q))-v(B*Y)),m=v(v(v(v(w*p)-v(D*W))-v(F*Y))-v(B*Q)),pt=v(v(v(v(B*p)+v(w*Q))+v(D*Y))-v(F*W)),D=v(v(v(B*W)+v(v(F*p)+v(w*Y)))-v(D*Q)),p=v(v(2)/v(v(m*m)+v(v(pt*pt)+v(v(d*d)+v(D*D))))),W=v(pt*p),F=v(d*W),w=v(D*p),Q=v(m*w),C[o>>2]=F+Q,f[r+60>>2]=0,f[r+44>>2]=0,B=v(D*W),p=v(d*p),Y=v(m*p),C[r+52>>2]=B+Y,C[h>>2]=B-Y,p=v(d*p),D=v(D*w),C[g>>2]=v(1)-v(p+D),B=p,p=v(pt*W),C[r+36>>2]=v(1)-v(B+p),f[r+28>>2]=0,C[r+48>>2]=F-Q,d=v(d*w),m=v(m*W),C[r+32>>2]=d+m,C[r+20>>2]=d-m,G=f[o+4>>2],a=f[t+8>>2],f[(R=a+12|0)>>2]=f[o>>2],f[R+4>>2]=G,C[r+16>>2]=v(1)-v(D+p),o=f[r+20>>2],f[a+4>>2]=f[r+16>>2],f[a+8>>2]=o,R=f[r+36>>2],f[(o=a+20|0)>>2]=f[r+32>>2],f[o+4>>2]=R,R=f[h+4>>2],f[(o=a+28|0)>>2]=f[h>>2],f[o+4>>2]=R,f[a+304>>2]=f[a+304>>2]+1,o=f[r+52>>2],f[(h=a+36|0)>>2]=f[r+48>>2],f[h+4>>2]=o,o=f[g+4>>2],f[(h=a+44|0)>>2]=f[g>>2],f[h+4>>2]=o,o=f[V+4>>2],f[(h=a+60|0)>>2]=f[V>>2],f[h+4>>2]=o,h=f[r+68>>2],f[(a=a+52|0)>>2]=f[r+64>>2],f[a+4>>2]=h,a=f[t+8>>2],g=f[(o=h=a+52|0)+4>>2],f[t+132>>2]=f[o>>2],f[t+136>>2]=g,R=f[(o=a+60|0)+4>>2],f[(g=t+140|0)>>2]=f[o>>2],f[g+4>>2]=R,g=f[h>>2],h=f[h+4>>2],R=f[o+4>>2],f[(V=t+160|0)>>2]=f[o>>2],f[V+4>>2]=R,f[t+152>>2]=g,f[t+156>>2]=h,tt(a+4|0,r),g=f[(o=r+8|0)+4>>2],f[(a=t+176|0)>>2]=f[o>>2],f[a+4>>2]=g,h=f[r+4>>2],f[t+168>>2]=f[r>>2],f[t+172>>2]=h,o=f[a+4>>2],f[(h=t+192|0)>>2]=f[a>>2],f[h+4>>2]=o,a=f[t+172>>2],f[t+184>>2]=f[t+168>>2],f[t+188>>2]=a),C[t+252>>2]<=v(0)&&!_[t+251|0]||(Ft=t,Vt=0|yt[f[f[t>>2]+48>>2]](t),n[Ft+248|0]=Vt,m=C[t+72>>2],D=C[t+68>>2],p=C[t+76>>2],d=Vi(v(v(1)-C[t+240>>2]),i),v(v(v(D*D)+v(m*m))+v(p*p))>v(0)&&(C[t+76>>2]=p*d,C[t+72>>2]=m*d,C[t+68>>2]=D*d),d=v(v(C[t+20>>2]*d)-v(C[t+52>>2]*i)),C[t+20>>2]=d,d>v(0)&&(d>(m=C[t+32>>2])&&(C[t+20>>2]=m,d=m)),d<v(0)&&(m=v(y(C[t+28>>2])),v(y(d))>m&&(d=v(-m),C[t+20>>2]=d)),C[t+24>>2]=d*i,a=f[t+8>>2],g=f[(o=a+12|0)+4>>2],f[(h=r+24|0)>>2]=f[o>>2],f[h+4>>2]=g,g=f[(o=a+28|0)+4>>2],f[(h=r+40|0)>>2]=f[o>>2],f[h+4>>2]=g,g=f[(o=a+44|0)+4>>2],f[(h=r+56|0)>>2]=f[o>>2],f[h+4>>2]=g,g=f[(o=a+60|0)+4>>2],f[(h=r+72|0)>>2]=f[o>>2],f[h+4>>2]=g,h=f[a+8>>2],f[r+16>>2]=f[a+4>>2],f[r+20>>2]=h,o=f[(h=a+20|0)+4>>2],f[r+32>>2]=f[h>>2],f[r+36>>2]=o,o=f[(h=a+36|0)+4>>2],f[r+48>>2]=f[h>>2],f[r+52>>2]=o,h=f[(a=a+52|0)+4>>2],f[r+64>>2]=f[a>>2],f[r+68>>2]=h,function(t,e){var i,r,a,o=0,h=0,d=v(0),g=0,m=0,y=0,p=v(0),R=v(0),D=v(0),B=0,E=v(0),F=v(0),V=0,G=v(0),w=0,Q=0,W=v(0),Y=v(0),z=0,pt=v(0),Dt=v(0),It=v(0),St=v(0);Z=i=Z-240|0,C[t+20>>2]<v(0)&&(Y=C[t+60>>2],h=f[t+60>>2]),f[(o=z=i+200|0)>>2]=0,f[o+4>>2]=0,f[(Q=i+196|0)>>2]=1065353216,f[(o=y=i+216|0)>>2]=1065353216,f[o+4>>2]=0,f[(o=B=i+136|0)>>2]=0,f[o+4>>2]=0,f[(w=i+132|0)>>2]=1065353216,f[(o=r=i+152|0)>>2]=1065353216,f[o+4>>2]=0,V=f[(o=t+140|0)+4>>2],f[(m=i+232|0)>>2]=f[o>>2],f[m+4>>2]=V,f[i+180>>2]=0,f[i+184>>2]=0,f[i+176>>2]=1065353216,f[i+188>>2]=0,f[i+192>>2]=0,f[i+208>>2]=0,f[i+212>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+112>>2]=1065353216,f[i+124>>2]=0,f[i+128>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,m=f[t+136>>2],f[i+224>>2]=f[t+132>>2],f[i+228>>2]=m,Dt=C[t+256>>2],d=(d=C[t+24>>2])>v(0)?d:v(0),C[t+152>>2]=v(v(Y*Dt)+C[t+132>>2])+v(C[t+272>>2]*d),It=C[t+260>>2],C[t+156>>2]=v(v(Y*It)+C[t+136>>2])+v(d*C[t+276>>2]),f[t+164>>2]=0,m=t+160|0,St=C[t+264>>2],C[m>>2]=v(v(Y*St)+C[o>>2])+v(d*C[t+280>>2]),g=f[t+156>>2],a=f[t+152>>2],f[t+132>>2]=a,f[t+136>>2]=g,V=f[m+4>>2],m=f[m>>2],f[o>>2]=m,f[o+4>>2]=V,f[(o=i+168|0)>>2]=m,f[o+4>>2]=V,f[i+160>>2]=a,f[i+164>>2]=g,R=C[t+180>>2],E=C[t+176>>2],p=C[t+172>>2],d=C[t+168>>2],f[i+220>>2]=0,f[i+204>>2]=0,G=v(v(2)/v(v(v(v(d*d)+v(p*p))+v(E*E))+v(R*R))),W=v(E*G),D=v(p*W),F=v(d*G),pt=v(R*F),C[i+212>>2]=D+pt,C[z>>2]=D-pt,D=v(d*F),F=p,p=v(p*G),G=v(F*p),C[y>>2]=v(1)-v(D+G),E=v(E*W),C[Q>>2]=v(1)-v(D+E),f[i+188>>2]=0,D=v(d*W),F=v(R*p),C[i+208>>2]=D-F,d=v(d*p),R=v(R*W),C[i+192>>2]=d+R,C[i+184>>2]=D+F,C[i+180>>2]=d-R,C[i+176>>2]=v(1)-v(G+E),R=C[t+196>>2],E=C[t+192>>2],p=C[t+188>>2],d=C[t+184>>2],f[i+156>>2]=0,f[i+140>>2]=0,G=v(v(2)/v(v(v(v(d*d)+v(p*p))+v(E*E))+v(R*R))),W=v(E*G),D=v(p*W),F=v(d*G),pt=v(R*F),C[i+148>>2]=D+pt,C[B>>2]=D-pt,D=v(d*F),F=p,p=v(p*G),G=v(F*p),C[r>>2]=v(1)-v(D+G),E=v(E*W),C[w>>2]=v(1)-v(D+E),f[i+124>>2]=0,D=v(d*W),F=v(R*p),C[i+144>>2]=D-F,d=v(d*p),R=v(R*W),C[i+128>>2]=d+R,C[i+120>>2]=D+F,C[i+116>>2]=d-R,C[i+112>>2]=v(1)-v(G+E),f[(o=i+24|0)>>2]=0,f[o+4>>2]=0,f[(o=i+32|0)>>2]=0,f[o+4>>2]=0,f[(o=i+40|0)>>2]=0,f[o+4>>2]=0,f[i+100>>2]=0,C[i+96>>2]=-St,C[i+92>>2]=-It,f[i+16>>2]=0,f[i+20>>2]=0,C[i+88>>2]=-Dt,f[i+80>>2]=0,f[i+4>>2]=1065353216,f[i>>2]=24320,o=f[t+8>>2],f[i+84>>2]=o,f[i+104>>2]=f[t+48>>2],m=f[o+188>>2],f[i+8>>2]=f[m+4>>2],f[i+12>>2]=f[m+8>>2],_[t+250|0]?Sf(o,f[t+12>>2],i+176|0,i+112|0,i,C[e+56>>2]):_f(e,f[t+12>>2],i+176|0,i+112|0,i,C[e+56>>2]),m=t+152|0,o=t+132|0;t:{e:{i:{if(C[i+4>>2]<v(1)&&(g=f[t+8>>2],!(4&_[g+204|0])&&yt[f[f[t>>2]+56>>2]](t,g,f[i+80>>2]))){if(v(v(v(C[i+48>>2]*C[t+256>>2])+v(C[i+52>>2]*C[t+260>>2]))+v(C[i+56>>2]*C[t+264>>2]))>v(0)&&(d=C[i+4>>2],C[t+148>>2]=Y*d,_[t+288|0]?(Y=v(v(1)-d),C[t+132>>2]=v(Y*C[t+132>>2])+v(d*C[t+152>>2]),C[t+136>>2]=v(Y*C[t+136>>2])+v(d*C[t+156>>2]),C[t+140>>2]=v(Y*C[t+140>>2])+v(d*C[t+160>>2])):(h=f[m+4>>2],f[o>>2]=f[m>>2],f[o+4>>2]=h,V=f[(g=m+8|0)+4>>2],f[(h=o+8|0)>>2]=f[g>>2],f[h+4>>2]=V)),y=f[(Q=z=o+8|0)+4>>2],g=f[t+8>>2],f[(h=V=g+60|0)>>2]=f[Q>>2],f[h+4>>2]=y,y=f[o+4>>2],f[(h=Q=g+52|0)>>2]=f[o>>2],f[h+4>>2]=y,h=f[t+8>>2],f[h+304>>2]=f[h+304>>2]+1,w=f[(B=g+12|0)+4>>2],f[(y=h+12|0)>>2]=f[B>>2],f[y+4>>2]=w,y=f[g+8>>2],f[h+4>>2]=f[g+4>>2],f[h+8>>2]=y,w=f[(B=g+28|0)+4>>2],f[(y=h+28|0)>>2]=f[B>>2],f[y+4>>2]=w,w=f[(B=g+20|0)+4>>2],f[(y=h+20|0)>>2]=f[B>>2],f[y+4>>2]=w,w=f[(B=g+44|0)+4>>2],f[(y=h+44|0)>>2]=f[B>>2],f[y+4>>2]=w,B=f[(g=g+36|0)+4>>2],f[(y=h+36|0)>>2]=f[g>>2],f[y+4>>2]=B,y=f[Q+4>>2],f[(g=h+52|0)>>2]=f[Q>>2],f[g+4>>2]=y,g=f[V+4>>2],f[(h=h+60|0)>>2]=f[V>>2],f[h+4>>2]=g,n[t+220|0]=0,!jf(t,e))break e;if(n[t+220|0]=1,jf(t,e))break i;break e}f[t+148>>2]=h,t=f[m+4>>2],f[o>>2]=f[m>>2],f[o+4>>2]=t,t=o+8|0,o=f[(e=m+8|0)+4>>2],f[t>>2]=f[e>>2],f[t+4>>2]=o;break t}n[t+220|0]=1,jf(t,e)&&(n[t+220|0]=1,jf(t,e)&&(n[t+220|0]=1,jf(t,e)&&(n[t+220|0]=1)))}h=f[t+8>>2],V=f[(g=e=h+52|0)+4>>2],f[m>>2]=f[g>>2],f[m+4>>2]=V,V=f[(h=h+60|0)+4>>2],f[(m=m+8|0)>>2]=f[h>>2],f[m+4>>2]=V,m=f[e>>2],e=f[e+4>>2],g=f[h+4>>2],f[z>>2]=f[h>>2],f[z+4>>2]=g,f[o>>2]=m,f[o+4>>2]=e,C[t+24>>2]>v(0)&&(f[t+20>>2]=0,f[t+24>>2]=0,f[t+148>>2]=f[t+60>>2])}Z=i+240|0}(t,e),g=r- -64|0,h=r+48|0,a=r+32|0,_[t+251|0]?Hf(t,e,t+68|0):(d=C[t+252>>2],C[t+252>>2]=d-i,f[r+12>>2]=0,d=d>i?i:d,C[r+8>>2]=d*C[t+76>>2],C[r+4>>2]=d*C[t+72>>2],C[r>>2]=d*C[t+68>>2],Hf(t,e,r)),function(t,e,i){var r,a=v(0),o=0,h=0,d=v(0),g=0,m=v(0),y=0,p=0,R=v(0),D=v(0),B=v(0),E=0,F=v(0),V=v(0),G=v(0),w=0,Q=0,W=v(0),Y=v(0),z=v(0),pt=0,Dt=0,It=0,St=0,Tt=v(0),Et=v(0),Ot=0,Nt=0;Z=r=Z-432|0,h=f[(g=t+160|0)+4>>2],f[(y=r+232|0)>>2]=f[g>>2],f[y+4>>2]=h,y=f[t+156>>2],f[r+224>>2]=f[t+152>>2],f[r+228>>2]=y;t:if(!((a=C[t+20>>2])>v(0))){for((a=v((a<v(0)?v(-a):v(0))*i))>v(0)&&(a>(d=C[t+28>>2])^1|(_[t+249|0]?!_[t+248|0]:0)||(a=d)),y=t+152|0,a=v(a+C[t+148>>2]),W=v(C[t+256>>2]*a),C[t+152>>2]=C[t+152>>2]-W,g=t+156|0,Y=v(a*C[t+260>>2]),C[g>>2]=C[g>>2]-Y,E=g=t+160|0,m=C[g>>2],z=v(a*C[(g=t+264|0)>>2]),C[E>>2]=m-z,f[(h=r+136|0)>>2]=0,f[h+4>>2]=0,f[(h=r+144|0)>>2]=0,f[h+4>>2]=0,f[(h=r+152|0)>>2]=0,f[h+4>>2]=0,o=f[g+4>>2],f[(h=r+208|0)>>2]=f[g>>2],f[h+4>>2]=o,f[r+128>>2]=0,f[r+132>>2]=0,h=f[t+260>>2],f[r+200>>2]=f[t+256>>2],f[r+204>>2]=h,f[r+192>>2]=0,f[r+116>>2]=1065353216,f[r+112>>2]=24320,o=f[t+8>>2],f[r+196>>2]=o,w=f[t+48>>2],f[r+216>>2]=w,h=f[o+188>>2],f[r+120>>2]=f[h+4>>2],f[r+124>>2]=f[h+8>>2],f[(p=r+24|0)>>2]=0,f[p+4>>2]=0,f[(p=r+32|0)>>2]=0,f[p+4>>2]=0,f[(p=r+40|0)>>2]=0,f[p+4>>2]=0,pt=f[g+4>>2],f[(p=r+96|0)>>2]=f[g>>2],f[p+4>>2]=pt,f[r+80>>2]=0,f[r+4>>2]=1065353216,f[r+16>>2]=0,f[r+20>>2]=0,f[r+84>>2]=o,g=f[t+260>>2],f[r+88>>2]=f[t+256>>2],f[r+92>>2]=g,f[r>>2]=24320,f[r+104>>2]=w,g=f[h+8>>2],f[r+8>>2]=f[h+4>>2],f[r+12>>2]=g,g=t+132|0,w=r+352|0,p=r+416|0,pt=r+264|0,It=r+240|4,St=r+328|0,Ot=(Dt=r+284|0)+16|0,h=0;;){f[St>>2]=0,f[St+4>>2]=0,f[It>>2]=0,f[It+4>>2]=0,f[pt>>2]=0,f[pt+4>>2]=0,f[Dt>>2]=0,f[Dt+4>>2]=0,f[(o=St+8|0)>>2]=0,f[o+4>>2]=0,f[(o=It+8|0)>>2]=0,f[o+4>>2]=0,f[(o=pt+8|0)>>2]=0,f[o+4>>2]=0,f[(o=Dt+8|0)>>2]=0,f[o+4>>2]=0,f[Ot>>2]=0,o=f[g+4>>2],f[p>>2]=f[g>>2],f[p+4>>2]=o,E=f[(Q=g+8|0)+4>>2],f[(o=p+8|0)>>2]=f[Q>>2],f[o+4>>2]=E,f[r+324>>2]=1065353216,f[r+316>>2]=0,f[r+320>>2]=0,f[r+344>>2]=1065353216,f[r+348>>2]=0,f[r+240>>2]=1065353216,f[r+260>>2]=1065353216,f[r+280>>2]=1065353216,Nt=f[(E=Q=y+8|0)+4>>2],f[(o=w+8|0)>>2]=f[E>>2],f[o+4>>2]=Nt,o=f[y+4>>2],f[w>>2]=f[y>>2],f[w+4>>2]=o,f[r+412>>2]=0,f[r+396>>2]=0,f[r+380>>2]=0,a=C[t+168>>2],d=C[t+172>>2],R=C[t+176>>2],m=C[t+180>>2],B=v(v(2)/v(v(v(v(a*a)+v(d*d))+v(R*R))+v(m*m))),G=v(d*B),D=v(a*G),V=v(R*B),F=v(m*V),C[r+372>>2]=D-F,Tt=v(a*V),Et=v(m*G),C[r+376>>2]=Tt+Et,C[r+384>>2]=D+F,D=v(d*V),F=m,m=v(a*B),B=v(F*m),C[r+392>>2]=D-B,C[r+400>>2]=Tt-Et,C[r+404>>2]=D+B,d=v(d*G),R=v(R*V),C[r+368>>2]=v(1)-v(d+R),a=v(a*m),C[r+388>>2]=v(1)-v(a+R),C[r+408>>2]=v(1)-v(a+d),f[r+316>>2]=0,f[r+332>>2]=0,f[r+348>>2]=0,a=C[t+184>>2],d=C[t+188>>2],R=C[t+192>>2],m=C[t+196>>2],B=v(v(2)/v(v(v(v(a*a)+v(d*d))+v(R*R))+v(m*m))),G=v(d*B),D=v(a*G),V=v(R*B),F=v(m*V),C[r+320>>2]=D+F,C[r+308>>2]=D-F,D=v(a*V),F=v(m*G),C[r+336>>2]=D-F,C[r+312>>2]=D+F,D=v(d*V),F=m,m=v(a*B),B=v(F*m),C[r+340>>2]=D+B,C[r+328>>2]=D-B,d=v(d*G),R=v(R*V),C[r+304>>2]=v(1)-v(d+R),a=v(a*m),C[r+344>>2]=v(1)-v(a+d),C[r+324>>2]=v(1)-v(a+R),a=C[t+152>>2],d=C[t+156>>2],m=C[t+160>>2],f[r+300>>2]=0,C[r+296>>2]=m-z,C[r+292>>2]=d-Y,C[r+288>>2]=a-W;e:if(_[t+250|0]){if(Sf(f[t+8>>2],f[t+12>>2],r+368|0,r+304|0,r+112|0,C[e+56>>2]),C[r+116>>2]<v(1))break e;if(o=f[t+8>>2],4&_[o+204|0])break e;Sf(o,f[t+12>>2],r+368|0,r+240|0,r,C[e+56>>2])}else _f(e,f[t+12>>2],r+368|0,r+304|0,r+112|0,C[e+56>>2]),4&_[f[t+8>>2]+204|0]|C[r+116>>2]<v(1)||_f(e,f[t+12>>2],r+368|0,r+240|0,r,C[e+56>>2]);a=(a=C[t+20>>2])<v(0)?v(-a):v(0);e:if(_[t+290|0]){if(o=0,C[r+4>>2]<v(1)^1&&!(C[r+116>>2]<v(1)))break e;if(E=f[t+8>>2],4&_[E+204|0])break e;o=0|yt[f[f[t>>2]+56>>2]](t,E,f[r+192>>2])}else o=0,C[r+4>>2]<v(1)&&(E=f[t+8>>2],4&_[E+204|0]||(o=0|yt[f[f[t>>2]+56>>2]](t,E,f[r+80>>2])));d=v(a*i),a=v(0);e:{i:{if(a=C[t+20>>2]<v(0)^1?a:C[t+60>>2],!(1&(d>v(0)^-1|d<a^-1|-1^o|h))){if(_[t+248|0]|!_[t+249|0])break i;h=0}e=f[t+8>>2];A:{if(!(4&_[e+204|0]|C[r+116>>2]<v(1)^1)){if(1&(yt[f[f[t>>2]+56>>2]](t,e,f[r+192>>2])|h))break A;break e}if(!h)break e}i=C[t+136>>2],a=_[t+290|0]?_[t+289|0]?C[r+116>>2]:v(v(i-C[r+180>>2])*v(.5)):C[r+116>>2],n[t+289|0]=0,n[t+249|0]=0,f[t+20>>2]=0,f[t+24>>2]=0,d=v(v(1)-a),C[t+132>>2]=v(d*C[t+132>>2])+v(a*C[t+152>>2]),C[t+136>>2]=v(i*d)+v(a*C[t+156>>2]),C[(e=t+140|0)>>2]=v(d*C[e>>2])+v(a*C[t+160>>2]);break t}h=f[r+228>>2],f[y>>2]=f[r+224>>2],f[y+4>>2]=h,o=f[(h=r+232|0)+4>>2],f[Q>>2]=f[h>>2],f[Q+4>>2]=o,a=v(a+C[t+148>>2]),W=v(C[t+256>>2]*a),C[t+152>>2]=C[t+152>>2]-W,Y=v(a*C[t+260>>2]),C[t+156>>2]=C[t+156>>2]-Y,z=v(a*C[t+264>>2]),C[t+160>>2]=C[t+160>>2]-z,h=1;continue}break}n[t+289|0]=1,_[t+290|0]&&(a=C[t+20>>2],(a=v((a<v(0)?v(-a):v(0))*i))>(i=C[t+28>>2])^1|(_[t+249|0]?!_[t+248|0]:0)||(i=v(i+C[t+148>>2]),C[t+160>>2]=v(z+C[t+160>>2])-v(i*C[t+264>>2]),C[t+156>>2]=v(Y+C[t+156>>2])-v(i*C[t+260>>2]),C[t+152>>2]=v(W+C[t+152>>2])-v(C[t+256>>2]*i))),t=f[y+4>>2],f[g>>2]=f[y>>2],f[g+4>>2]=t,y=f[(e=y+8|0)+4>>2],f[(t=g+8|0)>>2]=f[e>>2],f[t+4>>2]=y}Z=r+432|0}(t,e,i),G=f[(R=t+140|0)+4>>2],f[(o=V=g+8|0)>>2]=f[R>>2],f[o+4>>2]=G,o=f[t+136>>2],f[g>>2]=f[t+132>>2],f[g+4>>2]=o,G=f[r+20>>2],o=f[t+8>>2],f[o+4>>2]=f[r+16>>2],f[o+8>>2]=G,G=f[a+4>>2],f[(R=o+20|0)>>2]=f[a>>2],f[R+4>>2]=G,G=f[(a=a+8|0)+4>>2],f[(R=o+28|0)>>2]=f[a>>2],f[R+4>>2]=G,h=f[(a=h)+4>>2],f[(R=o+36|0)>>2]=f[a>>2],f[R+4>>2]=h,R=f[(a=a+8|0)+4>>2],f[(h=o+44|0)>>2]=f[a>>2],f[h+4>>2]=R,R=f[(h=r+24|0)+4>>2],f[(a=o+12|0)>>2]=f[h>>2],f[a+4>>2]=R,f[o+304>>2]=f[o+304>>2]+1,h=f[g+4>>2],f[(a=o+52|0)>>2]=f[g>>2],f[a+4>>2]=h,h=f[V+4>>2],f[(a=o+60|0)>>2]=f[V>>2],f[a+4>>2]=h,n[t+220|0]=0,jf(t,e)&&(n[t+220|0]=1,jf(t,e)&&(n[t+220|0]=1,jf(t,e)&&(n[t+220|0]=1,jf(t,e)&&(n[t+220|0]=1,jf(t,e)&&(n[t+220|0]=1)))))),Z=r+80|0},zf,function(t,e){t|=0,e|=0;var i=v(0),r=v(0),a=v(0),o=v(0),_=0,h=0;_=t,i=C[e>>2],r=v(i*i),i=C[e+4>>2],r=v(r+v(i*i)),i=C[e+8>>2],i=v(r+v(i*i)),r=C[t+36>>2],i!=v(0)&&(r=v(E(i))),i=r,C[_+20>>2]=i,C[t+32>>2]=i,n[t+249|0]=1,_=t+284|0,i=C[e>>2],a=C[e+4>>2],o=C[e+8>>2],(r=v(v(v(i*i)+v(a*a))+v(o*o)))!=v(0)?(r=v(v(1)/v(E(r))),o=v(o*r),a=v(a*r),i=v(i*r),e=e+12|0):(o=C[t+264>>2],a=C[t+260>>2],i=C[t+256>>2],e=t+268|0),f[_>>2]=f[e>>2],C[t+280>>2]=o,C[t+276>>2]=a,C[t+272>>2]=i,e=f[t+8>>2],_=f[(h=e+52|0)+4>>2],f[t+116>>2]=f[h>>2],f[t+120>>2]=_,h=f[(e=e+60|0)+4>>2],f[(t=t+124|0)>>2]=f[e>>2],f[t+4>>2]=h},function(t){return 0|(v(y(C[(t|=0)+20>>2]))<v(1.1920928955078125e-7)^1?0:v(y(C[t+24>>2]))<v(1.1920928955078125e-7))},function(t,e){e|=0,n[(t|=0)+288|0]=e},function(t,e,i){return t|=0,e|=0,t=f[(i|=0)+188>>2],e=f[e+188>>2],f[t+8>>2]&f[e+4>>2]?0!=(f[e+8>>2]&f[t+4>>2])|0:0},function(t,e){t|=0;var i=0;i=f[(e|=0)+4>>2],f[t+100>>2]=f[e>>2],f[t+104>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+108|0)>>2]=f[e>>2],f[t+4>>2]=i},function(t){return(t|=0)+100|0},function(t,e){t|=0,e|=0;var i,r=0,a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=0,p=v(0),B=v(0),F=v(0),V=v(0);r=f[e+4>>2],f[t+68>>2]=f[e>>2],f[t+72>>2]=r,i=f[(y=e+8|0)+4>>2],f[(r=t+76|0)>>2]=f[y>>2],f[r+4>>2]=i,_=C[t+68>>2],h=C[t+72>>2],d=C[r>>2];t:{if((p=v(v(v(_*_)+v(h*h))+v(d*d)))>v(0)){if(g=C[e>>2],a=C[e+4>>2],m=C[e+8>>2],o=v(v(1)/v(E(v(v(v(g*g)+v(a*a))+v(m*m))))),B=C[t+264>>2],V=v(B*v(m*o)),m=C[t+256>>2],F=C[t+260>>2],(o=v(V+v(v(m*v(g*o))+v(F*v(a*o)))))==v(0))break t;if(a=d,d=v(v(E(p))*dr(v(v(1.5707963705062866)-Ni(v(R(v(D(o,v(-1))),v(1))))))),g=v(B*d),C[t+76>>2]=a-g,a=h,h=v(F*d),C[t+72>>2]=a-h,a=_,_=v(m*d),C[t+68>>2]=a-_,C[t+20>>2]=(o<v(0)?v(-1):v(1))*v(E(v(v(g*g)+v(v(_*_)+v(h*h))))),!(o>v(0)))break t;return n[t+249|0]=1,e=f[t+8>>2],y=f[(r=e+52|0)+4>>2],f[t+116>>2]=f[r>>2],f[t+120>>2]=y,r=f[(e=e+60|0)+4>>2],f[(t=t+124|0)>>2]=f[e>>2],void(f[t+4>>2]=r)}f[t+20>>2]=0}},function(t,e){t|=0,e|=0;var i=v(0);f[t+12>>2]=0,i=C[e+20>>2],C[t>>2]=v(C[e+256>>2]*i)+C[e+68>>2],C[t+8>>2]=v(i*C[e+264>>2])+C[e+76>>2],C[t+4>>2]=v(i*C[e+260>>2])+C[e+72>>2]},ve,function(t,e){return e|=0,f[(t|=0)+12>>2]&f[e+4>>2]?0!=(f[e+8>>2]&f[t+8>>2])|0:0},function(t,e,i){t|=0,e|=0,i|=0;var r=0,n=v(0),a=v(0),o=v(0),h=v(0),d=v(0),g=v(0),m=0,y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0);return a=v(1),(0|(r=f[e>>2]))==f[t+84>>2]|4&_[r+204|0]||(i?(o=C[e+16>>2],h=C[e+12>>2],n=C[e+8>>2]):(n=C[e+8>>2],d=C[e+12>>2],g=C[e+16>>2],o=v(v(v(n*C[r+36>>2])+v(d*C[r+40>>2]))+v(g*C[r+44>>2])),h=v(v(v(n*C[r+20>>2])+v(d*C[r+24>>2]))+v(g*C[r+28>>2])),n=v(v(v(C[r+4>>2]*n)+v(C[r+8>>2]*d))+v(C[r+12>>2]*g))),v(v(v(n*C[t+88>>2])+v(h*C[t+92>>2]))+v(o*C[t+96>>2]))<C[t+104>>2]||(f[t+80>>2]=r,f[t+4>>2]=f[e+40>>2],i?(i=f[e+12>>2],f[t+48>>2]=f[e+8>>2],f[t+52>>2]=i,m=f[(r=e+16|0)+4>>2],f[(i=t+56|0)>>2]=f[r>>2],f[i+4>>2]=m):(n=C[r+8>>2],d=C[r+12>>2],g=C[r+20>>2],y=C[r+24>>2],p=C[r+28>>2],R=C[r+36>>2],D=C[r+40>>2],a=C[e+12>>2],B=C[r+44>>2],o=C[e+16>>2],E=C[r+4>>2],h=C[e+8>>2],f[t+60>>2]=0,C[t+56>>2]=v(v(h*R)+v(a*D))+v(o*B),C[t+52>>2]=v(v(h*g)+v(a*y))+v(o*p),C[t+48>>2]=v(v(E*h)+v(n*a))+v(d*o)),i=f[e+28>>2],f[t+64>>2]=f[e+24>>2],f[t+68>>2]=i,r=f[(i=e+32|0)+4>>2],f[(t=t+72|0)>>2]=f[i>>2],f[t+4>>2]=r,a=C[e+40>>2])),v(a)},At,qe,function(t,e){e|=0;var i=0,r=0,n=0;Kf(t|=0,f[t+28>>2]+4|0,f[t+32>>2]+4|0),f[e>>2]=0,f[e+4>>2]=0;t:{e:{i:if(i=f[t+956>>2],!(i>>>0>4))switch(r=2,i-1|0){case 3:break e;case 0:case 1:case 2:break i;default:break t}r=1}f[e>>2]=r,i=r}_[t+792|0]&&(i=i+1|0,f[e>>2]=i),_[t+798|0]&&(i=i+1|0,f[e>>2]=i),n=e;t:{e:{i:if(r=f[t+960>>2],!(r>>>0>4)){A:switch(r-1|0){case 0:case 1:case 2:break i;case 3:break A;default:break t}i=i+2|0;break e}i=i+1|0}f[n>>2]=i}_[t+793|0]&&(i=i+1|0,f[e>>2]=i),_[t+799|0]&&(i=i+1|0,f[e>>2]=i),n=e;t:{e:{i:if(r=f[t+964>>2],!(r>>>0>4)){A:switch(r-1|0){case 0:case 1:case 2:break i;case 3:break A;default:break t}i=i+2|0;break e}i=i+1|0}f[n>>2]=i}_[t+794|0]&&(i=i+1|0,f[e>>2]=i),_[t+800|0]&&(f[e>>2]=i+1),Lf(t,0);t:{e:{i:if(r=f[t+1052>>2],!(r>>>0>4))switch(i=2,r-1|0){case 3:break e;case 0:case 1:case 2:break i;default:break t}i=1}f[e>>2]=f[e>>2]+i}_[t+996|0]&&(f[e>>2]=f[e>>2]+1),_[t+1016|0]&&(f[e>>2]=f[e>>2]+1),Lf(t,1);t:{e:{i:if(r=f[t+1140>>2],!(r>>>0>4))switch(i=2,r-1|0){case 3:break e;case 0:case 1:case 2:break i;default:break t}i=1}f[e>>2]=f[e>>2]+i}_[t+1084|0]&&(f[e>>2]=f[e>>2]+1),_[t+1104|0]&&(f[e>>2]=f[e>>2]+1),i=2,Lf(t,2);t:{e:{i:if(r=f[t+1228>>2],!(r>>>0>4))switch(r-1|0){case 3:break e;case 0:case 1:case 2:break i;default:break t}i=1}f[e>>2]=f[e>>2]+i}_[t+1172|0]&&(f[e>>2]=f[e>>2]+1),_[t+1192|0]&&(f[e>>2]=f[e>>2]+1)},function(t,e){var i,r,a,o,h,d;(function(t,e,i,r,a,o,h,d,g){var v,y,p=0,R=0,D=0,B=0,E=0,F=0,V=0,G=0;for(Z=v=Z-112|0,f[(R=v+100|0)>>2]=0,f[R+4>>2]=0,f[v+108>>2]=0,f[v+92>>2]=0,f[v+96>>2]=0,n[v+88|0]=0,f[v+84>>2]=0,n[v+80|0]=0,f[v+76>>2]=0,n[v+72|0]=0,f[v+68>>2]=0,n[v+64|0]=0,f[v+56>>2]=0,f[v+60>>2]=1036831949,n[v+52|0]=0,f[v+48>>2]=0,f[v+40>>2]=0,f[v+44>>2]=1063675494,f[v+32>>2]=0,f[v+36>>2]=1045220557,f[v+24>>2]=1065353216,f[v+28>>2]=-1082130432,y=e+4|0;;){if(R=_[(D=t+F|0)+792|0],(G=f[(p=t+V|0)+956>>2])||(B=R,R=1,B||(R=0,_[D+798|0]))){f[v+108>>2]=G,n[v+52|0]=R,f[v+32>>2]=f[p+712>>2],f[v+104>>2]=f[p+940>>2],f[v+96>>2]=f[p+908>>2],f[v+100>>2]=f[p+924>>2],n[v+64|0]=_[D+795|0],f[v+68>>2]=f[p+804>>2],n[v+72|0]=_[D+798|0],f[v+76>>2]=f[p+820>>2],n[v+80|0]=_[D+836|0],f[v+84>>2]=f[p+840>>2],n[v+88|0]=_[D+856|0],f[v+92>>2]=f[p+860>>2],f[v+28>>2]=f[p+696>>2],f[v+24>>2]=f[p+680>>2],f[v+60>>2]=f[p+892>>2],f[v+56>>2]=f[p+876>>2],f[v+20>>2]=0,f[v+8>>2]=f[p+1236>>2],f[v+12>>2]=f[p+1252>>2],f[v+16>>2]=f[p+1268>>2],B=v,D=p+744|0,1&(R=f[t+1456>>2]>>V)||(D=f[e+32>>2]),f[B+40>>2]=f[D>>2],f[v+36>>2]=f[(2&R?p+728|0:y)>>2],f[v+48>>2]=f[(4&R?p+776|0:f[e+32>>2])>>2],f[v+44>>2]=f[(8&R?p+760|0:y)>>2],B=1,p=((F+2&255)>>>0)%3|0,R=m(((F+1&255)>>>0)%3|0,88)+t|0;t:if((D=f[R+1052>>2]+-1|0)>>>0<=3){e:switch(D-2|0){case 0:B=(E=+C[R+1040>>2])<-.001|E>.001;break t;case 1:break e;default:break t}if(+C[R+1040>>2]<-.001)break t;B=+C[R+1044>>2]>.001}else B=0;R=1,p=m(p,88)+t|0;t:if(!((D=f[p+1052>>2]+-1|0)>>>0>3)){e:{i:switch(D-2|0){case 0:if((E=+C[p+1040>>2])<-.001|E>.001)break e;break t;case 1:break i;default:break e}if(!(+C[p+1040>>2]<-.001||+C[p+1044>>2]>.001))break t}R=0}i=qf(t,v+24|0,r,a,o,h,d,g,e,i,v+8|0,0,B?R:1)+i|0}if(F=F+1|0,12==(0|(V=V+4|0)))break}Z=v+112|0})(i=t|=0,r=e|=0,function(t,e,i,r,n,a,o,h){var d,C=0,g=0,v=0,y=0,p=0,R=0,D=0;return Z=d=Z-32|0,f[d+24>>2]=f[6114],g=f[6113],f[d+16>>2]=f[6112],f[d+20>>2]=g,g=1,(v=f[t+1232>>2])>>>0<=5&&(C=v<<2,f[d+24>>2]=f[C+24508>>2],g=f[C+24532>>2],f[d+20>>2]=g,C=f[C+24556>>2],f[d+16>>2]=C),v=m(C,88)+t|0,(_[1016+(m(C,88)+t|0)|0]||f[v+1052>>2]|_[v+996|0])&&(p=f[(y=(g=(C<<4)+t|0)+1388|0)+4>>2],f[(R=d+8|0)>>2]=f[y>>2],f[R+4>>2]=p,y=f[(g=g+1380|0)+4>>2],f[d>>2]=f[g>>2],f[d+4>>2]=y,1&(g=f[t+1456>>2]>>12+(C<<2))||(f[984+(m(C,88)+t|0)>>2]=f[f[e+32>>2]>>2]),2&g||(f[980+(m(C,88)+t|0)>>2]=f[e+4>>2]),4&g||(f[992+(m(C,88)+t|0)>>2]=f[f[e+32>>2]>>2]),8&g||(f[988+(m(C,88)+t|0)>>2]=f[e+4>>2]),y=qf(t,v+968|0,i,r,n,a,o,h,e,0,d,1,0),g=f[d+20>>2]),v=m(g,88)+t|0,(_[1016+(m(g,88)+t|0)|0]||f[v+1052>>2]|_[v+996|0])&&(R=f[(p=(C=(g<<4)+t|0)+1388|0)+4>>2],f[(D=d+8|0)>>2]=f[p>>2],f[D+4>>2]=R,p=f[(C=C+1380|0)+4>>2],f[d>>2]=f[C>>2],f[d+4>>2]=p,1&(C=f[t+1456>>2]>>12+(g<<2))||(f[984+(m(g,88)+t|0)>>2]=f[f[e+32>>2]>>2]),2&C||(f[980+(m(g,88)+t|0)>>2]=f[e+4>>2]),4&C||(f[992+(m(g,88)+t|0)>>2]=f[f[e+32>>2]>>2]),8&C||(f[988+(m(g,88)+t|0)>>2]=f[e+4>>2]),y=qf(t,v+968|0,i,r,n,a,o,h,e,y,d,1,0)+y|0),g=f[d+24>>2],v=m(g,88)+t|0,(_[1016+(m(g,88)+t|0)|0]||f[v+1052>>2]|_[v+996|0])&&(R=f[(p=(C=(g<<4)+t|0)+1388|0)+4>>2],f[(D=d+8|0)>>2]=f[p>>2],f[D+4>>2]=R,p=f[(C=C+1380|0)+4>>2],f[d>>2]=f[C>>2],f[d+4>>2]=p,1&(C=f[t+1456>>2]>>12+(g<<2))||(f[984+(m(g,88)+t|0)>>2]=f[f[e+32>>2]>>2]),2&C||(f[980+(m(g,88)+t|0)>>2]=f[e+4>>2]),4&C||(f[992+(m(g,88)+t|0)>>2]=f[f[e+32>>2]>>2]),8&C||(f[988+(m(g,88)+t|0)>>2]=f[e+4>>2]),y=qf(t,v+968|0,i,r,n,a,o,h,e,y,d,1,0)+y|0),Z=d+32|0,y}(i,r,a=(e=f[t+28>>2])+4|0,o=(t=f[t+32>>2])+4|0,h=e+372|0,d=t+372|0,e=e+388|0,t=t+388|0),a,o,h,d,e,t)},function(t,e,i,r){t|=0,e|=0,i=v(i);var n=0;t:{if((r|=0)>>>0<=2){if((e=e+-1|0)>>>0>3)break t;switch(e-1|0){case 0:return C[728+((e=r<<2)+t|0)>>2]=i,void(f[t+1456>>2]=f[t+1456>>2]|2<<e);case 2:return C[744+((e=r<<2)+t|0)>>2]=i,void(f[t+1456>>2]=f[t+1456>>2]|1<<e);default:return C[760+((e=r<<2)+t|0)>>2]=i,void(f[t+1456>>2]=f[t+1456>>2]|8<<e);case 1:}return C[776+((e=r<<2)+t|0)>>2]=i,void(f[t+1456>>2]=f[t+1456>>2]|4<<e)}if(!((n=r+-3|0)>>>0>2||(e=e+-1|0,e>>>0>3))){switch(e-1|0){case 0:return C[980+(m(n,88)+t|0)>>2]=i,void(f[t+1456>>2]=f[t+1456>>2]|2<<(r<<2));case 2:return C[984+(m(n,88)+t|0)>>2]=i,void(f[t+1456>>2]=f[t+1456>>2]|1<<(r<<2));default:return C[988+(m(n,88)+t|0)>>2]=i,void(f[t+1456>>2]=f[t+1456>>2]|8<<(r<<2));case 1:}C[992+(m(n,88)+t|0)>>2]=i,f[t+1456>>2]=f[t+1456>>2]|4<<(r<<2)}}},function(t,e,i){t|=0,e|=0,i|=0;var r=v(0);if(i>>>0<=2){if((e=e+-1|0)>>>0>3)return v(v(0));switch(e-1|0){case 0:return v(C[728+((i<<2)+t|0)>>2]);case 2:return v(C[744+((i<<2)+t|0)>>2]);default:return v(C[760+((i<<2)+t|0)>>2]);case 1:}return v(C[776+((i<<2)+t|0)>>2])}if(!((i=i+-3|0)>>>0>2||(e=e+-1|0,e>>>0>3))){switch(e-1|0){case 0:return v(C[980+(m(i,88)+t|0)>>2]);case 2:return v(C[984+(m(i,88)+t|0)>>2]);default:return v(C[988+(m(i,88)+t|0)>>2]);case 1:}r=C[992+(m(i,88)+t|0)>>2]}return v(r)},function(t){return 644},function(t,e,i){return Df(t|=0,e|=0,i|=0),f[e+52>>2]=f[t+48>>2],f[e+56>>2]=f[t+52>>2],f[e+60>>2]=f[t+56>>2],f[e+64>>2]=f[t+60>>2],f[e+68>>2]=f[t- -64>>2],f[e+72>>2]=f[t+68>>2],f[e+76>>2]=f[t+72>>2],f[e+80>>2]=f[t+76>>2],f[e+84>>2]=f[t+80>>2],f[e+88>>2]=f[t+84>>2],f[e+92>>2]=f[t+88>>2],f[e+96>>2]=f[t+92>>2],f[e+100>>2]=f[t+96>>2],f[e+104>>2]=f[t+100>>2],f[e+108>>2]=f[t+104>>2],f[e+112>>2]=f[t+108>>2],f[e+116>>2]=f[t+112>>2],f[e+120>>2]=f[t+116>>2],f[e+124>>2]=f[t+120>>2],f[e+128>>2]=f[t+124>>2],f[e+132>>2]=f[t+128>>2],f[e+136>>2]=f[t+132>>2],f[e+140>>2]=f[t+136>>2],f[e+144>>2]=f[t+140>>2],f[e+148>>2]=f[t+144>>2],f[e+152>>2]=f[t+148>>2],f[e+156>>2]=f[t+152>>2],f[e+160>>2]=f[t+156>>2],f[e+164>>2]=f[t+160>>2],f[e+168>>2]=f[t+164>>2],f[e+172>>2]=f[t+168>>2],f[e+176>>2]=f[t+172>>2],f[e+428>>2]=f[t+968>>2],f[e+412>>2]=f[t+972>>2],f[e+444>>2]=f[t+976>>2],f[e+460>>2]=f[t+980>>2],f[e+476>>2]=f[t+984>>2],f[e+492>>2]=f[t+988>>2],f[e+508>>2]=f[t+992>>2],f[e+524>>2]=f[t+1e3>>2],f[e+540>>2]=f[t+1004>>2],f[e+556>>2]=f[t+1012>>2],f[e+572>>2]=f[t+1020>>2],f[e+588>>2]=f[t+1028>>2],f[e+604>>2]=f[t+1036>>2],f[e+432>>2]=f[t+1056>>2],f[e+416>>2]=f[t+1060>>2],f[e+448>>2]=f[t+1064>>2],f[e+464>>2]=f[t+1068>>2],f[e+480>>2]=f[t+1072>>2],f[e+496>>2]=f[t+1076>>2],f[e+512>>2]=f[t+1080>>2],f[e+528>>2]=f[t+1088>>2],f[e+544>>2]=f[t+1092>>2],f[e+560>>2]=f[t+1100>>2],f[e+576>>2]=f[t+1108>>2],f[e+592>>2]=f[t+1116>>2],f[e+608>>2]=f[t+1124>>2],f[e+436>>2]=f[t+1144>>2],f[e+420>>2]=f[t+1148>>2],f[e+452>>2]=f[t+1152>>2],f[e+468>>2]=f[t+1156>>2],f[e+484>>2]=f[t+1160>>2],f[e+500>>2]=f[t+1164>>2],f[e+516>>2]=f[t+1168>>2],f[e+532>>2]=f[t+1176>>2],f[e+548>>2]=f[t+1180>>2],f[e+564>>2]=f[t+1188>>2],f[e+580>>2]=f[t+1196>>2],f[e+596>>2]=f[t+1204>>2],i=f[t+1212>>2],f[e+440>>2]=0,f[e+612>>2]=i,f[e+616>>2]=0,f[e+600>>2]=0,f[e+584>>2]=0,f[e+568>>2]=0,f[e+552>>2]=0,f[e+536>>2]=0,f[e+520>>2]=0,f[e+504>>2]=0,f[e+488>>2]=0,f[e+472>>2]=0,f[e+456>>2]=0,f[e+424>>2]=0,n[e+620|0]=_[t+996|0],n[e+624|0]=_[t+1008|0],n[e+628|0]=_[t+1016|0],n[e+632|0]=_[t+1024|0],n[e+636|0]=_[t+1032|0],n[e+621|0]=_[t+1084|0],n[e+625|0]=_[t+1096|0],n[e+629|0]=_[t+1104|0],n[e+633|0]=_[t+1112|0],n[e+637|0]=_[t+1120|0],n[e+622|0]=_[t+1172|0],n[e+626|0]=_[t+1184|0],n[e+630|0]=_[t+1192|0],n[e+634|0]=_[t+1200|0],i=_[t+1208|0],n[e+639|0]=0,n[e+635|0]=0,n[e+631|0]=0,n[e+627|0]=0,n[e+623|0]=0,n[e+638|0]=i,f[e+196>>2]=f[t+680>>2],f[e+200>>2]=f[t+684>>2],f[e+204>>2]=f[t+688>>2],f[e+208>>2]=f[t+692>>2],f[e+180>>2]=f[t+696>>2],f[e+184>>2]=f[t+700>>2],f[e+188>>2]=f[t+704>>2],f[e+192>>2]=f[t+708>>2],f[e+212>>2]=f[t+712>>2],f[e+216>>2]=f[t+716>>2],f[e+220>>2]=f[t+720>>2],f[e+224>>2]=f[t+724>>2],f[e+228>>2]=f[t+728>>2],f[e+232>>2]=f[t+732>>2],f[e+236>>2]=f[t+736>>2],f[e+240>>2]=f[t+740>>2],f[e+244>>2]=f[t+744>>2],f[e+248>>2]=f[t+748>>2],f[e+252>>2]=f[t+752>>2],f[e+256>>2]=f[t+756>>2],f[e+260>>2]=f[t+760>>2],f[e+264>>2]=f[t+764>>2],f[e+268>>2]=f[t+768>>2],f[e+272>>2]=f[t+772>>2],f[e+276>>2]=f[t+776>>2],f[e+280>>2]=f[t+780>>2],f[e+284>>2]=f[t+784>>2],f[e+288>>2]=f[t+788>>2],f[e+292>>2]=f[t+876>>2],f[e+296>>2]=f[t+880>>2],f[e+300>>2]=f[t+884>>2],f[e+304>>2]=f[t+888>>2],f[e+308>>2]=f[t+892>>2],f[e+312>>2]=f[t+896>>2],f[e+316>>2]=f[t+900>>2],f[e+320>>2]=f[t+904>>2],f[e+324>>2]=f[t+804>>2],f[e+328>>2]=f[t+808>>2],f[e+332>>2]=f[t+812>>2],f[e+336>>2]=f[t+816>>2],f[e+340>>2]=f[t+820>>2],f[e+344>>2]=f[t+824>>2],f[e+348>>2]=f[t+828>>2],f[e+352>>2]=f[t+832>>2],f[e+356>>2]=f[t+840>>2],f[e+360>>2]=f[t+844>>2],f[e+364>>2]=f[t+848>>2],f[e+368>>2]=f[t+852>>2],f[e+372>>2]=f[t+860>>2],f[e+376>>2]=f[t+864>>2],f[e+380>>2]=f[t+868>>2],f[e+384>>2]=f[t+872>>2],n[e+388|0]=_[t+792|0],n[e+392|0]=_[t+795|0],n[e+396|0]=_[t+798|0],n[e+400|0]=_[t+836|0],n[e+404|0]=_[t+856|0],n[e+389|0]=_[t+793|0],n[e+393|0]=_[t+796|0],n[e+397|0]=_[t+799|0],n[e+401|0]=_[t+837|0],n[e+405|0]=_[t+857|0],n[e+390|0]=_[t+794|0],n[e+394|0]=_[t+797|0],n[e+398|0]=_[t+800|0],n[e+402|0]=_[t+838|0],i=_[t+858|0],n[e+407|0]=0,n[e+403|0]=0,n[e+399|0]=0,n[e+395|0]=0,n[e+391|0]=0,n[e+406|0]=i,t=f[t+1232>>2],f[e+408>>2]=0,f[e+640>>2]=t,24664},Ef,At,sA,ve,function(t,e){e|=0,Q(f[(t|=0)+4>>2],0|e)},function(t,e){e|=0,W(f[(t|=0)+4>>2],0|e)},ve,function(t,e){return e|=0,f[(t|=0)+16>>2]&f[e+4>>2]?0!=(f[e+8>>2]&f[t+12>>2])|0:0},function(t,e,i){t|=0,e|=0,i|=0;var r=0,n=v(0),a=v(0),o=v(0),_=0,h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0);return f[t+4>>2]=f[e+24>>2],r=f[e>>2],f[t+8>>2]=r,i?(i=f[e+12>>2],f[t+56>>2]=f[e+8>>2],f[t+60>>2]=i,_=f[(r=e+16|0)+4>>2],f[(i=t- -64|0)>>2]=f[r>>2],f[i+4>>2]=_):(h=C[r+8>>2],d=C[r+12>>2],g=C[r+20>>2],m=C[r+24>>2],y=C[r+28>>2],p=C[r+36>>2],R=C[r+40>>2],n=C[e+12>>2],D=C[r+44>>2],a=C[e+16>>2],B=C[r+4>>2],o=C[e+8>>2],f[t+68>>2]=0,C[t- -64>>2]=v(v(o*p)+v(n*R))+v(a*D),C[t+60>>2]=v(v(o*g)+v(n*m))+v(a*y),C[t+56>>2]=v(v(B*o)+v(h*n))+v(d*a)),n=C[e+24>>2],a=v(v(1)-n),C[t+72>>2]=v(a*C[t+24>>2])+v(n*C[t+40>>2]),C[t+76>>2]=v(a*C[t+28>>2])+v(n*C[t+44>>2]),C[t+80>>2]=v(a*C[t+32>>2])+v(n*C[t+48>>2]),v(C[e+24>>2])},Ct,function(t){$(Ct(t|=0))},function(t,e,i){t|=0,e|=0,i|=0;var r=0,a=0,o=0,h=0,d=0,g=v(0),m=0,y=0,p=v(0),R=v(0),D=v(0),B=v(0);if(f[t+8>>2]=f[e>>2],(0|(r=f[t+28>>2]))==f[t+32>>2]&&!((0|r)>=(0|(o=r?r<<1:1)))){if(o&&(h=dA(o<<2),r=f[t+28>>2]),(0|r)>=1)for(a=r;f[d+h>>2]=f[f[t+36>>2]+d>>2],d=d+4|0,a=a+-1|0;);(a=f[t+36>>2])&&(_[t+40|0]&&(CA(a),r=f[t+28>>2]),f[t+36>>2]=0),f[t+36>>2]=h,f[t+32>>2]=o,n[t+40|0]=1}if(f[t+28>>2]=r+1,f[f[t+36>>2]+(r<<2)>>2]=f[e>>2],i?(B=C[e+16>>2],R=C[e+12>>2],g=C[e+8>>2],p=C[e+20>>2]):(D=C[e+8>>2],i=f[t+8>>2],p=C[e+12>>2],g=C[e+16>>2],B=v(v(v(D*C[i+36>>2])+v(p*C[i+40>>2]))+v(g*C[i+44>>2])),R=v(v(v(D*C[i+20>>2])+v(p*C[i+24>>2]))+v(g*C[i+28>>2])),g=v(v(v(C[i+4>>2]*D)+v(C[i+8>>2]*p))+v(C[i+12>>2]*g)),p=v(0)),(0|(a=f[t+80>>2]))==f[t+84>>2]&&!((0|a)>=(0|(y=a?a<<1:1)))){if(y?(i=dA(y<<4),a=f[t+80>>2]):i=0,(0|a)>=1)for(d=0;m=f[t+88>>2]+d|0,r=f[m+4>>2],f[(o=h=i+d|0)>>2]=f[m>>2],f[o+4>>2]=r,r=f[(o=m+8|0)+4>>2],f[(h=h+8|0)>>2]=f[o>>2],f[h+4>>2]=r,d=d+16|0,a=a+-1|0;);(r=f[t+88>>2])&&(_[t+92|0]&&CA(r),f[t+88>>2]=0),f[t+88>>2]=i,f[t+84>>2]=y,n[t+92|0]=1,a=f[t+80>>2]}if(i=f[t+88>>2]+(a<<4)|0,C[i+12>>2]=p,C[i+8>>2]=B,C[i+4>>2]=R,C[i>>2]=g,f[t+80>>2]=f[t+80>>2]+1,R=C[e+24>>2],g=v(v(1)-R),D=v(v(g*C[t+52>>2])+v(R*C[t+68>>2])),p=v(v(g*C[t+48>>2])+v(R*C[t- -64>>2])),g=v(v(g*C[t+44>>2])+v(R*C[t+60>>2])),(0|(a=f[t+100>>2]))==f[t+104>>2]&&!((0|a)>=(0|(y=a?a<<1:1)))){if(y?(i=dA(y<<4),a=f[t+100>>2]):i=0,(0|a)>=1)for(d=0;m=f[t+108>>2]+d|0,r=f[m+4>>2],f[(o=h=i+d|0)>>2]=f[m>>2],f[o+4>>2]=r,r=f[(o=m+8|0)+4>>2],f[(h=h+8|0)>>2]=f[o>>2],f[h+4>>2]=r,d=d+16|0,a=a+-1|0;);(r=f[t+108>>2])&&(_[t+112|0]&&CA(r),f[t+108>>2]=0),f[t+108>>2]=i,f[t+104>>2]=y,n[t+112|0]=1,a=f[t+100>>2]}if(i=f[t+108>>2]+(a<<4)|0,C[i+8>>2]=D,C[i+4>>2]=p,C[i>>2]=g,f[t+100>>2]=f[t+100>>2]+1,(0|(r=f[t+120>>2]))==f[t+124>>2]&&!((0|r)>=(0|(m=r?r<<1:1)))){m?(o=dA(m<<2),r=f[t+120>>2]):o=0,i=f[t+128>>2];t:{if((0|r)>=1)for(d=o,a=i,h=r;f[d>>2]=f[a>>2],d=d+4|0,a=a+4|0,h=h+-1|0;);else if(!i)break t;_[t+132|0]&&(CA(i),r=f[t+120>>2]),f[t+128>>2]=0}f[t+128>>2]=o,f[t+124>>2]=m,n[t+132|0]=1}return f[f[t+128>>2]+(r<<2)>>2]=f[e+24>>2],f[t+120>>2]=r+1,v(C[t+4>>2])},ve,function(t,e,i){t|=0,e|=0,i|=0;var r=0,n=v(0),a=v(0),o=v(0),_=0,h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0);return f[t+4>>2]=f[e+40>>2],r=f[e>>2],f[t+80>>2]=r,i?(i=f[e+12>>2],f[t+48>>2]=f[e+8>>2],f[t+52>>2]=i,_=f[(r=e+16|0)+4>>2],f[(i=t+56|0)>>2]=f[r>>2],f[i+4>>2]=_):(h=C[r+8>>2],d=C[r+12>>2],g=C[r+20>>2],m=C[r+24>>2],y=C[r+28>>2],p=C[r+36>>2],R=C[r+40>>2],n=C[e+12>>2],D=C[r+44>>2],a=C[e+16>>2],B=C[r+4>>2],o=C[e+8>>2],f[t+60>>2]=0,C[t+56>>2]=v(v(o*p)+v(n*R))+v(a*D),C[t+52>>2]=v(v(o*g)+v(n*m))+v(a*y),C[t+48>>2]=v(v(B*o)+v(h*n))+v(d*a)),i=f[e+28>>2],f[t+64>>2]=f[e+24>>2],f[t+68>>2]=i,r=f[(i=e+32|0)+4>>2],f[(t=t+72|0)>>2]=f[i>>2],f[t+4>>2]=r,v(C[e+40>>2])},gt,function(t){$(gt(t|=0))},function(t,e,i){t|=0,e|=0,i|=0;var r,a=0,o=0,h=0,d=0,g=0,m=0,y=0,p=v(0),R=v(0),D=v(0),B=v(0),E=v(0);if((0|(a=f[t+20>>2]))==f[t+24>>2]&&!((0|a)>=(0|(h=a?a<<1:1)))){if(h&&(d=dA(h<<2),a=f[t+20>>2]),(0|a)>=1)for(o=a;f[g+d>>2]=f[f[t+28>>2]+g>>2],g=g+4|0,o=o+-1|0;);(o=f[t+28>>2])&&(_[t+32|0]&&(CA(o),a=f[t+20>>2]),f[t+28>>2]=0),f[t+28>>2]=d,f[t+24>>2]=h,n[t+32|0]=1}if(f[t+20>>2]=a+1,f[f[t+28>>2]+(a<<2)>>2]=f[e>>2],i?(B=C[e+16>>2],E=C[e+12>>2],p=C[e+8>>2],R=C[e+20>>2]):(D=C[e+8>>2],i=f[e>>2],R=C[e+12>>2],p=C[e+16>>2],B=v(v(v(D*C[i+36>>2])+v(R*C[i+40>>2]))+v(p*C[i+44>>2])),E=v(v(v(D*C[i+20>>2])+v(R*C[i+24>>2]))+v(p*C[i+28>>2])),p=v(v(v(C[i+4>>2]*D)+v(C[i+8>>2]*R))+v(C[i+12>>2]*p)),R=v(0)),(0|(o=f[t+72>>2]))==f[t+76>>2]&&!((0|o)>=(0|(y=o?o<<1:1)))){if(y?(i=dA(y<<4),o=f[t+72>>2]):i=0,(0|o)>=1)for(g=0;m=f[t+80>>2]+g|0,a=f[m+4>>2],f[(h=d=i+g|0)>>2]=f[m>>2],f[h+4>>2]=a,a=f[(h=m+8|0)+4>>2],f[(d=d+8|0)>>2]=f[h>>2],f[d+4>>2]=a,g=g+16|0,o=o+-1|0;);(a=f[t+80>>2])&&(_[t+84|0]&&CA(a),f[t+80>>2]=0),f[t+80>>2]=i,f[t+76>>2]=y,n[t+84|0]=1,o=f[t+72>>2]}if(i=f[t+80>>2]+(o<<4)|0,C[i+12>>2]=R,C[i+8>>2]=B,C[i+4>>2]=E,C[i>>2]=p,f[t+72>>2]=f[t+72>>2]+1,r=e+24|0,(0|(o=f[t+92>>2]))==f[t+96>>2]&&!((0|o)>=(0|(y=o?o<<1:1)))){if(y?(i=dA(y<<4),o=f[t+92>>2]):i=0,(0|o)>=1)for(g=0;m=f[t+100>>2]+g|0,a=f[m+4>>2],f[(h=d=i+g|0)>>2]=f[m>>2],f[h+4>>2]=a,a=f[(h=m+8|0)+4>>2],f[(d=d+8|0)>>2]=f[h>>2],f[d+4>>2]=a,g=g+16|0,o=o+-1|0;);(a=f[t+100>>2])&&(_[t+104|0]&&CA(a),f[t+100>>2]=0),f[t+100>>2]=i,f[t+96>>2]=y,n[t+104|0]=1,o=f[t+92>>2]}if(i=f[r+4>>2],a=f[t+100>>2]+(o<<4)|0,f[a>>2]=f[r>>2],f[a+4>>2]=i,o=a+8|0,i=f[(a=r+8|0)+4>>2],f[o>>2]=f[a>>2],f[o+4>>2]=i,f[t+92>>2]=f[t+92>>2]+1,(0|(a=f[t+112>>2]))==f[t+116>>2]&&!((0|a)>=(0|(m=a?a<<1:1)))){m?(h=dA(m<<2),a=f[t+112>>2]):h=0,i=f[t+120>>2];t:{if((0|a)>=1)for(g=h,o=i,d=a;f[g>>2]=f[o>>2],g=g+4|0,o=o+4|0,d=d+-1|0;);else if(!i)break t;_[t+124|0]&&(CA(i),a=f[t+112>>2]),f[t+120>>2]=0}f[t+120>>2]=h,f[t+116>>2]=m,n[t+124|0]=1}return f[f[t+120>>2]+(a<<2)>>2]=f[e+40>>2],f[t+112>>2]=a+1,v(C[t+4>>2])},sA,ve,function(t,e,i){var r;return t|=0,e|=0,t=f[(i|=0)>>2],t=4==f[t+252>>2]?t:0,!(r=f[e>>2])|4!=f[r+252>>2]||yt[f[f[r>>2]+28>>2]](r,i,e),t&&yt[f[f[t>>2]+28>>2]](t,e,i),0},function(t,e,i,r){var n;return t|=0,e|=0,r|=0,t=f[(i|=0)>>2],t=4==f[t+252>>2]?t:0,!(n=f[e>>2])|4!=f[n+252>>2]||yt[f[f[n>>2]+32>>2]](n,i,r,e),t&&yt[f[f[t>>2]+32>>2]](t,e,r,i),0},De];function ht(){return i.byteLength/65536|0}return{btGImpactCollisionAlgorithm_RegisterAlgorithm:function(t){(function(t){_[1716]||(f[427]=8844,n[1716]=1,n[1712]=0),de(t,25,0),de(t,25,1),de(t,25,2),de(t,25,3),de(t,25,4),de(t,25,5),de(t,25,6),de(t,25,7),de(t,25,8),de(t,25,9),de(t,25,10),de(t,25,11),de(t,25,12),de(t,25,13),de(t,25,14),de(t,25,15),de(t,25,16),de(t,25,17),de(t,25,18),de(t,25,19),de(t,25,20),de(t,25,21),de(t,25,22),de(t,25,23),de(t,25,24),de(t,25,25),de(t,25,26),de(t,25,27),de(t,25,28),de(t,25,29),de(t,25,30),de(t,25,31),de(t,25,32),de(t,25,33),de(t,25,34),de(t,25,35),de(t,0,25),de(t,1,25),de(t,2,25),de(t,3,25),de(t,4,25),de(t,5,25),de(t,6,25),de(t,7,25),de(t,8,25),de(t,9,25),de(t,10,25),de(t,11,25),de(t,12,25),de(t,13,25),de(t,14,25),de(t,15,25),de(t,16,25),de(t,17,25),de(t,18,25),de(t,19,25),de(t,20,25),de(t,21,25),de(t,22,25),de(t,23,25),de(t,24,25),de(t,25,25),de(t,26,25),de(t,27,25),de(t,28,25),de(t,29,25),de(t,30,25),de(t,31,25),de(t,32,25),de(t,33,25),de(t,34,25),de(t,35,25)})(t|=0)},btVector3_create:function(t,e,i){var r;return t=v(t),e=v(e),i=v(i),r=dA(16),f[r+12>>2]=0,C[r+8>>2]=i,C[r+4>>2]=e,C[r>>2]=t,0|r},btVector3_setValue:function(t,e,i,r){t|=0,e=v(e),i=v(i),r=v(r),f[t+12>>2]=0,C[t+8>>2]=r,C[t+4>>2]=i,C[t>>2]=e},btVector3_x:et,btVector3_y:rt,btVector3_z:it,btQuaternion_create:function(t,e,i,r){var n;return t=v(t),e=v(e),i=v(i),r=v(r),n=q(16),C[n+12>>2]=r,C[n+8>>2]=i,C[n+4>>2]=e,C[n>>2]=t,0|n},btQuaternion_setValue:function(t,e,i,r,n){t|=0,e=v(e),i=v(i),r=v(r),n=v(n),C[t+12>>2]=n,C[t+8>>2]=r,C[t+4>>2]=i,C[t>>2]=e},btQuaternion_x:et,btQuaternion_y:rt,btQuaternion_z:it,btQuaternion_w:function(t){return v(C[(t|=0)+12>>2])},btTransform_create:function(){return 0|q(64)},btTransform_setOrigin:function(t,e){t|=0;var i=0;i=f[(e|=0)+4>>2],f[t+48>>2]=f[e>>2],f[t+52>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+56|0)>>2]=f[e>>2],f[t+4>>2]=i},btTransform_setRotation:function(t,e){t|=0,e|=0;var i=v(0),r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0);r=C[e+12>>2],_=C[e+8>>2],i=C[e>>2],a=C[e+4>>2],f[t+44>>2]=0,f[t+28>>2]=0,f[t+12>>2]=0,n=v(v(2)/v(v(v(v(i*i)+v(a*a))+v(_*_))+v(r*r))),h=v(_*n),o=v(a*h),g=v(i*n),m=v(r*g),C[t+36>>2]=o+m,y=v(i*h),n=v(a*n),d=v(r*n),C[t+32>>2]=y-d,C[t+24>>2]=o-m,o=v(i*n),r=v(r*h),C[t+16>>2]=o+r,C[t+8>>2]=y+d,C[t+4>>2]=o-r,i=v(i*g),r=v(a*n),C[t+40>>2]=v(1)-v(i+r),d=i,i=v(_*h),C[t+20>>2]=v(1)-v(d+i),C[t>>2]=v(1)-v(r+i)},btTransform_getOrigin:ft,btTransform_getRotation:function(t){var e,i;return Z=e=Z-16|0,tt(t|=0,e),i=f[(t=e+8|0)+4>>2],f[709]=f[t>>2],f[710]=i,t=f[e+4>>2],f[707]=f[e>>2],f[708]=t,Z=e+16|0,2828},btTransform_setIdentity:function(t){var e=0;f[(t|=0)+4>>2]=0,f[t+8>>2]=0,f[t>>2]=1065353216,f[t+32>>2]=0,f[t+36>>2]=0,f[(e=t+12|0)>>2]=0,f[e+4>>2]=0,f[(e=t+24|0)>>2]=0,f[e+4>>2]=0,f[t+20>>2]=1065353216,f[(e=t+44|0)>>2]=0,f[e+4>>2]=0,f[t+40>>2]=1065353216,f[(e=t+52|0)>>2]=0,f[e+4>>2]=0,f[t+60>>2]=0},btTransform_equal:Rr,btMotionState_destroy:nt,layaMotionState_create:function(){var t;return t=q(8),f[t>>2]=0,f[t+4>>2]=0,f[t>>2]=24708,0|t},layaMotionState_set_rigidBodyID:function(t,e){e|=0,f[(t|=0)+4>>2]=e},btCollisionObject_create:function(){var t;return Ee(t=dA(324)),0|t},btCollisionObject_setContactProcessingThreshold:function(t,e){t|=0,e=v(e),C[t+184>>2]=e},btCollisionObject_setActivationState:function(t,e){Ye(t|=0,e|=0)},btCollisionObject_forceActivationState:function(t,e){e|=0,f[(t|=0)+220>>2]=e},btCollisionObject_activate:function(t,e){Ve(t|=0,e|=0)},btCollisionObject_isActive:function(t){return 2!=(0|(t=f[(t|=0)+220>>2]))&5!=(0|t)},btCollisionObject_setRestitution:function(t,e){t|=0,e=v(e),C[t+232>>2]=e,f[t+304>>2]=f[t+304>>2]+1},btCollisionObject_setFriction:function(t,e){t|=0,e=v(e),C[t+228>>2]=e,f[t+304>>2]=f[t+304>>2]+1},btCollisionObject_setRollingFriction:function(t,e){t|=0,e=v(e),C[t+236>>2]=e,f[t+304>>2]=f[t+304>>2]+1},btCollisionObject_getCollisionFlags:function(t){return f[(t|=0)+204>>2]},btCollisionObject_setCollisionFlags:function(t,e){e|=0,f[(t|=0)+204>>2]=e},btCollisionObject_getWorldTransform:hi,btCollisionObject_setWorldTransform:function(t,e){e|=0;var i=0,r=0,n=0;f[(t|=0)+304>>2]=f[t+304>>2]+1,n=f[(r=e+8|0)+4>>2],f[(i=t+12|0)>>2]=f[r>>2],f[i+4>>2]=n,i=f[e+4>>2],f[t+4>>2]=f[e>>2],f[t+8>>2]=i,n=f[(r=e+24|0)+4>>2],f[(i=t+28|0)>>2]=f[r>>2],f[i+4>>2]=n,r=f[e+20>>2],f[(i=t+20|0)>>2]=f[e+16>>2],f[i+4>>2]=r,r=f[e+36>>2],f[(i=t+36|0)>>2]=f[e+32>>2],f[i+4>>2]=r,n=f[(r=e+40|0)+4>>2],f[(i=t+44|0)>>2]=f[r>>2],f[i+4>>2]=n,n=f[(r=e+56|0)+4>>2],f[(i=t+60|0)>>2]=f[r>>2],f[i+4>>2]=n,i=f[e+52>>2],f[(t=t+52|0)>>2]=f[e+48>>2],f[t+4>>2]=i},btCollisionObject_setInterpolationWorldTransform:function(t,e){e|=0;var i=0,r=0,n=0;f[(t|=0)+304>>2]=f[t+304>>2]+1,n=f[(r=e+8|0)+4>>2],f[(i=t+76|0)>>2]=f[r>>2],f[i+4>>2]=n,i=f[e+4>>2],f[t+68>>2]=f[e>>2],f[t+72>>2]=i,n=f[(r=e+24|0)+4>>2],f[(i=t+92|0)>>2]=f[r>>2],f[i+4>>2]=n,r=f[e+20>>2],f[(i=t+84|0)>>2]=f[e+16>>2],f[i+4>>2]=r,r=f[e+36>>2],f[(i=t+100|0)>>2]=f[e+32>>2],f[i+4>>2]=r,n=f[(r=e+40|0)+4>>2],f[(i=t+108|0)>>2]=f[r>>2],f[i+4>>2]=n,n=f[(r=e+56|0)+4>>2],f[(i=t+124|0)>>2]=f[r>>2],f[i+4>>2]=n,i=f[e+52>>2],f[(t=t+116|0)>>2]=f[e+48>>2],f[t+4>>2]=i},btCollisionObject_setCollisionShape:function(t,e){e|=0,yt[f[f[(t|=0)>>2]+8>>2]](t,e)},btCollisionObject_getCcdMotionThreshold:function(t){return v(C[(t|=0)+276>>2])},btCollisionObject_setCcdMotionThreshold:function(t,e){t|=0,e=v(e),C[t+276>>2]=e},btCollisionObject_getCcdSweptSphereRadius:function(t){return v(C[(t|=0)+272>>2])},btCollisionObject_setCcdSweptSphereRadius:function(t,e){t|=0,e=v(e),C[t+272>>2]=e},btCollisionObject_getUserIndex:function(t){return f[(t|=0)+264>>2]},btCollisionObject_setUserIndex:function(t,e){e|=0,f[(t|=0)+264>>2]=e},btCollisionObject_getActivationState:function(t){return f[(t|=0)+220>>2]},btCollisionObject_setInterpolationAngularVelocity:function(t,e){e|=0;var i=0;f[(t|=0)+304>>2]=f[t+304>>2]+1,i=f[e+4>>2],f[t+148>>2]=f[e>>2],f[t+152>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+156|0)>>2]=f[e>>2],f[t+4>>2]=i},btCollisionObject_setInterpolationLinearVelocity:function(t,e){e|=0;var i=0;f[(t|=0)+304>>2]=f[t+304>>2]+1,i=f[e+4>>2],f[t+132>>2]=f[e>>2],f[t+136>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+140|0)>>2]=f[e>>2],f[t+4>>2]=i},btCollisionObject_destroy:nt,RayResultCallback_set_m_flags:function(t,e){e|=0,f[(t|=0)+20>>2]=e},RayResultCallback_hasHit:function(t){return 0!=f[(t|=0)+8>>2]|0},RayResultCallback_set_m_collisionFilterGroup:at,RayResultCallback_set_m_collisionFilterMask:function(t,e){e|=0,f[(t|=0)+16>>2]=e},RayResultCallback_get_m_closestHitFraction:rt,RayResultCallback_set_m_closestHitFraction:ot,RayResultCallback_get_m_collisionObject:mi,RayResultCallback_set_m_collisionObject:ct,ClosestRayResultCallback_create:function(t,e){t|=0,e|=0;var i,r,n=0;return i=q(88),f[i+20>>2]=0,f[i+12>>2]=1,f[i+16>>2]=-1,f[i+4>>2]=1065353216,f[i+8>>2]=0,f[i>>2]=24788,n=f[t+4>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=n,r=f[(t=t+8|0)+4>>2],f[(n=i+32|0)>>2]=f[t>>2],f[n+4>>2]=r,t=f[e+4>>2],f[i+40>>2]=f[e>>2],f[i+44>>2]=t,n=f[(e=e+8|0)+4>>2],f[(t=i+48|0)>>2]=f[e>>2],f[t+4>>2]=n,0|i},ClosestRayResultCallback_get_m_rayFromWorld:bt,ClosestRayResultCallback_set_m_rayFromWorld:function(t,e){t|=0;var i=0;i=f[(e|=0)+4>>2],f[t+24>>2]=f[e>>2],f[t+28>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+32|0)>>2]=f[e>>2],f[t+4>>2]=i},ClosestRayResultCallback_get_m_rayToWorld:function(t){return(t|=0)+40|0},ClosestRayResultCallback_set_m_rayToWorld:function(t,e){t|=0;var i=0;i=f[(e|=0)+4>>2],f[t+40>>2]=f[e>>2],f[t+44>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+48|0)>>2]=f[e>>2],f[t+4>>2]=i},ClosestRayResultCallback_get_m_hitNormalWorld:Le,ClosestRayResultCallback_get_m_hitPointWorld:ze,tBtCollisionObjectArray_size:function(t){return f[(t|=0)+4>>2]},tBtCollisionObjectArray_at:function(t,e){return e|=0,f[f[(t|=0)+12>>2]+(e<<2)>>2]},tBtCollisionObjectArray_clear:lt,tVector3Array_at:function(t,e){return e|=0,f[(t|=0)+12>>2]+(e<<4)|0},tVector3Array_clear:lt,tScalarArray_at:function(t,e){return e|=0,v(C[f[(t|=0)+12>>2]+(e<<2)>>2])},tScalarArray_clear:lt,AllHitsRayResultCallback_create:function(t,e){t|=0,e|=0;var i,r,a=0;return i=q(136),f[i+28>>2]=0,f[i+32>>2]=0,f[i+20>>2]=0,f[i+12>>2]=1,f[i+16>>2]=-1,f[i+4>>2]=1065353216,f[i+8>>2]=0,n[i+40|0]=1,f[i>>2]=24920,f[i+36>>2]=0,a=f[t+4>>2],f[i+44>>2]=f[t>>2],f[i+48>>2]=a,t=f[(a=t+8|0)+4>>2],f[(r=i+52|0)>>2]=f[a>>2],f[r+4>>2]=t,t=f[e+4>>2],f[i+60>>2]=f[e>>2],f[i+64>>2]=t,a=f[(t=e+8|0)>>2],e=f[t+4>>2],f[i+88>>2]=0,f[i+80>>2]=0,f[i+84>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+108>>2]=0,n[i+132|0]=1,n[i+112|0]=1,n[i+92|0]=1,f[i+100>>2]=0,f[i+104>>2]=0,f[(t=i+68|0)>>2]=a,f[t+4>>2]=e,0|i},AllHitsRayResultCallback_get_m_rayFromWorld:function(t){return(t|=0)+44|0},AllHitsRayResultCallback_set_m_rayFromWorld:function(t,e){t|=0;var i=0;i=f[(e|=0)+4>>2],f[t+44>>2]=f[e>>2],f[t+48>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+52|0)>>2]=f[e>>2],f[t+4>>2]=i},AllHitsRayResultCallback_get_m_rayToWorld:function(t){return(t|=0)+60|0},AllHitsRayResultCallback_set_m_rayToWorld:function(t,e){t|=0;var i=0;i=f[(e|=0)+4>>2],f[t+60>>2]=f[e>>2],f[t+64>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+68|0)>>2]=f[e>>2],f[t+4>>2]=i},AllHitsRayResultCallback_get_m_hitPointWorld:function(t){return(t|=0)+96|0},AllHitsRayResultCallback_get_m_hitNormalWorld:function(t){return(t|=0)+76|0},AllHitsRayResultCallback_get_m_collisionObjects:bt,AllHitsRayResultCallback_get_m_hitFractions:function(t){return(t|=0)+116|0},btManifoldPoint_get_m_positionWorldOnA:ft,btManifoldPoint_get_m_positionWorldOnB:ut,btManifoldPoint_get_m_normalWorldOnB:st,btManifoldPoint_getDistance:function(t){return v(C[(t|=0)+80>>2])},ConvexResultCallback_hasHit:function(t){return C[(t|=0)+4>>2]<v(1)|0},ConvexResultCallback_set_m_collisionFilterGroup:ct,ConvexResultCallback_set_m_collisionFilterMask:at,ConvexResultCallback_get_m_closestHitFraction:rt,ConvexResultCallback_set_m_closestHitFraction:ot,ClosestConvexResultCallback_create:function(t,e){t|=0,e|=0;var i,r,n=0;return i=q(84),f[i+12>>2]=-1,f[i+4>>2]=1065353216,f[i+8>>2]=1,f[i>>2]=25004,n=f[t+4>>2],f[i+16>>2]=f[t>>2],f[i+20>>2]=n,r=f[(t=t+8|0)+4>>2],f[(n=i+24|0)>>2]=f[t>>2],f[n+4>>2]=r,t=f[e+4>>2],f[i+32>>2]=f[e>>2],f[i+36>>2]=t,n=f[(e=e+8|0)+4>>2],f[(t=i+40|0)>>2]=f[e>>2],f[t+4>>2]=n,f[i+80>>2]=0,0|i},ClosestConvexResultCallback_get_m_hitNormalWorld:ft,ClosestConvexResultCallback_get_m_hitPointWorld:st,ClosestConvexResultCallback_get_m_hitCollisionObject:function(t){return f[(t|=0)+80>>2]},ClosestConvexResultCallback_set_m_hitCollisionObject:function(t,e){e|=0,f[(t|=0)+80>>2]=e},AllConvexResultCallback_create:function(t,e){t|=0,e|=0;var i,r,a=0;return i=q(128),f[i+20>>2]=0,f[i+24>>2]=0,f[i+12>>2]=-1,f[i+4>>2]=1065353216,f[i+8>>2]=1,n[i+32|0]=1,f[i>>2]=25144,f[i+28>>2]=0,a=f[t+4>>2],f[i+36>>2]=f[t>>2],f[i+40>>2]=a,r=f[(t=t+8|0)+4>>2],f[(a=i+44|0)>>2]=f[t>>2],f[a+4>>2]=r,t=f[e+4>>2],f[i+52>>2]=f[e>>2],f[i+56>>2]=t,e=f[(t=e+8|0)>>2],t=f[t+4>>2],f[i+80>>2]=0,f[i+72>>2]=0,f[i+76>>2]=0,f[i+100>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,n[i+124|0]=1,n[i+104|0]=1,n[i+84|0]=1,f[i+92>>2]=0,f[i+96>>2]=0,f[(a=i+60|0)>>2]=e,f[a+4>>2]=t,0|i},AllConvexResultCallback_get_m_hitNormalWorld:function(t){return(t|=0)+68|0},AllConvexResultCallback_get_m_hitPointWorld:function(t){return(t|=0)+88|0},AllConvexResultCallback_get_m_hitFractions:function(t){return(t|=0)+108|0},AllConvexResultCallback_get_m_collisionObjects:Qe,btCollisionShape_getLocalScaling:function(t){return 0|yt[f[f[(t|=0)>>2]+28>>2]](t)},btCollisionShape_setLocalScaling:function(t,e){e|=0,yt[f[f[(t|=0)>>2]+24>>2]](t,e)},btCollisionShape_calculateLocalInertia:function(t,e,i){t|=0,e=v(e),i|=0,yt[f[f[t>>2]+32>>2]](t,e,i)},btCollisionShape_destroy:nt,btBoxShape_create:function(t){var e;return t|=0,function(t,e){var i=v(0),r=v(0),n=v(0),a=v(0);zA(t),i=C[e>>2],n=C[e+4>>2],r=C[e+8>>2],f[t+44>>2]=0,a=v(r*C[t+24>>2]),r=C[t+48>>2],C[t+40>>2]=a-r,C[t+36>>2]=v(n*C[t+20>>2])-r,C[t+32>>2]=v(i*C[t+16>>2])-r,f[t+4>>2]=0,f[t>>2]=9056,i=C[e>>2],n=C[e+8>>2],a=C[e+4>>2],(i=v(C[((i<a?(i<n^1)<<1:a<n?1:2)<<2)+e>>2]*v(.10000000149011612)))<r&&Ie(t,i)}(e=dA(60),t),0|e},btCapsuleShape_create:function(t,e){var i;return t=v(t),e=v(e),function(t,e,i){DA(t),C[t+48>>2]=e,f[t>>2]=6056,f[t+56>>2]=1,f[t+4>>2]=10,f[t+44>>2]=0,C[t+40>>2]=e,C[t+36>>2]=i*v(.5),C[t+32>>2]=e}(i=dA(60),t,e),0|i},btCapsuleShapeX_create:function(t,e){var i;return t=v(t),e=v(e),function(t,e,i){DA(t),f[t+56>>2]=0,C[t+48>>2]=e,f[t>>2]=6156,f[t+4>>2]=10,f[t+44>>2]=0,C[t+40>>2]=e,C[t+36>>2]=e,C[t+32>>2]=i*v(.5)}(i=dA(60),t,e),0|i},btCapsuleShapeZ_create:function(t,e){var i;return t=v(t),e=v(e),function(t,e,i){DA(t),f[t+56>>2]=2,C[t+48>>2]=e,f[t>>2]=6256,f[t+4>>2]=10,f[t+44>>2]=0,C[t+40>>2]=i*v(.5),C[t+36>>2]=e,C[t+32>>2]=e}(i=dA(60),t,e),0|i},btCylinderShape_create:function(t){var e;return t|=0,function(t,e){var i=v(0),r=v(0),n=v(0),a=v(0);DA(t),i=C[e>>2],n=C[e+4>>2],r=C[e+8>>2],f[t+44>>2]=0,a=v(r*C[t+24>>2]),r=C[t+48>>2],C[t+40>>2]=a-r,C[t+36>>2]=v(n*C[t+20>>2])-r,C[t+32>>2]=v(i*C[t+16>>2])-r,f[t+56>>2]=1,f[t>>2]=9392,i=C[e>>2],n=C[e+8>>2],a=C[e+4>>2],(i=v(C[((i<a?(i<n^1)<<1:a<n?1:2)<<2)+e>>2]*v(.10000000149011612)))<r&&Ie(t,i),f[t+4>>2]=13}(e=dA(60),t),0|e},btCylinderShapeX_create:function(t){var e;return t|=0,function(t,e){var i=v(0),r=v(0),n=v(0),a=v(0);DA(t),i=C[e>>2],n=C[e+4>>2],r=C[e+8>>2],f[t+44>>2]=0,a=v(r*C[t+24>>2]),r=C[t+48>>2],C[t+40>>2]=a-r,C[t+36>>2]=v(n*C[t+20>>2])-r,C[t+32>>2]=v(i*C[t+16>>2])-r,f[t+56>>2]=1,f[t>>2]=9392,i=C[e>>2],n=C[e+8>>2],a=C[e+4>>2],(i=v(C[((i<a?(i<n^1)<<1:a<n?1:2)<<2)+e>>2]*v(.10000000149011612)))<r&&Ie(t,i),f[t+56>>2]=0,f[t>>2]=9496,f[t+4>>2]=13}(e=dA(60),t),0|e},btCylinderShapeZ_create:function(t){var e;return t|=0,function(t,e){var i=v(0),r=v(0),n=v(0),a=v(0);DA(t),i=C[e>>2],n=C[e+4>>2],r=C[e+8>>2],f[t+44>>2]=0,a=v(r*C[t+24>>2]),r=C[t+48>>2],C[t+40>>2]=a-r,C[t+36>>2]=v(n*C[t+20>>2])-r,C[t+32>>2]=v(i*C[t+16>>2])-r,f[t+56>>2]=1,f[t>>2]=9392,i=C[e>>2],n=C[e+8>>2],a=C[e+4>>2],(i=v(C[((i<a?(i<n^1)<<1:a<n?1:2)<<2)+e>>2]*v(.10000000149011612)))<r&&Ie(t,i),f[t+56>>2]=2,f[t>>2]=9600,f[t+4>>2]=13}(e=dA(60),t),0|e},btSphereShape_create:function(t){var e,i;return t=v(t),DA(e=dA(56)),f[e+28>>2]=0,f[e+32>>2]=0,f[e+24>>2]=1065353216,f[e+16>>2]=1065353216,f[e+20>>2]=1065353216,f[e+4>>2]=8,f[e>>2]=9852,f[(i=e+36|0)>>2]=0,f[i+4>>2]=0,f[e+44>>2]=0,f[e+52>>2]=0,C[e+48>>2]=t,C[e+32>>2]=t,0|e},btConeShape_create:function(t,e){var i;return t=v(t),e=v(e),function(t,e,i){DA(t),C[t+64>>2]=i,C[t+60>>2]=e,f[t>>2]=6504,f[t+76>>2]=2,f[t+68>>2]=0,f[t+72>>2]=1,f[t+4>>2]=11,C[t+40>>2]=e,C[t+36>>2]=i,C[t+32>>2]=e,C[t+56>>2]=e/v(E(v(v(e*e)+v(i*i))))}(i=dA(80),t,e),0|i},btConeShapeX_create:function(t,e){var i;return t=v(t),e=v(e),function(t,e,i){DA(t),C[t+64>>2]=i,C[t+60>>2]=e,f[t+4>>2]=11,f[t+76>>2]=2,f[t+68>>2]=1,f[t+72>>2]=0,f[t>>2]=6704,C[t+36>>2]=e,C[t+40>>2]=e,C[t+32>>2]=i,C[t+56>>2]=e/v(E(v(v(e*e)+v(i*i))))}(i=dA(80),t,e),0|i},btConeShapeZ_create:function(t,e){var i;return t=v(t),e=v(e),function(t,e,i){DA(t),C[t+64>>2]=i,C[t+60>>2]=e,f[t+4>>2]=11,f[t+76>>2]=1,f[t+68>>2]=0,f[t+72>>2]=2,f[t>>2]=6604,C[t+40>>2]=i,C[t+32>>2]=e,C[t+36>>2]=e,C[t+56>>2]=e/v(E(v(v(e*e)+v(i*i))))}(i=dA(80),t,e),0|i},btStaticPlaneShape_create:function(t,e){var i;return t|=0,e=v(e),function(t,e,i){var r,n=v(0),a=v(0),o=v(0);He(t),f[t>>2]=10412,n=C[e+8>>2],a=C[e>>2],o=C[e+4>>2],e=f[e+12>>2],f[(r=t+80|0)>>2]=1065353216,f[r+4>>2]=0,f[t+72>>2]=1065353216,f[t+76>>2]=1065353216,C[t+68>>2]=i,f[t- -64>>2]=e,f[t+4>>2]=28,i=v(v(1)/v(E(v(v(v(a*a)+v(o*o))+v(n*n))))),C[t+60>>2]=n*i,C[t+56>>2]=o*i,C[t+52>>2]=a*i}(i=dA(88),t,e),0|i},btGImpactShapeInterface_updateBound:function(t){_[(t|=0)+52|0]&&(yt[f[f[t>>2]+68>>2]](t),n[t+52|0]=0)},btGImpactMeshShape_create:function(t){var e;return t|=0,function(t,e){var i=0,r=0,a=0,o=0,h=0,d=0,C=0;if(He(t),f[(i=t- -64|0)>>2]=1065353216,f[i+4>>2]=0,f[t+56>>2]=1065353216,f[t+60>>2]=1065353216,f[(i=t+36|0)>>2]=-8388609,f[i+4>>2]=-8388609,f[t+20>>2]=2139095039,f[t+24>>2]=2139095039,f[t>>2]=10820,f[t+88>>2]=0,n[t+92|0]=1,f[(i=t+80|0)>>2]=0,f[i+4>>2]=0,f[t+144>>2]=0,f[t+72>>2]=0,n[t+52|0]=1,f[t+44>>2]=-8388609,f[t+28>>2]=2139095039,f[t+4>>2]=25,n[t+168|0]=1,f[t+164>>2]=0,f[(i=t+156|0)>>2]=0,f[i+4>>2]=0,f[t+148>>2]=e,(0|yt[f[f[e>>2]+28>>2]](e))>=1)for(;;){if(Pe(C=dA(216),e,h),(0|(r=f[t+156>>2]))==f[t+160>>2]&&!((0|r)>=(0|(a=r?r<<1:1)))){if(a?(d=dA(a<<2),r=f[t+156>>2]):d=0,(0|r)>=1)for(o=0,i=r;f[o+d>>2]=f[f[t+164>>2]+o>>2],o=o+4|0,i=i+-1|0;);(i=f[t+164>>2])&&(_[t+168|0]&&(CA(i),r=f[t+156>>2]),f[t+164>>2]=0),f[t+164>>2]=d,n[t+168|0]=1,f[t+160>>2]=a}if(f[t+156>>2]=r+1,f[f[t+164>>2]+(r<<2)>>2]=C,!((0|(h=h+1|0))<(0|yt[f[f[e>>2]+28>>2]](e))))break}}(e=dA(172),t),0|e},btCompoundShape_create:function(){var t;return function(t){var e=0,i=0,r=0,a=0,o=0,h=0,d=0,C=0;if(f[t+12>>2]=-1,f[t+4>>2]=31,f[t+8>>2]=0,f[t>>2]=14216,f[t+76>>2]=0,f[t+80>>2]=1065353216,f[t+68>>2]=0,f[t+72>>2]=1,f[t+52>>2]=-581039253,f[t+56>>2]=-581039253,f[t+36>>2]=1566444395,f[t+40>>2]=1566444395,n[t+32|0]=1,f[t+28>>2]=0,f[t+92>>2]=0,f[(e=t+84|0)>>2]=1065353216,f[e+4>>2]=1065353216,f[(e=t+60|0)>>2]=-581039253,f[e+4>>2]=0,f[(e=t+44|0)>>2]=1566444395,f[e+4>>2]=0,f[(e=t+20|0)>>2]=0,f[e+4>>2]=0,er(e=dA(40)),f[t+68>>2]=e,f[t+24>>2]<0){if((0|(C=f[t+20>>2]))>=1)for(e=64;o=f[t+28>>2]+e|0,a=f[(i=o+-64|0)+4>>2],f[(r=e+-64|0)>>2]=f[i>>2],f[r+4>>2]=a,a=f[(i=i+8|0)+4>>2],f[(r=r+8|0)>>2]=f[i>>2],f[r+4>>2]=a,d=f[(r=(i=o+-48|0)+8|0)+4>>2],f[(h=(a=e+-48|0)+8|0)>>2]=f[r>>2],f[h+4>>2]=d,r=f[i+4>>2],f[a>>2]=f[i>>2],f[a+4>>2]=r,d=f[(r=(i=o+-32|0)+8|0)+4>>2],f[(h=(a=e+-32|0)+8|0)>>2]=f[r>>2],f[h+4>>2]=d,r=f[i+4>>2],f[a>>2]=f[i>>2],f[a+4>>2]=r,d=f[(r=(i=o+-16|0)+8|0)+4>>2],f[(h=(a=e+-16|0)+8|0)>>2]=f[r>>2],f[h+4>>2]=d,r=f[i+4>>2],f[a>>2]=f[i>>2],f[a+4>>2]=r,i=f[o+4>>2],f[e>>2]=f[o>>2],f[e+4>>2]=i,i=f[(o=o+8|0)+4>>2],f[(a=e+8|0)>>2]=f[o>>2],f[a+4>>2]=i,e=e+80|0,C=C+-1|0;);(e=f[t+28>>2])&&(_[t+32|0]&&CA(e),f[t+28>>2]=0),f[t+28>>2]=0,n[t+32|0]=1,f[t+24>>2]=0}}(t=dA(96)),0|t},btCompoundShape_addChildShape:function(t,e,i){(function(t,e,i){var r,a=0,o=v(0),h=0,d=0,g=0,y=v(0),p=0;Z=r=Z-144|0,f[t+72>>2]=f[t+72>>2]+1,d=f[(h=e+8|0)+4>>2],f[(a=r+72|0)>>2]=f[h>>2],f[a+4>>2]=d,d=f[(h=e+24|0)+4>>2],f[(a=r+88|0)>>2]=f[h>>2],f[a+4>>2]=d,d=f[(h=e+40|0)+4>>2],f[(a=r+104|0)>>2]=f[h>>2],f[a+4>>2]=d,d=f[(h=e+56|0)+4>>2],f[(a=r+120|0)>>2]=f[h>>2],f[a+4>>2]=d,f[r+140>>2]=0,f[r+128>>2]=i,a=f[e+4>>2],f[r+64>>2]=f[e>>2],f[r+68>>2]=a,a=f[e+20>>2],f[r+80>>2]=f[e+16>>2],f[r+84>>2]=a,a=f[e+36>>2],f[r+96>>2]=f[e+32>>2],f[r+100>>2]=a,a=f[e+52>>2],f[r+112>>2]=f[e+48>>2],f[r+116>>2]=a,f[r+132>>2]=f[i+4>>2],g=r,y=v(yt[f[f[i>>2]+48>>2]](i)),C[g+136>>2]=y,yt[f[f[i>>2]+8>>2]](i,e,r+48|0,r+32|0),o=C[r+48>>2],C[t+36>>2]>o&&(C[t+36>>2]=o),o=C[r+32>>2],C[t+52>>2]<o&&(C[t+52>>2]=o),o=C[r+52>>2],C[t+40>>2]>o&&(C[t+40>>2]=o),o=C[r+36>>2],C[t+56>>2]<o&&(C[t+56>>2]=o),o=C[r+56>>2],C[t+44>>2]>o&&(C[t+44>>2]=o),o=C[r+40>>2],C[t+60>>2]<o&&(C[t+60>>2]=o),(e=f[t+68>>2])&&(h=f[(a=r+56|0)+4>>2],f[(i=r+8|0)>>2]=f[a>>2],f[i+4>>2]=h,h=f[(a=r+40|0)+4>>2],f[(i=r+24|0)>>2]=f[a>>2],f[i+4>>2]=h,i=f[r+52>>2],f[r>>2]=f[r+48>>2],f[r+4>>2]=i,i=f[r+36>>2],f[r+16>>2]=f[r+32>>2],f[r+20>>2]=i,g=r,p=or(e,r,f[t+20>>2]),f[g+140>>2]=p),function(t,e){var i=0,r=0,a=0,o=0,h=0,d=0,C=0,g=0,v=0,y=0,p=0;if((0|(r=f[t+4>>2]))==f[t+8>>2]&&!((0|r)>=(0|(y=r?r<<1:1)))){if(y&&(p=dA(m(y,80)),r=f[t+4>>2]),(0|r)>=1)for(C=64;a=f[t+12>>2]+C|0,g=f[(o=a+-64|0)+4>>2],f[(h=(i=C+p|0)+-64|0)>>2]=f[o>>2],f[h+4>>2]=g,d=f[(o=o+8|0)+4>>2],f[(h=h+8|0)>>2]=f[o>>2],f[h+4>>2]=d,v=f[(g=(h=a+-48|0)+8|0)+4>>2],f[(d=(o=i+-48|0)+8|0)>>2]=f[g>>2],f[d+4>>2]=v,d=f[h+4>>2],f[o>>2]=f[h>>2],f[o+4>>2]=d,v=f[(g=(h=a+-32|0)+8|0)+4>>2],f[(d=(o=i+-32|0)+8|0)>>2]=f[g>>2],f[d+4>>2]=v,d=f[h+4>>2],f[o>>2]=f[h>>2],f[o+4>>2]=d,v=f[(g=(h=a+-16|0)+8|0)+4>>2],f[(d=(o=i+-16|0)+8|0)>>2]=f[g>>2],f[d+4>>2]=v,d=f[h+4>>2],f[o>>2]=f[h>>2],f[o+4>>2]=d,o=f[a+4>>2],f[i>>2]=f[a>>2],f[i+4>>2]=o,o=f[(a=a+8|0)+4>>2],f[(i=i+8|0)>>2]=f[a>>2],f[i+4>>2]=o,C=C+80|0,r=r+-1|0;);(r=f[t+12>>2])&&(_[t+16|0]&&CA(r),f[t+12>>2]=0),f[t+12>>2]=p,n[t+16|0]=1,f[t+8>>2]=y,r=f[t+4>>2]}a=f[e+4>>2],r=f[t+12>>2]+m(r,80)|0,f[(i=r)>>2]=f[e>>2],f[i+4>>2]=a,C=f[(a=e+8|0)+4>>2],f[(i=i+8|0)>>2]=f[a>>2],f[i+4>>2]=C,C=f[(a=e+24|0)+4>>2],f[(i=r+24|0)>>2]=f[a>>2],f[i+4>>2]=C,i=f[e+20>>2],f[r+16>>2]=f[e+16>>2],f[r+20>>2]=i,C=f[(a=e+40|0)+4>>2],f[(i=r+40|0)>>2]=f[a>>2],f[i+4>>2]=C,i=f[e+36>>2],f[r+32>>2]=f[e+32>>2],f[r+36>>2]=i,C=f[(a=e+56|0)+4>>2],f[(i=r+56|0)>>2]=f[a>>2],f[i+4>>2]=C,i=f[e+52>>2],f[r+48>>2]=f[e+48>>2],f[r+52>>2]=i,C=f[(a=e+72|0)+4>>2],f[(i=r+72|0)>>2]=f[a>>2],f[i+4>>2]=C,i=f[e+68>>2],f[r+64>>2]=f[e+64>>2],f[r+68>>2]=i,f[t+4>>2]=f[t+4>>2]+1}(t+16|0,r- -64|0),Z=r+144|0})(t|=0,e|=0,i|=0)},btCompoundShape_removeChildShapeByIndex:function(t,e){Br(t|=0,e|=0)},btCompoundShape_getChildShape:function(t,e){return e|=0,f[64+(f[(t|=0)+28>>2]+m(e,80)|0)>>2]},btCompoundShape_updateChildTransform:function(t,e,i,r){(function(t,e,i,r){var n,a,o=0,_=0,h=0;Z=n=Z+-64|0,_=f[i+4>>2],e=(a=m(e,80))+f[t+28>>2]|0,f[e>>2]=f[i>>2],f[e+4>>2]=_,h=f[(_=i+8|0)+4>>2],f[(o=e+8|0)>>2]=f[_>>2],f[o+4>>2]=h,h=f[(_=i+24|0)+4>>2],f[(o=e+24|0)>>2]=f[_>>2],f[o+4>>2]=h,o=f[i+20>>2],f[e+16>>2]=f[i+16>>2],f[e+20>>2]=o,h=f[(_=i+40|0)+4>>2],f[(o=e+40|0)>>2]=f[_>>2],f[o+4>>2]=h,o=f[i+36>>2],f[e+32>>2]=f[i+32>>2],f[e+36>>2]=o,h=f[(_=i+56|0)+4>>2],f[(o=e+56|0)>>2]=f[_>>2],f[o+4>>2]=h,o=f[i+52>>2],f[e+48>>2]=f[i+48>>2],f[e+52>>2]=o,f[t+68>>2]&&(e=f[64+(f[t+28>>2]+a|0)>>2],yt[f[f[e>>2]+8>>2]](e,i,n+48|0,n+32|0),o=f[(i=n+56|0)+4>>2],f[(e=n+8|0)>>2]=f[i>>2],f[e+4>>2]=o,o=f[(i=n+40|0)+4>>2],f[(e=n+24|0)>>2]=f[i>>2],f[e+4>>2]=o,e=f[n+36>>2],f[n+16>>2]=f[n+32>>2],f[n+20>>2]=e,e=f[n+52>>2],f[n>>2]=f[n+48>>2],f[n+4>>2]=e,cr(f[t+68>>2],f[76+(f[t+28>>2]+a|0)>>2],n)),r&&yt[f[f[t>>2]+68>>2]](t),Z=n- -64|0})(t|=0,e|=0,i|=0,r|=0)},btStridingMeshInterface_destroy:nt,btTriangleMesh_create:function(){var t;return function(t){var e=0,i=0,r=0,a=0,o=0,h=0,d=0,C=0;if(f[t+4>>2]=1065353216,f[t+8>>2]=1065353216,f[t+48>>2]=0,f[t>>2]=14676,n[t+36|0]=1,f[(e=t+12|0)>>2]=1065353216,f[e+4>>2]=0,f[t+32>>2]=0,f[(e=i=t+24|0)>>2]=0,f[e+4>>2]=0,n[t+100|0]=1,f[t+96>>2]=0,n[t+120|0]=1,f[(e=t+88|0)>>2]=0,f[e+4>>2]=0,f[t+116>>2]=0,n[t+140|0]=1,f[(e=t+108|0)>>2]=0,f[e+4>>2]=0,f[t+136>>2]=0,n[t+160|0]=1,f[(e=t+128|0)>>2]=0,f[e+4>>2]=0,f[t+168>>2]=0,n[t+164|0]=1,f[(e=t+148|0)>>2]=0,f[e+4>>2]=0,f[t+156>>2]=0,n[t+165|0]=1,e=dA(32),(0|(o=f[i>>2]))>=1)for(;h=f[t+32>>2]+a|0,d=f[(r=h)+4>>2],f[(i=e+a|0)>>2]=f[r>>2],f[i+4>>2]=d,d=f[(r=r+24|0)+4>>2],f[(C=i+24|0)>>2]=f[r>>2],f[C+4>>2]=d,d=f[(r=h+16|0)+4>>2],f[(C=i+16|0)>>2]=f[r>>2],f[C+4>>2]=d,r=f[(h=h+8|0)+4>>2],f[(i=i+8|0)>>2]=f[h>>2],f[i+4>>2]=r,a=a+32|0,o=o+-1|0;);(a=f[t+32>>2])&&(_[t+36|0]&&CA(a),f[t+32>>2]=0),f[t+32>>2]=e,n[t+36|0]=1,f[t+28>>2]=1,e=(f[t+24>>2]<<5)+e|0,f[e+24>>2]=2,f[e+28>>2]=0,f[e+16>>2]=0,f[e+20>>2]=16,f[e+8>>2]=12,f[e+12>>2]=0,f[e>>2]=0,f[e+4>>2]=0,f[t+24>>2]=f[t+24>>2]+1,e=f[t+32>>2],f[e+4>>2]=0,a=_[t+164|0],f[e+24>>2]=a?2:3,o=f[(a?128:148)+t>>2],i=12,f[e+8>>2]=a?12:6,f[e>>2]=(0|o)/3,_[t+165|0]?(i=16,t=f[t+88>>2]):t=f[t+108>>2]/3|0,f[e+20>>2]=i,f[e+16>>2]=0,f[e+12>>2]=t}(t=dA(172)),0|t},btTriangleMesh_addTriangle:function(t,e,i,r,n){(function(t,e,i,r,n){var a;a=f[t+32>>2],f[a>>2]=f[a>>2]+1,Qr(t,hr(t,e,n)),Qr(t,hr(t,i,n)),Qr(t,hr(t,r,n))})(t|=0,e|=0,i|=0,r|=0,n|=0)},btDefaultCollisionConfiguration_create:function(){var t,e;return Z=t=Z-32|0,e=q(88),f[t+24>>2]=0,f[t+28>>2]=1,f[t+16>>2]=4096,f[t+20>>2]=4096,f[t+8>>2]=0,f[t+12>>2]=0,function(t,e){var i,r=0,a=0,o=0,_=0,h=0;if(f[t>>2]=17664,a=f[e+20>>2],r=dA(4),f[t+24>>2]=r,f[r>>2]=a?14800:15008,function(t,e){f[t+12>>2]=0,f[t+16>>2]=3,f[t>>2]=15424,n[t+4|0]=0,f[t+8>>2]=e}(r=dA(20),f[t+24>>2]),f[t+28>>2]=r,r=dA(8),f[r>>2]=17780,n[r+4|0]=0,f[t+32>>2]=r,r=dA(8),f[r>>2]=17864,n[r+4|0]=0,f[t+36>>2]=r,r=dA(8),f[r>>2]=17956,n[r+4|0]=0,f[t+40>>2]=r,r=dA(8),f[r>>2]=18036,n[r+4|0]=0,f[t+44>>2]=r,r=dA(8),f[r>>2]=18124,n[r+4|0]=0,f[t+48>>2]=r,r=dA(8),f[r>>2]=18208,n[r+4|0]=0,f[t+52>>2]=r,r=dA(8),f[r>>2]=18276,n[r+4|0]=0,f[t+56>>2]=r,r=dA(8),f[r>>2]=18360,n[r+4|0]=0,f[t+72>>2]=r,r=dA(8),f[t+76>>2]=r,f[r>>2]=18360,n[r+4|0]=1,r=dA(8),f[r>>2]=18444,n[r+4|0]=0,f[t+68>>2]=r,r=dA(16),f[r+8>>2]=1,f[r+12>>2]=0,f[r>>2]=18520,n[r+4|0]=0,f[t+84>>2]=r,r=dA(16),f[r+8>>2]=1,f[r+12>>2]=0,f[r>>2]=18520,f[t+80>>2]=r,n[r+4|0]=1,i=f[e+16>>2],r=f[e>>2])f[t+8>>2]=r,n[t+12|0]=0;else{if(n[t+12|0]=1,_=dA(24),f[_+20>>2]=0,f[_>>2]=804,r=f[e+8>>2],f[_+4>>2]=r,a=dA(m(r,804)),f[_+12>>2]=a,f[_+16>>2]=a,r=f[_+4>>2],f[_+8>>2]=r,h=r+-1|0)for(o=f[_>>2];r=a+o|0,f[a>>2]=r,a=r,h=h+-1|0;);else r=a;f[r>>2]=0,f[t+8>>2]=_}if(r=f[e+4>>2])return f[t+16>>2]=r,void(n[t+20|0]=0);if(n[t+20|0]=1,o=dA(24),f[o+20>>2]=0,r=(0|(r=(0|i)>80?i:80))>116?r+16&-16:128,f[o>>2]=r,e=f[e+12>>2],f[o+4>>2]=e,a=dA(m(e,r)),f[o+12>>2]=a,f[o+16>>2]=a,e=f[o+4>>2],f[o+8>>2]=e,h=e+-1|0)for(e=f[o>>2];r=e+a|0,f[a>>2]=r,a=r,h=h+-1|0;);else r=a;f[r>>2]=0,f[t+16>>2]=o}(e,t+8|0),Z=t+32|0,0|e},btDefaultCollisionConfiguration_destroy:nt,btPersistentManifold_getBody0:function(t){return f[(t|=0)+772>>2]},btPersistentManifold_getBody1:function(t){return f[(t|=0)+776>>2]},btPersistentManifold_getNumContacts:function(t){return f[(t|=0)+780>>2]},btPersistentManifold_getContactPoint:function(t,e){return t|=0,4+(m(e|=0,192)+t|0)|0},btDispatcher_getNumManifolds:kt,btDispatcher_getManifoldByIndexInternal:function(t,e){return e|=0,0|yt[f[f[(t|=0)>>2]+40>>2]](t,e)},btCollisionDispatcher_create:function(t){var e;return t|=0,function(t,e){var i=0,r=0,a=0,o=0,_=0,h=0;for(f[t+28>>2]=7720,f[t>>2]=7860,f[t+4>>2]=2,f[t+10444>>2]=e,f[t+64>>2]=111,n[t+24|0]=1,f[t+20>>2]=0,f[t+60>>2]=0,f[(i=t+12|0)>>2]=0,f[i+4>>2]=0,_=t,h=0|yt[f[f[e>>2]+12>>2]](e),f[_+68>>2]=h,_=t,h=0|yt[f[f[e>>2]+8>>2]](e),f[_+72>>2]=h,i=t+5260|0;;){for(e=i,r=0;a=f[t+10444>>2],_=e+-5184|0,h=0|yt[f[f[a>>2]+16>>2]](a,o,r),f[_>>2]=h,a=f[t+10444>>2],_=e,h=0|yt[f[f[a>>2]+20>>2]](a,o,r),f[_>>2]=h,e=e+4|0,36!=(0|(r=r+1|0)););if(i=i+144|0,36==(0|(o=o+1|0)))break}}(e=q(10448),t),0|e},btCollisionDispatcher_destroy:nt,btOverlappingPairCache_setInternalGhostPairCallback:vt,btDbvtBroadphase_create:function(){var t;return function(t){var e,i=0,r=0,a=0,o=0,h=0,d=0;if(Z=e=Z-32|0,f[t>>2]=19124,er(t+4|0),er(t+44|0),f[t+168>>2]=0,n[t+172|0]=1,f[(i=t+160|0)>>2]=0,f[i+4>>2]=0,n[t+153|0]=256,n[t+154|0]=1,n[t+152|0]=1,f[t+124>>2]=0,f[t+100>>2]=0,f[t+104>>2]=0,f[t+136>>2]=0,f[t+128>>2]=0,f[t+132>>2]=0,f[t+116>>2]=10,f[t+120>>2]=1,f[t+108>>2]=1,f[t+112>>2]=0,Ri(r=dA(72)),i=f[t+160>>2],f[t+148>>2]=0,f[t+96>>2]=r,f[t+140>>2]=0,f[t+144>>2]=0,f[(r=t+84|0)>>2]=0,f[r+4>>2]=0,f[t+92>>2]=0,f[e+20>>2]=0,n[e+24|0]=1,f[e+12>>2]=0,f[e+16>>2]=0,(0|i)>=2)for(a=i+-1|0,i=36;d=(r=f[t+168>>2]+i|0)+-12|0,(h=f[(o=r+-4|0)>>2])&&(_[0|r]&&CA(h),f[o>>2]=0),f[o>>2]=0,f[d>>2]=0,n[0|r]=1,f[r+-8>>2]=0,i=i+20|0,a=a+-1|0;);else if(1!=(0|i))for(function(t){var e=0,i=0,r=0,a=0,o=0,h=0,d=0;if(f[t+8>>2]<1){if(o=dA(20),!((0|(e=f[t+4>>2]))<1)){for(;pi(i+o|0,f[t+12>>2]+i|0),i=i+20|0,e=e+-1|0;);if(!((0|(r=f[t+4>>2]))<1))for(e=8;d=(i=f[t+12>>2]+e|0)+-4|0,(h=f[(a=i+4|0)>>2])&&(_[i+8|0]&&CA(h),f[a>>2]=0),f[d>>2]=0,f[a>>2]=0,f[i>>2]=0,n[i+8|0]=1,e=e+20|0,r=r+-1|0;);}(e=f[t+12>>2])&&(_[t+16|0]&&CA(e),f[t+12>>2]=0),f[t+12>>2]=o,n[t+16|0]=1,f[t+8>>2]=1}}(t+156|0),a=m(i,20),i=i+-1|0;pi(f[t+168>>2]+a|0,e+8|0),a=a+20|0,o=(r=i+1|0)>>>0>=i>>>0,i=r,o;);f[t+160>>2]=1,(t=f[e+20>>2])&&(_[e+24|0]&&CA(t),f[e+20>>2]=0),Z=e+32|0}(t=q(176)),0|t},btDbvtBroadphase_getOverlappingPairCache:kt,btDbvtBroadphase_destroy:nt,btRigidBodyConstructionInfo_create:function(t,e,i,r){var a;return t=v(t),e|=0,i|=0,r|=0,a=q(144),f[a+72>>2]=i,f[a+4>>2]=e,C[a>>2]=t,e=f[r+4>>2],f[a+76>>2]=f[r>>2],f[a+80>>2]=e,e=f[(i=r+8|0)+4>>2],f[(r=a+84|0)>>2]=f[i>>2],f[r+4>>2]=e,f[a+136>>2]=1008981770,f[a+140>>2]=1008981770,f[a+128>>2]=1000593162,f[a+132>>2]=1008981770,n[a+124|0]=0,f[a+116>>2]=1061997773,f[a+120>>2]=1065353216,f[a+108>>2]=0,f[a+112>>2]=0,f[a+100>>2]=1056964608,f[a+104>>2]=0,f[a+92>>2]=0,f[a+96>>2]=0,f[a+8>>2]=1065353216,f[(e=a+20|0)>>2]=0,f[e+4>>2]=0,f[a+12>>2]=0,f[a+16>>2]=0,f[a+28>>2]=1065353216,f[(e=a+40|0)>>2]=0,f[e+4>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+48>>2]=1065353216,f[a+68>>2]=0,f[(e=a+60|0)>>2]=0,f[e+4>>2]=0,f[a+52>>2]=0,f[a+56>>2]=0,0|a},btRigidBodyConstructionInfo_destroy:function(t){(t|=0)&&$(t)},btRigidBody_create:function(t){var e;return t|=0,function(t,e){var i;Ee(t),n[t+560|0]=1,f[t>>2]=20096,f[t+556>>2]=0,f[(i=t+548|0)>>2]=0,f[i+4>>2]=0,function(t,e){var i,r,a=0,o=0,h=0,d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),E=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0);Z=i=Z-16|0,f[t+372>>2]=0,f[t+376>>2]=0,f[t+252>>2]=2,f[t+604>>2]=1065353216,f[t+608>>2]=1065353216,f[t+408>>2]=1065353216,f[t+412>>2]=1065353216,f[t+472>>2]=0,f[t+476>>2]=0,f[(a=t+380|0)>>2]=0,f[a+4>>2]=0,f[(a=t+388|0)>>2]=0,f[a+4>>2]=0,f[(a=t+396|0)>>2]=0,f[a+4>>2]=0,f[(a=t+612|0)>>2]=1065353216,f[a+4>>2]=0,f[(a=t+420|0)>>2]=0,f[a+4>>2]=0,f[t+416>>2]=1065353216,f[(a=t+428|0)>>2]=0,f[a+4>>2]=0,f[(a=t+436|0)>>2]=0,f[a+4>>2]=0,f[(a=t+444|0)>>2]=0,f[a+4>>2]=0,f[t+452>>2]=0,f[(a=t+480|0)>>2]=0,f[a+4>>2]=0,f[(a=t+488|0)>>2]=0,f[a+4>>2]=0,f[(a=t+496|0)>>2]=0,f[a+4>>2]=0,g=C[e+96>>2],d=C[e+92>>2],C[i+12>>2]=d,C[i+8>>2]=g,f[i+4>>2]=0,f[i>>2]=1065353216,f[t+504>>2]=f[(d<v(0)?i+4|0:d>v(1)?i:i+12|0)>>2],f[i+4>>2]=0,f[i>>2]=1065353216,f[t+508>>2]=f[(g<v(0)?i+4|0:g>v(1)?i:i+8|0)>>2],f[t+668>>2]=0,f[t+672>>2]=0,a=f[e+120>>2],f[t+532>>2]=f[e+116>>2],f[t+536>>2]=a,o=f[e+4>>2],f[t+540>>2]=o,n[t+512|0]=_[e+124|0],a=f[e+132>>2],f[t+516>>2]=f[e+128>>2],f[t+520>>2]=a,a=f[e+140>>2],f[t+524>>2]=f[e+136>>2],f[t+528>>2]=a,o?(a=t+4|0,yt[f[f[o>>2]+8>>2]](o,a)):(a=f[e+12>>2],f[t+4>>2]=f[e+8>>2],f[t+8>>2]=a,h=f[(o=e+16|0)+4>>2],f[(a=t+12|0)>>2]=f[o>>2],f[a+4>>2]=h,h=f[(o=e+32|0)+4>>2],f[(a=t+28|0)>>2]=f[o>>2],f[a+4>>2]=h,h=f[(o=e+24|0)+4>>2],f[(a=t+20|0)>>2]=f[o>>2],f[a+4>>2]=h,h=f[(o=e+40|0)+4>>2],f[(a=t+36|0)>>2]=f[o>>2],f[a+4>>2]=h,h=f[(o=e+48|0)+4>>2],f[(a=t+44|0)>>2]=f[o>>2],f[a+4>>2]=h,h=f[(o=e- -64|0)+4>>2],f[(a=t+60|0)>>2]=f[o>>2],f[a+4>>2]=h,h=f[(o=e+56|0)+4>>2],f[(a=t+52|0)>>2]=f[o>>2],f[a+4>>2]=h,a=t+4|0),f[t+132>>2]=0,f[t+136>>2]=0,o=f[a+4>>2],f[t+68>>2]=f[a>>2],f[t+72>>2]=o,f[(o=t+156|0)>>2]=0,f[o+4>>2]=0,f[(o=t+148|0)>>2]=0,f[o+4>>2]=0,f[(o=t+140|0)>>2]=0,f[o+4>>2]=0,r=f[(h=t+20|0)+4>>2],f[(o=t+84|0)>>2]=f[h>>2],f[o+4>>2]=r,h=f[(a=a+8|0)+4>>2],f[(o=t+76|0)>>2]=f[a>>2],f[o+4>>2]=h,h=f[(o=t+28|0)+4>>2],f[(a=t+92|0)>>2]=f[o>>2],f[a+4>>2]=h,h=f[(o=t+36|0)+4>>2],f[(a=t+100|0)>>2]=f[o>>2],f[a+4>>2]=h,h=f[(o=t+44|0)+4>>2],f[(a=t+108|0)>>2]=f[o>>2],f[a+4>>2]=h,h=f[(o=t+52|0)+4>>2],f[(a=t+116|0)>>2]=f[o>>2],f[a+4>>2]=h,h=f[(o=t+60|0)+4>>2],f[(a=t+124|0)>>2]=f[o>>2],f[a+4>>2]=h,f[t+228>>2]=f[e+100>>2],f[t+236>>2]=f[e+104>>2],f[t+240>>2]=f[e+108>>2],f[t+232>>2]=f[e+112>>2],yt[f[f[t>>2]+8>>2]](t,f[e+72>>2]),a=f[699],f[t+568>>2]=a,f[699]=a+1,g=v(0),a=f[t+204>>2],(d=C[e>>2])!=v(0)?(f[t+204>>2]=-2&a,g=v(v(1)/d)):f[t+204>>2]=1|a,f[t+436>>2]=0,C[t+404>>2]=g,C[t+432>>2]=d*C[t+448>>2],C[t+428>>2]=d*C[t+444>>2],C[t+424>>2]=d*C[t+440>>2],d=C[e+84>>2],m=C[e+80>>2],F=C[e+76>>2],C[t+620>>2]=g*C[t+408>>2],C[(a=t+624|0)>>2]=g*C[t+412>>2],C[(o=t+628|0)>>2]=g*C[t+416>>2],f[(e=t+632|0)>>2]=0,f[t+468>>2]=0,V=F!=v(0)?v(v(1)/F):v(0),C[t+456>>2]=V,G=m!=v(0)?v(v(1)/m):v(0),C[t+460>>2]=G,w=d!=v(0)?v(v(1)/d):v(0),C[t+464>>2]=w,d=C[t+12>>2],m=C[t+8>>2],F=C[t+28>>2],Q=C[t+20>>2],W=C[t+24>>2],D=C[t+44>>2],B=C[t+36>>2],E=C[t+40>>2],Y=C[t+4>>2],f[t+564>>2]=8,f[t+368>>2]=0,f[t+352>>2]=0,f[t+336>>2]=0,y=v(V*B),p=v(G*E),R=v(w*D),C[t+364>>2]=v(v(B*y)+v(E*p))+v(D*R),C[t+360>>2]=v(v(Q*y)+v(W*p))+v(F*R),C[t+356>>2]=v(v(Y*y)+v(m*p))+v(d*R),y=v(V*Q),p=v(G*W),R=v(w*F),C[t+348>>2]=v(v(B*y)+v(E*p))+v(D*R),C[t+344>>2]=v(v(Q*y)+v(W*p))+v(F*R),C[t+340>>2]=v(v(Y*y)+v(m*p))+v(d*R),y=B,B=v(V*Y),p=E,E=v(G*m),R=D,D=v(w*d),C[t+332>>2]=v(v(y*B)+v(p*E))+v(R*D),C[t+328>>2]=v(v(B*Q)+v(E*W))+v(D*F),C[t+324>>2]=v(v(Y*B)+v(m*E))+v(d*D),f[(h=t+596|0)>>2]=0,f[h+4>>2]=0,f[(h=t+588|0)>>2]=0,f[h+4>>2]=0,f[(h=t+580|0)>>2]=0,f[h+4>>2]=0,f[t+572>>2]=0,f[t+576>>2]=0,d=C[t+408>>2],m=C[t+412>>2],C[o>>2]=g*C[t+416>>2],C[a>>2]=g*m,C[t+620>>2]=g*d,f[t+664>>2]=0,f[(a=t+656|0)>>2]=0,f[a+4>>2]=0,f[(a=t+648|0)>>2]=0,f[a+4>>2]=0,f[(t=t+640|0)>>2]=0,f[t+4>>2]=0,f[e>>2]=0,f[e+4>>2]=0,Z=i+16|0}(t,e)}(e=dA(676),t),0|e},btRigidBody_setCenterOfMassTransform:ji,btRigidBody_setSleepingThresholds:function(t,e,i){t|=0,e=v(e),i=v(i),C[t+536>>2]=i,C[t+532>>2]=e},btRigidBody_getLinearSleepingThreshold:function(t){return v(C[(t|=0)+532>>2])},btRigidBody_getAngularSleepingThreshold:function(t){return v(C[(t|=0)+536>>2])},btRigidBody_setDamping:function(t,e,i){(function(t,e,i){var r;C[(r=Z-16|0)+8>>2]=i,C[r+12>>2]=e,f[r+4>>2]=0,f[r>>2]=1065353216,f[t+504>>2]=f[(e<v(0)?r+4|0:e>v(1)?r:r+12|0)>>2],f[r+4>>2]=0,f[r>>2]=1065353216,f[t+508>>2]=f[(i<v(0)?r+4|0:i>v(1)?r:r+8|0)>>2]})(t|=0,e=v(e),i=v(i))},btRigidBody_setMassProps:function(t,e,i){(function(t,e,i){var r,n=v(0),a=v(0),o=v(0);r=f[t+204>>2],e!=v(0)?(f[t+204>>2]=-2&r,n=v(v(1)/e)):f[t+204>>2]=1|r,C[t+404>>2]=n,f[t+436>>2]=0,C[t+424>>2]=C[t+440>>2]*e,C[t+432>>2]=C[t+448>>2]*e,C[t+428>>2]=C[t+444>>2]*e,e=C[i+8>>2],a=C[i+4>>2],o=C[i>>2],C[t+620>>2]=C[t+408>>2]*n,C[t+624>>2]=n*C[t+412>>2],C[t+628>>2]=n*C[t+416>>2],f[t+632>>2]=0,f[t+468>>2]=0,C[t+456>>2]=o!=v(0)?v(v(1)/o):v(0),C[t+460>>2]=a!=v(0)?v(v(1)/a):v(0),C[t+464>>2]=e!=v(0)?v(v(1)/e):v(0)})(t|=0,e=v(e),i|=0)},btRigidBody_setLinearFactor:function(t,e){t|=0,e|=0;var i,r=0,n=v(0);r=f[e+4>>2],f[t+408>>2]=f[e>>2],f[t+412>>2]=r,i=f[(e=e+8|0)+4>>2],f[(r=t+416|0)>>2]=f[e>>2],f[r+4>>2]=i,f[t+632>>2]=0,n=C[t+404>>2],C[t+624>>2]=n*C[t+412>>2],C[t+620>>2]=n*C[t+408>>2],C[t+628>>2]=n*C[r>>2]},btRigidBody_applyTorque:function(t,e){t|=0,e|=0;var i=v(0),r=v(0);i=C[e+8>>2],r=C[e+4>>2],C[t+488>>2]=v(C[e>>2]*C[t+604>>2])+C[t+488>>2],C[(e=t+492|0)>>2]=v(r*C[t+608>>2])+C[e>>2],C[(e=t+496|0)>>2]=v(i*C[t+612>>2])+C[e>>2]},btRigidBody_applyForce:function(t,e,i){t|=0,e|=0,i|=0;var r=v(0),n=v(0),a=0,o=v(0),f=v(0),_=v(0),h=v(0),d=v(0),g=v(0);f=C[e+8>>2],r=C[e+4>>2],n=C[t+408>>2],C[t+472>>2]=v(C[e>>2]*n)+C[t+472>>2],a=t+476|0,_=r,r=C[t+412>>2],C[a>>2]=v(_*r)+C[a>>2],a=t+480|0,o=C[t+416>>2],C[a>>2]=v(f*o)+C[a>>2],g=C[e>>2],f=C[i>>2],h=C[i+4>>2],o=v(o*C[e+8>>2]),r=v(r*C[e+4>>2]),d=C[i+8>>2],C[t+488>>2]=v(v(v(h*o)-v(r*d))*C[t+604>>2])+C[t+488>>2],_=C[t+612>>2],e=t+492|0,n=v(n*g),C[e>>2]=v(v(v(d*n)-v(o*f))*C[t+608>>2])+C[e>>2],C[(t=t+496|0)>>2]=v(_*v(v(r*f)-v(n*h)))+C[t>>2]},btRigidBody_applyCentralForce:function(t,e){t|=0,e|=0;var i=v(0),r=v(0);i=C[e+8>>2],r=C[e+4>>2],C[t+472>>2]=v(C[e>>2]*C[t+408>>2])+C[t+472>>2],C[(e=t+476|0)>>2]=v(r*C[t+412>>2])+C[e>>2],C[(e=t+480|0)>>2]=v(i*C[t+416>>2])+C[e>>2]},btRigidBody_applyTorqueImpulse:function(t,e){t|=0,e|=0;var i=v(0),r=v(0),n=v(0);i=C[e>>2],r=C[e+4>>2],n=C[e+8>>2],C[t+388>>2]=v(v(v(v(C[t+324>>2]*i)+v(C[t+328>>2]*r))+v(C[t+332>>2]*n))*C[t+604>>2])+C[t+388>>2],C[(e=t+392|0)>>2]=v(v(v(v(i*C[t+340>>2])+v(r*C[t+344>>2]))+v(n*C[t+348>>2]))*C[t+608>>2])+C[e>>2],C[(e=t+396|0)>>2]=v(v(v(v(i*C[t+356>>2])+v(r*C[t+360>>2]))+v(n*C[t+364>>2]))*C[t+612>>2])+C[e>>2]},btRigidBody_applyImpulse:function(t,e,i){dt(t|=0,e|=0,i|=0)},btRigidBody_applyCentralImpulse:function(t,e){t|=0,e|=0;var i=v(0),r=v(0),n=v(0);r=C[e+8>>2],n=C[e+4>>2],i=C[t+404>>2],C[t+372>>2]=v(v(C[e>>2]*C[t+408>>2])*i)+C[t+372>>2],C[(e=t+376|0)>>2]=v(i*v(n*C[t+412>>2]))+C[e>>2],C[(e=t+380|0)>>2]=v(i*v(r*C[t+416>>2]))+C[e>>2]},btRigidBody_updateInertiaTensor:function(t){(function(t){var e=v(0),i=v(0),r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0);f[t+368>>2]=0,f[t+352>>2]=0,f[t+336>>2]=0,p=C[t+456>>2],e=C[t+36>>2],i=v(p*e),R=C[t+460>>2],r=C[t+40>>2],n=v(R*r),D=C[t+464>>2],a=C[t+44>>2],o=v(D*a),C[t+364>>2]=v(v(i*e)+v(n*r))+v(o*a),g=C[t+20>>2],m=C[t+24>>2],y=C[t+28>>2],C[t+360>>2]=v(v(i*g)+v(n*m))+v(o*y),_=i,i=C[t+4>>2],h=n,n=C[t+8>>2],d=o,o=C[t+12>>2],C[t+356>>2]=v(v(_*i)+v(h*n))+v(d*o),_=v(p*g),h=v(R*m),d=v(D*y),C[t+348>>2]=v(v(e*_)+v(r*h))+v(a*d),C[t+344>>2]=v(v(_*g)+v(h*m))+v(d*y),C[t+340>>2]=v(v(_*i)+v(h*n))+v(d*o),_=e,e=v(i*p),h=r,r=v(n*R),d=a,a=v(o*D),C[t+332>>2]=v(v(_*e)+v(h*r))+v(d*a),C[t+328>>2]=v(v(e*g)+v(r*m))+v(a*y),C[t+324>>2]=v(v(e*i)+v(r*n))+v(a*o)})(t|=0)},btRigidBody_getLinearVelocity:function(t){return(t|=0)+372|0},btRigidBody_getAngularVelocity:function(t){return(t|=0)+388|0},btRigidBody_setLinearVelocity:function(t,e){e|=0;var i=0;f[(t|=0)+304>>2]=f[t+304>>2]+1,i=f[e+4>>2],f[t+372>>2]=f[e>>2],f[t+376>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+380|0)>>2]=f[e>>2],f[t+4>>2]=i},btRigidBody_setAngularVelocity:function(t,e){e|=0;var i=0;f[(t|=0)+304>>2]=f[t+304>>2]+1,i=f[e+4>>2],f[t+388>>2]=f[e>>2],f[t+392>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+396|0)>>2]=f[e>>2],f[t+4>>2]=i},btRigidBody_setAngularFactor:function(t,e){e|=0;var i=0;f[(t|=0)+304>>2]=f[t+304>>2]+1,i=f[e+4>>2],f[t+604>>2]=f[e>>2],f[t+608>>2]=i,i=f[(e=e+8|0)+4>>2],f[(t=t+612|0)>>2]=f[e>>2],f[t+4>>2]=i},btRigidBody_getGravity:function(t){return(t|=0)+440|0},btRigidBody_setGravity:function(t,e){Si(t|=0,e|=0)},btRigidBody_getTotalForce:function(t){return(t|=0)+472|0},btRigidBody_getTotalTorque:function(t){return(t|=0)+488|0},btRigidBody_getFlags:function(t){return f[(t|=0)+564>>2]},btRigidBody_setFlags:function(t,e){e|=0,f[(t|=0)+564>>2]=e},btRigidBody_clearForces:function(t){var e=0;f[(t|=0)+472>>2]=0,f[t+476>>2]=0,f[(e=t+496|0)>>2]=0,f[e+4>>2]=0,f[(e=t+488|0)>>2]=0,f[e+4>>2]=0,f[(t=t+480|0)>>2]=0,f[t+4>>2]=0},btSequentialImpulseConstraintSolver_create:function(){var t;return Li(t=dA(236)),0|t},btCollisionWorld_get_m_useContinuous:function(t){return _[(t|=0)+16|0]},btCollisionWorld_set_m_useContinuous:function(t,e){e|=0,n[(t|=0)+16|0]=e},btCollisionWorld_rayTest:function(t,e,i,r){e|=0,i|=0,r|=0,yt[f[f[(t|=0)>>2]+32>>2]](t,e,i,r)},btCollisionWorld_getDispatchInfo:function(t){return(t|=0)+28|0},btCollisionWorld_addCollisionObject:function(t,e,i,r){e|=0,i|=0,r|=0,yt[f[f[(t|=0)>>2]+36>>2]](t,e,i,r)},btCollisionWorld_removeCollisionObject:function(t,e){e|=0,yt[f[f[(t|=0)>>2]+40>>2]](t,e)},btCollisionWorld_convexSweepTest:function(t,e,i,r,n,a){_f(t|=0,e|=0,i|=0,r|=0,n|=0,a=v(a))},btCollisionWorld_destroy:nt,btDynamicsWorld_addAction:Jf,btDynamicsWorld_removeAction:xf,btDynamicsWorld_getSolverInfo:function(t){return(t|=0)+92|0},btDiscreteDynamicsWorld_create:function(t,e,i,r){return t|=0,e|=0,i|=0,r|=0,function(t,e,i,r){var o;!function(t,e,i){f[t>>2]=20592,n[t+76|0]=1,f[t+72>>2]=0,f[t+68>>2]=i,f[t+28>>2]=0,f[t+32>>2]=0,f[t+24>>2]=e,n[t+20|0]=1,f[t+16>>2]=0,f[t- -64>>2]=0,n[t+60|0]=0,f[t+56>>2]=1025758986,n[t+54|0]=1,a[t+52>>1]=256,f[t+48>>2]=0,n[t+44|0]=1,f[(e=t+36|0)>>2]=1,f[e+4>>2]=1065353216,f[(t=t+8|0)>>2]=0,f[t+4>>2]=0}(t,e,i),f[(i=t+100|0)>>2]=1050253722,f[i+4>>2]=1015580809,f[t+92>>2]=1058642330,f[t+96>>2]=1065353216,f[t+88>>2]=0,f[t+80>>2]=0,f[t+84>>2]=0,f[(i=t+132|0)>>2]=0,f[i+4>>2]=1045220557,f[(i=t+124|0)>>2]=1045220557,f[i+4>>2]=1045220557,f[(i=t+108|0)>>2]=0,f[i+4>>2]=10,f[(i=t+184|0)>>2]=0,f[i+4>>2]=1045220557,f[(i=t+176|0)>>2]=1120403456,f[i+4>>2]=1900671690,f[t+172>>2]=128,f[(i=t+164|0)>>2]=260,f[i+4>>2]=2,f[(i=t+156|0)>>2]=0,f[i+4>>2]=1062836634,f[(i=t+148|0)>>2]=-1121724662,f[i+4>>2]=1036831949,f[(i=t+140|0)>>2]=0,f[i+4>>2]=1,f[(i=t+116|0)>>2]=1101004800,f[i+4>>2]=1065353216,f[t>>2]=23160,n[t+208|0]=1,f[t+204>>2]=0,n[t+240|0]=1,f[t+216>>2]=r,f[t+212>>2]=0,f[(i=t+196|0)>>2]=0,f[i+4>>2]=0,f[t+236>>2]=0,f[(i=t+228|0)>>2]=0,f[i+4>>2]=0,n[t+260|0]=1,a[t+290>>1]=0,f[t+256>>2]=0,f[(i=t+248|0)>>2]=0,f[i+4>>2]=0,f[t+264>>2]=0,f[t+268>>2]=-1054867456,f[(i=t+272|0)>>2]=0,f[i+4>>2]=0,f[(i=t+280|0)>>2]=0,f[i+4>>2]=0,n[t+308|0]=1,f[t+312>>2]=0,f[t+304>>2]=0,f[(i=t+296|0)>>2]=0,f[i+4>>2]=0,n[t+336|0]=1,n[t+316|0]=1,f[(i=t+324|0)>>2]=0,f[i+4>>2]=0,f[t+332>>2]=0,f[t+340>>2]=0,o=t,r?i=0:(Li(i=dA(236)),f[t+216>>2]=i,i=1),n[o+289|0]=i,function(t){var e=0;f[t>>2]=22908,f[(e=t+4|0)+12>>2]=0,n[e+16|0]=1,f[e+4>>2]=0,f[e+8>>2]=0,f[t+36>>2]=0,n[t+40|0]=1,n[t+60|0]=1,f[(e=t+28|0)>>2]=0,f[e+4>>2]=0,f[t+56>>2]=0,n[t+64|0]=1,f[(t=t+48|0)>>2]=0,f[t+4>>2]=0}(i=dA(68)),n[t+288|0]=1,f[t+220>>2]=i,i=dA(88),f[i+72>>2]=0,f[i+76>>2]=0,n[i+44|0]=1,f[i+24>>2]=e,f[i+20>>2]=0,f[i+12>>2]=0,f[i+16>>2]=0,f[i+4>>2]=0,f[i>>2]=23768,f[i+40>>2]=0,n[i+64|0]=1,f[i+32>>2]=0,f[i+36>>2]=0,f[i+60>>2]=0,n[i+84|0]=1,f[i+52>>2]=0,f[i+56>>2]=0,f[i+80>>2]=0,f[i+8>>2]=f[t+216>>2],f[t+212>>2]=i}(r=dA(344),t,e,i),0|r},btDiscreteDynamicsWorld_setGravity:function(t,e){e|=0,yt[f[f[(t|=0)>>2]+72>>2]](t,e)},btDiscreteDynamicsWorld_getGravity:function(t){var e,i;return Z=e=Z-16|0,yt[f[f[(t|=0)>>2]+76>>2]](e,t),i=f[(t=e+8|0)+4>>2],f[705]=f[t>>2],f[706]=i,t=f[e+4>>2],f[703]=f[e>>2],f[704]=t,Z=e+16|0,2812},btDiscreteDynamicsWorld_addRigidBody:function(t,e,i,r){e|=0,i|=0,r|=0,yt[f[f[(t|=0)>>2]+88>>2]](t,e,i,r)},btDiscreteDynamicsWorld_removeRigidBody:function(t,e){e|=0,yt[f[f[(t|=0)>>2]+92>>2]](t,e)},btDiscreteDynamicsWorld_stepSimulation:function(t,e,i,r){t|=0,e=v(e),i|=0,r=v(r),yt[f[f[t>>2]+52>>2]](t,e,i,r)},btDiscreteDynamicsWorld_clearForces:function(t){yt[f[f[(t|=0)>>2]+120>>2]](t)},btDiscreteDynamicsWorld_setApplySpeculativeContactRestitution:function(t,e){e|=0,n[(t|=0)+291|0]=e},btDiscreteDynamicsWorld_getApplySpeculativeContactRestitution:function(t){return _[(t|=0)+291|0]},btKinematicCharacterController_create:function(t,e,i,r){var o;return t|=0,e|=0,i=v(i),r|=0,function(t,e,i,r,o){var _,h=v(0),d=v(0),g=v(0),m=v(0),y=v(0);Z=_=Z-16|0,f[t>>2]=24116,f[t+272>>2]=0,f[t+276>>2]=0,f[t+256>>2]=0,f[t+260>>2]=0,f[t+8>>2]=e,f[t+68>>2]=0,f[t+72>>2]=0,f[t+64>>2]=1017370378,f[t+100>>2]=0,f[t+104>>2]=0,a[t+250>>1]=257,f[t+56>>2]=0,f[t+12>>2]=i,f[t+252>>2]=0,n[t+216|0]=1,f[t+212>>2]=0,f[(e=t+204|0)>>2]=0,f[e+4>>2]=0,f[(e=t+280|0)>>2]=1065353216,f[e+4>>2]=0,f[(e=t+264|0)>>2]=1065353216,f[e+4>>2]=0,f[(e=t+76|0)>>2]=0,f[e+4>>2]=0,f[(e=t+108|0)>>2]=0,f[e+4>>2]=0,f[t+52>>2]=1105933107,f[t+20>>2]=0,f[t+24>>2]=0,a[t+248>>1]=0,f[t+28>>2]=1113325568,f[t+32>>2]=1092616192,f[t+36>>2]=1092616192,f[t+148>>2]=0,n[t+289|0]=0,n[t+290|0]=0,f[t+16>>2]=1045220557,f[t+240>>2]=0,f[t+244>>2]=0,n[t+288|0]=1,d=C[o>>2],g=C[o+4>>2],h=C[o+8>>2],(m=v(v(v(d*d)+v(g*g))+v(h*h)))>v(0)?(y=h,h=v(v(1)/v(E(m))),m=v(v(y*h)*v(-29.399999618530273)),d=v(v(d*h)*v(-29.399999618530273)),g=v(v(g*h)*v(-29.399999618530273)),(h=v(v(m*m)+v(v(d*d)+v(g*g))))>v(0)&&(f[_+12>>2]=0,C[_+8>>2]=-m,C[_+4>>2]=-g,C[_>>2]=-d,Tf(t,_)),C[t+52>>2]=E(h)):Tf(t,o),f[t+44>>2]=1061752795,f[t+48>>2]=1060439283,C[t+60>>2]=r,Z=_+16|0}(o=dA(292),t,e,i,r),0|o},btKinematicCharacterController_setWalkDirection:function(t,e){e|=0,yt[f[f[(t|=0)>>2]+16>>2]](t,e)},btKinematicCharacterController_setFallSpeed:function(t,e){t|=0,e=v(e),C[t+28>>2]=e},btKinematicCharacterController_setJumpSpeed:function(t,e){t|=0,e=v(e),C[t+36>>2]=e,C[t+32>>2]=e},btKinematicCharacterController_setMaxSlope:function(t,e){t|=0,e=v(e);var i,r=v(0);C[t+44>>2]=e,i=t,r=Cr(e),C[i+48>>2]=r},btKinematicCharacterController_onGround:zf,btKinematicCharacterController_jump:function(t,e){e|=0,yt[f[f[(t|=0)>>2]+44>>2]](t,e)},btKinematicCharacterController_setGravity:function(t,e){(function(t,e){var i,r,n=v(0),a=v(0),o=v(0),_=v(0);Z=i=Z-16|0,r=t,n=C[e>>2],o=C[e+4>>2],_=C[e+8>>2],(a=v(v(v(n*n)+v(o*o))+v(_*_)))>v(0)&&(f[i+12>>2]=0,C[i+8>>2]=-_,C[i+4>>2]=-o,C[i>>2]=-n,Tf(t,i),n=C[e>>2],a=v(n*n),n=C[e+4>>2],a=v(a+v(n*n)),n=C[e+8>>2],a=v(a+v(n*n))),C[r+52>>2]=E(a),Z=i+16|0})(t|=0,e|=0)},btKinematicCharacterController_setUp:function(t,e){(function(t,e){var i,r=v(0),n=v(0),a=v(0),o=v(0),_=v(0),h=v(0);Z=i=Z-16|0,n=C[e>>2],a=C[e+4>>2],r=C[e+8>>2],(o=v(v(v(n*n)+v(a*a))+v(r*r)))>v(0)&&(_=C[t+52>>2])>v(0)?(h=r,r=v(v(1)/v(E(o))),o=v(-_),_=v(v(h*r)*o),n=v(v(n*r)*o),a=v(v(a*r)*o),(r=v(v(_*_)+v(v(n*n)+v(a*a))))>v(0)&&(f[i+12>>2]=0,C[i+8>>2]=-_,C[i+4>>2]=-a,C[i>>2]=-n,Tf(t,i)),C[t+52>>2]=E(r)):Tf(t,e),Z=i+16|0})(t|=0,e|=0)},btKinematicCharacterController_setStepHeight:function(t,e){t|=0,e=v(e),C[t+60>>2]=e},btKinematicCharacterController_destroy:nt,btPairCachingGhostObject_create:function(){var t;return function(t){var e=0;Ee(t),f[t+336>>2]=0,n[t+340|0]=1,f[(e=t+328|0)>>2]=0,f[e+4>>2]=0,f[t+252>>2]=4,f[t>>2]=24004,Ri(e=dA(72)),f[t+344>>2]=e}(t=dA(348)),0|t},btGhostPairCallback_create:function(){var t;return t=q(4),f[t>>2]=25228,0|t},btTypedConstraint_setEnabled:function(t,e){e|=0,n[(t|=0)+20|0]=e},btCollisionWorld_addConstraint:function(t,e,i){e|=0,i|=0,yt[f[f[(t|=0)>>2]+56>>2]](t,e,i)},btCollisionWorld_removeConstraint:vt,btJointFeedback_create:function(){var t,e=0;return t=dA(64),f[(e=t)>>2]=0,f[e+4>>2]=0,f[(e=e+56|0)>>2]=0,f[e+4>>2]=0,f[(e=t+48|0)>>2]=0,f[e+4>>2]=0,f[(e=t+40|0)>>2]=0,f[e+4>>2]=0,f[(e=t+32|0)>>2]=0,f[e+4>>2]=0,f[(e=t+24|0)>>2]=0,f[e+4>>2]=0,f[(e=t+16|0)>>2]=0,f[e+4>>2]=0,f[(e=t+8|0)>>2]=0,f[e+4>>2]=0,0|t},btJointFeedback_destroy:function(t){(t|=0)&&CA(t)},btTypedConstraint_setJointFeedback:function(t,e){e|=0,f[(t|=0)+44>>2]=e},btTypedConstraint_getJointFeedback:function(t){return f[(t|=0)+44>>2]},btTypedConstraint_enableFeedback:function(t,e){e|=0,n[(t|=0)+21|0]=e},btTypedConstraint_setParam:function(t,e,i,r){t|=0,e|=0,i|=0,r=v(r),yt[f[f[t>>2]+28>>2]](t,i,r,e)},btTypedConstraint_setOverrideNumSolverIterations:Gi,btTypedConstraint_destroy:nt,btJointFeedback_getAppliedForceBodyA:sA,btJointFeedback_getAppliedForceBodyB:ut,btJointFeedback_getAppliedTorqueBodyA:Qe,btFixedConstraint_create:function(t,e,i,r){var n;return t|=0,e|=0,i|=0,r|=0,function(t,e,i,r,n){Pf(t,e,i,r,n,0),f[t>>2]=24588,f[(e=t+1144|0)>>2]=0,f[e+4>>2]=0,f[(e=t+1056|0)>>2]=0,f[e+4>>2]=0,f[t+968>>2]=0,f[t+972>>2]=0,f[t+680>>2]=0,f[t+684>>2]=0,f[(e=t+688|0)>>2]=0,f[e+4>>2]=0,f[(e=t+696|0)>>2]=0,f[e+4>>2]=0,f[(t=t+704|0)>>2]=0,f[t+4>>2]=0}(n=dA(1460),t,i,e,r),0|n},btGeneric6DofSpring2Constraint_create:function(t,e,i,r,n){var a;return t|=0,e|=0,i|=0,r|=0,n|=0,t=Pf(a=dA(1460),t,i,e,r,n),f[a+24>>2]=80,yt[f[f[a>>2]+28>>2]](t,2,v(.800000011920929),0),yt[f[f[a>>2]+28>>2]](t,4,v(0),0),yt[f[f[a>>2]+28>>2]](t,2,v(.800000011920929),1),yt[f[f[a>>2]+28>>2]](t,4,v(0),1),yt[f[f[a>>2]+28>>2]](t,2,v(.800000011920929),2),yt[f[f[a>>2]+28>>2]](t,4,v(0),2),yt[f[f[a>>2]+28>>2]](t,2,v(.800000011920929),3),yt[f[f[a>>2]+28>>2]](t,4,v(0),3),yt[f[f[a>>2]+28>>2]](t,2,v(.800000011920929),4),yt[f[f[a>>2]+28>>2]](t,4,v(0),4),yt[f[f[a>>2]+28>>2]](t,2,v(.800000011920929),5),yt[f[f[a>>2]+28>>2]](t,4,v(0),5),0|a},btGeneric6DofSpring2Constraint_setAxis:function(t,e,i){(function(t,e,i){var r,n=v(0),a=v(0),o=v(0),_=v(0),h=v(0),d=v(0),g=v(0),m=v(0),y=v(0),p=v(0),R=v(0),D=v(0),B=v(0),F=v(0),V=v(0),G=v(0),w=v(0),Q=v(0),W=v(0),Y=v(0),Z=v(0);r=f[t+28>>2],D=C[r+20>>2],B=C[r+36>>2],F=C[r+40>>2],V=C[r+8>>2],G=C[r+24>>2],a=C[r+60>>2],_=C[r+44>>2],h=C[r+12>>2],o=C[r+52>>2],d=C[r+56>>2],g=C[r+28>>2],m=C[i+8>>2],y=C[i>>2],p=C[i+4>>2],R=C[e+8>>2],n=C[e>>2],w=C[e+4>>2],Q=C[r+4>>2],f[t+108>>2]=0,f[t+92>>2]=0,f[t+76>>2]=0,f[t+60>>2]=0,o=v(-o),C[t+104>>2]=v(v(v(h*v(0))+v(g*v(0)))+v(_*v(0)))+v(v(v(h*o)-v(g*d))-v(_*a)),C[t+100>>2]=v(v(v(V*v(0))+v(G*v(0)))+v(F*v(0)))+v(v(v(V*o)-v(G*d))-v(F*a)),C[t+96>>2]=v(v(v(Q*v(0))+v(D*v(0)))+v(B*v(0)))+v(v(v(Q*o)-v(D*d))-v(B*a)),o=n,n=v(v(1)/v(E(v(v(v(n*n)+v(w*w))+v(R*R))))),a=v(o*n),d=v(w*n),R=v(R*n),C[t+88>>2]=v(v(h*a)+v(g*d))+v(_*R),n=v(v(1)/v(E(v(v(v(y*y)+v(p*p))+v(m*m))))),y=v(y*n),p=v(p*n),m=v(m*n),C[t+84>>2]=v(v(h*y)+v(g*p))+v(_*m),C[t+72>>2]=v(v(a*V)+v(d*G))+v(R*F),C[t+68>>2]=v(v(y*V)+v(p*G))+v(m*F),C[t+56>>2]=v(v(Q*a)+v(d*D))+v(R*B),C[t+52>>2]=v(B*m)+v(v(Q*y)+v(D*p)),n=h,h=v(v(R*p)-v(d*m)),o=g,g=v(v(a*m)-v(R*y)),w=_,_=v(v(d*y)-v(a*p)),C[t+80>>2]=v(v(n*h)+v(o*g))+v(w*_),C[t- -64>>2]=v(_*F)+v(v(V*h)+v(G*g)),C[t+48>>2]=v(B*_)+v(v(Q*h)+v(D*g)),e=f[t+32>>2],W=C[e+60>>2],Z=C[e+52>>2],Y=C[e+56>>2],D=C[e+20>>2],B=C[e+36>>2],F=C[e+40>>2],V=C[e+8>>2],G=C[e+24>>2],Q=C[e+44>>2],n=C[e+12>>2],w=C[e+28>>2],o=C[e+4>>2],f[t+172>>2]=0,f[t+156>>2]=0,f[t+140>>2]=0,f[t+124>>2]=0,C[t+152>>2]=v(v(a*n)+v(d*w))+v(R*Q),C[t+148>>2]=v(v(y*n)+v(p*w))+v(m*Q),C[t+144>>2]=v(v(h*n)+v(g*w))+v(_*Q),C[t+136>>2]=v(v(a*V)+v(d*G))+v(R*F),C[t+132>>2]=v(v(y*V)+v(p*G))+v(m*F),C[t+128>>2]=v(v(h*V)+v(g*G))+v(_*F),C[t+120>>2]=v(v(a*o)+v(d*D))+v(R*B),C[t+116>>2]=v(v(y*o)+v(p*D))+v(m*B),C[t+112>>2]=v(v(h*o)+v(g*D))+v(_*B),a=v(-Z),C[t+168>>2]=v(v(v(n*v(0))+v(w*v(0)))+v(Q*v(0)))+v(v(v(n*a)-v(w*Y))-v(Q*W)),C[t+164>>2]=v(v(v(V*v(0))+v(G*v(0)))+v(F*v(0)))+v(v(v(V*a)-v(G*Y))-v(F*W)),C[t+160>>2]=v(v(v(o*v(0))+v(D*v(0)))+v(B*v(0)))+v(v(v(o*a)-v(D*Y))-v(B*W)),Kf(t,r+4|0,e+4|0)})(t|=0,e|=0,i|=0)},btGeneric6DofSpring2Constraint_setLimit:function(t,e,i,r){if(t|=0,e|=0,i=v(i),r=v(r),(0|e)<=2)return C[(t=(e<<2)+t|0)+696>>2]=r,void(C[t+680>>2]=i);(i=Wf(i))<v(-3.1415927410125732)?i=v(i+v(6.2831854820251465)):i>v(3.1415927410125732)&&(i=v(i+v(-6.2831854820251465))),(r=Wf(r))<v(-3.1415927410125732)?r=v(r+v(6.2831854820251465)):r>v(3.1415927410125732)&&(r=v(r+v(-6.2831854820251465))),t=m(e,88)+t|0,C[t+708>>2]=r,C[t+704>>2]=i},btGeneric6DofSpring2Constraint_enableSpring:function(t,e,i){(function(t,e,i){(0|e)<=2?n[798+(t+e|0)|0]=i:n[752+(m(e,88)+t|0)|0]=i})(t|=0,e|=0,i|=0)},btGeneric6DofSpring2Constraint_setBounce:function(t,e,i){(function(t,e,i){C[((0|e)<3?712+((e<<2)+t|0)|0:712+(m(e,88)+t|0)|0)>>2]=i})(t|=0,e|=0,i=v(i))},btGeneric6DofSpring2Constraint_setStiffness:function(t,e,i,r){(function(t,e,i,r){if((0|e)<=2)return n[156+((t=t+680|0)+e|0)|0]=r,void(C[140+(t+(e<<2)|0)>>2]=i);t=m(e,88)+t|0,n[t+760|0]=r,C[t+756>>2]=i})(t|=0,e|=0,i=v(i),r|=0)},btGeneric6DofSpring2Constraint_setDamping:function(t,e,i,r){(function(t,e,i,r){if((0|e)<=2)return n[176+((t=t+680|0)+e|0)|0]=r,void(C[160+(t+(e<<2)|0)>>2]=i);t=m(e,88)+t|0,n[t+768|0]=r,C[t+764>>2]=i})(t|=0,e|=0,i=v(i),r|=0)},btGeneric6DofSpring2Constraint_setEquilibriumPoint:function(t,e,i){(function(t,e,i){C[((0|e)<3?860+((e<<2)+t|0)|0:772+(m(e,88)+t|0)|0)>>2]=i})(t|=0,e|=0,i=v(i))},btGeneric6DofSpring2Constraint_enableMotor:function(t,e,i){(function(t,e,i){(0|e)<=2?n[792+(t+e|0)|0]=i:n[732+(m(e,88)+t|0)|0]=i})(t|=0,e|=0,i|=0)},btGeneric6DofSpring2Constraint_setServo:function(t,e,i){(function(t,e,i){(0|e)<=2?n[795+(t+e|0)|0]=i:n[744+(m(e,88)+t|0)|0]=i})(t|=0,e|=0,i|=0)},btGeneric6DofSpring2Constraint_setTargetVelocity:function(t,e,i){(function(t,e,i){C[((0|e)<3?876+((e<<2)+t|0)|0:736+(m(e,88)+t|0)|0)>>2]=i})(t|=0,e|=0,i=v(i))},btGeneric6DofSpring2Constraint_setServoTarget:function(t,e,i){(function(t,e,i){var r=v(0);(0|e)<=2?C[804+((e<<2)+t|0)>>2]=i:(t=748+(m(e,88)+t|0)|0,i=v(i+v(3.1415927410125732)),i=v(i-v(v(B(v(i/v(6.2831854820251465))))*v(6.2831854820251465))),r=v(0),i>=v(6.2831854820251465)||(r=i,i<v(0)&&(r=(i=v(i+v(6.2831854820251465)))==v(6.2831854820251465)?v(0):i)),C[t>>2]=r+v(-3.1415927410125732))})(t|=0,e|=0,i=v(i))},btGeneric6DofSpring2Constraint_setMaxMotorForce:function(t,e,i){(function(t,e,i){C[((0|e)<3?892+((e<<2)+t|0)|0:740+(m(e,88)+t|0)|0)>>2]=i})(t|=0,e|=0,i=v(i))},btGeneric6DofSpring2Constraint_setFrames:function(t,e,i){(function(t,e,i){var r=0,n=0,a=0;r=f[e+4>>2],f[t+48>>2]=f[e>>2],f[t+52>>2]=r,a=f[(n=e+8|0)+4>>2],f[(r=t+56|0)>>2]=f[n>>2],f[r+4>>2]=a,a=f[(n=e+24|0)+4>>2],f[(r=t+72|0)>>2]=f[n>>2],f[r+4>>2]=a,n=f[e+20>>2],f[(r=t- -64|0)>>2]=f[e+16>>2],f[r+4>>2]=n,a=f[(n=e+40|0)+4>>2],f[(r=t+88|0)>>2]=f[n>>2],f[r+4>>2]=a,n=f[e+36>>2],f[(r=t+80|0)>>2]=f[e+32>>2],f[r+4>>2]=n,a=f[(n=e+56|0)+4>>2],f[(r=t+104|0)>>2]=f[n>>2],f[r+4>>2]=a,n=f[e+52>>2],f[(r=t+96|0)>>2]=f[e+48>>2],f[r+4>>2]=n,n=f[(r=i+8|0)+4>>2],f[(e=t+120|0)>>2]=f[r>>2],f[e+4>>2]=n,e=f[i+4>>2],f[t+112>>2]=f[i>>2],f[t+116>>2]=e,r=f[i+20>>2],f[(e=t+128|0)>>2]=f[i+16>>2],f[e+4>>2]=r,n=f[(r=i+24|0)+4>>2],f[(e=t+136|0)>>2]=f[r>>2],f[e+4>>2]=n,r=f[i+36>>2],f[(e=t+144|0)>>2]=f[i+32>>2],f[e+4>>2]=r,n=f[(r=i+40|0)+4>>2],f[(e=t+152|0)>>2]=f[r>>2],f[e+4>>2]=n,n=f[(r=i+56|0)+4>>2],f[(e=t+168|0)>>2]=f[r>>2],f[e+4>>2]=n,r=f[i+52>>2],f[(e=t+160|0)>>2]=f[i+48>>2],f[e+4>>2]=r,yt[f[f[t>>2]+8>>2]](t),Kf(t,f[t+28>>2]+4|0,f[t+32>>2]+4|0)})(t|=0,e|=0,i|=0)}}}({Math:Math,Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},{memory:{},abort:function(){throw new Error("abort")},fd_close:()=>{console.log("fd_close")},fd_write:()=>{console.log("fd_write")},getWorldTransform:r,setWorldTransform:n,fd_seek:()=>{console.log("fd_seek")}},h);i.btGImpactCollisionAlgorithm_RegisterAlgorithm=C.btGImpactCollisionAlgorithm_RegisterAlgorithm,i.btVector3_create=C.btVector3_create,i.btVector3_setValue=C.btVector3_setValue,i.btVector3_x=C.btVector3_x,i.btVector3_y=C.btVector3_y,i.btVector3_z=C.btVector3_z,i.btQuaternion_create=C.btQuaternion_create,i.btQuaternion_setValue=C.btQuaternion_setValue,i.btQuaternion_x=C.btQuaternion_x,i.btQuaternion_y=C.btQuaternion_y,i.btQuaternion_z=C.btQuaternion_z,i.btQuaternion_w=C.btQuaternion_w,i.btTransform_create=C.btTransform_create,i.btTransform_setOrigin=C.btTransform_setOrigin,i.btTransform_setRotation=C.btTransform_setRotation,i.btTransform_getOrigin=C.btTransform_getOrigin,i.btTransform_getRotation=C.btTransform_getRotation,i.btTransform_setIdentity=C.btTransform_setIdentity,i.btTransform_equal=C.btTransform_equal,i.btMotionState_destroy=C.btMotionState_destroy,i.layaMotionState_create=C.layaMotionState_create,i.layaMotionState_set_rigidBodyID=C.layaMotionState_set_rigidBodyID,i.btCollisionObject_create=C.btCollisionObject_create,i.btCollisionObject_setContactProcessingThreshold=C.btCollisionObject_setContactProcessingThreshold,i.btCollisionObject_setActivationState=C.btCollisionObject_setActivationState,i.btCollisionObject_forceActivationState=C.btCollisionObject_forceActivationState,i.btCollisionObject_activate=C.btCollisionObject_activate,i.btCollisionObject_isActive=C.btCollisionObject_isActive,i.btCollisionObject_setRestitution=C.btCollisionObject_setRestitution,i.btCollisionObject_setFriction=C.btCollisionObject_setFriction,i.btCollisionObject_setRollingFriction=C.btCollisionObject_setRollingFriction,i.btCollisionObject_getCollisionFlags=C.btCollisionObject_getCollisionFlags,i.btCollisionObject_setCollisionFlags=C.btCollisionObject_setCollisionFlags,i.btCollisionObject_getWorldTransform=C.btCollisionObject_getWorldTransform,i.btCollisionObject_setWorldTransform=C.btCollisionObject_setWorldTransform,i.btCollisionObject_setInterpolationWorldTransform=C.btCollisionObject_setInterpolationWorldTransform,i.btCollisionObject_setCollisionShape=C.btCollisionObject_setCollisionShape,i.btCollisionObject_getCcdMotionThreshold=C.btCollisionObject_getCcdMotionThreshold,i.btCollisionObject_setCcdMotionThreshold=C.btCollisionObject_setCcdMotionThreshold,i.btCollisionObject_getCcdSweptSphereRadius=C.btCollisionObject_getCcdSweptSphereRadius,i.btCollisionObject_setCcdSweptSphereRadius=C.btCollisionObject_setCcdSweptSphereRadius,i.btCollisionObject_getUserIndex=C.btCollisionObject_getUserIndex,i.btCollisionObject_setUserIndex=C.btCollisionObject_setUserIndex,i.btCollisionObject_getActivationState=C.btCollisionObject_getActivationState,i.btCollisionObject_setInterpolationAngularVelocity=C.btCollisionObject_setInterpolationAngularVelocity,i.btCollisionObject_setInterpolationLinearVelocity=C.btCollisionObject_setInterpolationLinearVelocity,i.btCollisionObject_destroy=C.btCollisionObject_destroy,i.RayResultCallback_set_m_flags=C.RayResultCallback_set_m_flags,i.RayResultCallback_hasHit=C.RayResultCallback_hasHit,i.RayResultCallback_set_m_collisionFilterGroup=C.RayResultCallback_set_m_collisionFilterGroup,i.RayResultCallback_set_m_collisionFilterMask=C.RayResultCallback_set_m_collisionFilterMask,i.RayResultCallback_get_m_closestHitFraction=C.RayResultCallback_get_m_closestHitFraction,i.RayResultCallback_set_m_closestHitFraction=C.RayResultCallback_set_m_closestHitFraction,i.RayResultCallback_get_m_collisionObject=C.RayResultCallback_get_m_collisionObject,i.RayResultCallback_set_m_collisionObject=C.RayResultCallback_set_m_collisionObject,i.ClosestRayResultCallback_create=C.ClosestRayResultCallback_create,i.ClosestRayResultCallback_get_m_rayFromWorld=C.ClosestRayResultCallback_get_m_rayFromWorld,i.ClosestRayResultCallback_set_m_rayFromWorld=C.ClosestRayResultCallback_set_m_rayFromWorld,i.ClosestRayResultCallback_get_m_rayToWorld=C.ClosestRayResultCallback_get_m_rayToWorld,i.ClosestRayResultCallback_set_m_rayToWorld=C.ClosestRayResultCallback_set_m_rayToWorld,i.ClosestRayResultCallback_get_m_hitNormalWorld=C.ClosestRayResultCallback_get_m_hitNormalWorld,i.ClosestRayResultCallback_get_m_hitPointWorld=C.ClosestRayResultCallback_get_m_hitPointWorld,i.tBtCollisionObjectArray_size=C.tBtCollisionObjectArray_size,i.tBtCollisionObjectArray_at=C.tBtCollisionObjectArray_at,i.tBtCollisionObjectArray_clear=C.tBtCollisionObjectArray_clear,i.tVector3Array_at=C.tVector3Array_at,i.tVector3Array_clear=C.tVector3Array_clear,i.tScalarArray_at=C.tScalarArray_at,i.tScalarArray_clear=C.tScalarArray_clear,i.AllHitsRayResultCallback_create=C.AllHitsRayResultCallback_create,i.AllHitsRayResultCallback_get_m_rayFromWorld=C.AllHitsRayResultCallback_get_m_rayFromWorld,i.AllHitsRayResultCallback_set_m_rayFromWorld=C.AllHitsRayResultCallback_set_m_rayFromWorld,i.AllHitsRayResultCallback_get_m_rayToWorld=C.AllHitsRayResultCallback_get_m_rayToWorld,i.AllHitsRayResultCallback_set_m_rayToWorld=C.AllHitsRayResultCallback_set_m_rayToWorld,i.AllHitsRayResultCallback_get_m_hitPointWorld=C.AllHitsRayResultCallback_get_m_hitPointWorld,i.AllHitsRayResultCallback_get_m_hitNormalWorld=C.AllHitsRayResultCallback_get_m_hitNormalWorld,i.AllHitsRayResultCallback_get_m_collisionObjects=C.AllHitsRayResultCallback_get_m_collisionObjects,i.AllHitsRayResultCallback_get_m_hitFractions=C.AllHitsRayResultCallback_get_m_hitFractions,i.btManifoldPoint_get_m_positionWorldOnA=C.btManifoldPoint_get_m_positionWorldOnA,i.btManifoldPoint_get_m_positionWorldOnB=C.btManifoldPoint_get_m_positionWorldOnB,i.btManifoldPoint_get_m_normalWorldOnB=C.btManifoldPoint_get_m_normalWorldOnB,i.btManifoldPoint_getDistance=C.btManifoldPoint_getDistance,i.ConvexResultCallback_hasHit=C.ConvexResultCallback_hasHit,i.ConvexResultCallback_set_m_collisionFilterGroup=C.ConvexResultCallback_set_m_collisionFilterGroup,i.ConvexResultCallback_set_m_collisionFilterMask=C.ConvexResultCallback_set_m_collisionFilterMask,i.ConvexResultCallback_get_m_closestHitFraction=C.ConvexResultCallback_get_m_closestHitFraction,i.ConvexResultCallback_set_m_closestHitFraction=C.ConvexResultCallback_set_m_closestHitFraction,i.ClosestConvexResultCallback_create=C.ClosestConvexResultCallback_create,i.ClosestConvexResultCallback_get_m_hitNormalWorld=C.ClosestConvexResultCallback_get_m_hitNormalWorld,i.ClosestConvexResultCallback_get_m_hitPointWorld=C.ClosestConvexResultCallback_get_m_hitPointWorld,i.ClosestConvexResultCallback_get_m_hitCollisionObject=C.ClosestConvexResultCallback_get_m_hitCollisionObject,i.ClosestConvexResultCallback_set_m_hitCollisionObject=C.ClosestConvexResultCallback_set_m_hitCollisionObject,i.AllConvexResultCallback_create=C.AllConvexResultCallback_create,i.AllConvexResultCallback_get_m_hitNormalWorld=C.AllConvexResultCallback_get_m_hitNormalWorld,i.AllConvexResultCallback_get_m_hitPointWorld=C.AllConvexResultCallback_get_m_hitPointWorld,i.AllConvexResultCallback_get_m_hitFractions=C.AllConvexResultCallback_get_m_hitFractions,i.AllConvexResultCallback_get_m_collisionObjects=C.AllConvexResultCallback_get_m_collisionObjects,i.btCollisionShape_getLocalScaling=C.btCollisionShape_getLocalScaling,i.btCollisionShape_setLocalScaling=C.btCollisionShape_setLocalScaling,i.btCollisionShape_calculateLocalInertia=C.btCollisionShape_calculateLocalInertia,i.btCollisionShape_destroy=C.btCollisionShape_destroy,i.btBoxShape_create=C.btBoxShape_create,i.btCapsuleShape_create=C.btCapsuleShape_create,i.btCapsuleShapeX_create=C.btCapsuleShapeX_create,i.btCapsuleShapeZ_create=C.btCapsuleShapeZ_create,i.btCylinderShape_create=C.btCylinderShape_create,i.btCylinderShapeX_create=C.btCylinderShapeX_create,i.btCylinderShapeZ_create=C.btCylinderShapeZ_create,i.btSphereShape_create=C.btSphereShape_create,i.btConeShape_create=C.btConeShape_create,i.btConeShapeX_create=C.btConeShapeX_create,i.btConeShapeZ_create=C.btConeShapeZ_create,i.btStaticPlaneShape_create=C.btStaticPlaneShape_create,i.btGImpactShapeInterface_updateBound=C.btGImpactShapeInterface_updateBound,i.btGImpactMeshShape_create=C.btGImpactMeshShape_create,i.btCompoundShape_create=C.btCompoundShape_create,i.btCompoundShape_addChildShape=C.btCompoundShape_addChildShape,i.btCompoundShape_removeChildShapeByIndex=C.btCompoundShape_removeChildShapeByIndex,i.btCompoundShape_getChildShape=C.btCompoundShape_getChildShape,i.btCompoundShape_updateChildTransform=C.btCompoundShape_updateChildTransform,i.btStridingMeshInterface_destroy=C.btStridingMeshInterface_destroy,i.btTriangleMesh_create=C.btTriangleMesh_create,i.btTriangleMesh_addTriangle=C.btTriangleMesh_addTriangle,i.btDefaultCollisionConfiguration_create=C.btDefaultCollisionConfiguration_create,i.btDefaultCollisionConfiguration_destroy=C.btDefaultCollisionConfiguration_destroy,i.btPersistentManifold_getBody0=C.btPersistentManifold_getBody0,i.btPersistentManifold_getBody1=C.btPersistentManifold_getBody1,i.btPersistentManifold_getNumContacts=C.btPersistentManifold_getNumContacts,i.btPersistentManifold_getContactPoint=C.btPersistentManifold_getContactPoint,i.btDispatcher_getNumManifolds=C.btDispatcher_getNumManifolds,i.btDispatcher_getManifoldByIndexInternal=C.btDispatcher_getManifoldByIndexInternal,i.btCollisionDispatcher_create=C.btCollisionDispatcher_create,i.btCollisionDispatcher_destroy=C.btCollisionDispatcher_destroy,i.btOverlappingPairCache_setInternalGhostPairCallback=C.btOverlappingPairCache_setInternalGhostPairCallback,i.btDbvtBroadphase_create=C.btDbvtBroadphase_create,i.btDbvtBroadphase_getOverlappingPairCache=C.btDbvtBroadphase_getOverlappingPairCache,i.btDbvtBroadphase_destroy=C.btDbvtBroadphase_destroy,i.btRigidBodyConstructionInfo_create=C.btRigidBodyConstructionInfo_create,i.btRigidBodyConstructionInfo_destroy=C.btRigidBodyConstructionInfo_destroy,i.btRigidBody_create=C.btRigidBody_create,i.btRigidBody_setCenterOfMassTransform=C.btRigidBody_setCenterOfMassTransform,i.btRigidBody_setSleepingThresholds=C.btRigidBody_setSleepingThresholds,i.btRigidBody_getLinearSleepingThreshold=C.btRigidBody_getLinearSleepingThreshold,i.btRigidBody_getAngularSleepingThreshold=C.btRigidBody_getAngularSleepingThreshold,i.btRigidBody_setDamping=C.btRigidBody_setDamping,i.btRigidBody_setMassProps=C.btRigidBody_setMassProps,i.btRigidBody_setLinearFactor=C.btRigidBody_setLinearFactor,i.btRigidBody_applyTorque=C.btRigidBody_applyTorque,i.btRigidBody_applyForce=C.btRigidBody_applyForce,i.btRigidBody_applyCentralForce=C.btRigidBody_applyCentralForce,i.btRigidBody_applyTorqueImpulse=C.btRigidBody_applyTorqueImpulse,i.btRigidBody_applyImpulse=C.btRigidBody_applyImpulse,i.btRigidBody_applyCentralImpulse=C.btRigidBody_applyCentralImpulse,i.btRigidBody_updateInertiaTensor=C.btRigidBody_updateInertiaTensor,i.btRigidBody_getLinearVelocity=C.btRigidBody_getLinearVelocity,i.btRigidBody_getAngularVelocity=C.btRigidBody_getAngularVelocity,i.btRigidBody_setLinearVelocity=C.btRigidBody_setLinearVelocity,i.btRigidBody_setAngularVelocity=C.btRigidBody_setAngularVelocity,i.btRigidBody_setAngularFactor=C.btRigidBody_setAngularFactor,i.btRigidBody_getGravity=C.btRigidBody_getGravity,i.btRigidBody_setGravity=C.btRigidBody_setGravity,i.btRigidBody_getTotalForce=C.btRigidBody_getTotalForce,i.btRigidBody_getTotalTorque=C.btRigidBody_getTotalTorque,i.btRigidBody_getFlags=C.btRigidBody_getFlags,i.btRigidBody_setFlags=C.btRigidBody_setFlags,i.btRigidBody_clearForces=C.btRigidBody_clearForces,i.btSequentialImpulseConstraintSolver_create=C.btSequentialImpulseConstraintSolver_create,i.btCollisionWorld_get_m_useContinuous=C.btCollisionWorld_get_m_useContinuous,i.btCollisionWorld_set_m_useContinuous=C.btCollisionWorld_set_m_useContinuous,i.btCollisionWorld_rayTest=C.btCollisionWorld_rayTest,i.btCollisionWorld_getDispatchInfo=C.btCollisionWorld_getDispatchInfo,i.btCollisionWorld_addCollisionObject=C.btCollisionWorld_addCollisionObject,i.btCollisionWorld_removeCollisionObject=C.btCollisionWorld_removeCollisionObject,i.btCollisionWorld_convexSweepTest=C.btCollisionWorld_convexSweepTest,i.btCollisionWorld_destroy=C.btCollisionWorld_destroy,i.btDynamicsWorld_addAction=C.btDynamicsWorld_addAction,i.btDynamicsWorld_removeAction=C.btDynamicsWorld_removeAction,i.btDynamicsWorld_getSolverInfo=C.btDynamicsWorld_getSolverInfo,i.btDiscreteDynamicsWorld_create=C.btDiscreteDynamicsWorld_create,i.btDiscreteDynamicsWorld_setGravity=C.btDiscreteDynamicsWorld_setGravity,i.btDiscreteDynamicsWorld_getGravity=C.btDiscreteDynamicsWorld_getGravity,i.btDiscreteDynamicsWorld_addRigidBody=C.btDiscreteDynamicsWorld_addRigidBody,i.btDiscreteDynamicsWorld_removeRigidBody=C.btDiscreteDynamicsWorld_removeRigidBody,i.btDiscreteDynamicsWorld_stepSimulation=C.btDiscreteDynamicsWorld_stepSimulation,i.btDiscreteDynamicsWorld_clearForces=C.btDiscreteDynamicsWorld_clearForces,i.btDiscreteDynamicsWorld_setApplySpeculativeContactRestitution=C.btDiscreteDynamicsWorld_setApplySpeculativeContactRestitution,i.btDiscreteDynamicsWorld_getApplySpeculativeContactRestitution=C.btDiscreteDynamicsWorld_getApplySpeculativeContactRestitution,i.btKinematicCharacterController_create=C.btKinematicCharacterController_create,i.btKinematicCharacterController_setWalkDirection=C.btKinematicCharacterController_setWalkDirection,i.btKinematicCharacterController_setFallSpeed=C.btKinematicCharacterController_setFallSpeed,i.btKinematicCharacterController_setJumpSpeed=C.btKinematicCharacterController_setJumpSpeed,i.btKinematicCharacterController_setMaxSlope=C.btKinematicCharacterController_setMaxSlope,i.btKinematicCharacterController_onGround=C.btKinematicCharacterController_onGround,i.btKinematicCharacterController_jump=C.btKinematicCharacterController_jump,i.btKinematicCharacterController_setGravity=C.btKinematicCharacterController_setGravity,i.btKinematicCharacterController_setUp=C.btKinematicCharacterController_setUp,i.btKinematicCharacterController_setStepHeight=C.btKinematicCharacterController_setStepHeight,i.btKinematicCharacterController_destroy=C.btKinematicCharacterController_destroy,i.btPairCachingGhostObject_create=C.btPairCachingGhostObject_create,i.btGhostPairCallback_create=C.btGhostPairCallback_create,i.btTypedConstraint_setEnabled=C.btTypedConstraint_setEnabled,i.btCollisionWorld_addConstraint=C.btCollisionWorld_addConstraint,i.btCollisionWorld_removeConstraint=C.btCollisionWorld_removeConstraint,i.btJointFeedback_create=C.btJointFeedback_create,i.btJointFeedback_destroy=C.btJointFeedback_destroy,i.btTypedConstraint_setJointFeedback=C.btTypedConstraint_setJointFeedback,i.btTypedConstraint_getJointFeedback=C.btTypedConstraint_getJointFeedback,i.btTypedConstraint_enableFeedback=C.btTypedConstraint_enableFeedback,i.btTypedConstraint_setParam=C.btTypedConstraint_setParam,i.btTypedConstraint_setOverrideNumSolverIterations=C.btTypedConstraint_setOverrideNumSolverIterations,i.btTypedConstraint_destroy=C.btTypedConstraint_destroy,i.btJointFeedback_getAppliedForceBodyA=C.btJointFeedback_getAppliedForceBodyA,i.btJointFeedback_getAppliedForceBodyB=C.btJointFeedback_getAppliedForceBodyB,i.btJointFeedback_getAppliedTorqueBodyA=C.btJointFeedback_getAppliedTorqueBodyA,i.btFixedConstraint_create=C.btFixedConstraint_create,i.btGeneric6DofSpring2Constraint_create=C.btGeneric6DofSpring2Constraint_create,i.btGeneric6DofSpring2Constraint_setAxis=C.btGeneric6DofSpring2Constraint_setAxis,i.btGeneric6DofSpring2Constraint_setLimit=C.btGeneric6DofSpring2Constraint_setLimit,i.btGeneric6DofSpring2Constraint_enableSpring=C.btGeneric6DofSpring2Constraint_enableSpring,i.btGeneric6DofSpring2Constraint_setBounce=C.btGeneric6DofSpring2Constraint_setBounce,i.btGeneric6DofSpring2Constraint_setStiffness=C.btGeneric6DofSpring2Constraint_setStiffness,i.btGeneric6DofSpring2Constraint_setDamping=C.btGeneric6DofSpring2Constraint_setDamping,i.btGeneric6DofSpring2Constraint_setEquilibriumPoint=C.btGeneric6DofSpring2Constraint_setEquilibriumPoint,i.btGeneric6DofSpring2Constraint_enableMotor=C.btGeneric6DofSpring2Constraint_enableMotor,i.btGeneric6DofSpring2Constraint_setServo=C.btGeneric6DofSpring2Constraint_setServo,i.btGeneric6DofSpring2Constraint_setTargetVelocity=C.btGeneric6DofSpring2Constraint_setTargetVelocity,i.btGeneric6DofSpring2Constraint_setServoTarget=C.btGeneric6DofSpring2Constraint_setServoTarget,i.btGeneric6DofSpring2Constraint_setMaxMotorForce=C.btGeneric6DofSpring2Constraint_setMaxMotorForce,i.btGeneric6DofSpring2Constraint_setFrames=C.btGeneric6DofSpring2Constraint_setFrames}(64*t*1024,e,i),i},function(t,e){"use strict";class i{constructor(){this._scale=new e.Vector3(1,1,1),this._centerMatrix=new e.Matrix4x4,this._attatched=!1,this._indexInCompound=-1,this._compoundParent=null,this._attatchedCollisionObject=null,this._referenceCount=0,this._localOffset=new e.Vector3(0,0,0),this._localRotation=new e.Quaternion(0,0,0,1),this.needsCustomCollisionCallback=!1}static __init__(){var t=e.ILaya3D.Physics3D._bullet;i._btScale=t.btVector3_create(1,1,1),i._btVector30=t.btVector3_create(0,0,0),i._btQuaternion0=t.btQuaternion_create(0,0,0,1),i._btTransform0=t.btTransform_create()}static _createAffineTransformation(t,e,i){var r=e.x,n=e.y,a=e.z,o=e.w,f=r+r,_=n+n,h=a+a,d=r*f,C=r*_,g=r*h,m=n*_,v=n*h,y=a*h,p=o*f,R=o*_,D=o*h;i[0]=1-(m+y),i[1]=C+D,i[2]=g-R,i[3]=0,i[4]=C-D,i[5]=1-(d+y),i[6]=v+p,i[7]=0,i[8]=g+R,i[9]=v-p,i[10]=1-(d+m),i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1}get type(){return this._type}get localOffset(){return this._localOffset}set localOffset(t){this._localOffset=t,this._compoundParent&&this._compoundParent._updateChildTransform(this)}get localRotation(){return this._localRotation}set localRotation(t){this._localRotation=t,this._compoundParent&&this._compoundParent._updateChildTransform(this)}_setScale(t){if(this._compoundParent)this.updateLocalTransformations();else{var r=e.ILaya3D.Physics3D._bullet;r.btVector3_setValue(i._btScale,t.x,t.y,t.z),r.btCollisionShape_setLocalScaling(this._btShape,i._btScale)}}_addReference(){this._referenceCount++}_removeReference(){this._referenceCount--}updateLocalTransformations(){if(this._compoundParent){var t=i._tempVector30;e.Vector3.multiply(this.localOffset,this._scale,t),i._createAffineTransformation(t,this.localRotation,this._centerMatrix.elements)}else i._createAffineTransformation(this.localOffset,this.localRotation,this._centerMatrix.elements)}cloneTo(t){var e=t;this._localOffset.cloneTo(e.localOffset),this._localRotation.cloneTo(e.localRotation),e.localOffset=e.localOffset,e.localRotation=e.localRotation}clone(){return null}destroy(){this._btShape&&(e.ILaya3D.Physics3D._bullet.btCollisionShape_destroy(this._btShape),this._btShape=null)}}i.SHAPEORIENTATION_UPX=0,i.SHAPEORIENTATION_UPY=1,i.SHAPEORIENTATION_UPZ=2,i.SHAPETYPES_BOX=0,i.SHAPETYPES_SPHERE=1,i.SHAPETYPES_CYLINDER=2,i.SHAPETYPES_CAPSULE=3,i.SHAPETYPES_CONVEXHULL=4,i.SHAPETYPES_COMPOUND=5,i.SHAPETYPES_STATICPLANE=6,i.SHAPETYPES_CONE=7,i._tempVector30=new e.Vector3;class r extends i{constructor(t=1,n=1,a=1){super(),this._sizeX=t,this._sizeY=n,this._sizeZ=a,this._type=i.SHAPETYPES_BOX;var o=e.ILaya3D.Physics3D._bullet;o.btVector3_setValue(r._btSize,t/2,n/2,a/2),this._btShape=o.btBoxShape_create(r._btSize)}static __init__(){r._btSize=e.ILaya3D.Physics3D._bullet.btVector3_create(0,0,0)}get sizeX(){return this._sizeX}get sizeY(){return this._sizeY}get sizeZ(){return this._sizeZ}clone(){var t=new r(this._sizeX,this._sizeY,this._sizeZ);return this.cloneTo(t),t}}class n extends i{constructor(t=.5,r=1.25,n=i.SHAPEORIENTATION_UPY){super(),this._radius=t,this._length=r,this._orientation=n,this._type=i.SHAPETYPES_CAPSULE;var a=e.ILaya3D.Physics3D._bullet;switch(n){case i.SHAPEORIENTATION_UPX:this._btShape=a.btCapsuleShapeX_create(t,r-2*t);break;case i.SHAPEORIENTATION_UPY:this._btShape=a.btCapsuleShape_create(t,r-2*t);break;case i.SHAPEORIENTATION_UPZ:this._btShape=a.btCapsuleShapeZ_create(t,r-2*t);break;default:throw"CapsuleColliderShape:unknown orientation."}}get radius(){return this._radius}get length(){return this._length}get orientation(){return this._orientation}_setScale(t){var e=n._tempVector30;switch(this.orientation){case i.SHAPEORIENTATION_UPX:e.x=t.x,e.y=e.z=Math.max(t.y,t.z);break;case i.SHAPEORIENTATION_UPY:e.y=t.y,e.x=e.z=Math.max(t.x,t.z);break;case i.SHAPEORIENTATION_UPZ:e.z=t.z,e.x=e.y=Math.max(t.x,t.y);break;default:throw"CapsuleColliderShape:unknown orientation."}super._setScale(e)}clone(){var t=new n(this._radius,this._length,this._orientation);return this.cloneTo(t),t}}n._tempVector30=new e.Vector3;class a extends i{constructor(){super(),this._childColliderShapes=[],this._type=i.SHAPETYPES_COMPOUND,this._btShape=e.ILaya3D.Physics3D._bullet.btCompoundShape_create()}static __init__(){var t=e.ILaya3D.Physics3D._bullet;a._btVector3One=t.btVector3_create(1,1,1),a._btTransform=t.btTransform_create(),a._btOffset=t.btVector3_create(0,0,0),a._btRotation=t.btQuaternion_create(0,0,0,1)}_clearChildShape(t){t._attatched=!1,t._compoundParent=null,t._indexInCompound=-1}_addReference(){}_removeReference(){}_updateChildTransform(t){var r=e.ILaya3D.Physics3D._bullet,n=t.localOffset,a=t.localRotation,o=i._btVector30,f=i._btQuaternion0,_=i._btTransform0;r.btVector3_setValue(o,-n.x,n.y,n.z),r.btQuaternion_setValue(f,-a.x,a.y,a.z,-a.w),r.btTransform_setOrigin(_,o),r.btTransform_setRotation(_,f),r.btCompoundShape_updateChildTransform(this._btShape,t._indexInCompound,_,!0)}addChildShape(t){if(t._attatched)throw"CompoundColliderShape: this shape has attatched to other entity.";t._attatched=!0,t._compoundParent=this,t._indexInCompound=this._childColliderShapes.length,this._childColliderShapes.push(t);var i=t.localOffset,r=t.localRotation,n=e.ILaya3D.Physics3D._bullet;n.btVector3_setValue(a._btOffset,-i.x,i.y,i.z),n.btQuaternion_setValue(a._btRotation,-r.x,r.y,r.z,-r.w),n.btTransform_setOrigin(a._btTransform,a._btOffset),n.btTransform_setRotation(a._btTransform,a._btRotation);var o=n.btCollisionShape_getLocalScaling(this._btShape);n.btCollisionShape_setLocalScaling(this._btShape,a._btVector3One),n.btCompoundShape_addChildShape(this._btShape,a._btTransform,t._btShape),n.btCollisionShape_setLocalScaling(this._btShape,o),this._attatchedCollisionObject&&(this._attatchedCollisionObject.colliderShape=this)}removeChildShape(t){if(t._compoundParent===this){var i=t._indexInCompound;this._clearChildShape(t);var r=this._childColliderShapes[this._childColliderShapes.length-1];r._indexInCompound=i,this._childColliderShapes[i]=r,this._childColliderShapes.pop(),e.ILaya3D.Physics3D._bullet.btCompoundShape_removeChildShapeByIndex(this._btShape,i)}}clearChildShape(){for(var t=0,i=this._childColliderShapes.length;t<i;t++)this._clearChildShape(this._childColliderShapes[t]),e.ILaya3D.Physics3D._bullet.btCompoundShape_removeChildShapeByIndex(this._btShape,0);this._childColliderShapes.length=0}getChildShapeCount(){return this._childColliderShapes.length}cloneTo(t){var e=t;e.clearChildShape();for(var i=0,r=this._childColliderShapes.length;i<r;i++)e.addChildShape(this._childColliderShapes[i].clone())}clone(){var t=new a;return this.cloneTo(t),t}destroy(){super.destroy();for(var t=0,e=this._childColliderShapes.length;t<e;t++){var i=this._childColliderShapes[t];0===i._referenceCount&&i.destroy()}}}class o extends i{constructor(t=.5,r=1,n=i.SHAPEORIENTATION_UPY){super(),this._radius=1,this._height=.5,this._radius=t,this._height=r,this._orientation=n,this._type=i.SHAPETYPES_CYLINDER;var a=e.ILaya3D.Physics3D._bullet;switch(n){case i.SHAPEORIENTATION_UPX:this._btShape=a.btConeShapeX_create(t,r);break;case i.SHAPEORIENTATION_UPY:this._btShape=a.btConeShape_create(t,r);break;case i.SHAPEORIENTATION_UPZ:this._btShape=a.btConeShapeZ_create(t,r);break;default:throw"ConeColliderShape:unknown orientation."}}get radius(){return this._radius}get height(){return this._height}get orientation(){return this._orientation}clone(){var t=new o(this._radius,this._height,this._orientation);return this.cloneTo(t),t}}class f extends i{constructor(t=.5,r=1,n=i.SHAPEORIENTATION_UPY){super(),this._radius=1,this._height=.5,this._radius=t,this._height=r,this._orientation=n,this._type=i.SHAPETYPES_CYLINDER;var a=e.ILaya3D.Physics3D._bullet;switch(n){case i.SHAPEORIENTATION_UPX:a.btVector3_setValue(f._btSize,r/2,t,t),this._btShape=a.btCylinderShapeX_create(f._btSize);break;case i.SHAPEORIENTATION_UPY:a.btVector3_setValue(f._btSize,t,r/2,t),this._btShape=a.btCylinderShape_create(f._btSize);break;case i.SHAPEORIENTATION_UPZ:a.btVector3_setValue(f._btSize,t,t,r/2),this._btShape=a.btCylinderShapeZ_create(f._btSize);break;default:throw"CapsuleColliderShape:unknown orientation."}}static __init__(){f._btSize=e.ILaya3D.Physics3D._bullet.btVector3_create(0,0,0)}get radius(){return this._radius}get height(){return this._height}get orientation(){return this._orientation}clone(){var t=new f(this._radius,this._height,this._orientation);return this.cloneTo(t),t}}class _ extends i{constructor(){super(),this._mesh=null,this._convex=!1}get mesh(){return this._mesh}set mesh(t){if(this._mesh!==t){var i=e.ILaya3D.Physics3D._bullet;this._mesh&&i.btCollisionShape_destroy(this._btShape),t&&(this._btShape=i.btGImpactMeshShape_create(t._getPhysicMesh()),i.btGImpactShapeInterface_updateBound(this._btShape)),this._mesh=t}}get convex(){return this._convex}set convex(t){this._convex=t}_setScale(t){if(this._compoundParent)this.updateLocalTransformations();else{var r=e.ILaya3D.Physics3D._bullet;r.btVector3_setValue(i._btScale,t.x,t.y,t.z),r.btCollisionShape_setLocalScaling(this._btShape,i._btScale),r.btGImpactShapeInterface_updateBound(this._btShape)}}cloneTo(t){var e=t;e.convex=this._convex,e.mesh=this._mesh,super.cloneTo(t)}clone(){var t=new _;return this.cloneTo(t),t}destroy(){this._btShape&&(e.ILaya3D.Physics3D._bullet.btCollisionShape_destroy(this._btShape),this._btShape=null)}}class h extends i{constructor(t=.5){super(),this._radius=t,this._type=i.SHAPETYPES_SPHERE,this._btShape=e.ILaya3D.Physics3D._bullet.btSphereShape_create(t)}get radius(){return this._radius}clone(){var t=new h(this._radius);return this.cloneTo(t),t}}class d extends e.Component{constructor(t,i){super(),this._restitution=0,this._friction=.5,this._rollingFriction=0,this._ccdMotionThreshold=0,this._ccdSweptSphereRadius=0,this._collisionGroup=e.Physics3DUtils.COLLISIONFILTERGROUP_DEFAULTFILTER,this._canCollideWith=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER,this._colliderShape=null,this._transformFlag=2147483647,this._controlBySimulation=!1,this._enableProcessCollisions=!0,this._inPhysicUpdateListIndex=-1,this.canScaleShape=!0,this._collisionGroup=t,this._canCollideWith=i,d._physicObjectsMap[this.id]=this}static __init__(){var t=e.ILaya3D.Physics3D._bullet;d._btVector30=t.btVector3_create(0,0,0),d._btQuaternion0=t.btQuaternion_create(0,0,0,1)}static _createAffineTransformationArray(t,e,i,r,n,a,o,f,_){var h=r+r,d=n+n,C=a+a,g=r*h,m=r*d,v=r*C,y=n*d,p=n*C,R=a*C,D=o*h,B=o*d,E=o*C,F=f[0],V=f[1],G=f[2];_[0]=(1-(y+R))*F,_[1]=(m+E)*F,_[2]=(v-B)*F,_[3]=0,_[4]=(m-E)*V,_[5]=(1-(g+R))*V,_[6]=(p+D)*V,_[7]=0,_[8]=(v+B)*G,_[9]=(p-D)*G,_[10]=(1-(g+y))*G,_[11]=0,_[12]=t,_[13]=e,_[14]=i,_[15]=1}static _creatShape(t){var i;switch(t.type){case"BoxColliderShape":var a=t.size;i=a?new r(a[0],a[1],a[2]):new r;break;case"SphereColliderShape":i=new h(t.radius);break;case"CapsuleColliderShape":i=new n(t.radius,t.height,t.orientation);break;case"MeshColliderShape":var d=new _;t.mesh&&(d.mesh=e.Loader.getRes(t.mesh)),i=d;break;case"ConeColliderShape":i=new o(t.radius,t.height,t.orientation);break;case"CylinderColliderShape":i=new f(t.radius,t.height,t.orientation);break;default:throw"unknown shape type."}if(t.center){var C=i.localOffset;C.fromArray(t.center),i.localOffset=C}return i}static physicVector3TransformQuat(t,e,i,r,n,a){var o=t.x,f=t.y,_=t.z,h=n*o+i*_-r*f,d=n*f+r*o-e*_,C=n*_+e*f-i*o,g=-e*o-i*f-r*_;a.x=h*n+g*-e+d*-r-C*-i,a.y=d*n+g*-i+C*-e-h*-r,a.z=C*n+g*-r+h*-i-d*-e}static physicQuaternionMultiply(t,e,i,r,n,a){var o=n.x,f=n.y,_=n.z,h=n.w,d=e*_-i*f,C=i*o-t*_,g=t*f-e*o,m=t*o+e*f+i*_;a.x=t*h+o*r+d,a.y=e*h+f*r+C,a.z=i*h+_*r+g,a.w=r*h-m}get restitution(){return this._restitution}set restitution(t){this._restitution=t,this._btColliderObject&&e.ILaya3D.Physics3D._bullet.btCollisionObject_setRestitution(this._btColliderObject,t)}get friction(){return this._friction}set friction(t){this._friction=t,this._btColliderObject&&e.ILaya3D.Physics3D._bullet.btCollisionObject_setFriction(this._btColliderObject,t)}get rollingFriction(){return this._rollingFriction}set rollingFriction(t){this._rollingFriction=t,this._btColliderObject&&e.ILaya3D.Physics3D._bullet.btCollisionObject_setRollingFriction(this._btColliderObject,t)}get ccdMotionThreshold(){return this._ccdMotionThreshold}set ccdMotionThreshold(t){this._ccdMotionThreshold=t,this._btColliderObject&&e.ILaya3D.Physics3D._bullet.btCollisionObject_setCcdMotionThreshold(this._btColliderObject,t)}get ccdSweptSphereRadius(){return this._ccdSweptSphereRadius}set ccdSweptSphereRadius(t){this._ccdSweptSphereRadius=t,this._btColliderObject&&e.ILaya3D.Physics3D._bullet.btCollisionObject_setCcdSweptSphereRadius(this._btColliderObject,t)}get isActive(){return!!this._btColliderObject&&e.ILaya3D.Physics3D._bullet.btCollisionObject_isActive(this._btColliderObject)}get colliderShape(){return this._colliderShape}set colliderShape(t){var i=this._colliderShape;if(i&&(i._attatched=!1,i._attatchedCollisionObject=null),this._colliderShape=t,t){if(t._attatched)throw"PhysicsComponent: this shape has attatched to other entity.";if(t._attatched=!0,t._attatchedCollisionObject=this,this._btColliderObject){e.ILaya3D.Physics3D._bullet.btCollisionObject_setCollisionShape(this._btColliderObject,t._btShape);var r=this._simulation&&this._enabled;r&&i&&this._removeFromSimulation(),this._onShapeChange(t),r&&(this._derivePhysicsTransformation(!0),this._addToSimulation())}}else this._simulation&&this._enabled&&i&&this._removeFromSimulation()}get simulation(){return this._simulation}get collisionGroup(){return this._collisionGroup}set collisionGroup(t){this._collisionGroup!==t&&(this._collisionGroup=t,this._simulation&&this._colliderShape&&this._enabled&&(this._removeFromSimulation(),this._addToSimulation()))}get canCollideWith(){return this._canCollideWith}set canCollideWith(t){this._canCollideWith!==t&&(this._canCollideWith=t,this._simulation&&this._colliderShape&&this._enabled&&(this._removeFromSimulation(),this._addToSimulation()))}_parseShape(t){var e=t.length;if(1===e){var i=d._creatShape(t[0]);this.colliderShape=i}else{for(var r=new a,n=0;n<e;n++)i=d._creatShape(t[n]),r.addChildShape(i);this.colliderShape=r}}_onScaleChange(t){this._colliderShape._setScale(t)}_onEnable(){this._simulation=this.owner._scene.physicsSimulation,e.ILaya3D.Physics3D._bullet.btCollisionObject_setContactProcessingThreshold(this._btColliderObject,0),this._colliderShape&&(this._derivePhysicsTransformation(!0),this._addToSimulation())}_onDisable(){this._colliderShape&&(this._removeFromSimulation(),-1!==this._inPhysicUpdateListIndex&&this._simulation._physicsUpdateList.remove(this)),this._simulation=null}_onDestroy(){delete d._physicObjectsMap[this.id],e.ILaya3D.Physics3D._bullet.btCollisionObject_destroy(this._btColliderObject),this._colliderShape.destroy(),super._onDestroy(),this._btColliderObject=null,this._colliderShape=null,this._simulation=null,this.owner.transform.off(e.Event.TRANSFORM_CHANGED,this,this._onTransformChanged)}_isValid(){return this._simulation&&this._colliderShape&&this._enabled}_parse(t){null!=t.collisionGroup&&(this.collisionGroup=t.collisionGroup),null!=t.canCollideWith&&(this.canCollideWith=t.canCollideWith),null!=t.ccdMotionThreshold&&(this.ccdMotionThreshold=t.ccdMotionThreshold),null!=t.ccdSweptSphereRadius&&(this.ccdSweptSphereRadius=t.ccdSweptSphereRadius)}_setTransformFlag(t,e){e?this._transformFlag|=t:this._transformFlag&=~t}_getTransformFlag(t){return 0!=(this._transformFlag&t)}_addToSimulation(){}_removeFromSimulation(){}_derivePhysicsTransformation(t){var i=e.ILaya3D.Physics3D._bullet,r=this._btColliderObject,n=i.btCollisionObject_getWorldTransform(r);this._innerDerivePhysicsTransformation(n,t),i.btCollisionObject_setWorldTransform(r,n)}_innerDerivePhysicsTransformation(t,i){var r=e.ILaya3D.Physics3D._bullet,n=this.owner._transform;if(i||this._getTransformFlag(e.Transform3D.TRANSFORM_WORLDPOSITION)){var a=this._colliderShape.localOffset,o=n.position,f=d._btVector30;if(0!==a.x||0!==a.y||0!==a.z){var _=d._tempVector30,h=n.worldMatrix;e.Vector3.transformCoordinate(a,h,_),r.btVector3_setValue(f,-_.x,_.y,_.z)}else r.btVector3_setValue(f,-o.x,o.y,o.z);r.btTransform_setOrigin(t,f),this._setTransformFlag(e.Transform3D.TRANSFORM_WORLDPOSITION,!1)}if(i||this._getTransformFlag(e.Transform3D.TRANSFORM_WORLDQUATERNION)){var C=this._colliderShape.localRotation,g=d._btQuaternion0,m=n.rotation;if(0!==C.x||0!==C.y||0!==C.z||1!==C.w){var v=d._tempQuaternion0;d.physicQuaternionMultiply(m.x,m.y,m.z,m.w,C,v),r.btQuaternion_setValue(g,-v.x,v.y,v.z,-v.w)}else r.btQuaternion_setValue(g,-m.x,m.y,m.z,-m.w);r.btTransform_setRotation(t,g),this._setTransformFlag(e.Transform3D.TRANSFORM_WORLDQUATERNION,!1)}(i||this._getTransformFlag(e.Transform3D.TRANSFORM_WORLDSCALE))&&(this._onScaleChange(n.getWorldLossyScale()),this._setTransformFlag(e.Transform3D.TRANSFORM_WORLDSCALE,!1))}_updateTransformComponent(t){var i=e.ILaya3D.Physics3D._bullet,r=this._colliderShape,n=r.localOffset,a=r.localRotation,o=this.owner._transform,f=o.position,_=o.rotation,h=i.btTransform_getOrigin(t),C=i.btTransform_getRotation(t),g=-i.btQuaternion_x(C),m=i.btQuaternion_y(C),v=i.btQuaternion_z(C),y=-i.btQuaternion_w(C);if(0!==a.x||0!==a.y||0!==a.z||1!==a.w){var p=d._tempQuaternion0;a.invert(p),d.physicQuaternionMultiply(g,m,v,y,p,_)}else _.x=g,_.y=m,_.z=v,_.w=y;if(o.rotation=_,0!==n.x||0!==n.y||0!==n.z){var R=i.btCollisionShape_getLocalScaling(r._btShape),D=d._tempVector30;D.x=n.x*i.btVector3_x(R),D.y=n.y*i.btVector3_y(R),D.z=n.z*i.btVector3_z(R),e.Vector3.transformQuat(D,_,D),f.x=-i.btVector3_x(h)-D.x,f.y=i.btVector3_y(h)-D.y,f.z=i.btVector3_z(h)-D.z}else f.x=-i.btVector3_x(h),f.y=i.btVector3_y(h),f.z=i.btVector3_z(h);o.position=f}_onShapeChange(t){var i=this._btColliderObject,r=e.ILaya3D.Physics3D._bullet,n=r.btCollisionObject_getCollisionFlags(i);t.needsCustomCollisionCallback?0==(n&d.COLLISIONFLAGS_CUSTOM_MATERIAL_CALLBACK)&&r.btCollisionObject_setCollisionFlags(i,n|d.COLLISIONFLAGS_CUSTOM_MATERIAL_CALLBACK):(n&d.COLLISIONFLAGS_CUSTOM_MATERIAL_CALLBACK)>0&&r.btCollisionObject_setCollisionFlags(i,n^d.COLLISIONFLAGS_CUSTOM_MATERIAL_CALLBACK)}_onAdded(){this.enabled=this._enabled,this.restitution=this._restitution,this.friction=this._friction,this.rollingFriction=this._rollingFriction,this.ccdMotionThreshold=this._ccdMotionThreshold,this.ccdSweptSphereRadius=this._ccdSweptSphereRadius,this.owner.transform.on(e.Event.TRANSFORM_CHANGED,this,this._onTransformChanged)}_onTransformChanged(t){!d._addUpdateList&&this._controlBySimulation||(t&=e.Transform3D.TRANSFORM_WORLDPOSITION|e.Transform3D.TRANSFORM_WORLDQUATERNION|e.Transform3D.TRANSFORM_WORLDSCALE)&&(this._transformFlag|=t,this._isValid()&&-1===this._inPhysicUpdateListIndex&&this._simulation._physicsUpdateList.add(this))}_cloneTo(t){var e=t;e.restitution=this._restitution,e.friction=this._friction,e.rollingFriction=this._rollingFriction,e.ccdMotionThreshold=this._ccdMotionThreshold,e.ccdSweptSphereRadius=this._ccdSweptSphereRadius,e.collisionGroup=this._collisionGroup,e.canCollideWith=this._canCollideWith,e.canScaleShape=this.canScaleShape,this._colliderShape&&(e.colliderShape=this._colliderShape.clone())}}d.ACTIVATIONSTATE_ACTIVE_TAG=1,d.ACTIVATIONSTATE_ISLAND_SLEEPING=2,d.ACTIVATIONSTATE_WANTS_DEACTIVATION=3,d.ACTIVATIONSTATE_DISABLE_DEACTIVATION=4,d.ACTIVATIONSTATE_DISABLE_SIMULATION=5,d.COLLISIONFLAGS_STATIC_OBJECT=1,d.COLLISIONFLAGS_KINEMATIC_OBJECT=2,d.COLLISIONFLAGS_NO_CONTACT_RESPONSE=4,d.COLLISIONFLAGS_CUSTOM_MATERIAL_CALLBACK=8,d.COLLISIONFLAGS_CHARACTER_OBJECT=16,d.COLLISIONFLAGS_DISABLE_VISUALIZE_OBJECT=32,d.COLLISIONFLAGS_DISABLE_SPU_COLLISION_PROCESSING=64,d._tempVector30=new e.Vector3,d._tempQuaternion0=new e.Quaternion,d._tempQuaternion1=new e.Quaternion,d._tempMatrix4x40=new e.Matrix4x4,d._physicObjectsMap={},d._addUpdateList=!0;class C{}C._interactive={getWorldTransform:(t,e)=>{},setWorldTransform:(t,e)=>{var i=d._physicObjectsMap[t];i._simulation._updatedRigidbodies++,i._updateTransformComponent(e)}};class g extends d{constructor(t=.1,i=null,r=e.Physics3DUtils.COLLISIONFILTERGROUP_DEFAULTFILTER,n=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER){super(r,n),this._upAxis=new e.Vector3(0,1,0),this._maxSlope=45,this._jumpSpeed=10,this._fallSpeed=55,this._gravity=new e.Vector3(0,3*-9.8,0),this._btKinematicCharacter=null,this._stepHeight=t,i&&(this._upAxis=i),this._controlBySimulation=!0}static __init__(){g._btTempVector30=e.ILaya3D.Physics3D._bullet.btVector3_create(0,0,0)}get fallSpeed(){return this._fallSpeed}set fallSpeed(t){this._fallSpeed=t,e.ILaya3D.Physics3D._bullet.btKinematicCharacterController_setFallSpeed(this._btKinematicCharacter,t)}get jumpSpeed(){return this._jumpSpeed}set jumpSpeed(t){this._jumpSpeed=t,e.ILaya3D.Physics3D._bullet.btKinematicCharacterController_setJumpSpeed(this._btKinematicCharacter,t)}get gravity(){return this._gravity}set gravity(t){this._gravity=t;var i=e.ILaya3D.Physics3D._bullet,r=g._btTempVector30;i.btVector3_setValue(r,-t.x,t.y,t.z),i.btKinematicCharacterController_setGravity(this._btKinematicCharacter,r)}get maxSlope(){return this._maxSlope}set maxSlope(t){this._maxSlope=t,e.ILaya3D.Physics3D._bullet.btKinematicCharacterController_setMaxSlope(this._btKinematicCharacter,t/180*Math.PI)}get isGrounded(){return e.ILaya3D.Physics3D._bullet.btKinematicCharacterController_onGround(this._btKinematicCharacter)}get stepHeight(){return this._stepHeight}set stepHeight(t){this._stepHeight=t,e.ILaya3D.Physics3D._bullet.btKinematicCharacterController_setStepHeight(this._btKinematicCharacter,t)}get upAxis(){return this._upAxis}set upAxis(t){this._upAxis=t;var i=g._btTempVector30;e.Utils3D._convertToBulletVec3(t,i,!1),e.ILaya3D.Physics3D._bullet.btKinematicCharacterController_setUp(this._btKinematicCharacter,i)}_constructCharacter(){var t=e.ILaya3D.Physics3D._bullet;this._btKinematicCharacter&&t.btKinematicCharacterController_destroy(this._btKinematicCharacter);var i=g._btTempVector30;t.btVector3_setValue(i,this._upAxis.x,this._upAxis.y,this._upAxis.z),this._btKinematicCharacter=t.btKinematicCharacterController_create(this._btColliderObject,this._colliderShape._btShape,this._stepHeight,i),this.fallSpeed=this._fallSpeed,this.maxSlope=this._maxSlope,this.jumpSpeed=this._jumpSpeed,this.gravity=this._gravity}_onShapeChange(t){super._onShapeChange(t),this._constructCharacter()}_onAdded(){var t=e.ILaya3D.Physics3D._bullet,i=t.btPairCachingGhostObject_create();t.btCollisionObject_setUserIndex(i,this.id),t.btCollisionObject_setCollisionFlags(i,d.COLLISIONFLAGS_CHARACTER_OBJECT),this._btColliderObject=i,this._colliderShape&&this._constructCharacter(),super._onAdded()}_addToSimulation(){this._simulation._characters.push(this),this._simulation._addCharacter(this,this._collisionGroup,this._canCollideWith)}_removeFromSimulation(){this._simulation._removeCharacter(this);var t=this._simulation._characters;t.splice(t.indexOf(this),1)}_cloneTo(t){super._cloneTo(t);var e=t;e.stepHeight=this._stepHeight,e.upAxis=this._upAxis,e.maxSlope=this._maxSlope,e.jumpSpeed=this._jumpSpeed,e.fallSpeed=this._fallSpeed,e.gravity=this._gravity}_onDestroy(){e.ILaya3D.Physics3D._bullet.btKinematicCharacterController_destroy(this._btKinematicCharacter),super._onDestroy(),this._btKinematicCharacter=null}move(t){var i=g._btVector30,r=e.ILaya3D.Physics3D._bullet;r.btVector3_setValue(i,-t.x,t.y,t.z),r.btKinematicCharacterController_setWalkDirection(this._btKinematicCharacter,i)}jump(t=null){var i=e.ILaya3D.Physics3D._bullet,r=g._btVector30;t?(e.Utils3D._convertToBulletVec3(t,r,!0),i.btKinematicCharacterController_jump(this._btKinematicCharacter,r)):(i.btVector3_setValue(r,0,0,0),i.btKinematicCharacterController_jump(this._btKinematicCharacter,r))}}g.UPAXIS_X=0,g.UPAXIS_Y=1,g.UPAXIS_Z=2;class m{constructor(){this._lastUpdateFrame=-2147483648,this._updateFrame=-2147483648,this._isTrigger=!1,this.contacts=[]}_setUpdateFrame(t){this._lastUpdateFrame=this._updateFrame,this._updateFrame=t}}class v{constructor(){this._idCounter=0,this.colliderA=null,this.colliderB=null,this.distance=0,this.normal=new e.Vector3,this.positionOnA=new e.Vector3,this.positionOnB=new e.Vector3,this._id=++this._idCounter}}class y{constructor(){this.succeeded=!1,this.collider=null,this.point=new e.Vector3,this.normal=new e.Vector3,this.hitFraction=0}}class p{constructor(){this._hitResultsPoolIndex=0,this._hitResultsPool=[],this._contactPonintsPoolIndex=0,this._contactPointsPool=[],this._collisionsPool=[],this._collisions={}}getHitResult(){var t=this._hitResultsPool[this._hitResultsPoolIndex++];return t||(t=new y,this._hitResultsPool.push(t)),t}recoverAllHitResultsPool(){this._hitResultsPoolIndex=0}getContactPoints(){var t=this._contactPointsPool[this._contactPonintsPoolIndex++];return t||(t=new v,this._contactPointsPool.push(t)),t}recoverAllContactPointsPool(){this._contactPonintsPoolIndex=0}getCollision(t,e){var i,r=t.id,n=e.id,a=this._collisions[r];return a&&(i=a[n]),i||(a||(a={},this._collisions[r]=a),(i=0===this._collisionsPool.length?new m:this._collisionsPool.pop())._colliderA=t,i._colliderB=e,a[n]=i),i}recoverCollision(t){var e=t._colliderA.id,i=t._colliderB.id;this._collisions[e][i]=null,this._collisionsPool.push(t)}garbageCollection(){for(var t in this._hitResultsPoolIndex=0,this._hitResultsPool.length=0,this._contactPonintsPoolIndex=0,this._contactPointsPool.length=0,this._collisionsPool.length=0,this._collisionsPool){var e=this._collisionsPool[t],i=!0;for(var r in e)e[r]?i=!1:delete e[r];i&&delete this._collisionsPool[t]}}}class R extends d{constructor(t,e){super(t,e),this._isTrigger=!1}get isTrigger(){return this._isTrigger}set isTrigger(t){this._isTrigger=t;var i=e.ILaya3D.Physics3D._bullet;if(this._btColliderObject){var r=i.btCollisionObject_getCollisionFlags(this._btColliderObject);t?0==(r&d.COLLISIONFLAGS_NO_CONTACT_RESPONSE)&&i.btCollisionObject_setCollisionFlags(this._btColliderObject,r|d.COLLISIONFLAGS_NO_CONTACT_RESPONSE):0!=(r&d.COLLISIONFLAGS_NO_CONTACT_RESPONSE)&&i.btCollisionObject_setCollisionFlags(this._btColliderObject,r^d.COLLISIONFLAGS_NO_CONTACT_RESPONSE)}}_onAdded(){super._onAdded(),this.isTrigger=this._isTrigger}_cloneTo(t){super._cloneTo(t),t.isTrigger=this._isTrigger}}class D extends e.SingletonList{constructor(){super()}add(t){if(-1!==t._inPhysicUpdateListIndex)throw"PhysicsUpdateList:element has  in  PhysicsUpdateList.";this._add(t),t._inPhysicUpdateListIndex=this.length++}remove(t){var e=t._inPhysicUpdateListIndex;if(this.length--,e!==this.length){var i=this.elements[this.length];this.elements[e]=i,i._inPhysicUpdateListIndex=e}t._inPhysicUpdateListIndex=-1}}class B{constructor(t){this._gravity=new e.Vector3(0,-10,0),this._btVector3Zero=e.ILaya3D.Physics3D._bullet.btVector3_create(0,0,0),this._btDefaultQuaternion=e.ILaya3D.Physics3D._bullet.btQuaternion_create(0,0,0,-1),this._collisionsUtils=new p,this._previousFrameCollisions=[],this._currentFrameCollisions=[],this._currentConstraint={},this._physicsUpdateList=new D,this._characters=[],this._updatedRigidbodies=0,this.maxSubSteps=1,this.fixedTimeStep=1/60,this.maxSubSteps=t.maxSubSteps,this.fixedTimeStep=t.fixedTimeStep;var i=e.ILaya3D.Physics3D._bullet;this._btCollisionConfiguration=i.btDefaultCollisionConfiguration_create(),this._btDispatcher=i.btCollisionDispatcher_create(this._btCollisionConfiguration),this._btBroadphase=i.btDbvtBroadphase_create(),i.btOverlappingPairCache_setInternalGhostPairCallback(i.btDbvtBroadphase_getOverlappingPairCache(this._btBroadphase),i.btGhostPairCallback_create());var r=t.flags;if(r&B.PHYSICSENGINEFLAGS_COLLISIONSONLY)this._btCollisionWorld=new i.btCollisionWorld(this._btDispatcher,this._btBroadphase,this._btCollisionConfiguration);else{if(r&B.PHYSICSENGINEFLAGS_SOFTBODYSUPPORT)throw"PhysicsSimulation:SoftBody processing is not yet available";var n=i.btSequentialImpulseConstraintSolver_create();this._btDiscreteDynamicsWorld=i.btDiscreteDynamicsWorld_create(this._btDispatcher,this._btBroadphase,n,this._btCollisionConfiguration),this._btCollisionWorld=this._btDiscreteDynamicsWorld}this._btDiscreteDynamicsWorld&&(this._btSolverInfo=i.btDynamicsWorld_getSolverInfo(this._btDiscreteDynamicsWorld),this._btDispatchInfo=i.btCollisionWorld_getDispatchInfo(this._btDiscreteDynamicsWorld)),this._btClosestRayResultCallback=i.ClosestRayResultCallback_create(this._btVector3Zero,this._btVector3Zero),this._btAllHitsRayResultCallback=i.AllHitsRayResultCallback_create(this._btVector3Zero,this._btVector3Zero),this._btClosestConvexResultCallback=i.ClosestConvexResultCallback_create(this._btVector3Zero,this._btVector3Zero),this._btAllConvexResultCallback=i.AllConvexResultCallback_create(this._btVector3Zero,this._btVector3Zero),this.setHitsRayResultCallbackFlag(),i.btGImpactCollisionAlgorithm_RegisterAlgorithm(this._btDispatcher)}static __init__(){var t=e.ILaya3D.Physics3D._bullet;B._btTempVector30=t.btVector3_create(0,0,0),B._btTempVector31=t.btVector3_create(0,0,0),B._btTempQuaternion0=t.btQuaternion_create(0,0,0,1),B._btTempQuaternion1=t.btQuaternion_create(0,0,0,1),B._btTempTransform0=t.btTransform_create(),B._btTempTransform1=t.btTransform_create()}static createConstraint(){}get continuousCollisionDetection(){return e.ILaya3D.Physics3D._bullet.btCollisionWorld_get_m_useContinuous(this._btDispatchInfo)}set continuousCollisionDetection(t){e.ILaya3D.Physics3D._bullet.btCollisionWorld_set_m_useContinuous(this._btDispatchInfo,t)}get gravity(){if(!this._btDiscreteDynamicsWorld)throw"Simulation:Cannot perform this action when the physics engine is set to CollisionsOnly";return this._gravity}set gravity(t){if(!this._btDiscreteDynamicsWorld)throw"Simulation:Cannot perform this action when the physics engine is set to CollisionsOnly";this._gravity=t;var i=e.ILaya3D.Physics3D._bullet,r=B._btTempVector30;i.btVector3_setValue(r,-t.x,t.y,t.z),i.btDiscreteDynamicsWorld_setGravity(this._btDiscreteDynamicsWorld,r)}get speculativeContactRestitution(){if(!this._btDiscreteDynamicsWorld)throw"Simulation:Cannot Cannot perform this action when the physics engine is set to CollisionsOnly";return e.ILaya3D.Physics3D._bullet.btDiscreteDynamicsWorld_getApplySpeculativeContactRestitution(this._btDiscreteDynamicsWorld)}set speculativeContactRestitution(t){if(!this._btDiscreteDynamicsWorld)throw"Simulation:Cannot Cannot perform this action when the physics engine is set to CollisionsOnly";e.ILaya3D.Physics3D._bullet.btDiscreteDynamicsWorld_setApplySpeculativeContactRestitution(this._btDiscreteDynamicsWorld,t)}_simulate(t){this._updatedRigidbodies=0;var i=e.ILaya3D.Physics3D._bullet;this._btDiscreteDynamicsWorld?i.btDiscreteDynamicsWorld_stepSimulation(this._btDiscreteDynamicsWorld,t,this.maxSubSteps,this.fixedTimeStep):i.PerformDiscreteCollisionDetection(this._btCollisionWorld)}_destroy(){var t=e.ILaya3D.Physics3D._bullet;this._btDiscreteDynamicsWorld?(t.btCollisionWorld_destroy(this._btDiscreteDynamicsWorld),this._btDiscreteDynamicsWorld=null):(t.btCollisionWorld_destroy(this._btCollisionWorld),this._btCollisionWorld=null),t.btDbvtBroadphase_destroy(this._btBroadphase),this._btBroadphase=null,t.btCollisionDispatcher_destroy(this._btDispatcher),this._btDispatcher=null,t.btDefaultCollisionConfiguration_destroy(this._btCollisionConfiguration),this._btCollisionConfiguration=null}_addPhysicsCollider(t,i,r){e.ILaya3D.Physics3D._bullet.btCollisionWorld_addCollisionObject(this._btCollisionWorld,t._btColliderObject,i,r)}_removePhysicsCollider(t){e.ILaya3D.Physics3D._bullet.btCollisionWorld_removeCollisionObject(this._btCollisionWorld,t._btColliderObject)}_addRigidBody(t,i,r){if(!this._btDiscreteDynamicsWorld)throw"Simulation:Cannot perform this action when the physics engine is set to CollisionsOnly";e.ILaya3D.Physics3D._bullet.btDiscreteDynamicsWorld_addRigidBody(this._btCollisionWorld,t._btColliderObject,i,r)}_removeRigidBody(t){if(!this._btDiscreteDynamicsWorld)throw"Simulation:Cannot perform this action when the physics engine is set to CollisionsOnly";e.ILaya3D.Physics3D._bullet.btDiscreteDynamicsWorld_removeRigidBody(this._btCollisionWorld,t._btColliderObject)}_addCharacter(t,i,r){if(!this._btDiscreteDynamicsWorld)throw"Simulation:Cannot perform this action when the physics engine is set to CollisionsOnly";var n=e.ILaya3D.Physics3D._bullet;n.btCollisionWorld_addCollisionObject(this._btCollisionWorld,t._btColliderObject,i,r),n.btDynamicsWorld_addAction(this._btCollisionWorld,t._btKinematicCharacter)}_removeCharacter(t){if(!this._btDiscreteDynamicsWorld)throw"Simulation:Cannot perform this action when the physics engine is set to CollisionsOnly";var i=e.ILaya3D.Physics3D._bullet;i.btCollisionWorld_removeCollisionObject(this._btCollisionWorld,t._btColliderObject),i.btDynamicsWorld_removeAction(this._btCollisionWorld,t._btKinematicCharacter)}raycastFromTo(t,i,r=null,n=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER,a=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER){var o=e.ILaya3D.Physics3D._bullet,f=this._btClosestRayResultCallback,_=B._btTempVector30,h=B._btTempVector31;if(o.btVector3_setValue(_,-t.x,t.y,t.z),o.btVector3_setValue(h,-i.x,i.y,i.z),o.ClosestRayResultCallback_set_m_rayFromWorld(f,_),o.ClosestRayResultCallback_set_m_rayToWorld(f,h),o.RayResultCallback_set_m_collisionFilterGroup(f,n),o.RayResultCallback_set_m_collisionFilterMask(f,a),o.RayResultCallback_set_m_collisionObject(f,null),o.RayResultCallback_set_m_closestHitFraction(f,1),o.btCollisionWorld_rayTest(this._btCollisionWorld,_,h,f),o.RayResultCallback_hasHit(f)){if(r){r.succeeded=!0,r.collider=d._physicObjectsMap[o.btCollisionObject_getUserIndex(o.RayResultCallback_get_m_collisionObject(f))],r.hitFraction=o.RayResultCallback_get_m_closestHitFraction(f);var C=o.ClosestRayResultCallback_get_m_hitPointWorld(f),g=r.point;g.x=-o.btVector3_x(C),g.y=o.btVector3_y(C),g.z=o.btVector3_z(C);var m=o.ClosestRayResultCallback_get_m_hitNormalWorld(f),v=r.normal;v.x=-o.btVector3_x(m),v.y=o.btVector3_y(m),v.z=o.btVector3_z(m)}return!0}return r&&(r.succeeded=!1),!1}raycastAllFromTo(t,i,r,n=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER,a=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER){var o=e.ILaya3D.Physics3D._bullet,f=this._btAllHitsRayResultCallback,_=B._btTempVector30,h=B._btTempVector31;r.length=0,o.btVector3_setValue(_,-t.x,t.y,t.z),o.btVector3_setValue(h,-i.x,i.y,i.z),o.AllHitsRayResultCallback_set_m_rayFromWorld(f,_),o.AllHitsRayResultCallback_set_m_rayToWorld(f,h),o.RayResultCallback_set_m_collisionFilterGroup(f,n),o.RayResultCallback_set_m_collisionFilterMask(f,a);var C=o.AllHitsRayResultCallback_get_m_collisionObjects(f),g=o.AllHitsRayResultCallback_get_m_hitPointWorld(f),m=o.AllHitsRayResultCallback_get_m_hitNormalWorld(f),v=o.AllHitsRayResultCallback_get_m_hitFractions(f);o.tBtCollisionObjectArray_clear(C),o.tVector3Array_clear(g),o.tVector3Array_clear(m),o.tScalarArray_clear(v),o.btCollisionWorld_rayTest(this._btCollisionWorld,_,h,f);var y=o.tBtCollisionObjectArray_size(C);if(y>0){this._collisionsUtils.recoverAllHitResultsPool();for(var p=0;p<y;p++){var R=this._collisionsUtils.getHitResult();r.push(R),R.succeeded=!0,R.collider=d._physicObjectsMap[o.btCollisionObject_getUserIndex(o.tBtCollisionObjectArray_at(C,p))],R.hitFraction=o.tScalarArray_at(v,p);var D=o.tVector3Array_at(g,p),E=R.point;E.x=-o.btVector3_x(D),E.y=o.btVector3_y(D),E.z=o.btVector3_z(D);var F=o.tVector3Array_at(m,p),V=R.normal;V.x=-o.btVector3_x(F),V.y=o.btVector3_y(F),V.z=o.btVector3_z(F)}return!0}return!1}rayCast(t,i=null,r=2147483647,n=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER,a=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER){var o=t.origin,f=B._tempVector30;return e.Vector3.normalize(t.direction,f),e.Vector3.scale(f,r,f),e.Vector3.add(o,f,f),this.raycastFromTo(o,f,i,n,a)}rayCastAll(t,i,r=2147483647,n=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER,a=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER){var o=t.origin,f=B._tempVector30;return e.Vector3.normalize(t.direction,f),e.Vector3.scale(f,r,f),e.Vector3.add(o,f,f),this.raycastAllFromTo(o,f,i,n,a)}shapeCast(t,i,r,n=null,a=null,o=null,f=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER,_=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER,h=0){var C=e.ILaya3D.Physics3D._bullet,g=this._btClosestConvexResultCallback,m=B._btTempVector30,v=B._btTempVector31,y=B._btTempQuaternion0,p=B._btTempQuaternion1,R=B._btTempTransform0,D=B._btTempTransform1,E=t._btShape;if(C.btVector3_setValue(m,-i.x,i.y,i.z),C.btVector3_setValue(v,-r.x,r.y,r.z),C.ConvexResultCallback_set_m_collisionFilterGroup(g,f),C.ConvexResultCallback_set_m_collisionFilterMask(g,_),C.btTransform_setOrigin(R,m),C.btTransform_setOrigin(D,v),a?(C.btQuaternion_setValue(y,-a.x,a.y,a.z,-a.w),C.btTransform_setRotation(R,y)):C.btTransform_setRotation(R,this._btDefaultQuaternion),o?(C.btQuaternion_setValue(p,-o.x,o.y,o.z,-o.w),C.btTransform_setRotation(D,p)):C.btTransform_setRotation(D,this._btDefaultQuaternion),C.ClosestConvexResultCallback_set_m_hitCollisionObject(g,null),C.ConvexResultCallback_set_m_closestHitFraction(g,1),C.btCollisionWorld_convexSweepTest(this._btCollisionWorld,E,R,D,g,h),C.ConvexResultCallback_hasHit(g)){if(n){n.succeeded=!0,n.collider=d._physicObjectsMap[C.btCollisionObject_getUserIndex(C.ClosestConvexResultCallback_get_m_hitCollisionObject(g))],n.hitFraction=C.ConvexResultCallback_get_m_closestHitFraction(g);var F=C.ClosestConvexResultCallback_get_m_hitPointWorld(g),V=C.ClosestConvexResultCallback_get_m_hitNormalWorld(g),G=n.point,w=n.normal;G.x=-C.btVector3_x(F),G.y=C.btVector3_y(F),G.z=C.btVector3_z(F),w.x=-C.btVector3_x(V),w.y=C.btVector3_y(V),w.z=C.btVector3_z(V)}return!0}return n&&(n.succeeded=!1),!1}shapeCastAll(t,i,r,n,a=null,o=null,f=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER,_=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER,h=0){var C=e.ILaya3D.Physics3D._bullet,g=this._btAllConvexResultCallback,m=B._btTempVector30,v=B._btTempVector31,y=B._btTempQuaternion0,p=B._btTempQuaternion1,R=B._btTempTransform0,D=B._btTempTransform1,E=t._btShape;n.length=0,C.btVector3_setValue(m,-i.x,i.y,i.z),C.btVector3_setValue(v,-r.x,r.y,r.z),C.ConvexResultCallback_set_m_collisionFilterGroup(g,f),C.ConvexResultCallback_set_m_collisionFilterMask(g,_),C.btTransform_setOrigin(R,m),C.btTransform_setOrigin(D,v),a?(C.btQuaternion_setValue(y,-a.x,a.y,a.z,-a.w),C.btTransform_setRotation(R,y)):C.btTransform_setRotation(R,this._btDefaultQuaternion),o?(C.btQuaternion_setValue(p,-o.x,o.y,o.z,-o.w),C.btTransform_setRotation(D,p)):C.btTransform_setRotation(D,this._btDefaultQuaternion);var F=C.AllConvexResultCallback_get_m_collisionObjects(g),V=C.AllConvexResultCallback_get_m_hitPointWorld(g),G=C.AllConvexResultCallback_get_m_hitNormalWorld(g),w=C.AllConvexResultCallback_get_m_hitFractions(g);C.tVector3Array_clear(V),C.tVector3Array_clear(G),C.tScalarArray_clear(w),C.tBtCollisionObjectArray_clear(F),C.btCollisionWorld_convexSweepTest(this._btCollisionWorld,E,R,D,g,h);var Q=C.tBtCollisionObjectArray_size(F);if(Q>0){this._collisionsUtils.recoverAllHitResultsPool();for(var W=0;W<Q;W++){var Y=this._collisionsUtils.getHitResult();n.push(Y),Y.succeeded=!0,Y.collider=d._physicObjectsMap[C.btCollisionObject_getUserIndex(C.tBtCollisionObjectArray_at(F,W))],Y.hitFraction=C.tScalarArray_at(w,W);var Z=C.tVector3Array_at(V,W),z=Y.point;z.x=-C.btVector3_x(Z),z.y=C.btVector3_y(Z),z.z=C.btVector3_z(Z);var yt=C.tVector3Array_at(G,W),pt=Y.normal;pt.x=-C.btVector3_x(yt),pt.y=C.btVector3_y(yt),pt.z=C.btVector3_z(yt)}return!0}return!1}addConstraint(t,i=!1){if(!this._btDiscreteDynamicsWorld)throw"Cannot perform this action when the physics engine is set to CollisionsOnly";e.ILaya3D.Physics3D._bullet.btCollisionWorld_addConstraint(this._btDiscreteDynamicsWorld,t._btConstraint,i),this._currentConstraint[t.id]=t}removeConstraint(t){if(!this._btDiscreteDynamicsWorld)throw"Cannot perform this action when the physics engine is set to CollisionsOnly";e.ILaya3D.Physics3D._bullet.btCollisionWorld_removeConstraint(this._btDiscreteDynamicsWorld,t._btConstraint),delete this._currentConstraint[t.id]}setHitsRayResultCallbackFlag(t=1){var i=e.ILaya3D.Physics3D._bullet;i.RayResultCallback_set_m_flags(this._btAllHitsRayResultCallback,t),i.RayResultCallback_set_m_flags(this._btClosestRayResultCallback,t)}_updatePhysicsTransformFromRender(){for(var t=this._physicsUpdateList.elements,e=0,i=this._physicsUpdateList.length;e<i;e++){var r=t[e];r._derivePhysicsTransformation(!1),r._inPhysicUpdateListIndex=-1}this._physicsUpdateList.length=0}_updateCharacters(){for(var t=0,i=this._characters.length;t<i;t++){var r=this._characters[t];r._updateTransformComponent(e.ILaya3D.Physics3D._bullet.btCollisionObject_getWorldTransform(r._btColliderObject))}}_updateCollisions(){this._collisionsUtils.recoverAllContactPointsPool();var t=this._currentFrameCollisions;this._currentFrameCollisions=this._previousFrameCollisions,this._currentFrameCollisions.length=0,this._previousFrameCollisions=t;for(var i=e.Stat.loopCount,r=e.ILaya3D.Physics3D._bullet,n=r.btDispatcher_getNumManifolds(this._btDispatcher),a=0;a<n;a++){var o,f=r.btDispatcher_getManifoldByIndexInternal(this._btDispatcher,a),_=d._physicObjectsMap[r.btCollisionObject_getUserIndex(r.btPersistentManifold_getBody0(f))],h=d._physicObjectsMap[r.btCollisionObject_getUserIndex(r.btPersistentManifold_getBody1(f))],C=null,g=null;if((_.isTrigger||h.isTrigger)&&(_.owner._needProcessTriggers||h.owner._needProcessTriggers))for(var m=r.btPersistentManifold_getNumContacts(f),v=0;v<m;v++){var y=r.btPersistentManifold_getContactPoint(f,v),p=r.btManifoldPoint_getDistance(y);if(p<=0){g=(C=this._collisionsUtils.getCollision(_,h)).contacts,(o=C._updateFrame!==i)&&(C._isTrigger=!0,g.length=0);break}}else if((_.owner._needProcessCollisions||h.owner._needProcessCollisions)&&(_._enableProcessCollisions||h._enableProcessCollisions))for(m=r.btPersistentManifold_getNumContacts(f),v=0;v<m;v++)if(y=r.btPersistentManifold_getContactPoint(f,v),(p=r.btManifoldPoint_getDistance(y))<=0){var R=this._collisionsUtils.getContactPoints();R.colliderA=_,R.colliderB=h,R.distance=p;var D=r.btManifoldPoint_get_m_normalWorldOnB(y),B=R.normal;B.x=-r.btVector3_x(D),B.y=r.btVector3_y(D),B.z=r.btVector3_z(D);var E=r.btManifoldPoint_get_m_positionWorldOnA(y),F=R.positionOnA;F.x=-r.btVector3_x(E),F.y=r.btVector3_y(E),F.z=r.btVector3_z(E);var V=r.btManifoldPoint_get_m_positionWorldOnB(y),G=R.positionOnB;G.x=-r.btVector3_x(V),G.y=r.btVector3_y(V),G.z=r.btVector3_z(V),C||(g=(C=this._collisionsUtils.getCollision(_,h)).contacts,(o=C._updateFrame!==i)&&(C._isTrigger=!1,g.length=0)),g.push(R)}C&&o&&(this._currentFrameCollisions.push(C),C._setUpdateFrame(i))}}_eventScripts(){for(var t=e.Stat.loopCount,i=0,r=this._currentFrameCollisions.length;i<r;i++){var n=this._currentFrameCollisions[i],a=n._colliderA,o=n._colliderB;if(!a.destroyed&&!o.destroyed)if(t-n._lastUpdateFrame==1){var f=a.owner,_=f._scripts;if(_)if(n._isTrigger){if(f._needProcessTriggers)for(var h=0,d=_.length;h<d;h++)_[h].onTriggerStay(o)}else if(f._needProcessCollisions)for(h=0,d=_.length;h<d;h++)n.other=o,_[h].onCollisionStay(n);var C=o.owner,g=C._scripts;if(g)if(n._isTrigger){if(C._needProcessTriggers)for(h=0,d=g.length;h<d;h++)g[h].onTriggerStay(a)}else if(C._needProcessCollisions)for(h=0,d=g.length;h<d;h++)n.other=a,g[h].onCollisionStay(n)}else{if(_=(f=a.owner)._scripts)if(n._isTrigger){if(f._needProcessTriggers)for(h=0,d=_.length;h<d;h++)_[h].onTriggerEnter(o)}else if(f._needProcessCollisions)for(h=0,d=_.length;h<d;h++)n.other=o,_[h].onCollisionEnter(n);if(g=(C=o.owner)._scripts)if(n._isTrigger){if(C._needProcessTriggers)for(h=0,d=g.length;h<d;h++)g[h].onTriggerEnter(a)}else if(C._needProcessCollisions)for(h=0,d=g.length;h<d;h++)n.other=a,g[h].onCollisionEnter(n)}}for(i=0,r=this._previousFrameCollisions.length;i<r;i++){var m=this._previousFrameCollisions[i],v=m._colliderA,y=m._colliderB;if(!v.destroyed&&!y.destroyed&&t-m._updateFrame==1){if(this._collisionsUtils.recoverCollision(m),_=(f=v.owner)._scripts)if(m._isTrigger){if(f._needProcessTriggers)for(h=0,d=_.length;h<d;h++)_[h].onTriggerExit(y)}else if(f._needProcessCollisions)for(h=0,d=_.length;h<d;h++)m.other=y,_[h].onCollisionExit(m);if(g=(C=y.owner)._scripts)if(m._isTrigger){if(C._needProcessTriggers)for(h=0,d=g.length;h<d;h++)g[h].onTriggerExit(v)}else if(C._needProcessCollisions)for(h=0,d=g.length;h<d;h++)m.other=v,g[h].onCollisionExit(m)}}for(var p in this._currentConstraint){var R=this._currentConstraint[p],D=R.owner._scripts;if(R.enabled&&R._isBreakConstrained()&&D&&0!=D.length)for(i=0,r=D.length;i<r;i++)D[i].onJointBreak()}}clearForces(){if(!this._btDiscreteDynamicsWorld)throw"Cannot perform this action when the physics engine is set to CollisionsOnly";e.ILaya3D.Physics3D._bullet.btDiscreteDynamicsWorld_clearForces(this._btDiscreteDynamicsWorld)}}B.PHYSICSENGINEFLAGS_NONE=0,B.PHYSICSENGINEFLAGS_COLLISIONSONLY=1,B.PHYSICSENGINEFLAGS_SOFTBODYSUPPORT=2,B.PHYSICSENGINEFLAGS_MULTITHREADED=4,B.PHYSICSENGINEFLAGS_USEHARDWAREWHENPOSSIBLE=8,B.SOLVERMODE_RANDMIZE_ORDER=1,B.SOLVERMODE_FRICTION_SEPARATE=2,B.SOLVERMODE_USE_WARMSTARTING=4,B.SOLVERMODE_USE_2_FRICTION_DIRECTIONS=16,B.SOLVERMODE_ENABLE_FRICTION_DIRECTION_CACHING=32,B.SOLVERMODE_DISABLE_VELOCITY_DEPENDENT_FRICTION_DIRECTION=64,B.SOLVERMODE_CACHE_FRIENDLY=128,B.SOLVERMODE_SIMD=256,B.SOLVERMODE_INTERLEAVE_CONTACT_AND_FRICTION_CONSTRAINTS=512,B.SOLVERMODE_ALLOW_ZERO_LENGTH_FRICTION_DIRECTIONS=1024,B.HITSRAYRESULTCALLBACK_FLAG_NONE=0,B.HITSRAYRESULTCALLBACK_FLAG_FILTERBACKFACESS=1,B.HITSRAYRESULTCALLBACK_FLAG_KEEPUNFILIPPEDNORMAL=2,B.HITSRAYRESULTCALLBACK_FLAG_USESUBSIMPLEXCONVEXCASTRAYTEST=4,B.HITSRAYRESULTCALLBACK_FLAG_USEGJKCONVEXCASTRAYTEST=8,B.HITSRAYRESULTCALLBACK_FLAG_TERMINATOR=4294967295,B._tempVector30=new e.Vector3,B.disableSimulation=!1;class E extends R{constructor(t=e.Physics3DUtils.COLLISIONFILTERGROUP_DEFAULTFILTER,i=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER){super(t,i),this._isKinematic=!1,this._mass=1,this._gravity=new e.Vector3(0,-10,0),this._angularDamping=0,this._linearDamping=0,this._overrideGravity=!1,this._totalTorque=new e.Vector3(0,0,0),this._totalForce=new e.Vector3(0,0,0),this._linearVelocity=new e.Vector3,this._angularVelocity=new e.Vector3,this._linearFactor=new e.Vector3(1,1,1),this._angularFactor=new e.Vector3(1,1,1),this._detectCollisions=!0,this._controlBySimulation=!0}static __init__(){var t=e.ILaya3D.Physics3D._bullet;E._btTempVector30=t.btVector3_create(0,0,0),E._btTempVector31=t.btVector3_create(0,0,0),E._btVector3Zero=t.btVector3_create(0,0,0),E._btInertia=t.btVector3_create(0,0,0),E._btImpulse=t.btVector3_create(0,0,0),E._btImpulseOffset=t.btVector3_create(0,0,0),E._btGravity=t.btVector3_create(0,0,0),E._btTransform0=t.btTransform_create()}get mass(){return this._mass}set mass(t){t=Math.max(t,1e-7),this._mass=t,this._isKinematic||this._updateMass(t)}get isKinematic(){return this._isKinematic}set isKinematic(t){this._isKinematic=t,this._controlBySimulation=!t;var i=e.ILaya3D.Physics3D._bullet,r=!!(this._simulation&&this._enabled&&this._colliderShape);r&&this._removeFromSimulation();var n=this._btColliderObject,a=i.btCollisionObject_getCollisionFlags(n);t?(a|=d.COLLISIONFLAGS_KINEMATIC_OBJECT,i.btCollisionObject_setCollisionFlags(n,a),i.btCollisionObject_forceActivationState(this._btColliderObject,d.ACTIVATIONSTATE_DISABLE_DEACTIVATION),this._enableProcessCollisions=!1,this._updateMass(0)):((a&d.COLLISIONFLAGS_KINEMATIC_OBJECT)>0&&(a^=d.COLLISIONFLAGS_KINEMATIC_OBJECT),i.btCollisionObject_setCollisionFlags(n,a),i.btCollisionObject_setActivationState(this._btColliderObject,d.ACTIVATIONSTATE_ACTIVE_TAG),this._enableProcessCollisions=!0,this._updateMass(this._mass));var o=E._btVector3Zero;i.btCollisionObject_setInterpolationLinearVelocity(n,o),i.btRigidBody_setLinearVelocity(n,o),i.btCollisionObject_setInterpolationAngularVelocity(n,o),i.btRigidBody_setAngularVelocity(n,o),r&&this._addToSimulation()}get linearDamping(){return this._linearDamping}set linearDamping(t){this._linearDamping=t,this._btColliderObject&&e.ILaya3D.Physics3D._bullet.btRigidBody_setDamping(this._btColliderObject,t,this._angularDamping)}get angularDamping(){return this._angularDamping}set angularDamping(t){this._angularDamping=t,this._btColliderObject&&e.ILaya3D.Physics3D._bullet.btRigidBody_setDamping(this._btColliderObject,this._linearDamping,t)}get overrideGravity(){return this._overrideGravity}set overrideGravity(t){this._overrideGravity=t;var i=e.ILaya3D.Physics3D._bullet;if(this._btColliderObject){var r=i.btRigidBody_getFlags(this._btColliderObject);t?0==(r&E._BT_DISABLE_WORLD_GRAVITY)&&i.btRigidBody_setFlags(this._btColliderObject,r|E._BT_DISABLE_WORLD_GRAVITY):(r&E._BT_DISABLE_WORLD_GRAVITY)>0&&i.btRigidBody_setFlags(this._btColliderObject,r^E._BT_DISABLE_WORLD_GRAVITY)}}get gravity(){var t=e.ILaya3D.Physics3D._bullet;return E._btGravity=t.btRigidBody_getGravity(this._btColliderObject),e.Utils3D._convertToLayaVec3(E._btGravity,this._gravity,!0),this._gravity}set gravity(t){this._gravity=t;var i=e.ILaya3D.Physics3D._bullet;i.btVector3_setValue(E._btGravity,-t.x,t.y,t.z),i.btRigidBody_setGravity(this._btColliderObject,E._btGravity)}get totalForce(){if(this._btColliderObject){var t=e.ILaya3D.Physics3D._bullet.btRigidBody_getTotalForce(this._btColliderObject);return e.Utils3D._convertToLayaVec3(t,this._totalForce,!0),this._totalForce}return null}get linearFactor(){return this._linearFactor}set linearFactor(t){this._linearFactor=t;var i=E._btTempVector30;e.Utils3D._convertToBulletVec3(t,i,!1),e.ILaya3D.Physics3D._bullet.btRigidBody_setLinearFactor(this._btColliderObject,i)}get linearVelocity(){return this._btColliderObject&&e.Utils3D._convertToLayaVec3(e.ILaya3D.Physics3D._bullet.btRigidBody_getLinearVelocity(this._btColliderObject),this._linearVelocity,!0),this._linearVelocity}set linearVelocity(t){if(this._linearVelocity=t,this._btColliderObject){var i=E._btTempVector30;e.Utils3D._convertToBulletVec3(t,i,!0),this.isSleeping&&this.wakeUp(),e.ILaya3D.Physics3D._bullet.btRigidBody_setLinearVelocity(this._btColliderObject,i)}}get angularFactor(){return this._angularFactor}set angularFactor(t){this._angularFactor=t;var i=E._btTempVector30;e.Utils3D._convertToBulletVec3(t,i,!1),e.ILaya3D.Physics3D._bullet.btRigidBody_setAngularFactor(this._btColliderObject,i)}get angularVelocity(){return this._btColliderObject&&e.Utils3D._convertToLayaVec3(e.ILaya3D.Physics3D._bullet.btRigidBody_getAngularVelocity(this._btColliderObject),this._angularVelocity,!0),this._angularVelocity}set angularVelocity(t){if(this._angularVelocity=t,this._btColliderObject){var i=E._btTempVector30;e.Utils3D._convertToBulletVec3(t,i,!0),this.isSleeping&&this.wakeUp(),e.ILaya3D.Physics3D._bullet.btRigidBody_setAngularVelocity(this._btColliderObject,i)}}get totalTorque(){if(this._btColliderObject){var t=e.ILaya3D.Physics3D._bullet.btRigidBody_getTotalTorque(this._btColliderObject);return e.Utils3D._convertToLayaVec3(t,this._totalTorque,!0),this._totalTorque}return null}get detectCollisions(){return this._detectCollisions}set detectCollisions(t){this._detectCollisions!==t&&(this._detectCollisions=t,this._colliderShape&&this._enabled&&this._simulation&&(this._simulation._removeRigidBody(this),this._simulation._addRigidBody(this,this._collisionGroup,t?this._canCollideWith:0)))}get isSleeping(){return!!this._btColliderObject&&e.ILaya3D.Physics3D._bullet.btCollisionObject_getActivationState(this._btColliderObject)===d.ACTIVATIONSTATE_ISLAND_SLEEPING}get sleepLinearVelocity(){return e.ILaya3D.Physics3D._bullet.btRigidBody_getLinearSleepingThreshold(this._btColliderObject)}set sleepLinearVelocity(t){var i=e.ILaya3D.Physics3D._bullet;i.btRigidBody_setSleepingThresholds(this._btColliderObject,t,i.btRigidBody_getAngularSleepingThreshold(this._btColliderObject))}get sleepAngularVelocity(){return e.ILaya3D.Physics3D._bullet.btRigidBody_getAngularSleepingThreshold(this._btColliderObject)}set sleepAngularVelocity(t){var i=e.ILaya3D.Physics3D._bullet;i.btRigidBody_setSleepingThresholds(this._btColliderObject,i.btRigidBody_getLinearSleepingThreshold(this._btColliderObject),t)}get btColliderObject(){return this._btColliderObject}set constaintRigidbodyA(t){this._constaintRigidbodyA=t}get constaintRigidbodyA(){return this._constaintRigidbodyA}set constaintRigidbodyB(t){this._constaintRigidbodyB=t}get constaintRigidbodyB(){return this._constaintRigidbodyB}_updateMass(t){if(this._btColliderObject&&this._colliderShape){var i=e.ILaya3D.Physics3D._bullet;i.btCollisionShape_calculateLocalInertia(this._colliderShape._btShape,t,E._btInertia),i.btRigidBody_setMassProps(this._btColliderObject,t,E._btInertia),i.btRigidBody_updateInertiaTensor(this._btColliderObject)}}_onScaleChange(t){super._onScaleChange(t),this._updateMass(this._isKinematic?0:this._mass)}_derivePhysicsTransformation(t){var i=e.ILaya3D.Physics3D._bullet,r=this._btColliderObject,n=i.btCollisionObject_getWorldTransform(r),a=E._btTransform0;i.btTransform_equal(a,n),this._innerDerivePhysicsTransformation(a,t),i.btRigidBody_setCenterOfMassTransform(r,a)}_onAdded(){var t=e.ILaya3D.Physics3D._bullet,i=t.layaMotionState_create();t.layaMotionState_set_rigidBodyID(i,this._id),this._btLayaMotionState=i;var r=t.btRigidBodyConstructionInfo_create(0,i,null,E._btVector3Zero),n=t.btRigidBody_create(r);t.btCollisionObject_setUserIndex(n,this.id),this._btColliderObject=n,super._onAdded(),this.mass=this._mass,this.linearFactor=this._linearFactor,this.angularFactor=this._angularFactor,this.linearDamping=this._linearDamping,this.angularDamping=this._angularDamping,this.overrideGravity=this._overrideGravity,this.gravity=this._gravity,this.isKinematic=this._isKinematic,t.btRigidBodyConstructionInfo_destroy(r)}_onEnable(){super._onEnable(),this._constaintRigidbodyA&&this._constaintRigidbodyA.connectedBody._simulation&&(this._constaintRigidbodyA._createConstraint(),this._constaintRigidbodyA._onEnable()),this._constaintRigidbodyB&&this._constaintRigidbodyB.ownBody._simulation&&(this._constaintRigidbodyB._createConstraint(),this._constaintRigidbodyB._onEnable())}_onShapeChange(t){if(super._onShapeChange(t),this._isKinematic)this._updateMass(0);else{var i=e.ILaya3D.Physics3D._bullet;i.btRigidBody_setCenterOfMassTransform(this._btColliderObject,i.btCollisionObject_getWorldTransform(this._btColliderObject)),this._updateMass(this._mass)}}_parse(t){if(null!=t.friction&&(this.friction=t.friction),null!=t.rollingFriction&&(this.rollingFriction=t.rollingFriction),null!=t.restitution&&(this.restitution=t.restitution),null!=t.isTrigger&&(this.isTrigger=t.isTrigger),null!=t.mass&&(this.mass=t.mass),null!=t.linearDamping&&(this.linearDamping=t.linearDamping),null!=t.angularDamping&&(this.angularDamping=t.angularDamping),null!=t.overrideGravity&&(this.overrideGravity=t.overrideGravity),null!=t.linearFactor){var e=this.linearFactor;e.fromArray(t.linearFactor),this.linearFactor=e}if(null!=t.angularFactor){var i=this.angularFactor;i.fromArray(t.angularFactor),this.angularFactor=i}t.gravity&&(this.gravity.fromArray(t.gravity),this.gravity=this.gravity),super._parse(t),this._parseShape(t.shapes),null!=t.isKinematic&&(this.isKinematic=t.isKinematic)}_onDestroy(){e.ILaya3D.Physics3D._bullet.btMotionState_destroy(this._btLayaMotionState),super._onDestroy(),this._btLayaMotionState=null,this._gravity=null,this._totalTorque=null,this._linearVelocity=null,this._angularVelocity=null,this._linearFactor=null,this._angularFactor=null,this.constaintRigidbodyA&&this.constaintRigidbodyA._breakConstrained(),this.constaintRigidbodyB&&(this.constaintRigidbodyB.connectedBody=null,this.constaintRigidbodyB._onDisable())}_addToSimulation(){this._simulation._addRigidBody(this,this._collisionGroup,this._detectCollisions?this._canCollideWith:0)}_removeFromSimulation(){this._simulation._removeRigidBody(this)}_cloneTo(t){super._cloneTo(t);var e=t;e.isKinematic=this._isKinematic,e.mass=this._mass,e.gravity=this._gravity,e.angularDamping=this._angularDamping,e.linearDamping=this._linearDamping,e.overrideGravity=this._overrideGravity,e.linearVelocity=this._linearVelocity,e.angularVelocity=this._angularVelocity,e.linearFactor=this._linearFactor,e.angularFactor=this._angularFactor,e.detectCollisions=this._detectCollisions}applyForce(t,i=null){if(null==this._btColliderObject)throw"Attempted to call a Physics function that is avaliable only when the Entity has been already added to the Scene.";var r=e.ILaya3D.Physics3D._bullet,n=E._btTempVector30;if(r.btVector3_setValue(n,-t.x,t.y,t.z),i){var a=E._btTempVector31;r.btVector3_setValue(a,-i.x,i.y,i.z),r.btRigidBody_applyForce(this._btColliderObject,n,a)}else r.btRigidBody_applyCentralForce(this._btColliderObject,n)}applyTorque(t){if(null==this._btColliderObject)throw"Attempted to call a Physics function that is avaliable only when the Entity has been already added to the Scene.";var i=e.ILaya3D.Physics3D._bullet,r=E._btTempVector30;i.btVector3_setValue(r,-t.x,t.y,t.z),i.btRigidBody_applyTorque(this._btColliderObject,r)}applyImpulse(t,i=null){if(null==this._btColliderObject)throw"Attempted to call a Physics function that is avaliable only when the Entity has been already added to the Scene.";var r=e.ILaya3D.Physics3D._bullet;r.btVector3_setValue(E._btImpulse,-t.x,t.y,t.z),i?(r.btVector3_setValue(E._btImpulseOffset,-i.x,i.y,i.z),r.btRigidBody_applyImpulse(this._btColliderObject,E._btImpulse,E._btImpulseOffset)):r.btRigidBody_applyCentralImpulse(this._btColliderObject,E._btImpulse)}applyTorqueImpulse(t){if(null==this._btColliderObject)throw"Attempted to call a Physics function that is avaliable only when the Entity has been already added to the Scene.";var i=e.ILaya3D.Physics3D._bullet,r=E._btTempVector30;i.btVector3_setValue(r,-t.x,t.y,t.z),i.btRigidBody_applyTorqueImpulse(this._btColliderObject,r)}wakeUp(){this._btColliderObject&&e.ILaya3D.Physics3D._bullet.btCollisionObject_activate(this._btColliderObject,!1)}clearForces(){var t=this._btColliderObject;if(null==t)throw"Attempted to call a Physics function that is avaliable only when the Entity has been already added to the Scene.";var i=e.ILaya3D.Physics3D._bullet;i.btRigidBody_clearForces(t);var r=E._btVector3Zero;i.btCollisionObject_setInterpolationLinearVelocity(t,r),i.btRigidBody_setLinearVelocity(t,r),i.btCollisionObject_setInterpolationAngularVelocity(t,r),i.btRigidBody_setAngularVelocity(t,r)}}E.TYPE_STATIC=0,E.TYPE_DYNAMIC=1,E.TYPE_KINEMATIC=2,E._BT_DISABLE_WORLD_GRAVITY=1,E._BT_ENABLE_GYROPSCOPIC_FORCE=2;class F extends e.Component{constructor(t){super(),this._anchor=new e.Vector3,this._connectAnchor=new e.Vector3,this._feedbackEnabled=!1,this._getJointFeedBack=!1,this._currentForce=new e.Vector3,this._currentTorque=new e.Vector3,this._constraintType=t;var i=e.Physics3D._bullet;this._btframATrans=i.btTransform_create(),this._btframBTrans=i.btTransform_create(),i.btTransform_setIdentity(this._btframATrans),i.btTransform_setIdentity(this._btframBTrans),this._btframAPos=i.btVector3_create(0,0,0),this._btframBPos=i.btVector3_create(0,0,0),i.btTransform_setOrigin(this._btframATrans,this._btframAPos),i.btTransform_setOrigin(this._btframBTrans,this._btframBPos),this._breakForce=-1,this._breakTorque=-1}get enabled(){return super.enabled}set enabled(t){super.enabled=t}get appliedImpulse(){return this._feedbackEnabled||(this._btConstraint.EnableFeedback(!0),this._feedbackEnabled=!0),this._btConstraint.AppliedImpulse}set connectedBody(t){this._connectedBody=t,t&&(t.constaintRigidbodyB=this)}get connectedBody(){return this._connectedBody}get ownBody(){return this._ownBody}set ownBody(t){this._ownBody=t,t.constaintRigidbodyA=this}get currentForce(){return this._getJointFeedBack||this._getFeedBackInfo(),this._currentForce}get currentTorque(){return this._getJointFeedBack||this._getFeedBackInfo(),this._currentTorque}get breakForce(){return this._breakForce}set breakForce(t){this._breakForce=t}get breakTorque(){return this._breakTorque}set breakTorque(t){this._breakTorque=t}set anchor(t){t.cloneTo(this._anchor),this.setFrames()}get anchor(){return this._anchor}set connectAnchor(t){t.cloneTo(this._connectAnchor),this.setFrames()}get connectAnchor(){return this._connectAnchor}setOverrideNumSolverIterations(t){e.Physics3D._bullet.btTypedConstraint_setOverrideNumSolverIterations(this._btConstraint,t)}setConstraintEnabled(t){e.Physics3D._bullet.btTypedConstraint_setEnabled(this._btConstraint,t)}_onEnable(){super._onEnable(),this.enabled=!0}_onDisable(){super._onDisable(),this.enabled=!1}setFrames(){var t=e.Physics3D._bullet;t.btVector3_setValue(this._btframAPos,-this._anchor.x,this.anchor.y,this.anchor.z),t.btVector3_setValue(this._btframBPos,-this._connectAnchor.x,this._connectAnchor.y,this._connectAnchor.z),t.btTransform_setOrigin(this._btframATrans,this._btframAPos),t.btTransform_setOrigin(this._btframBTrans,this._btframBPos)}_addToSimulation(){}_removeFromSimulation(){}_createConstraint(){}setConnectRigidBody(t,e){var i=t&&!!(t._simulation&&t._enabled&&t.colliderShape),r=e&&!!(e._simulation&&e._enabled&&e.colliderShape);if(!i||!r)throw"ownerRigid or connectRigidBody is not in Simulation";t==this._ownBody&&e==this._connectedBody||(!(!this.enabled||!this._simulation)&&this._removeFromSimulation(),this._ownBody=t,this._connectedBody=e,this._ownBody.constaintRigidbodyA=this,this._connectedBody.constaintRigidbodyB=this,this._createConstraint())}getcurrentForce(t){if(!this._btJointFeedBackObj)throw"this Constraint is not simulation";var i=e.Physics3D._bullet,r=i.btJointFeedback_getAppliedForceBodyA(this._btJointFeedBackObj);t.setValue(i.btVector3_x(r),i.btVector3_y(r),i.btVector3_z(r))}getcurrentTorque(t){if(!this._btJointFeedBackObj)throw"this Constraint is not simulation";var i=e.Physics3D._bullet,r=i.btJointFeedback_getAppliedTorqueBodyA(this._btJointFeedBackObj);t.setValue(i.btVector3_x(r),i.btVector3_y(r),i.btVector3_z(r))}_onDestroy(){var t=e.Physics3D._bullet;this._simulation&&this._removeFromSimulation(),this._btConstraint&&this._btJointFeedBackObj&&this._simulation&&(t.btTypedConstraint_destroy(this._btConstraint),t.btJointFeedback_destroy(this._btJointFeedBackObj),this._btJointFeedBackObj=null,this._btConstraint=null),super._onDisable()}_isBreakConstrained(){if(this._getJointFeedBack=!1,-1==this.breakForce&&-1==this.breakTorque)return!1;this._getFeedBackInfo();var t=-1!=this._breakForce&&e.Vector3.scalarLength(this._currentForce)>this._breakForce,i=-1!=this._breakTorque&&e.Vector3.scalarLength(this._currentTorque)>this._breakTorque;return!(!t&&!i)&&(this._breakConstrained(),!0)}_parse(t){this._anchor.fromArray(t.anchor),this._connectAnchor.fromArray(t.connectAnchor),this.setFrames()}_getFeedBackInfo(){var t=e.Physics3D._bullet,i=t.btJointFeedback_getAppliedForceBodyA(this._btJointFeedBackObj),r=t.btJointFeedback_getAppliedTorqueBodyA(this._btJointFeedBackObj);this._currentTorque.setValue(t.btVector3_x(r),t.btVector3_y(r),t.btVector3_z(r)),this._currentForce.setValue(t.btVector3_x(i),t.btVector3_y(i),t.btVector3_z(i)),this._getJointFeedBack=!0}_breakConstrained(){this.ownBody.constaintRigidbodyA=null,this.connectedBody&&(this.connectedBody.constaintRigidbodyB=null),this.destroy()}}F.CONSTRAINT_POINT2POINT_CONSTRAINT_TYPE=3,F.CONSTRAINT_HINGE_CONSTRAINT_TYPE=4,F.CONSTRAINT_CONETWIST_CONSTRAINT_TYPE=5,F.CONSTRAINT_D6_CONSTRAINT_TYPE=6,F.CONSTRAINT_SLIDER_CONSTRAINT_TYPE=7,F.CONSTRAINT_CONTACT_CONSTRAINT_TYPE=8,F.CONSTRAINT_D6_SPRING_CONSTRAINT_TYPE=9,F.CONSTRAINT_GEAR_CONSTRAINT_TYPE=10,F.CONSTRAINT_FIXED_CONSTRAINT_TYPE=11,F.CONSTRAINT_MAX_CONSTRAINT_TYPE=12,F.CONSTRAINT_CONSTRAINT_ERP=1,F.CONSTRAINT_CONSTRAINT_STOP_ERP=2,F.CONSTRAINT_CONSTRAINT_CFM=3,F.CONSTRAINT_CONSTRAINT_STOP_CFM=4,F.tempForceV3=new e.Vector3;class V extends F{constructor(){super(F.CONSTRAINT_D6_SPRING_CONSTRAINT_TYPE),this._axis=new e.Vector3,this._secondaryAxis=new e.Vector3,this._minLinearLimit=new e.Vector3,this._maxLinearLimit=new e.Vector3,this._minAngularLimit=new e.Vector3,this._maxAngularLimit=new e.Vector3,this._linearLimitSpring=new e.Vector3,this._angularLimitSpring=new e.Vector3,this._linearBounce=new e.Vector3,this._angularBounce=new e.Vector3,this._linearDamp=new e.Vector3,this._angularDamp=new e.Vector3,this._xMotion=0,this._yMotion=0,this._zMotion=0,this._angularXMotion=0,this._angularYMotion=0,this._angularZMotion=0;var t=e.Physics3D._bullet;this._btAxis=t.btVector3_create(-1,0,0),this._btSecondaryAxis=t.btVector3_create(0,1,0)}get axis(){return this._axis}get secondaryAxis(){return this._secondaryAxis}set maxAngularLimit(t){t.cloneTo(this._maxAngularLimit)}set minAngularLimit(t){t.cloneTo(this._minAngularLimit)}get maxAngularLimit(){return this._maxAngularLimit}get minAngularLimit(){return this._minAngularLimit}set maxLinearLimit(t){t.cloneTo(this._maxLinearLimit)}set minLinearLimit(t){t.cloneTo(this._minLinearLimit)}get maxLinearLimit(){return this._maxLinearLimit}get minLinearLimit(){return this._minLinearLimit}set XMotion(t){this._xMotion!=t&&(this._xMotion=t,this.setLimit(V.MOTION_LINEAR_INDEX_X,t,-this._maxLinearLimit.x,-this._minLinearLimit.x))}get XMotion(){return this._xMotion}set YMotion(t){this._yMotion!=t&&(this._yMotion=t,this.setLimit(V.MOTION_LINEAR_INDEX_Y,t,this._minLinearLimit.y,this._maxLinearLimit.y))}get YMotion(){return this._yMotion}set ZMotion(t){this._zMotion!=t&&(this._zMotion=t,this.setLimit(V.MOTION_LINEAR_INDEX_Z,t,this._minLinearLimit.z,this._maxLinearLimit.z))}get ZMotion(){return this._zMotion}set angularXMotion(t){this._angularXMotion!=t&&(this._angularXMotion=t,this.setLimit(V.MOTION_ANGULAR_INDEX_X,t,-this._maxAngularLimit.x,-this._minAngularLimit.x))}get angularXMotion(){return this._angularXMotion}set angularYMotion(t){this._angularYMotion!=t&&(this._angularYMotion=t,this.setLimit(V.MOTION_ANGULAR_INDEX_Y,t,this._minAngularLimit.y,this._maxAngularLimit.y))}get angularYMotion(){return this._angularYMotion}set angularZMotion(t){this._angularZMotion!=t&&(this._angularZMotion=t,this.setLimit(V.MOTION_ANGULAR_INDEX_Z,t,this._minAngularLimit.z,this._maxAngularLimit.z))}get angularZMotion(){return this._angularZMotion}set linearLimitSpring(t){e.Vector3.equals(this._linearLimitSpring,t)||(t.cloneTo(this._linearLimitSpring),this.setSpring(V.MOTION_LINEAR_INDEX_X,t.x),this.setSpring(V.MOTION_LINEAR_INDEX_Y,t.y),this.setSpring(V.MOTION_LINEAR_INDEX_Z,t.z))}get linearLimitSpring(){return this._linearLimitSpring}set angularLimitSpring(t){e.Vector3.equals(this._angularLimitSpring,t)||(t.cloneTo(this._angularLimitSpring),this.setSpring(V.MOTION_ANGULAR_INDEX_X,t.x),this.setSpring(V.MOTION_ANGULAR_INDEX_Y,t.y),this.setSpring(V.MOTION_ANGULAR_INDEX_Z,t.z))}get angularLimitSpring(){return this._angularLimitSpring}set linearBounce(t){e.Vector3.equals(this._linearBounce,t)||(t.cloneTo(this._linearBounce),this.setBounce(V.MOTION_LINEAR_INDEX_X,t.x),this.setBounce(V.MOTION_LINEAR_INDEX_Y,t.y),this.setBounce(V.MOTION_LINEAR_INDEX_Z,t.z))}get linearBounce(){return this._linearBounce}set angularBounce(t){e.Vector3.equals(this._angularBounce,t)||(t.cloneTo(this._angularBounce),this.setBounce(V.MOTION_ANGULAR_INDEX_X,t.x),this.setBounce(V.MOTION_ANGULAR_INDEX_Y,t.y),this.setBounce(V.MOTION_ANGULAR_INDEX_Z,t.z))}get angularBounce(){return this._angularBounce}set linearDamp(t){e.Vector3.equals(this._linearDamp,t)||(t.cloneTo(this._linearDamp),this.setDamping(V.MOTION_LINEAR_INDEX_X,t.x),this.setDamping(V.MOTION_LINEAR_INDEX_Y,t.y),this.setDamping(V.MOTION_LINEAR_INDEX_Z,t.z))}get linearDamp(){return this._linearDamp}set angularDamp(t){e.Vector3.equals(this._angularDamp,t)||(t.cloneTo(this._angularDamp),this.setDamping(V.MOTION_ANGULAR_INDEX_X,t.x),this.setDamping(V.MOTION_ANGULAR_INDEX_Y,t.y),this.setDamping(V.MOTION_ANGULAR_INDEX_Z,t.z))}get angularDamp(){return this._angularDamp}set anchor(t){t.cloneTo(this._anchor),this.setFrames()}get anchor(){return this._anchor}set connectAnchor(t){t.cloneTo(this._connectAnchor),this.setFrames()}get connectAnchor(){return this._connectAnchor}setAxis(t,i){if(this._btConstraint){var r=e.Physics3D._bullet;this._axis.setValue(t.x,t.y,t.y),this._secondaryAxis.setValue(i.x,i.y,i.z),this._btAxis=r.btVector3_setValue(-t.x,t.y,t.z),this._btSecondaryAxis=r.btVector3_setValue(-i.x,i.y,i.z),r.btGeneric6DofSpring2Constraint_setAxis(this._btConstraint,this._btAxis,this._btSecondaryAxis)}}setLimit(t,i,r,n){if(this._btConstraint){var a=e.Physics3D._bullet;switch(i){case V.CONFIG_MOTION_TYPE_LOCKED:a.btGeneric6DofSpring2Constraint_setLimit(this._btConstraint,t,0,0);break;case V.CONFIG_MOTION_TYPE_LIMITED:r<n&&a.btGeneric6DofSpring2Constraint_setLimit(this._btConstraint,t,r,n);break;case V.CONFIG_MOTION_TYPE_FREE:a.btGeneric6DofSpring2Constraint_setLimit(this._btConstraint,t,1,0);break;default:throw"No Type of Axis Motion"}}}setSpring(t,i,r=!0){if(this._btConstraint){var n=e.Physics3D._bullet,a=i>0;n.btGeneric6DofSpring2Constraint_enableSpring(this._btConstraint,t,a),a&&n.btGeneric6DofSpring2Constraint_setStiffness(this._btConstraint,t,i,r)}}setBounce(t,i){this._btConstraint&&(i=i<=0?0:i,e.Physics3D._bullet.btGeneric6DofSpring2Constraint_setBounce(this._btConstraint,t,i))}setDamping(t,i,r=!0){this._btConstraint&&(i=i<=0?0:i,e.Physics3D._bullet.btGeneric6DofSpring2Constraint_setDamping(this._btConstraint,t,i,r))}setEquilibriumPoint(t,i){e.Physics3D._bullet.btGeneric6DofSpring2Constraint_setEquilibriumPoint(this._btConstraint,t,i)}enableMotor(t,i){e.Physics3D._bullet.btGeneric6DofSpring2Constraint_enableMotor(this._btConstraint,t,i)}setServo(t,i){e.Physics3D._bullet.btGeneric6DofSpring2Constraint_setServo(this._btConstraint,t,i)}setTargetVelocity(t,i){e.Physics3D._bullet.btGeneric6DofSpring2Constraint_setTargetVelocity(this._btConstraint,t,i)}setTargetPosition(t,i){e.Physics3D._bullet.btGeneric6DofSpring2Constraint_setServoTarget(this._btConstraint,t,i)}setMaxMotorForce(t,i){e.Physics3D._bullet.btGeneric6DofSpring2Constraint_setMaxMotorForce(this._btConstraint,t,i)}setParam(t,i,r){e.Physics3D._bullet.btTypedConstraint_setParam(this._btConstraint,t,i,r)}setFrames(){super.setFrames();var t=e.Physics3D._bullet;this._btConstraint&&t.btGeneric6DofSpring2Constraint_setFrames(this._btConstraint,this._btframATrans,this._btframBTrans)}_addToSimulation(){this._simulation&&this._simulation.addConstraint(this,this.enabled)}_removeFromSimulation(){this._simulation.removeConstraint(this),this._simulation=null}_createConstraint(){var t=e.Physics3D._bullet;this._btConstraint=t.btGeneric6DofSpring2Constraint_create(this.ownBody.btColliderObject,this._btframAPos,this.connectedBody.btColliderObject,this._btframBPos,V.RO_XYZ),this._btJointFeedBackObj=t.btJointFeedback_create(this._btConstraint),t.btTypedConstraint_setJointFeedback(this._btConstraint,this._btJointFeedBackObj),this._simulation=this.owner._scene.physicsSimulation,this._initAllConstraintInfo(),this._addToSimulation(),e.Physics3D._bullet.btTypedConstraint_setEnabled(this._btConstraint,!0)}_initAllConstraintInfo(){this.setLimit(V.MOTION_LINEAR_INDEX_X,this._xMotion,-this._maxLinearLimit.x,-this._minLinearLimit.x),this.setLimit(V.MOTION_LINEAR_INDEX_Y,this._yMotion,this._minLinearLimit.y,this._maxLinearLimit.y),this.setLimit(V.MOTION_LINEAR_INDEX_Z,this._zMotion,this._minLinearLimit.z,this._maxLinearLimit.z),this.setLimit(V.MOTION_ANGULAR_INDEX_X,this._angularXMotion,-this._maxAngularLimit.x,-this._minAngularLimit.x),this.setLimit(V.MOTION_ANGULAR_INDEX_Y,this._angularYMotion,this._minAngularLimit.y,this._maxAngularLimit.y),this.setLimit(V.MOTION_ANGULAR_INDEX_Z,this._angularZMotion,this._minAngularLimit.z,this._maxAngularLimit.z),this.setSpring(V.MOTION_LINEAR_INDEX_X,this._linearLimitSpring.x),this.setSpring(V.MOTION_LINEAR_INDEX_Y,this._linearLimitSpring.y),this.setSpring(V.MOTION_LINEAR_INDEX_Z,this._linearLimitSpring.z),this.setSpring(V.MOTION_ANGULAR_INDEX_X,this._angularLimitSpring.x),this.setSpring(V.MOTION_ANGULAR_INDEX_Y,this._angularLimitSpring.y),this.setSpring(V.MOTION_ANGULAR_INDEX_Z,this._angularLimitSpring.z),this.setBounce(V.MOTION_LINEAR_INDEX_X,this._linearBounce.x),this.setBounce(V.MOTION_LINEAR_INDEX_Y,this._linearBounce.y),this.setBounce(V.MOTION_LINEAR_INDEX_Z,this._linearBounce.z),this.setBounce(V.MOTION_ANGULAR_INDEX_X,this._angularBounce.x),this.setBounce(V.MOTION_ANGULAR_INDEX_Y,this._angularBounce.y),this.setBounce(V.MOTION_ANGULAR_INDEX_Z,this._angularBounce.z),this.setDamping(V.MOTION_LINEAR_INDEX_X,this._linearDamp.x),this.setDamping(V.MOTION_LINEAR_INDEX_Y,this._linearDamp.y),this.setDamping(V.MOTION_LINEAR_INDEX_Z,this._linearDamp.z),this.setDamping(V.MOTION_ANGULAR_INDEX_X,this._angularDamp.x),this.setDamping(V.MOTION_ANGULAR_INDEX_Y,this._angularDamp.y),this.setDamping(V.MOTION_ANGULAR_INDEX_Z,this._angularDamp.z),this.setFrames(),this.setEquilibriumPoint(0,0)}_onAdded(){super._onAdded()}_onEnable(){this._btConstraint&&(super._onEnable(),this._btConstraint&&e.Physics3D._bullet.btTypedConstraint_setEnabled(this._btConstraint,!0))}_onDisable(){super._onDisable(),!this.connectedBody&&this._simulation&&this._removeFromSimulation(),this._btConstraint&&e.Physics3D._bullet.btTypedConstraint_setEnabled(this._btConstraint,!1)}_parse(t,e=null){super._parse(t),this._axis.fromArray(t.axis),this._secondaryAxis.fromArray(t.secondaryAxis);var i=t.linearLimit;this._minLinearLimit.setValue(-i,-i,-i),this._maxLinearLimit.setValue(i,i,i);var r=t.linearLimitSpring;this._linearLimitSpring.setValue(r,r,r);var n=t.linearLimitDamper;this._linearDamp.setValue(n,n,n);var a=t.linearLimitBounciness;this._linearBounce.setValue(a,a,a);var o=t.lowAngularXLimit,f=t.highAngularXLimit,_=t.angularYLimit,h=t.angularZLimit;this._minAngularLimit.setValue(o,-_,-h),this._maxAngularLimit.setValue(f,_,h);var d=t.highAngularXLimitBounciness,C=t.angularYLimitBounciness,g=t.angularZLimitBounciness;this._angularBounce.setValue(d,C,g);var m=t.angularXLimitSpring,v=t.angularYZLimitSpring;this._angularLimitSpring.setValue(m,v,v);var y=t.angularXLimitDamper,p=t.angularYZLimitDamper;this._angularDamp.setValue(y,p,p),this.XMotion=t.xMotion,this.YMotion=t.yMotion,this.ZMotion=t.zMotion,this.angularXMotion=t.angularXMotion,this.angularYMotion=t.angularYMotion,this.angularZMotion=t.angularZMotion,-1!=t.rigidbodyID&&-1!=t.connectRigidbodyID&&(e.component.push(this),e.data.push(t)),null!=t.breakForce&&(this.breakForce=t.breakForce),null!=t.breakTorque&&(this.breakTorque=t.breakTorque)}_parseInteractive(t=null,e=null){var i=e[t.rigidbodyID].getComponent(E),r=e[t.connectRigidbodyID].getComponent(E);this.ownBody=i,this.connectedBody=r}_onDestroy(){super._onDestroy()}}V.CONFIG_MOTION_TYPE_LOCKED=0,V.CONFIG_MOTION_TYPE_LIMITED=1,V.CONFIG_MOTION_TYPE_FREE=2,V.MOTION_LINEAR_INDEX_X=0,V.MOTION_LINEAR_INDEX_Y=1,V.MOTION_LINEAR_INDEX_Z=2,V.MOTION_ANGULAR_INDEX_X=3,V.MOTION_ANGULAR_INDEX_Y=4,V.MOTION_ANGULAR_INDEX_Z=5,V.RO_XYZ=0,V.RO_XZY=1,V.RO_YXZ=2,V.RO_YZX=3,V.RO_ZXY=4,V.RO_ZYX=5;class G extends i{constructor(t,r){super(),this._normal=t,this._offset=r,this._type=i.SHAPETYPES_STATICPLANE;var n=e.ILaya3D.Physics3D._bullet;n.btVector3_setValue(G._btNormal,-t.x,t.y,t.z),this._btShape=n.btStaticPlaneShape_create(G._btNormal,r)}static __init__(){G._btNormal=e.ILaya3D.Physics3D._bullet.btVector3_create(0,0,0)}clone(){var t=new G(this._normal,this._offset);return this.cloneTo(t),t}}t.BoxColliderShape=r,t.BulletInteractive=C,t.CapsuleColliderShape=n,t.CharacterController=g,t.ColliderShape=i,t.Collision=m,t.CollisionTool=p,t.CompoundColliderShape=a,t.ConeColliderShape=o,t.ConfigurableConstraint=V,t.Constraint3D=class{constructor(){}},t.ConstraintComponent=F,t.ContactPoint=v,t.CylinderColliderShape=f,t.FixedConstraint=class extends F{constructor(){super(F.CONSTRAINT_FIXED_CONSTRAINT_TYPE),this.breakForce=-1,this.breakTorque=-1}_addToSimulation(){this._simulation&&this._simulation.addConstraint(this,this.enabled)}_removeFromSimulation(){this._simulation.removeConstraint(this),this._simulation=null}_createConstraint(){if(this.ownBody&&this.ownBody._simulation&&this.connectedBody&&this.connectedBody._simulation){var t=e.Physics3D._bullet;this._btConstraint=t.btFixedConstraint_create(this.ownBody.btColliderObject,this._btframATrans,this.connectedBody.btColliderObject,this._btframBTrans),this._btJointFeedBackObj=t.btJointFeedback_create(this._btConstraint),t.btTypedConstraint_setJointFeedback(this._btConstraint,this._btJointFeedBackObj),this._simulation=this.owner._scene.physicsSimulation,this._addToSimulation(),e.Physics3D._bullet.btTypedConstraint_setEnabled(this._btConstraint,!0)}}_onAdded(){super._onAdded()}_onEnable(){this._btConstraint&&(super._onEnable(),this._btConstraint&&e.Physics3D._bullet.btTypedConstraint_setEnabled(this._btConstraint,!0))}_onDisable(){super._onDisable(),this.connectedBody||this._removeFromSimulation(),this._btConstraint&&e.Physics3D._bullet.btTypedConstraint_setEnabled(this._btConstraint,!1)}_onDestroy(){super._onDestroy()}_parse(t,e=null){super._parse(t),-1!=t.rigidbodyID&&-1!=t.connectRigidbodyID&&(e.component.push(this),e.data.push(t)),null!=t.breakForce&&(this.breakForce=t.breakForce),null!=t.breakTorque&&(this.breakTorque=t.breakTorque)}_parseInteractive(t=null,e=null){var i=e[t.rigidbodyID].getComponent(E),r=e[t.connectRigidbodyID].getComponent(E);this.ownBody=i,this.connectedBody=r}},t.HitResult=y,t.MeshColliderShape=_,t.PhysicsCollider=class extends R{constructor(t=e.Physics3DUtils.COLLISIONFILTERGROUP_DEFAULTFILTER,i=e.Physics3DUtils.COLLISIONFILTERGROUP_ALLFILTER){super(t,i),this._enableProcessCollisions=!1}_addToSimulation(){this._simulation._addPhysicsCollider(this,this._collisionGroup,this._canCollideWith)}_removeFromSimulation(){this._simulation._removePhysicsCollider(this)}_parse(t){null!=t.friction&&(this.friction=t.friction),null!=t.rollingFriction&&(this.rollingFriction=t.rollingFriction),null!=t.restitution&&(this.restitution=t.restitution),null!=t.isTrigger&&(this.isTrigger=t.isTrigger),super._parse(t),this._parseShape(t.shapes)}_onAdded(){var t=e.Physics3D._bullet,i=t.btCollisionObject_create();t.btCollisionObject_setUserIndex(i,this.id),t.btCollisionObject_forceActivationState(i,d.ACTIVATIONSTATE_DISABLE_SIMULATION);var r=t.btCollisionObject_getCollisionFlags(i);this.owner.isStatic?((r&d.COLLISIONFLAGS_KINEMATIC_OBJECT)>0&&(r^=d.COLLISIONFLAGS_KINEMATIC_OBJECT),r|=d.COLLISIONFLAGS_STATIC_OBJECT):((r&d.COLLISIONFLAGS_STATIC_OBJECT)>0&&(r^=d.COLLISIONFLAGS_STATIC_OBJECT),r|=d.COLLISIONFLAGS_KINEMATIC_OBJECT),t.btCollisionObject_setCollisionFlags(i,r),this._btColliderObject=i,super._onAdded()}},t.PhysicsComponent=d,t.PhysicsSettings=class{constructor(){this.flags=0,this.maxSubSteps=1,this.fixedTimeStep=1/60}},t.PhysicsSimulation=B,t.PhysicsTriggerComponent=R,t.PhysicsUpdateList=D,t.Rigidbody3D=E,t.SphereColliderShape=h,t.StaticPlaneColliderShape=G}(window.Laya=window.Laya||{},Laya);