var OGVDecoderAudioOpus = (function() { var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; return ( function(OGVDecoderAudioOpus) { OGVDecoderAudioOpus = OGVDecoderAudioOpus || {}; var a;a||(a=typeof OGVDecoderAudioOpus !== 'undefined' ? OGVDecoderAudioOpus : {});var f=a;a.memoryLimit&&(a.TOTAL_MEMORY=f.memoryLimit);var k={},l;for(l in a)a.hasOwnProperty(l)&&(k[l]=a[l]);a.arguments=[];a.thisProgram="./this.program";a.quit=function(b,c){throw c;};a.preRun=[];a.postRun=[];var m=!1,n=!1,q=!1,r=!1;m="object"===typeof window;n="function"===typeof importScripts;q="object"===typeof process&&"function"===typeof require&&!m&&!n;r=!m&&!q&&!n;var t=""; if(q){t=__dirname+"/";var u,v;a.read=function(b,c){var d=w(b);d||(u||(u=require("fs")),v||(v=require("path")),b=v.normalize(b),d=u.readFileSync(b));return c?d:d.toString()};a.readBinary=function(b){b=a.read(b,!0);b.buffer||(b=new Uint8Array(b));assert(b.buffer);return b};1H&&B("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+H+"! (TOTAL_STACK=5242880)");a.buffer?buffer=a.buffer:buffer=new ArrayBuffer(H);a.HEAP8=E=new Int8Array(buffer);a.HEAP16=new Int16Array(buffer);a.HEAP32=G=new Int32Array(buffer);a.HEAPU8=F=new Uint8Array(buffer); a.HEAPU16=new Uint16Array(buffer);a.HEAPU32=new Uint32Array(buffer);a.HEAPF32=new Float32Array(buffer);a.HEAPF64=new Float64Array(buffer);G[6940]=5270672;function I(b){for(;0>>16)*e+d*(c>>>16)<<16)|0});Math.clz32||(Math.clz32=function(b){var c=32,d=b>>16;d&&(c-=16,b=d);if(d=b>>8)c-=8,b=d;if(d=b>>4)c-=4,b=d;if(d=b>>2)c-=2,b=d;return b>>1?c-2:c-b});Math.trunc||(Math.trunc=function(b){return 0>b?Math.ceil(b):Math.floor(b)});var M=0,N=null,O=null;a.preloadedImages={};a.preloadedAudios={};var P=null,Q="data:application/octet-stream;base64,";P="data:application/octet-stream;base64,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If9uPwF8tz5PLXA/QTaxPvRQcT+86Ko+A2pyP7eTpD5xeHM/ejeePjB8dD9M1Jc+NnV1P3VqkT53Y3Y/PvqKPupGdz/ug4Q+hB94P5wPfD487Xg/TQxvPgmweT+C/mE+4md6P83mVD6+FHs/wsVHPpi2ez/zmzo+Z018P/VpLT4l2Xw/XDAgPstZfT+77xI+Vc99P6ioBT68OX4/c7fwPf2Yfj8EE9Y9Eu1+PzNluz35NX8/Kq+gPa9zfz8T8oU9L6Z/PzpeVj15zX8/584gPYvpfz8KcdY8Y/p/P791VjwAABgAMABIAGAACAAgADgAUABoABAAKABAAFgAcAAEABwANABMAGQADAAkADwAVABsABQALABEAFwAdAABABkAMQBJAGEACQAhADkAUQBpABEAKQBBAFkAcQAFAB0ANQBNAGUADQAlAD0AVQBtABUALQBFAF0AdQACABoAMgBKAGIACgAiADoAUgBqABIAKgBCAFoAcgAGAB4ANgBOAGYADgAmAD4AVgBuABYALgBGAF4AdgADABsAMwBLAGMACwAjADsAUwBrABMAKwBDAFsAcwAHAB8ANwBPAGcADwAnAD8AVwBvABcALwBHAF8AdwAAADAAYACQAMAAEABAAHAAoADQACAAUACAALAA4AAEADQAZACUAMQAFABEAHQApADUACQAVACEALQA5AAIADgAaACYAMgAGABIAHgAqADYACgAWACIALgA6AAMADwAbACcAMwAHABMAHwArADcACwAXACMALwA7AABADEAYQCRAMEAEQBBAHEAoQDRACEAUQCBALEA4QAFADUAZQCVAMUAFQBFAHUApQDVACUAVQCFALUA5QAJADkAaQCZAMkAGQBJAHkAqQDZACkAWQCJALkA6QANAD0AbQCdAM0AHQBNAH0ArQDdAC0AXQCNAL0A7QACADIAYgCSAMIAEgBCAHIAogDSACIAUgCCALIA4gAGADYAZgCWAMYAFgBGAHYApgDWACYAVgCGALYA5gAKADoAagCaAMoAGgBKAHoAqgDaACoAWgCKALoA6gAOAD4AbgCeAM4AHgBOAH4ArgDeAC4AXgCOAL4A7gADADMAYwCTAMMAEwBDAHMAowDTACMAUwCDALMA4wAHADcAZwCXAMcAFwBHAHcApwDXACcAVwCHALcA5wALADsAawCbAMsAGwBLAHsAqwDbACsAWwCLALsA6wAPAD8AbwCfAM8AHwBPAH8ArwDfAC8AXwCPAL8A7wAAAGAAwAAgAYABIACAAOAAQAGgAUAAoAAAAWABwAEIAGgAyAAoAYgBKACIAOgASAGoAUgAqAAIAWgByAEQAHAA0AAwAZABMACQAPAAUAGwAVAAsAAQAXAB0AEYAHgA2AA4AZgBOACYAPgAWAG4AVgAuAAYAXgB2AEEAGQAxAAkAYQBJACEAOQARAGkAUQApAAEAWQBxAEMAGwAzAAsAYwBLACMAOwATAGsAUwArAAMAWwBzAEUAHQA1AA0AZQBNACUAPQAVAG0AVQAtAAUAXQB1AEcAHwA3AA8AZwBPACcAPwAXAG8AVwAvAAcAXwB3AEBAGEAwQAhAYEBIQCBAOEAQQGhAUEAoQABAWEBwQEJAGkAyQApAYkBKQCJAOkASQGpAUkAqQAJAWkByQERAHEA0QAxAZEBMQCRAPEAUQGxAVEAsQARAXEB0QEZAHkA2QA5AZkBOQCZAPkAWQG5AVkAuQAZAXkB2QEFAGUAxQAlAYUBJQCFAOUARQGlAUUApQAFAWUBxQENAG0AzQAtAY0BLQCNAO0ATQGtAU0ArQANAW0BzQEVAHUA1QA1AZUBNQCVAPUAVQG1AVUAtQAVAXUB1QEdAH0A3QA9AZ0BPQCdAP0AXQG9AV0AvQAdAX0B3QECAGIAwgAiAYIBIgCCAOIAQgGiAUIAogACAWIBwgEKAGoAygAqAYoBKgCKAOoASgGqAUoAqgAKAWoBygESAHIA0gAyAZIBMgCSAPIAUgGyAVIAsgASAXIB0gEaAHoA2gA6AZoBOgCaAPoAWgG6AVoAugAaAXoB2gEGAGYAxgAmAYYBJgCGAOYARgGmAUYApgAGAWYBxgEOAG4AzgAuAY4BLgCOAO4ATgGuAU4ArgAOAW4BzgEWAHYA1gA2AZYBNgCWAPYAVgG2AVYAtgAWAXYB1gEeAH4A3gA+AZ4BPgCeAP4AXgG+AV4AvgAeAX4B3gEDAGMAwwAjAYMBIwCDAOMAQwGjAUMAowADAWMBwwELAGsAywArAYsBKwCLAOsASwGrAUsAqwALAWsBywETAHMA0wAzAZMBMwCTAPMAUwGzAVMAswATAXMB0wEbAHsA2wA7AZsBOwCbAPsAWwG7AVsAuwAbAXsB2wEHAGcAxwAnAYcBJwCHAOcA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAA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JA7LC5wL8AvwCzkL9grwC5AM5wulC9sM2wylC+4MrwtrFJYT7AkKDcYNOQ19DBYMMA2lC4wKVwp/CukKHgtxCtkTNhQHEkwRnAlRC+cLhwxhDH8KtApICx4L6QoeC4wKMgxIC5MLbQttC20LbQuTC5MLkwuTC20LbQuTC5MLkwtqEIcMpQsfDMILSAtIC20LnAs5C2QLywucC8ILfQw5C7AOsA6sDB8MpQtIC20LSAucC3YL6QrpCh4LSAtIC2QKDg+uD4cMMgysDHYL5wuTC5MLDQweC+kK6QrpCukKFAoFD/APHQ28DRYMtArCC3YLMgwNDB4LHgtXClcKHgv2ChsUHhOZDAUPcQ1hDFELVQ17DYwKFApxCrQKHgv2CsEKDRDNDtsMWAxtC0gLSAttC+kKtArpCrQK6QoeC0gL9grZE74T5wvZDawM8AsNDIALHwxRC7QKtAq0Ch4L6Qo8CtUQ1RAsC98JhwwwDTANAwwDDDAN8AseC1cKFAqmCsEK8AtkC/YKSAu0Cn8KUQsfDE4MTgyQDGEM8AvCC5MLHgsXESoPbQtICx4LSAseCx4LSAtIC0gLHgtIC20LSAseC6ULZAtkC6ULpQvwCzIMkAxODPALwgucC5wLnAttC7QKhRA1EO4MEw1tC5MLSAulC6ULHgvpCrQKHgseCx4L6QrwD64PHwzCC20LbQttC0gLbQttCx4LHgseC+kKSAvcCgcS3xFhDHENhwylC1EL3gsyDLQKfwp/Cn8KtArpCowKNRCtEM0OSQ6mCtwKSAtIC8ILnAttCx4Lfwp/CukKSAt3EOINwQoeCx4LSAtIC0gLbQttC0gLbQttC20LkwtICzYUORPVCGgNzQ6XDRMNHgvuDJcNTgxRC5wJtwnBCm0Lew1lDjIMfQwdDecLhwyHDKULkAwNDG0LbQt/CuwJggmlC8IL6QrpCrQK6QoeC5wL8AsfDE4MTgxODB8MwgvCC4ALOQt/CqYK3ArCC2gN2Q0dDawM8AvCC5MLbQtICx4LywuAC1ELwgvCC5wLywsfDPAL8AvCC0gLHgttC20LSAtQD38Pwgt9DB0NkAzbDNsMlw14DnENpgqFCJwJFAovCuHMybi3r56amYd3c3FubWNiX09ENDIwLSsgHxsSCgMA//vr5tTJxLanpqOXinxuaFpOTEZFOS0iGBULBgUEAwCvlKCwsq2upLGuxLbGwLZEPkI8SHVVWnaIl46gjpsAAAAAAAAAAAABZGZmREQkImCka565tLmLZkBCJCIiAAEg0IuNv5i5m2hgq2imZmZmhAEAAAAAEBAAUG1Oa7mLZ2XQ1I2LrZl7ZyQAAAAAAAABMAAAAAAAACBEh3t3d2dFYkRneHZ2ZkdihoiduLaZi4bQqPhLvY95ayAxIiIiABEC0uuLe7mJaYZih2i2ZLerhmRGREZCQiKDQKZmRCQCAQCGpmZEIiJChNT2notra1dmZNt9eol2Z4Ryh4lpq2oyIqTWjY+5l3lnwCIAAAAAAAHQbUq7hvmfiWZumnZXZXdlAAIAJCRCRCNgpGZkJAACIaeKrmZkVAICZGt4dyTFGAD//v30DAMCAQD//vzgJgMCAQD//vvROQQCAQD//vTDRQQCAQD/++i4VAcCAQD//vC6Vg4CAQD//u+yWx4FAQD/+OOxZBMCAQAAAAAAAAAAAP///5wEmv//////42YPXP//////1VMYSOz/////lkwhP9b///++eU0rN7n////1iUcrO4v/////g0IyQmvC//+mdEw3NX3//wAAAAAAAAAAZAADACgAAwADAAMABQAOAA4ACgALAAMACAAJAAcAAwBbAQAAAAAAAAAAAAAAAAAA/fr06dS2loN4bmJVSDwxKCAZEw8NCwkIBwYFBAMCAQDS0M7Lx8G3qI5oSjQlGxQOCgYEAgAAAAAAAAAAAAAAAN/Jt6eYinxvYlhPRj44MiwnIx8bGBUSEA4MCggGBAMCAQAAAAAAAAAAAAAAAAAAAH0zGhIPDAsKCQgHBgUEAwIBAMZpLRYPDAsKCQgHBgUEAwIBANWidFM7KyAYEg8MCQcGBQMCAO+7dDscEAsKCQgHBgUEAwIBAPrlvIdWMx4TDQoIBgUEAwIBAPnr1bmcgGdTQjUqIRoVEQ0KAP75686kdk0uGxAKBwUEAwIBAP/9+e/cv5x3VTklFw8KBgQCAP/9+/bt38uzmHxiSzcoHRUPAP/+/ffcompDKhwSDAkGBAMCAAAAAAAAAAAAAAAAAPG+soRXSikOAN/BnYxqOScSAAAAAAAAAAAAAAAAAAAAgADWKgDrgBUA9LhICwD41oAqBwD44apQGQUA++zGfjYSAwD67tOfUiMPBQD658uogFg1GQYA/O7YuZRsRygSBAD98+HHpoBaOR8NAwD+9unUt5NtSSwXCgIA//rw38amgFo6IRAGAQD/+/Tn0rWSbksuGQwFAQD//fju3cSkgFw8IxIIAwEA//358uXQtJJuTDAbDgcDAQAAAAAAAAAAAIEAzzIA7IEUAPW5SAoA+dWBKgYA+uKpVxsEAPvpwoI+FAQA+uzPoGMvEQMA//DZtoNRKQsBAP/+6cmfaz0UAgEA//npzqqAVjIXBwEA//ru2bqUbEYnEgYBAP/88+LIpoBaOB4NBAEA//z159G0km5MLxkLBAEA//347dvCo4BdPiUTCAMBAP/++vHizbGRb08zHg8GAgEAAAAAAAAAAACBAMs2AOqBFwD1uEkKAPrXgSkFAPzorVYYAwD98MiBOA8CAP302aReJgoBAP314r2ERxsHAQD99ufLn2k4FwYBAP/469WzhVUvEwUBAP/+893Cn3VGJQwCAQD//vjq0KuAVTAWCAIBAP/++vDcvZVrQyQQBgIBAP/++/PjyaaAWjcdDQUCAQD//vz26tW3k21JKxYKBAIBAAAAAAAAAAAAggDIOgDnghoA9LhMDAD51oIrBgD86K1XGAMA/fHLgzgOAgD+9t2nXiMIAQD++ejBgkEXBQEA//vv06JjLQ8EAQD/+/PfuoNKIQsDAQD//PXmyp5pORgIAgEA//3369azhFQsEwcCAQD//vrw38SfcEUkDwYCAQD//v3159GwiF03GwsDAgEA//79/O/dwp51TCoSBAMCAQAAAAAAAAAAAAAAAgUJDhQbIyw2QU1aaHeHAAAAAAAAAAAAAAAAAAAA/jFDTVJdY8YLEhgfJC3/LkJOV15o0A4VICozQv9eaG1wc3b4NUVQWF9mAAAAAAAAAA8IBwQLDAMCDQoFBgkOAQAAAf8B/wL+Av4D/QABAAH/Av8C/gP+AwAAAAAAAAAAAAL///8AAAEBAAEAAQAAAAAAAQAAAAAAAQAAAAEAAAAAAP8CAQABAQAA//8AAAAAAAAB/wAB/wD/Af4C/v4C/QID/fwD/AQE+wX6+wb5BgUI9wAAAQAAAAAAAAD/AQAAAf8AAf//Af8CAf8C/v4C/gICA/0AAQAAAAAAAAEAAQAAAf8BAAACAf8C//8C/wIC/wP+/v4DAAEAAAEAAf8C/wL/AgP+A/7+BAT9Bf38BvwGBfsI+vv5CQAAAAAAAAAAACD+H/Yf6h/YH8IfqB+IH2IfOh8KH9geoB5iHiIe3B2QHUId7hyWHDoc2BtyGwobnBoqGrQZOhm8GDwYthcuF6AWEBZ+FegUThSwExATbhLIER4RdBDGDxYPZA6uDfgMQAyEC8gKCgpKCYoIxgcCBz4GeAWyBOoDIgNaApIBygAAADb/bv6m/d78FvxO+4j6wvn++Dr4dve29vb1OPV89MDzCPNS8pzx6vA68Izv4u447pLt8OxQ7LLrGOuC6vDpYOnS6EroxOdE58bmTObW5WTl9uSO5CjkxuNq4xLjvuJw4iTi3uGe4WDhKOH24MbgnuB44FjgPuAo4BbgCuAC4ADgAAAAAAAAAAAAAAAAAACAuwAAeAAAABUAAAAVAAAAAJpZPwAAAAAAAIA/AACAPzAAAAADAAAACAAAAHgAAAALAAAAYAAAAFABAACAAQAAgAcAAAMAAABsZwAApGcAANxnAAAUaAAAYAMAAIgBAACAHwAAYCAAAPAhAADgAQAAh4gIO/////8FAGAAAwAgAAQACAACAAQABAABAAAAAAAAAAAAAAAAAPA0AAAgIwAAAAAAAPAAAACJiIg7AQAAAAUAMAADABAABAAEAAQAAQAAAAAAAAAAAAAAAAAAAAAAEDMAACAjAAAAAAAAeAAAAIiICDwCAAAABQAYAAMACAACAAQABAABAAAAAAAAAAAAAAAAAAAAAAAgMgAAICMAAAAAAAA8AAAAiYiIPAMAAAAFAAwAAwAEAAQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAKAiAAAgIwAAAAAAAA8AAAAKAAAABQAAAAYAAAAEAAAAAwAAAA5pAAARaQAAamkAAOBRAADwUQAAEFIAAEBSAACQUgAAIAAKABQuZAEwUwAAcFQAAPBWAAAwVwAAUFcAAPBXAABAWAAAkFgAACAAEABmJqsBsFgAALBaAACwXgAA8F4AABBfAAAQYAAAYGAAALBgAABkAPAAIABkAM08ADAAILh+mnmaeWZmuH4zc09wdXNIZWFkAAIBABkXAgB+fHdtVykTCQQCAAIBAEAAy5YA18OmfW5SAHgAgEAA6J4KAOYA893AtQCrVQDAgEAAzZpmMwDVq4BVKwDgwKCAYEAgAGQoEAcDAQAGAAMABwMAAQoAAgYSCgwEAAIAAAAJBAcEAAMMBwezYwBHOCseFQwGALywm4p3YUMrGgoApXdQPS8jGxQOCQQAcT8AAAkGAwQFCAECBwABAAAAAQ=="; function R(){R.o||(R.o=[]);R.o.push(da());return R.o.length-1}function ea(){x("OOM")}var fa=!1;function y(b){for(var c=[],d=0;d>4; h=(h&15)<<4|p>>2;var A=(p&3)<<6|g;c+=String.fromCharCode(e);64!==p&&(c+=String.fromCharCode(h));64!==g&&(c+=String.fromCharCode(A))}while(d>2]=b);return b},e:function(){return E.length},f:function(b,c,d){F.set(F.subarray(c,c+d),b)},g:function(b){ea(b)},h:function(b){var c=R.o[b];R.o.splice(b,1);ja(c)},i:R,j:function(b,c,d){var e=a.HEAPU32,h=a.HEAPF32,p=[];if(0!==b)for(var g, A=0;A>2]=~~d;$(a,4034,g)|0}c[6760]=1;g=1;J=h;return g|0}case 1:{c[6760]=2;g=1;J=h;return g|0}default:{H(c[6763]|0,48e3);g=1;J=h;return g|0}}return 0}function T(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=ic((c[6763]|0)*23040|0)|0;j=ba(c[6761]|0,a,b,k,5760,0)|0;if((j|0)<0){j=0;jc(k);return j|0}a=c[6764]|0;if((j|0)>(a|0)){i=j-a|0;b=c[6763]|0;f=ic((i<<2)*b|0)|0;g=ic(b<<2)|0;if((b|0)>0){e=0;do{d=f+(e*i<<2)|0;c[g+(e<<2)>>2]=d;h=a;do{c[d+(h-a<<2)>>2]=c[k+((h*b|0)+e<<2)>>2];h=h+1|0}while((h|0)!=(j|0));e=e+1|0}while((e|0)!=(b|0))}G(g|0,b|0,i|0);jc(g);jc(f);b=c[6764]|0}else{b=a;a=j}c[6764]=b-a;j=1;jc(k);return j|0}function U(){return}function V(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function W(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=J;J=J+16|0;g=m;a[g+8>>0]=0;if((e|0)<19){e=0;J=m;return e|0}k=b;j=k;k=k+4|0;k=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;l=g;c[l>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[l+4>>2]=k;if(lc(g,26862,8)|0){e=0;J=m;return e|0}l=a[b+8>>0]|0;k=l&255;c[f>>2]=k;if(k&240|0){e=0;J=m;return e|0}g=a[b+9>>0]|0;k=g&255;c[f+4>>2]=k;if(!(g<<24>>24)){e=0;J=m;return e|0}c[f+8>>2]=(d[b+11>>0]|0)<<8|(d[b+10>>0]|0);j=f+12|0;i=d[b+12>>0]|0;c[j>>2]=i;i=(d[b+13>>0]|0)<<8|i;c[j>>2]=i;i=(d[b+14>>0]|0)<<16|i;c[j>>2]=i;c[j>>2]=(d[b+15>>0]|0)<<24|i;c[f+16>>2]=((d[b+17>>0]|0)<<8|(d[b+16>>0]|0))<<16>>16;j=a[b+18>>0]|0;c[f+20>>2]=j&255;a:do if(!(j<<24>>24))if((g&255)>2){e=0;J=m;return e|0}else{c[f+24>>2]=1;c[f+28>>2]=g<<24>>24==2&1;a[f+32>>0]=0;a[f+33>>0]=1;g=19;break}else{if((e|0)<=19){e=0;J=m;return e|0}h=a[b+19>>0]|0;if(!(h<<24>>24)){e=0;J=m;return e|0}g=h&255;c[f+24>>2]=g;if((e|0)<=20){e=0;J=m;return e|0}n=a[b+20>>0]|0;i=n&255;j=i+g|0;if((h&255)<(n&255)|j>>>0>255){n=0;J=m;return n|0}c[f+28>>2]=i;h=0;g=21;while(1){if((g|0)>=(e|0)){g=0;h=17;break}n=a[b+g>>0]|0;a[f+32+h>>0]=n;g=g+1|0;h=h+1|0;if(!(n<<24>>24==-1|j>>>0>=(n&255)>>>0)){g=0;h=17;break}if(h>>>0>=k>>>0)break a}if((h|0)==17){J=m;return g|0}}while(0);n=((l&255)>1|(g|0)==(e|0))&1;J=m;return n|0}function X(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=J;J=J+304|0;k=l;j=l+296|0;i=l+8|0;if(!(W(c[a>>2]|0,c[a+4>>2]|0,i)|0)){k=0;J=l;return k|0}c[b>>2]=c[i+20>>2];a=c[i+4>>2]|0;c[d>>2]=a;c[e>>2]=c[i+8>>2];d=i+24|0;a=Z(48e3,a,c[d>>2]|0,c[i+28>>2]|0,i+32|0,j)|0;if((a|0)==0|(c[j>>2]|0)!=0){k=0;J=l;return k|0}c[h>>2]=c[d>>2];b=i+16|0;d=c[b>>2]|0;a:do if(d|0){c[k>>2]=d;k=$(a,4034,k)|0;c[j>>2]=k;switch(k|0){case 0:break a;case -5:{f[g>>2]=+t(10.0,+(+(c[b>>2]|0)/5120.0));break a}default:{k=0;J=l;return k|0}}}while(0);k=a;J=l;return k|0}function Y(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if((e+-1|0)>>>0>254){j=-1;return j|0}if((255-g|0)<(f|0)|((g|0)<0|((f|0)<1|(g|0)>(f|0)))){j=-1;return j|0}c[b>>2]=e;j=b+4|0;c[j>>2]=f;i=b+8|0;c[i>>2]=g;f=0;do{a[b+12+f>>0]=a[h+f>>0]|0;f=f+1|0}while((f|0)!=(e|0));if(!(la(b)|0)){j=-1;return j|0}g=b+268|0;f=fa(2)|0;b=fa(1)|0;a:do if((c[i>>2]|0)>0){h=f+3&-4;e=0;while(1){f=ga(g,d,2)|0;if(f|0)break;g=g+h|0;e=e+1|0;if((e|0)>=(c[i>>2]|0))break a}return f|0}else e=0;while(0);if((e|0)>=(c[j>>2]|0)){j=0;return j|0}h=b+3&-4;while(1){f=ga(g,d,1)|0;if(f|0){g=14;break}e=e+1|0;if((e|0)>=(c[j>>2]|0)){f=0;g=14;break}else g=g+h|0}if((g|0)==14)return f|0;return 0}function Z(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((b+-1|0)>>>0<=254?!((255-e|0)<(d|0)|((e|0)<0|((d|0)<1|(d|0)<(e|0)))):0){h=fa(2)|0;h=ic(((h+3&-4)*e|0)+268+(((fa(1)|0)+3&-4)*(d-e|0)|0)|0)|0;if(!h){if(!g){g=0;return g|0}c[g>>2]=-7;g=0;return g|0}a=Y(h,a,b,d,e,f)|0;if(g|0)c[g>>2]=a;if(!a){g=h;return g|0}jc(h);g=0;return g|0}if(!g){g=0;return g|0}c[g>>2]=-1;g=0;return g|0}function _(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=J;J=J+112|0;A=C+96|0;u=C;t=C+104|0;k=C+100|0;c[A>>2]=k;$(b,4029,A)|0;B=((c[k>>2]|0)/25|0)*3|0;h=(B|0)>(h|0)?h:B;B=F()|0;z=J;J=J+((1*(h<<1<<2)|0)+15&-16)|0;m=b+268|0;x=fa(2)|0;y=fa(1)|0;v=(e|0)==0;if((e|0)<0){b=-1;E(B|0);J=C;return b|0}w=b+4|0;if(!v){s=c[w>>2]|0;if(((s<<1)+-1|0)>(e|0)){b=-4;E(B|0);J=C;return b|0}n=c[k>>2]|0;r=s+-1|0;a:do if((s|0)>0){o=d;p=e;q=0;k=0;while(1){if((p|0)<1){l=-4;break a}l=ea(o,p,(q|0)!=(r|0)&1,A,0,u,0,t)|0;if((l|0)<0)break a;l=ka(o,c[t>>2]|0,n)|0;if(!((q|0)==0|(k|0)==(l|0))){l=-4;break a}k=c[t>>2]|0;q=q+1|0;if((q|0)>=(s|0))break;else{o=o+k|0;p=p-k|0;k=l}}}else l=0;while(0);k=(l|0)<0;if(k|(l|0)>(h|0)){b=k?l:-2;E(B|0);J=C;return b|0}}k=c[w>>2]|0;b:do if((k|0)>0){q=b+8|0;p=z+4|0;c:do if(v){n=0;l=m;m=0;while(1){e=l;l=l+(((m|0)<(c[q>>2]|0)?x:y)+3&-4)|0;c[A>>2]=0;h=ha(e,d,n,z,h,i,(m|0)!=(k+-1|0)&1,A,j)|0;e=c[A>>2]|0;d=d+e|0;n=n-e|0;if((h|0)<1)break c;if((m|0)<(c[q>>2]|0)){k=ma(b,m,-1)|0;if((k|0)!=-1)do{M[g&1](f,c[b>>2]|0,k,z,2,h);k=ma(b,m,k)|0}while((k|0)!=-1);k=na(b,m,-1)|0;if((k|0)!=-1)do{M[g&1](f,c[b>>2]|0,k,p,2,h);k=na(b,m,k)|0}while((k|0)!=-1)}else{k=oa(b,m,-1)|0;if((k|0)!=-1)do{M[g&1](f,c[b>>2]|0,k,z,1,h);k=oa(b,m,k)|0}while((k|0)!=-1)}m=m+1|0;k=c[w>>2]|0;if((m|0)>=(k|0)){m=b;break b}}}else{o=e;n=0;while(1){l=m;m=m+(((n|0)<(c[q>>2]|0)?x:y)+3&-4)|0;if((o|0)<1){h=-3;break c}c[A>>2]=0;h=ha(l,d,o,z,h,i,(n|0)!=(k+-1|0)&1,A,j)|0;e=c[A>>2]|0;d=d+e|0;o=o-e|0;if((h|0)<1)break c;if((n|0)<(c[q>>2]|0)){k=ma(b,n,-1)|0;if((k|0)!=-1)do{M[g&1](f,c[b>>2]|0,k,z,2,h);k=ma(b,n,k)|0}while((k|0)!=-1);k=na(b,n,-1)|0;if((k|0)!=-1)do{M[g&1](f,c[b>>2]|0,k,p,2,h);k=na(b,n,k)|0}while((k|0)!=-1)}else{k=oa(b,n,-1)|0;if((k|0)!=-1)do{M[g&1](f,c[b>>2]|0,k,z,1,h);k=oa(b,n,k)|0}while((k|0)!=-1)}n=n+1|0;k=c[w>>2]|0;if((n|0)>=(k|0)){m=b;break b}}}while(0);b=h;E(B|0);J=C;return b|0}else m=b;while(0);k=c[m>>2]|0;if((k|0)<=0){b=h;E(B|0);J=C;return b|0}l=0;do{if((a[b+12+l>>0]|0)==-1){M[g&1](f,k,l,0,0,h);k=c[m>>2]|0}l=l+1|0}while((l|0)<(k|0));E(B|0);J=C;return h|0}function $(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=J;J=J+48|0;l=p+40|0;j=p+32|0;m=p+24|0;f=p+16|0;g=p;k=p+44|0;c[g>>2]=d;n=fa(2)|0;o=fa(1)|0;e=a+268|0;a:do switch(b|0){case 4047:case 4039:case 4045:case 4029:case 4009:{o=(c[g>>2]|0)+(4-1)&~(4-1);d=c[o>>2]|0;c[g>>2]=o+4;c[f>>2]=d;d=ja(e,b,f)|0;e=26;break}case 4031:{l=(c[g>>2]|0)+(4-1)&~(4-1);j=c[l>>2]|0;c[g>>2]=l+4;if(!j){e=27;break a}c[j>>2]=0;i=a+4|0;b:do if((c[i>>2]|0)>0){h=a+8|0;g=0;while(1){f=c[h>>2]|0;c[m>>2]=k;d=ja(e,4031,m)|0;if(d|0)break b;c[j>>2]=c[j>>2]^c[k>>2];d=g+1|0;if((d|0)<(c[i>>2]|0)){e=e+(((g|0)<(f|0)?n:o)+3&-4)|0;g=d}else{d=0;break}}}else d=0;while(0);e=26;break}case 4028:{i=a+4|0;if((c[i>>2]|0)>0){h=a+8|0;g=0;while(1){f=c[h>>2]|0;d=ja(e,4028,j)|0;if(d|0){e=26;break a}d=g+1|0;if((d|0)<(c[i>>2]|0)){e=e+(((g|0)<(f|0)?n:o)+3&-4)|0;g=d}else{d=0;e=26;break}}}else{d=0;e=26}break}case 5122:{m=(c[g>>2]|0)+(4-1)&~(4-1);h=c[m>>2]|0;c[g>>2]=m+4;if((h|0)>=0?(h|0)<(c[a+4>>2]|0):0)d=0;else d=-1;m=(c[g>>2]|0)+(4-1)&~(4-1);i=c[m>>2]|0;c[g>>2]=m+4;if(!i)e=27;else{if((h|0)>0){g=c[a+8>>2]|0;f=0;do{e=e+(((f|0)<(g|0)?n:o)+3&-4)|0;f=f+1|0}while((f|0)!=(h|0))}c[i>>2]=e;e=26}break}case 4046:case 4034:{i=(c[g>>2]|0)+(4-1)&~(4-1);j=c[i>>2]|0;c[g>>2]=i+4;i=a+4|0;if((c[i>>2]|0)>0){h=a+8|0;g=0;while(1){f=c[h>>2]|0;c[l>>2]=j;d=ja(e,b,l)|0;if(d|0){e=26;break a}d=g+1|0;if((d|0)<(c[i>>2]|0)){e=e+(((g|0)<(f|0)?n:o)+3&-4)|0;g=d}else{d=0;e=26;break}}}else{d=0;e=26}break}default:{d=-5;e=26}}while(0);if((e|0)==26){o=d;J=p;return o|0}else if((e|0)==27){o=-1;J=p;return o|0}return 0}function aa(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;i=(h|0)>0;if(!e){if(!i)return;i=0;do{f[a+((i*b|0)+d<<2)>>2]=0.0;i=i+1|0}while((i|0)!=(h|0));return}else{if(!i)return;i=0;do{c[a+((i*b|0)+d<<2)>>2]=c[e+(i*g<<2)>>2];i=i+1|0}while((i|0)!=(h|0));return}}function ba(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return _(a,b,c,d,1,e,f,0)|0}function ca(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,s=0,t=0.0,u=0.0;if(!((d|0)!=0&((a|0)!=0&((b|0)>0&(c|0)>0))))return;g=c*b|0;if((g|0)>0){e=0;do{s=a+(e<<2)|0;o=+f[s>>2];p=o>2.0;q=(p?2.0:o)<-2.0;f[s>>2]=p|q?(q?-2.0:2.0):o;e=e+1|0}while((e|0)!=(g|0))}s=0;do{p=a+(s<<2)|0;q=d+(s<<2)|0;h=+f[q>>2];g=0;do{e=p+(g*c<<2)|0;i=+f[e>>2];j=h*i;if(j>=0.0)break;f[e>>2]=i+i*j;g=g+1|0}while((g|0)<(b|0));o=+f[p>>2];n=0;while(1){a:do if((n|0)<(b|0)){e=n;do{j=+f[p+(e*c<<2)>>2];if(j>1.0|j<-1.0)break a;e=e+1|0}while((e|0)<(b|0))}else e=n;while(0);if((e|0)==(b|0)){h=0.0;break}j=+f[p+(e*c<<2)>>2];h=+r(+j);b:do if((e|0)>0){g=e;while(1){k=g+-1|0;if(!(j*+f[p+(k*c<<2)>>2]>=0.0))break b;if((g|0)>1)g=k;else{g=k;break}}}else g=e;while(0);c:do if((e|0)<(b|0)){l=e;i=h;while(1){h=+f[p+(l*c<<2)>>2];if(!(j*h>=0.0)){h=i;m=e;break c}h=+r(+h);k=h>i;h=k?h:i;k=k?l:e;e=l+1|0;if((e|0)<(b|0)){l=e;i=h;e=k}else{l=e;m=k;break}}}else{l=e;m=e}while(0);if(!g)k=j*+f[p>>2]>=0.0;else k=0;h=(h+-1.0)/(h*h);h=h+h*2.399999914359796e-07;h=j>0.0?-h:h;if((g|0)<(l|0)){e=g;do{g=p+(e*c<<2)|0;j=+f[g>>2];f[g>>2]=j+j*(h*j);e=e+1|0}while((e|0)!=(l|0))}if((m|0)>1&k?(u=o-+f[p>>2],t=u/+(m|0),(n|0)<(m|0)):0){e=n;i=u;do{i=i-t;n=p+(e*c<<2)|0;j=i+ +f[n>>2];g=j>1.0;k=(g?1.0:j)<-1.0;f[n>>2]=g|k?(k?-1.0:1.0):j;e=e+1|0}while((e|0)!=(m|0))}if((l|0)==(b|0))break;else n=l}f[q>>2]=h;s=s+1|0}while((s|0)!=(c|0));return}function da(a,b){a=a|0;b=b|0;a=d[a>>0]|0;if(a&128|0){b=(b<<(a>>>3&3)|0)/400|0;return b|0}if((a&96|0)==96)if(!(a&8)){b=(b|0)/100|0;return b|0}else{b=(b|0)/50|0;return b|0}else{a=a>>>3&3;if((a|0)==3){b=(b*60|0)/1e3|0;return b|0}else{b=(b<>0]|0;n=R&255;do if(!(n&128)){if((n&96|0)==96){n=(n&8|0)==0?480:960;break}n=n>>>3&3;if((n|0)==3)n=2880;else n=(48e3<>>0)/100|0}else n=(48e3<<(n>>>3&3)>>>0)/400|0;while(0);q=e+1|0;s=f+-1|0;a:do switch(R&3){case 0:{D=0;E=1;C=q;B=s;o=s;A=0;v=47;break}case 1:{if(!g)if(!(s&1)){H=s>>>1;b[j>>1]=H;F=2;G=q;I=0;v=61;break a}else{R=-4;return R|0}else{N=1;P=2;M=q;O=s;J=s;Q=0;v=48}break}case 2:{if((f|0)<2){b[j>>1]=-1;R=-4;return R|0}n=a[q>>0]|0;o=n&255;do if((n&255)<252){f=1;n=n&255}else{if((f|0)>=3){f=2;n=(d[e+2>>0]<<2)+o&65535;break}b[j>>1]=-1;R=-4;return R|0}while(0);b[j>>1]=n;o=s-f|0;n=n<<16>>16;if((o|0)<(n|0)){R=-4;return R|0}else{D=0;E=2;C=q+f|0;B=o-n|0;A=0;v=47;break a}}default:{if((f|0)<2){R=-4;return R|0}p=e+2|0;q=d[q>>0]|0;z=q&63;if((z|0)==0|(z*n|0)>>>0>5760){R=-4;return R|0}f=f+-2|0;if(q&64){n=p;p=0;do{if((f|0)<1){y=-4;v=75;break}w=n;n=n+1|0;w=a[w>>0]|0;x=w<<24>>24==-1;w=x?254:w&255;f=f+-1-w|0;p=w+p|0}while(x);if((v|0)==75)return y|0;if((f|0)<0){R=-4;return R|0}else{r=n;x=p}}else{r=p;x=0}w=q>>>7^1;if(!(q&128)){if(g|0){N=w;P=z;M=r;O=s;J=f;Q=x;v=48;break a}p=(f|0)/(z|0)|0;if((p*z|0)!=(f|0)){R=-4;return R|0}q=z+-1|0;if(z>>>0<=1){F=z;G=r;H=p;I=x;v=61;break a}n=p&65535;o=0;while(1){b[j+(o<<1)>>1]=n;o=o+1|0;if((o|0)==(q|0)){D=w;E=z;C=r;B=p;o=f;A=x;v=47;break a}}}v=z+-1|0;if(z>>>0>1){s=0;u=f;t=f;while(1){q=j+(s<<1)|0;if((t|0)<1){v=33;break}n=a[r>>0]|0;f=n&255;if((n&255)<252){p=1;n=n&255}else{if((t|0)<2){v=37;break}p=2;n=(d[r+1>>0]<<2)+f&65535}b[q>>1]=n;t=t-p|0;n=n<<16>>16;if((t|0)<(n|0)){y=-4;v=75;break}r=r+p|0;u=u-p-n|0;s=s+1|0;if((s|0)>=(v|0)){v=41;break}}if((v|0)==33){b[q>>1]=-1;R=-4;return R|0}else if((v|0)==37){b[q>>1]=-1;R=-4;return R|0}else if((v|0)==41){if((u|0)<0)y=-4;else{D=w;E=z;C=r;B=u;o=t;A=x;v=47;break a}return y|0}else if((v|0)==75)return y|0}else{D=w;E=z;C=r;B=f;o=f;A=x;v=47}}}while(0);if((v|0)==47)if(!g){F=E;G=C;H=B;I=A;v=61}else{N=D;P=E;M=C;O=B;J=o;Q=A;v=48}do if((v|0)==48){n=j+(P<<1)+-2|0;do if((J|0)>=1){m=a[M>>0]|0;if((m&255)<252){q=m&255;r=1;break}if((J|0)>=2){q=(d[M+1>>0]<<2)+(m&255)&65535;r=2}else{q=-1;r=-1}}else{q=-1;r=-1}while(0);b[n>>1]=q;o=J-r|0;p=P+-1|0;f=j+(p<<1)|0;n=q<<16>>16;if(q<<16>>16<0|(o|0)<(n|0)){R=-4;return R|0}m=M+r|0;if(!N){if((r+n|0)>(O|0))y=-4;else{L=P;K=Q;break}return y|0}if((P*n|0)>(o|0)){R=-4;return R|0}if((P|0)>1?(b[j>>1]=q,(p|0)!=1):0){n=1;do{b[j+(n<<1)>>1]=b[f>>1]|0;n=n+1|0}while((n|0)!=(p|0));L=P;K=Q}else{L=P;K=Q}}else if((v|0)==61)if((H|0)>1275){R=-4;return R|0}else{b[j+(F+-1<<1)>>1]=H;L=F;m=G;K=I;break}while(0);if(k|0)c[k>>2]=m-e;if(L)if(!i){n=0;do{m=m+(b[j+(n<<1)>>1]|0)|0;n=n+1|0}while((n|0)!=(L|0))}else{n=0;do{c[i+(n<<2)>>2]=m;m=m+(b[j+(n<<1)>>1]|0)|0;n=n+1|0}while((n|0)!=(L|0))}if(l|0)c[l>>2]=K-e+m;if(!h){R=L;return R|0}a[h>>0]=R;R=L;return R|0}function fa(a){a=a|0;var b=0,d=0;d=J;J=J+16|0;b=d;if((a+-1|0)>>>0>1){b=0;J=d;return b|0}if(Za(b)|0){b=0;J=d;return b|0}c[b>>2]=(c[b>>2]|0)+3&-4;a=pa(a)|0;b=a+88+(c[b>>2]|0)|0;J=d;return b|0}function ga(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=J;J=J+16|0;g=h;e=h+8|0;f=h+4|0;a:do if((b|0)<16e3)if((b|0)<12e3){switch(b|0){case 8e3:break a;default:e=-1}J=h;return e|0}else{switch(b|0){case 12e3:break a;default:e=-1}J=h;return e|0}else{if((b|0)<24e3){switch(b|0){case 16e3:break a;default:e=-1}J=h;return e|0}if((b|0)<48e3){switch(b|0){case 24e3:break a;default:e=-1}J=h;return e|0}else{switch(b|0){case 48e3:break a;default:e=-1}J=h;return e|0}}while(0);if((d+-1|0)>>>0>1){g=-1;J=h;return g|0}if(!(Za(e)|0)){c[e>>2]=(c[e>>2]|0)+3&-4;i=pa(d)|0;e=i+88+(c[e>>2]|0)|0}else e=0;tc(a|0,0,e|0)|0;if(Za(f)|0){i=-3;J=h;return i|0}e=(c[f>>2]|0)+3&-4;c[f>>2]=e;c[a+4>>2]=88;e=e+88|0;c[a>>2]=e;e=a+e|0;c[a+8>>2]=d;c[a+48>>2]=d;c[a+12>>2]=b;c[a+24>>2]=b;c[a+16>>2]=d;if(_a(a+88|0)|0){i=-3;J=h;return i|0}if(qa(e,b,d)|0){i=-3;J=h;return i|0}c[g>>2]=0;ra(e,10016,g)|0;c[a+60>>2]=0;c[a+64>>2]=(b>>>0)/400|0;c[a+44>>2]=0;i=0;J=h;return i|0}function ha(a,e,g,h,i,j,k,l,m){a=a|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=J;J=J+112|0;q=A+96|0;o=A+100|0;z=A;if(j>>>0>1){a=-1;J=A;return a|0}r=(j|0)!=0;j=(g|0)==0;n=(e|0)==0;if(n|(j|r)?(i|0)%((c[a+12>>2]|0)/400|0|0)|0|0:0){a=-1;J=A;return a|0}if(n|j){n=a+8|0;g=0;do{j=ia(a,0,0,h+((c[n>>2]|0)*g<<2)|0,i-g|0,0)|0;z=(j|0)<0;g=(z?0:j)+g|0;if(z){w=j;x=42;break}}while((g|0)<(i|0));if((x|0)==42){J=A;return w|0}c[a+72>>2]=g;a=g;J=A;return a|0}if((g|0)<0){a=-1;J=A;return a|0}n=d[e>>0]|0;u=(n&128|0)==0;j=(n&96|0)==96;v=u?(j?1001:1e3):1002;do if(u)if(j){t=n>>>4&1|1104;break}else{t=(n>>>5&3)+1101|0;break}else{t=n>>>5&3;t=(t|0)==0?1101:t+1102|0}while(0);j=a+12|0;u=da(e,c[j>>2]|0)|0;s=((d[e>>0]|0)>>>2&1)+1&255;p=ea(e,g,k,o,0,z,q,l)|0;if((p|0)<0){a=p;J=A;return a|0}l=e+(c[q>>2]|0)|0;if(!r){if((p*u|0)>(i|0)){a=-2;J=A;return a|0}c[a+56>>2]=v;c[a+52>>2]=t;c[a+64>>2]=u;c[a+48>>2]=s;a:do if((p|0)>0){o=a+8|0;k=0;j=0;while(1){g=z+(k<<1)|0;n=ia(a,l,b[g>>1]|0,h+((c[o>>2]|0)*j<<2)|0,i-j|0,0)|0;if((n|0)<0){w=n;break}j=n+j|0;k=k+1|0;if((k|0)>=(p|0))break a;else l=l+(b[g>>1]|0)|0}J=A;return w|0}else j=0;while(0);c[a+72>>2]=j;if(!m){f[a+80>>2]=0.0;f[a+76>>2]=0.0;a=j;J=A;return a|0}else{ca(h,j,c[a+8>>2]|0,a+76|0);a=j;J=A;return a|0}}if(!((v|0)==1002|(u|0)>(i|0))?(y=a+56|0,(c[y>>2]|0)!=1002):0){p=a+72|0;k=c[p>>2]|0;o=i-u|0;b:do if(!o)j=a+8|0;else{c:do if(!((o|0)%((c[j>>2]|0)/400|0|0)|0)){n=a+8|0;g=0;do{j=ia(a,0,0,h+((c[n>>2]|0)*g<<2)|0,o-g|0,0)|0;m=(j|0)<0;g=(m?0:j)+g|0;if(m)break c}while((g|0)<(o|0));c[p>>2]=g;j=n;break b}else j=-1;while(0);c[p>>2]=k;a=j;J=A;return a|0}while(0);c[y>>2]=v;c[a+52>>2]=t;c[a+64>>2]=u;c[a+48>>2]=s;j=ia(a,l,b[z>>1]|0,h+((c[j>>2]|0)*o<<2)|0,u,1)|0;if((j|0)<0){a=j;J=A;return a|0}c[p>>2]=i;a=i;J=A;return a|0}if((i|0)%((c[j>>2]|0)/400|0|0)|0|0){a=-1;J=A;return a|0}n=a+8|0;g=0;do{j=ia(a,0,0,h+((c[n>>2]|0)*g<<2)|0,i-g|0,0)|0;z=(j|0)<0;g=(z?0:j)+g|0;if(z){w=j;x=42;break}}while((g|0)<(i|0));if((x|0)==42){J=A;return w|0}c[a+72>>2]=g;a=g;J=A;return a|0}function ia(a,d,e,h,i,j){a=a|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=J;J=J+144|0;V=ga+80|0;U=ga+72|0;T=ga+64|0;R=ga+56|0;N=ga+48|0;M=ga+40|0;Q=ga+32|0;L=ga+24|0;K=ga+16|0;I=ga+8|0;H=ga;ea=ga+96|0;A=ga+88|0;fa=ga+84|0;c[fa>>2]=0;z=a+(c[a+4>>2]|0)|0;S=a+(c[a>>2]|0)|0;$=a+12|0;aa=c[$>>2]|0;O=(aa|0)/50|0;t=O>>1;_=O>>2;ca=O>>3;if((ca|0)>(i|0)){a=-2;J=ga;return a|0}n=((aa|0)/25|0)*3|0;n=(n|0)>(i|0)?i:n;do if((e|0)>=2)if(d){o=c[a+64>>2]|0;i=c[a+56>>2]|0;xa(ea,d,e);k=c[a+60>>2]|0;if((k|0)>0){l=(i|0)==1002;k=(k|0)==1002;if(!(!(k|l^1)?!(c[a+68>>2]|0):0)){if(l){k=o;l=1;o=d;i=1002;s=19;break}if(!k){k=o;l=1;o=d;s=19;break}}da=(c[a+8>>2]|0)*_|0;r=l?1:da;k=F()|0;p=J;J=J+((1*((l?da:1)<<2)|0)+15&-16)|0;l=(i|0)==1002;if(l){ia(a,0,0,p,(_|0)<(o|0)?_:o,0)|0;da=k;ba=o;u=1;G=l;i=1002;x=p;B=r;C=1}else{da=k;ba=o;u=1;G=l;x=0;B=r;C=1}}else{k=o;l=1;o=d;s=19}}else s=5;else{s=c[a+64>>2]|0;n=(n|0)<(s|0)?n:s;s=5}while(0);do if((s|0)==5){i=c[a+60>>2]|0;if(!i){i=(c[a+8>>2]|0)*n|0;if((i|0)<=0){a=n;J=ga;return a|0}tc(h|0,0,i<<2|0)|0;a=n;J=ga;return a|0}if((n|0)<=(O|0)){if((n|0)>=(O|0)){k=n;l=0;o=0;s=19;break}k=(n|0)>(t|0)?t:(n|0)<(t|0)&((n|0)>(_|0)&(i|0)!=1e3)?_:n;l=0;o=0;s=19;break}l=a+8|0;k=n;while(1){i=ia(a,0,0,h,(k|0)<(O|0)?k:O,0)|0;k=k-i|0;if((i|0)<0){s=115;break}if((k|0)<=0){i=n;s=115;break}else h=h+((c[l>>2]|0)*i<<2)|0}if((s|0)==115){J=ga;return i|0}}while(0);if((s|0)==19){da=F()|0;ba=k;u=l;G=(i|0)==1002;d=o;x=0;B=1;C=0}a:do if((ba|0)>(n|0))i=-1;else{do if(!G){s=a+8|0;v=J;J=J+((1*((c[s>>2]|0)*((t|0)>(ba|0)?t:ba)<<1)|0)+15&-16)|0;if((c[a+60>>2]|0)==1002)_a(z)|0;D=(ba*1e3|0)/(c[$>>2]|0)|0;r=a+16|0;c[a+32>>2]=(D|0)>10?D:10;if(u){c[a+20>>2]=c[a+48>>2];if((i|0)==1e3){k=c[a+52>>2]|0;k=(k|0)==1101?8e3:(k|0)==1102?12e3:16e3}else k=16e3;c[a+28>>2]=k}l=(d|0)==0?1:j<<1;p=a+44|0;if(!l){l=0;n=v;while(1){if($a(z,r,0,(l|0)==0&1,ea,n,A,c[p>>2]|0)|0){i=-3;break a}k=c[A>>2]|0;l=k+l|0;if((l|0)>=(ba|0))break;else n=n+((c[s>>2]|0)*k<<1)|0}}else{n=0;o=v;while(1){if($a(z,r,l,(n|0)==0&1,ea,o,A,c[p>>2]|0)|0?(c[A>>2]=ba,y=(c[s>>2]|0)*ba|0,(y|0)>0):0)tc(o|0,0,y<<1|0)|0;k=c[A>>2]|0;n=k+n|0;if((n|0)>=(ba|0))break;else o=o+((c[s>>2]|0)*k<<1)|0}}k=(j|0)==0;if(k&u){l=ea+20|0;k=ea+28|0;D=w(c[k>>2]|0)|0;if(((c[l>>2]|0)+-15+D+((c[a+56>>2]|0)==1001?20:0)|0)>(e<<3|0)){p=17;r=0;l=1;D=i;t=0;u=0;k=1;o=v}else{if((i|0)==1001){o=Ba(ea,12)|0;if(!o){p=17;r=0;l=1;D=1001;t=0;u=0;k=1;o=v;break}r=Ba(ea,1)|0;p=(Da(ea,256)|0)+2|0;n=w(c[k>>2]|0)|0;k=c[l>>2]|0}else{r=Ba(ea,1)|0;o=c[l>>2]|0;p=w(c[k>>2]|0)|0;n=p;p=e-(o+-25+p>>3)|0;k=o;o=1}e=e-p|0;t=(e<<3|0)<(k+-32+n|0);u=t?0:p;p=ea+4|0;c[p>>2]=(c[p>>2]|0)-u;p=17;l=1;e=t?0:e;D=i;t=t?0:o;k=1;o=v}}else{p=17;r=0;l=1;D=i;t=0;u=0;o=v}}else{o=J;J=J+16|0;p=0;r=0;l=0;D=1002;t=0;u=0;k=(j|0)==0}while(0);switch(c[a+52>>2]|0){case 1101:{i=13;break}case 1103:case 1102:{i=17;break}case 1104:{i=19;break}default:i=21}c[H>>2]=i;ra(S,10012,H)|0;c[I>>2]=c[a+48>>2];ra(S,10008,I)|0;A=(t|0)!=0;i=J;J=J+((1*((A?1:B)<<2)|0)+15&-16)|0;v=C&(A^1);if(l&v){ia(a,0,0,i,(_|0)<(ba|0)?_:ba,0)|0;x=i}if(A){i=J;J=J+((1*((c[a+8>>2]|0)*_<<2)|0)+15&-16)|0;if(!r){l=0;z=0;n=i}else{c[K>>2]=0;ra(S,10010,K)|0;sa(S,d+e|0,u,i,_,0,0)|0;c[L>>2]=fa;ra(S,4031,L)|0;l=1;z=1;n=i}}else{n=J;J=J+16|0;l=0;z=(r|0)!=0}c[Q>>2]=p;ra(S,10010,Q)|0;if((D|0)==1e3){b[Q>>1]=-1;i=(c[a+8>>2]|0)*ba|0;if((i|0)>0)tc(h|0,0,i<<2|0)|0;do if((c[a+60>>2]|0)==1001){if(l?c[a+68>>2]|0:0)break;c[N>>2]=0;ra(S,10010,N)|0;sa(S,Q,2,h,ca,0,0)|0}while(0);y=0}else{i=(O|0)<(ba|0)?O:ba;O=c[a+60>>2]|0;if((D|0)!=(O|0)&(O|0)>0?(c[a+68>>2]|0)==0:0)ra(S,4028,M)|0;y=sa(S,k?d:0,e,h,i,ea,0)|0}if(!G?(P=(c[a+8>>2]|0)*ba|0,(P|0)>0):0){i=0;do{O=h+(i<<2)|0;f[O>>2]=+f[O>>2]+ +(b[o+(i<<1)>>1]|0)*.000030517578125;i=i+1|0}while((i|0)<(P|0))}c[R>>2]=Q;ra(S,10015,R)|0;s=c[(c[Q>>2]|0)+60>>2]|0;if(!((t|0)==0|z)?(ra(S,4028,T)|0,c[U>>2]=0,ra(S,10010,U)|0,sa(S,d+e|0,u,n,_,0,0)|0,c[V>>2]=fa,ra(S,4031,V)|0,W=c[a+8>>2]|0,X=h+(W*(ba-ca|0)<<2)|0,Y=n+(W*ca<<2)|0,Z=48e3/(c[$>>2]|0)|0,(aa|0)>399&(W|0)>0):0){i=0;do{k=0;do{m=+f[s+(k*Z<<2)>>2];m=m*m;U=(k*W|0)+i|0;V=X+(U<<2)|0;f[V>>2]=m*+f[Y+(U<<2)>>2]+(1.0-m)*+f[V>>2];k=k+1|0}while((k|0)!=(ca|0));i=i+1|0}while((i|0)!=(W|0))}if(l){r=c[a+8>>2]|0;p=(r|0)>0;if(p&(aa|0)>399){i=0;do{k=0;do{Z=(k*r|0)+i|0;c[h+(Z<<2)>>2]=c[n+(Z<<2)>>2];k=k+1|0}while((k|0)<(ca|0));i=i+1|0}while((i|0)<(r|0))}o=r*ca|0;l=n+(o<<2)|0;n=h+(o<<2)|0;o=48e3/(c[$>>2]|0)|0;if((aa|0)>399&p){i=0;do{k=0;do{m=+f[s+(k*o<<2)>>2];m=m*m;Y=(k*r|0)+i|0;Z=n+(Y<<2)|0;f[Z>>2]=m*+f[Z>>2]+(1.0-m)*+f[l+(Y<<2)>>2];k=k+1|0}while((k|0)!=(ca|0));i=i+1|0}while((i|0)!=(r|0))}}b:do if(v){p=c[a+8>>2]|0;if((ba|0)<(_|0)){l=48e3/(c[$>>2]|0)|0;if(!((aa|0)>399&(p|0)>0))break;i=0;while(1){k=0;do{m=+f[s+(k*l<<2)>>2];m=m*m;$=(k*p|0)+i|0;aa=h+($<<2)|0;f[aa>>2]=m*+f[aa>>2]+(1.0-m)*+f[x+($<<2)>>2];k=k+1|0}while((k|0)!=(ca|0));i=i+1|0;if((i|0)==(p|0))break b}}k=p*ca|0;if((k|0)>0){i=0;do{c[h+(i<<2)>>2]=c[x+(i<<2)>>2];i=i+1|0}while((i|0)<(k|0))}o=x+(k<<2)|0;n=h+(k<<2)|0;l=48e3/(c[$>>2]|0)|0;if((aa|0)>399&(p|0)>0){i=0;do{k=0;do{m=+f[s+(k*l<<2)>>2];m=m*m;$=(k*p|0)+i|0;aa=n+($<<2)|0;f[aa>>2]=m*+f[aa>>2]+(1.0-m)*+f[o+($<<2)>>2];k=k+1|0}while((k|0)!=(ca|0));i=i+1|0}while((i|0)!=(p|0))}}while(0);i=c[a+40>>2]|0;if(i|0){m=+(i|0)*6.488140788860619e-04;i=~~+q(+m);if((i|0)<-50)m=0.0;else{m=m-+(i|0);m=(c[g>>2]=(i<<23)+(f[g>>2]=m*(m*(m*.07802452147006989+.22606715559959412)+.6958335638046265)+.9999251961708069,c[g>>2]|0)&2147483647,+f[g>>2])}k=(c[a+8>>2]|0)*ba|0;if((k|0)>0){i=0;do{ca=h+(i<<2)|0;f[ca>>2]=m*+f[ca>>2];i=i+1|0}while((i|0)<(k|0))}}if((e|0)<2)i=0;else i=c[fa>>2]^c[ea+28>>2];c[a+84>>2]=i;c[a+60>>2]=D;c[a+68>>2]=A&(z^1)&1;i=(y|0)<0?y:ba}while(0);E(da|0);a=i;J=ga;return a|0}function ja(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=J;J=J+48|0;h=l+40|0;g=l+32|0;f=l+24|0;i=l+16|0;k=l;e=c[a+4>>2]|0;j=a+(c[a>>2]|0)|0;c[k>>2]=d;a:do switch(b|0){case 4009:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if(!e)b=24;else{c[e>>2]=c[a+52>>2];e=0;b=23}break}case 4031:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if(!e)b=24;else{c[e>>2]=c[a+84>>2];e=0;b=23}break}case 4028:{e=a+e|0;b=a+48|0;d=b;f=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));ra(j,4028,i)|0;_a(e)|0;c[b>>2]=c[a+8>>2];c[a+64>>2]=(c[a+12>>2]|0)/400|0;e=0;b=23;break}case 4029:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if(!e)b=24;else{c[e>>2]=c[a+12>>2];e=0;b=23}break}case 4033:{i=(c[k>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[k>>2]=i+4;if(e)if((c[a+60>>2]|0)==1002){c[f>>2]=e;ra(j,4033,f)|0;e=0;b=23;break a}else{c[e>>2]=c[a+36>>2];e=0;b=23;break a}else b=24;break}case 4045:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if(!e)b=24;else{c[e>>2]=c[a+40>>2];e=0;b=23}break}case 4034:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if((e+32768|0)>>>0>65535)b=24;else{c[a+40>>2]=e;e=0;b=23}break}case 4039:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if(!e)b=24;else{c[e>>2]=c[a+72>>2];e=0;b=23}break}case 4046:{a=(c[k>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[k>>2]=a+4;if(e>>>0>1)b=24;else{c[g>>2]=e;ra(j,4046,g)|0;e=0;b=23}break}case 4047:{a=(c[k>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[k>>2]=a+4;if(!e)b=24;else{c[h>>2]=e;ra(j,4047,h)|0;e=0;b=23}break}default:{e=-5;b=23}}while(0);if((b|0)==23){a=e;J=l;return a|0}else if((b|0)==24){a=-1;J=l;return a|0}return 0}function ka(b,c,d){b=b|0;c=c|0;d=d|0;if((c|0)<1){b=-1;return b|0}a:do switch(a[b>>0]&3){case 0:{c=1;break}case 3:if((c|0)<2){b=-4;return b|0}else{c=a[b+1>>0]&63;break a}default:c=2}while(0);b=(da(b,d)|0)*c|0;b=(b*25|0)>(d*3|0)?-4:b;return b|0}function la(b){b=b|0;var d=0,e=0,f=0,g=0;e=(c[b+8>>2]|0)+(c[b+4>>2]|0)|0;if((e|0)>255){b=0;return b|0}d=c[b>>2]|0;if((d|0)<=0){b=1;return b|0}f=0;while(1){g=a[b+12+f>>0]|0;f=f+1|0;if(!(g<<24>>24==-1|(e|0)>(g&255|0))){d=0;e=6;break}if((f|0)>=(d|0)){d=1;e=6;break}}if((e|0)==6)return d|0;return 0}function ma(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;e=(e|0)<0?0:e+1|0;f=c[a>>2]|0;if((e|0)>=(f|0)){a=-1;return a|0}b=b<<1;while(1){if((b|0)==(d[a+12+e>>0]|0|0)){b=5;break}e=e+1|0;if((e|0)>=(f|0)){e=-1;b=5;break}}if((b|0)==5)return e|0;return 0}function na(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;e=(e|0)<0?0:e+1|0;f=c[a>>2]|0;if((e|0)>=(f|0)){a=-1;return a|0}b=b<<1|1;while(1){if((b|0)==(d[a+12+e>>0]|0|0)){b=5;break}e=e+1|0;if((e|0)>=(f|0)){e=-1;b=5;break}}if((b|0)==5)return e|0;return 0}function oa(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;e=(e|0)<0?0:e+1|0;f=c[a>>2]|0;if((e|0)>=(f|0)){a=-1;return a|0}b=(c[a+8>>2]|0)+b|0;while(1){if((b|0)==(d[a+12+e>>0]|0|0)){b=5;break}e=e+1|0;if((e|0)>=(f|0)){e=-1;b=5;break}}if((b|0)==5)return e|0;return 0}function pa(a){a=a|0;var b=0;b=Ga(48e3,960,0)|0;return (c[b+8>>2]<<5)+92+(((c[b+4>>2]<<2)+8288|0)*a|0)|0}function qa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=J;J=J+16|0;e=Ga(48e3,960,0)|0;if(d>>>0>2){a=-1;J=f;return a|0}if(!a){a=-7;J=f;return a|0}g=e+4|0;tc(a|0,0,(c[e+8>>2]<<5)+92+(((c[g>>2]<<2)+8288|0)*d|0)|0)|0;c[a>>2]=e;c[a+4>>2]=c[g>>2];c[a+8>>2]=d;c[a+12>>2]=d;d=a+16|0;c[d>>2]=1;c[a+20>>2]=0;c[a+24>>2]=c[e+12>>2];c[a+28>>2]=1;c[a+32>>2]=0;c[a+36>>2]=0;ra(a,4028,f)|0;a=tb(b)|0;c[d>>2]=a;a=((a|0)==0)<<31>>31;J=f;return a|0}function ra(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=J;J=J+16|0;e=h;c[e>>2]=d;do switch(b|0){case 10010:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;if((b|0)>=0?(b|0)<(c[(c[a>>2]|0)+8>>2]|0):0){c[a+20>>2]=b;b=29}else b=30;break}case 10012:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;if((b|0)>=1?(b|0)<=(c[(c[a>>2]|0)+8>>2]|0):0){c[a+24>>2]=b;b=29}else b=30;break}case 10008:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;if((b+-1|0)>>>0>1)b=30;else{c[a+12>>2]=b;b=29}break}case 10007:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;if(!b)b=30;else{a=a+44|0;c[b>>2]=c[a>>2];c[a>>2]=0;b=29}break}case 4027:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;if(!b)b=30;else{c[b>>2]=(c[a+4>>2]|0)/(c[a+16>>2]|0)|0;b=29}break}case 4028:{i=c[a+8>>2]|0;j=c[a>>2]|0;e=c[j+8>>2]|0;g=e<<1;b=a+92+(((c[a+4>>2]|0)+2048|0)*i<<2)+(i*24<<2)+(g<<2)|0;d=b+(g<<2)|0;tc(a+40|0,0,(e<<5)+52+(((c[j+4>>2]<<2)+8288|0)*i|0)|0)|0;if((e|0)>0){e=0;do{f[d+(e<<2)>>2]=-28.0;f[b+(e<<2)>>2]=-28.0;e=e+1|0}while((e|0)<(g|0))}c[a+56>>2]=1;b=29;break}case 4033:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(!b)b=30;else{c[b>>2]=c[a+60>>2];b=29}break}case 10015:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(!b)b=30;else{c[b>>2]=c[a>>2];b=29}break}case 10016:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;c[a+28>>2]=b;b=29;break}case 4031:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(!b)b=30;else{c[b>>2]=c[a+40>>2];b=29}break}case 4046:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(b>>>0>1)b=30;else{c[a+32>>2]=b;b=29}break}case 4047:{j=(c[e>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[e>>2]=j+4;if(!b)b=30;else{c[b>>2]=c[a+32>>2];b=29}break}default:{j=-5;J=h;return j|0}}while(0);if((b|0)==29){j=0;J=h;return j|0}else if((b|0)==30){j=-1;J=h;return j|0}return 0}function sa(d,e,g,h,i,j,k){d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0.0,oa=0.0;ma=J;J=J+80|0;p=ma+32|0;M=ma+24|0;la=ma+16|0;R=ma+8|0;Q=ma+4|0;P=ma;ha=c[d+8>>2]|0;c[R>>2]=0;c[Q>>2]=0;S=c[d+12>>2]|0;ia=c[d>>2]|0;ja=c[ia+8>>2]|0;X=c[ia+4>>2]|0;I=c[ia+32>>2]|0;ca=c[d+20>>2]|0;l=c[d+24>>2]|0;ka=d+16|0;ga=(c[ka>>2]|0)*i|0;o=X+2048|0;fa=d+92+(o*ha<<2)+(ha*24<<2)|0;aa=ja<<1;da=fa+(aa<<2)|0;ea=da+(aa<<2)|0;$=ea+(aa<<2)|0;m=c[ia+36>>2]|0;if((m|0)<0){d=-1;J=ma;return d|0}W=ia+44|0;i=c[W>>2]|0;O=0;while(1){if((i<>>0>1275|(h|0)==0){d=-1;J=ma;return d|0}m=0-ga|0;i=0;do{ba=d+92+(i*o<<2)|0;c[M+(i<<2)>>2]=ba;c[la+(i<<2)>>2]=ba+8192+(m<<2);i=i+1|0}while((i|0)<(ha|0));N=c[ia+12>>2]|0;N=(l|0)>(N|0)?N:l;if((e|0)==0|(g|0)<2){ta(d,ga,O);ua(la,h,ga,ha,c[ka>>2]|0,ia+16|0,d+84|0,k);d=(ga|0)/(c[ka>>2]|0)|0;J=ma;return d|0}ba=d+52|0;c[d+56>>2]=(c[ba>>2]|0)!=0&1;if(!j)xa(p,e,g);else p=j;T=(S|0)==1;U=(ja|0)>0;if(T&U){i=0;do{_=fa+(i<<2)|0;na=+f[_>>2];n=+f[fa+(i+ja<<2)>>2];f[_>>2]=na>n?na:n;i=i+1|0}while((i|0)!=(ja|0))}_=g<<3;Y=p+20|0;o=c[Y>>2]|0;Z=p+28|0;i=w(c[Z>>2]|0)|0;e=o+-32+i|0;if((e|0)<(_|0))if((e|0)==1){m=Ba(p,15)|0;if(!m){m=0;e=1;H=0}else{i=w(c[Z>>2]|0)|0;o=c[Y>>2]|0;q=19}}else{m=0;H=0}else{m=1;q=19}if((q|0)==19){c[Y>>2]=_+32-o-i+o;e=_;H=1}if((ca|0)!=0|(e+16|0)>(_|0)){n=0.0;o=0;K=0}else{if(!(Ba(p,1)|0)){n=0.0;o=0;e=0}else{o=Da(p,6)|0;o=(Ea(p,o+4|0)|0)+-1+(16<>2]|0)+-30+(w(c[Z>>2]|0)|0)|0)>(_|0))e=0;else e=Ca(p,26871,2)|0;n=+(i+1|0)*.09375}K=e;e=(c[Y>>2]|0)+-32+(w(c[Z>>2]|0)|0)|0}i=e+3|0;if((O|0)==0|(i|0)>(_|0))C=0;else{C=Ba(p,3)|0;i=(c[Y>>2]|0)+-32+(w(c[Z>>2]|0)|0)+3|0}G=(C|0)!=0;B=G?V:0;if((i|0)>(_|0))i=0;else i=Ba(p,3)|0;Pa(ia,ca,l,fa,i,p,S,O);L=F()|0;A=J;J=J+((1*(ja<<2)|0)+15&-16)|0;s=c[p+4>>2]<<3;e=(c[Y>>2]|0)+-32+(w(c[Z>>2]|0)|0)|0;i=G?2:4;D=(O|0)!=0;t=D&(e+(i|1)|0)>>>0<=s>>>0;s=s-(t&1)|0;u=(ca|0)<(l|0);if(u){r=G?4:5;if((e+i|0)>>>0>s>>>0)i=0;else{i=Ba(p,i)|0;e=(c[Y>>2]|0)+-32+(w(c[Z>>2]|0)|0)|0}c[A+(ca<<2)>>2]=i;j=ca+1|0;if((j|0)!=(l|0)){q=i;do{if((e+r|0)>>>0<=s>>>0){z=(Ba(p,r)|0)^q;q=z;e=(c[Y>>2]|0)+-32+(w(c[Z>>2]|0)|0)|0;i=z|i}c[A+(j<<2)>>2]=q;j=j+1|0}while((j|0)!=(l|0))}}else i=0;if(t?(z=C<<2,(a[i+z+(15648+(O<<3))>>0]|0)!=(a[i+(z|2)+(15648+(O<<3))>>0]|0)):0)i=(Ba(p,1)|0)<<1;else i=0;if(u){i=i+(C<<2)|0;e=ca;do{z=A+(e<<2)|0;c[z>>2]=a[i+(c[z>>2]|0)+(15648+(O<<3))>>0];e=e+1|0}while((e|0)!=(l|0))}if(((c[Y>>2]|0)+-28+(w(c[Z>>2]|0)|0)|0)>(_|0))z=2;else z=Ca(p,26874,5)|0;v=J;J=J+((1*(ja<<2)|0)+15&-16)|0;vb(ia,v,O,S);x=J;J=J+((1*(ja<<2)|0)+15&-16)|0;y=g<<6;e=wa(p)|0;if(u){j=6;g=ca;i=y;do{u=g;g=g+1|0;t=((b[I+(g<<1)>>1]|0)-(b[I+(u<<1)>>1]|0)|0)*S<48?t:48;t=(s|0)<(t|0)?s:t;s=v+(u<<2)|0;if(((j<<3)+e|0)<(i|0)){q=0;r=j;while(1){if((q|0)>=(c[s>>2]|0))break;r=Ba(p,r)|0;e=wa(p)|0;if(!r)break;i=i-t|0;q=q+t|0;if((e+8|0)<(i|0))r=1;else break}c[x+(u<<2)>>2]=q;u=j+-1|0;j=(q|0)>0?((u|0)>2?u:2):j}else c[x+(u<<2)>>2]=0}while((g|0)!=(l|0))}else i=y;g=J;J=J+((1*(ja<<2)|0)+15&-16)|0;if((e+48|0)>(i|0))i=5;else i=Ca(p,26878,7)|0;q=y-(wa(p)|0)+-1|0;r=O>>>0>1&G&(q|0)>=((O<<3)+16|0);s=r?8:0;t=J;J=J+((1*(ja<<2)|0)+15&-16)|0;u=J;J=J+((1*(ja<<2)|0)+15&-16)|0;q=Sa(ia,ca,l,x,v,i,R,Q,q-s|0,P,t,g,u,S,O,p,0,0,0)|0;Qa(ia,ca,l,fa,g,p,S);e=((X|0)/2|0)+2048-ga<<2;i=0;do{I=c[M+(i<<2)>>2]|0;sc(I|0,I+(ga<<2)|0,e|0)|0;i=i+1|0}while((i|0)<(ha|0));e=ja*S|0;i=J;J=J+((1*e|0)+15&-16)|0;j=J;J=J+((1*(ga*S<<2)|0)+15&-16)|0;x=d+40|0;v=d+36|0;mb(0,ia,ca,l,j,(S|0)==2?j+(ga<<2)|0:0,i,0,t,B,z,c[Q>>2]|0,c[R>>2]|0,A,y-s|0,c[P>>2]|0,p,O,q,x,0,c[v>>2]|0,c[d+32>>2]|0);if(r){R=(Ea(p,1)|0)==0;Ra(ia,ca,l,fa,g,u,_+32-(c[Y>>2]|0)-(w(c[Z>>2]|0)|0)|0,p,S);if(!R)lb(ia,j,i,O,S,ga,ca,l,fa,da,ea,t,c[x>>2]|0,c[v>>2]|0)}else Ra(ia,ca,l,fa,g,u,_+32-(c[Y>>2]|0)-(w(c[Z>>2]|0)|0)|0,p,S);if(H&(e|0)>0){i=0;do{f[fa+(i<<2)>>2]=-28.0;i=i+1|0}while((i|0)!=(e|0))}va(ia,j,la,fa,ca,N,S,ha,C,O,c[ka>>2]|0,m,c[v>>2]|0);j=d+60|0;q=d+64|0;e=d+72|0;m=d+68|0;s=d+80|0;r=d+76|0;t=ia+60|0;if(D){i=0;do{S=c[j>>2]|0;S=(S|0)>15?S:15;c[j>>2]=S;Q=c[q>>2]|0;Q=(Q|0)>15?Q:15;c[q>>2]=Q;R=c[la+(i<<2)>>2]|0;ub(R,R,Q,S,c[W>>2]|0,+f[e>>2],+f[m>>2],c[s>>2]|0,c[r>>2]|0,c[t>>2]|0,X,c[v>>2]|0);S=c[W>>2]|0;R=R+(S<<2)|0;ub(R,R,c[j>>2]|0,o,ga-S|0,+f[m>>2],n,c[r>>2]|0,K,c[t>>2]|0,X,c[v>>2]|0);i=i+1|0}while((i|0)<(ha|0))}else{i=0;do{S=c[j>>2]|0;S=(S|0)>15?S:15;c[j>>2]=S;R=c[q>>2]|0;R=(R|0)>15?R:15;c[q>>2]=R;Q=c[la+(i<<2)>>2]|0;ub(Q,Q,R,S,c[W>>2]|0,+f[e>>2],+f[m>>2],c[s>>2]|0,c[r>>2]|0,c[t>>2]|0,X,c[v>>2]|0);i=i+1|0}while((i|0)<(ha|0))}c[q>>2]=c[j>>2];c[e>>2]=c[m>>2];c[s>>2]=c[r>>2];c[j>>2]=o;f[m>>2]=n;c[r>>2]=K;if(D){c[q>>2]=o;f[e>>2]=n;c[s>>2]=K}if(T)rc(fa+(ja<<2)|0,fa|0,ja<<2|0)|0;do if(G){if(!U)break;i=0;do{$=da+(i<<2)|0;n=+f[$>>2];na=+f[fa+(i<<2)>>2];f[$>>2]=n>2]|0)<10?+(V|0)*1.0000000474974513e-03:1.0;if(!U)break;i=0;do{X=$+(i<<2)|0;oa=n+ +f[X>>2];na=+f[fa+(i<<2)>>2];f[X>>2]=oa0){i=0;do{f[fa+(i<<2)>>2]=0.0;f[ea+(i<<2)>>2]=-28.0;f[da+(i<<2)>>2]=-28.0;i=i+1|0}while((i|0)!=(ca|0));if(m){i=l;do{f[fa+(i<<2)>>2]=0.0;f[ea+(i<<2)>>2]=-28.0;f[da+(i<<2)>>2]=-28.0;i=i+1|0}while((i|0)!=(ja|0))}i=0;do{aa=i+ja|0;f[fa+(aa<<2)>>2]=0.0;f[ea+(aa<<2)>>2]=-28.0;f[da+(aa<<2)>>2]=-28.0;i=i+1|0}while((i|0)!=(ca|0));if(!m)break;do{ca=l+ja|0;f[fa+(ca<<2)>>2]=0.0;f[ea+(ca<<2)>>2]=-28.0;f[da+(ca<<2)>>2]=-28.0;l=l+1|0}while((l|0)!=(ja|0))}else{if(!m)break;i=l;do{f[fa+(i<<2)>>2]=0.0;f[ea+(i<<2)>>2]=-28.0;f[da+(i<<2)>>2]=-28.0;i=i+1|0}while((i|0)!=(ja|0));do{ca=l+ja|0;f[fa+(ca<<2)>>2]=0.0;f[ea+(ca<<2)>>2]=-28.0;f[da+(ca<<2)>>2]=-28.0;l=l+1|0}while((l|0)!=(ja|0))}while(0);c[x>>2]=c[Z>>2];ua(la,h,ga,ha,c[ka>>2]|0,ia+16|0,d+84|0,k);c[ba>>2]=0;if(((c[Y>>2]|0)+-32+(w(c[Z>>2]|0)|0)|0)>(_|0))l=-3;else{if(c[p+44>>2]|0)c[d+44>>2]=1;l=(ga|0)/(c[ka>>2]|0)|0}E(L|0);d=l;J=ma;return d|0}function ta(a,d,e){a=a|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0,C=0,D=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ia=0,Ma=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0.0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,uc=0,vc=0,wc=0.0,xc=0;vc=J;J=J+8304|0;mc=0-d|0;j=vc+4096|0;nc=vc;uc=vc+8296|0;x=vc+8288|0;rc=c[a+8>>2]|0;y=c[a>>2]|0;n=c[y+8>>2]|0;oc=c[y+4>>2]|0;t=c[y+32>>2]|0;g=oc+2048|0;h=0;do{qc=a+92+(h*g<<2)|0;c[uc+(h<<2)>>2]=qc;c[x+(h<<2)>>2]=qc+8192+(mc<<2);h=h+1|0}while((h|0)<(rc|0));lc=a+92+(g*rc<<2)|0;w=lc+(rc*24<<2)|0;m=n<<1;m=w+(m<<2)+(m<<2)+(m<<2)|0;qc=a+52|0;pc=c[qc>>2]|0;v=c[a+20>>2]|0;if(!((pc|0)>4|(v|0)!=0)?(c[a+56>>2]|0)==0:0){hc=(pc|0)==0;if(hc){gc=a+36|0;jc=c[gc>>2]|0;Ha(uc,nc,2048,rc,jc);Ja(nc+1440|0,nc,1328,620,j,jc);jc=720-(c[j>>2]|0)|0;c[a+48>>2]=jc;ic=1.0}else{gc=a+36|0;ic=.800000011920929;jc=c[a+48>>2]|0}ec=F()|0;kc=J;J=J+((1*(oc<<2)|0)+15&-16)|0;fc=j+96|0;bc=c[y+60>>2]|0;cc=jc<<1;cc=(cc|0)<1024?cc:1024;dc=2024-cc|0;Aa=1e3-cc|0;Qb=j+4192+(0-cc<<2)|0;Xb=cc>>1;Sb=(jc|0)>0;_b=2048-d|0;Ub=_b<<2;$b=1024-jc|0;Rb=oc+d|0;Tb=(Rb|0)>0;Yb=1024-Xb|0;Zb=1024-cc|0;ac=_b+-1|0;Wb=a+60|0;Vb=a+68|0;qb=a+76|0;pb=(oc|0)/2|0;ob=(oc|0)>1;mb=(oc|0)>0;Pb=oc+-1|0;nb=(d|0)>0;k=Rb<<2;N=nc+4|0;O=nc+8|0;Z=nc+12|0;ca=nc+16|0;da=nc+20|0;ea=nc+24|0;fa=nc+28|0;ga=nc+32|0;ha=nc+36|0;ia=nc+40|0;P=nc+44|0;Q=nc+48|0;R=nc+52|0;S=nc+56|0;T=nc+60|0;U=nc+64|0;V=nc+68|0;W=nc+72|0;X=nc+76|0;Y=nc+80|0;_=nc+84|0;$=nc+88|0;aa=nc+92|0;ba=nc+96|0;ja=fc+(Aa<<2)|0;m=dc|1;ka=fc+((Aa|1)<<2)|0;x=dc+2|0;wa=fc+(Aa+2<<2)|0;D=dc+3|0;Ba=fc+(Aa+3<<2)|0;G=dc+4|0;Ca=fc+(Aa+4<<2)|0;H=dc+5|0;Da=fc+(Aa+5<<2)|0;I=dc+6|0;Ea=fc+(Aa+6<<2)|0;K=dc+7|0;Fa=fc+(Aa+7<<2)|0;L=dc+8|0;Ga=fc+(Aa+8<<2)|0;M=dc+9|0;Ia=fc+(Aa+9<<2)|0;n=dc+10|0;la=fc+(Aa+10<<2)|0;o=dc+11|0;ma=fc+(Aa+11<<2)|0;p=dc+12|0;na=fc+(Aa+12<<2)|0;q=dc+13|0;oa=fc+(Aa+13<<2)|0;r=dc+14|0;pa=fc+(Aa+14<<2)|0;t=dc+15|0;qa=fc+(Aa+15<<2)|0;u=dc+16|0;ra=fc+(Aa+16<<2)|0;v=dc+17|0;sa=fc+(Aa+17<<2)|0;w=dc+18|0;ta=fc+(Aa+18<<2)|0;e=dc+19|0;ua=fc+(Aa+19<<2)|0;y=dc+20|0;xa=fc+(Aa+20<<2)|0;a=dc+21|0;ya=fc+(Aa+21<<2)|0;B=dc+22|0;za=fc+(Aa+22<<2)|0;C=dc+23|0;Aa=fc+(Aa+23<<2)|0;rb=_b+-2|0;Ma=nc+4|0;Db=_b+-3|0;_a=nc+8|0;Ib=_b+-4|0;db=nc+12|0;Jb=_b+-5|0;eb=nc+16|0;Kb=_b+-6|0;fb=nc+20|0;Lb=_b+-7|0;gb=nc+24|0;Mb=_b+-8|0;hb=nc+28|0;Nb=_b+-9|0;ib=nc+32|0;Ob=_b+-10|0;kb=nc+36|0;sb=_b+-11|0;Pa=nc+40|0;tb=_b+-12|0;Qa=nc+44|0;vb=_b+-13|0;Ra=nc+48|0;wb=_b+-14|0;Sa=nc+52|0;xb=_b+-15|0;Ta=nc+56|0;yb=_b+-16|0;Ua=nc+60|0;zb=_b+-17|0;Va=nc+64|0;Ab=_b+-18|0;Wa=nc+68|0;Bb=_b+-19|0;Ya=nc+72|0;Cb=_b+-20|0;Za=nc+76|0;Eb=_b+-21|0;$a=nc+80|0;Fb=_b+-22|0;ab=nc+84|0;Gb=_b+-23|0;bb=nc+88|0;Hb=_b+-24|0;cb=nc+92|0;lb=0;do{l=c[uc+(lb<<2)>>2]|0;g=0;do{c[fc+(g<<2)>>2]=c[l+(g+1024<<2)>>2];g=g+1|0}while((g|0)!=1024);if(hc){Oa(fc,nc,bc,oc,24,1024,c[gc>>2]|0)|0;f[nc>>2]=+f[nc>>2]*1.000100016593933;A=+f[N>>2];f[N>>2]=A-A*6.400000711437315e-05;A=+f[O>>2];f[O>>2]=A-A*6.400000711437315e-05*2.0*2.0;A=+f[Z>>2];f[Z>>2]=A-A*6.400000711437315e-05*3.0*3.0;A=+f[ca>>2];f[ca>>2]=A-A*6.400000711437315e-05*4.0*4.0;A=+f[da>>2];f[da>>2]=A-A*6.400000711437315e-05*5.0*5.0;A=+f[ea>>2];f[ea>>2]=A-A*6.400000711437315e-05*6.0*6.0;A=+f[fa>>2];f[fa>>2]=A-A*6.400000711437315e-05*7.0*7.0;A=+f[ga>>2];f[ga>>2]=A-A*6.400000711437315e-05*8.0*8.0;A=+f[ha>>2];f[ha>>2]=A-A*6.400000711437315e-05*9.0*9.0;A=+f[ia>>2];f[ia>>2]=A-A*6.400000711437315e-05*10.0*10.0;A=+f[P>>2];f[P>>2]=A-A*6.400000711437315e-05*11.0*11.0;A=+f[Q>>2];f[Q>>2]=A-A*6.400000711437315e-05*12.0*12.0;A=+f[R>>2];f[R>>2]=A-A*6.400000711437315e-05*13.0*13.0;A=+f[S>>2];f[S>>2]=A-A*6.400000711437315e-05*14.0*14.0;A=+f[T>>2];f[T>>2]=A-A*6.400000711437315e-05*15.0*15.0;A=+f[U>>2];f[U>>2]=A-A*6.400000711437315e-05*16.0*16.0;A=+f[V>>2];f[V>>2]=A-A*6.400000711437315e-05*17.0*17.0;A=+f[W>>2];f[W>>2]=A-A*6.400000711437315e-05*18.0*18.0;A=+f[X>>2];f[X>>2]=A-A*6.400000711437315e-05*19.0*19.0;A=+f[Y>>2];f[Y>>2]=A-A*6.400000711437315e-05*20.0*20.0;A=+f[_>>2];f[_>>2]=A-A*6.400000711437315e-05*21.0*21.0;A=+f[$>>2];f[$>>2]=A-A*6.400000711437315e-05*22.0*22.0;A=+f[aa>>2];f[aa>>2]=A-A*6.400000711437315e-05*23.0*23.0;A=+f[ba>>2];f[ba>>2]=A-A*6.400000711437315e-05*24.0*24.0;j=lc+(lb*24<<2)|0;Ka(j,nc,24)}else j=lc+(lb*24<<2)|0;c[ja>>2]=c[l+(dc<<2)>>2];c[ka>>2]=c[l+(m<<2)>>2];c[wa>>2]=c[l+(x<<2)>>2];c[Ba>>2]=c[l+(D<<2)>>2];c[Ca>>2]=c[l+(G<<2)>>2];c[Da>>2]=c[l+(H<<2)>>2];c[Ea>>2]=c[l+(I<<2)>>2];c[Fa>>2]=c[l+(K<<2)>>2];c[Ga>>2]=c[l+(L<<2)>>2];c[Ia>>2]=c[l+(M<<2)>>2];c[la>>2]=c[l+(n<<2)>>2];c[ma>>2]=c[l+(o<<2)>>2];c[na>>2]=c[l+(p<<2)>>2];c[oa>>2]=c[l+(q<<2)>>2];c[pa>>2]=c[l+(r<<2)>>2];c[qa>>2]=c[l+(t<<2)>>2];c[ra>>2]=c[l+(u<<2)>>2];c[sa>>2]=c[l+(v<<2)>>2];c[ta>>2]=c[l+(w<<2)>>2];c[ua>>2]=c[l+(e<<2)>>2];c[xa>>2]=c[l+(y<<2)>>2];c[ya>>2]=c[l+(a<<2)>>2];c[za>>2]=c[l+(B<<2)>>2];c[Aa>>2]=c[l+(C<<2)>>2];La(Qb,j,Qb,cc,24,c[gc>>2]|0);if(Sb){z=1.0;i=1.0;g=0;do{A=+f[fc+(Yb+g<<2)>>2];z=z+A*A;A=+f[fc+(Zb+g<<2)>>2];i=i+A*A;g=g+1|0}while((g|0)<(Xb|0))}else{z=1.0;i=1.0}z=+s(+((z>2]=A*+f[fc+(xc<<2)>>2];wc=+f[l+(xc+1024-d<<2)>>2];i=i+wc*wc;h=h+1|0;if((h|0)==(Rb|0)){z=i;break}else g=g+1|0}}else z=0.0;c[nc>>2]=c[l+(ac<<2)>>2];c[Ma>>2]=c[l+(rb<<2)>>2];c[_a>>2]=c[l+(Db<<2)>>2];c[db>>2]=c[l+(Ib<<2)>>2];c[eb>>2]=c[l+(Jb<<2)>>2];c[fb>>2]=c[l+(Kb<<2)>>2];c[gb>>2]=c[l+(Lb<<2)>>2];c[hb>>2]=c[l+(Mb<<2)>>2];c[ib>>2]=c[l+(Nb<<2)>>2];c[kb>>2]=c[l+(Ob<<2)>>2];c[Pa>>2]=c[l+(sb<<2)>>2];c[Qa>>2]=c[l+(tb<<2)>>2];c[Ra>>2]=c[l+(vb<<2)>>2];c[Sa>>2]=c[l+(wb<<2)>>2];c[Ta>>2]=c[l+(xb<<2)>>2];c[Ua>>2]=c[l+(yb<<2)>>2];c[Va>>2]=c[l+(zb<<2)>>2];c[Wa>>2]=c[l+(Ab<<2)>>2];c[Ya>>2]=c[l+(Bb<<2)>>2];c[Za>>2]=c[l+(Cb<<2)>>2];c[$a>>2]=c[l+(Eb<<2)>>2];c[ab>>2]=c[l+(Fb<<2)>>2];c[bb>>2]=c[l+(Gb<<2)>>2];c[cb>>2]=c[l+(Hb<<2)>>2];h=l+8192|0;xc=h+(mc<<2)|0;Na(xc,j,xc,Rb,24,nc,c[gc>>2]|0);if(Tb){i=0.0;g=0;do{wc=+f[l+(g+_b<<2)>>2];i=i+wc*wc;g=g+1|0}while((g|0)!=(Rb|0))}else i=0.0;if(z>i*.20000000298023224){if(z>2]=+f[xc>>2]*(1.0-i*+f[bc+(g<<2)>>2]);g=g+1|0}while((g|0)!=(oc|0))}if(nb){g=oc;do{xc=l+(g+_b<<2)|0;f[xc>>2]=z*+f[xc>>2];g=g+1|0}while((g|0)<(Rb|0))}}}else if(Tb)tc(l+(_b<<2)|0,0,k|0)|0;j=c[Wb>>2]|0;wc=-+f[Vb>>2];xc=c[qb>>2]|0;ub(kc,h,j,j,oc,wc,wc,xc,xc,0,0,c[gc>>2]|0);if(ob){g=0;h=0;while(1){j=Pb+g|0;f[l+(h+2048<<2)>>2]=+f[bc+(h<<2)>>2]*+f[kc+(j<<2)>>2]+ +f[bc+(j<<2)>>2]*+f[kc+(h<<2)>>2];j=h+1|0;if((j|0)==(pb|0))break;else{g=~h;h=j}}}lb=lb+1|0}while((lb|0)<(rc|0));E(ec|0);xc=pc+1|0;c[qc>>2]=xc;J=vc;return}g=c[a+24>>2]|0;l=c[y+12>>2]|0;l=(g|0)<(l|0)?g:l;q=(v|0)>(l|0)?v:l;p=F()|0;r=J;J=J+((1*(rc*d<<2)|0)+15&-16)|0;i=(pc|0)==0?1.5:.5;if((v|0)<(g|0)){h=0;do{k=h*n|0;j=v;do{xc=j+k|0;ic=+f[m+(xc<<2)>>2];xc=w+(xc<<2)|0;wc=+f[xc>>2]-i;f[xc>>2]=ic>wc?ic:wc;j=j+1|0}while((j|0)!=(g|0));h=h+1|0}while((h|0)<(rc|0))}o=a+40|0;g=c[o>>2]|0;if((rc|0)>0?(u=a+36|0,(v|0)<(l|0)):0){n=0;do{m=n*d|0;l=v;do{k=b[t+(l<<1)>>1]|0;j=(k<>1]|0)-k<0){h=0;do{g=jb(g)|0;f[r+(h+j<<2)>>2]=+(g>>20|0);h=h+1|0}while((h|0)!=(k|0))}Xa(r+(j<<2)|0,k,1.0,c[u>>2]|0)}while((l|0)<(q|0));n=n+1|0}while((n|0)!=(rc|0))}c[o>>2]=g;h=2048-d+(oc>>>1)<<2;g=0;do{xc=c[uc+(g<<2)>>2]|0;sc(xc|0,xc+(d<<2)|0,h|0)|0;g=g+1|0}while((g|0)<(rc|0));va(y,r,x,w,v,q,rc,rc,0,e,c[a+16>>2]|0,0,c[a+36>>2]|0);E(p|0);xc=pc+1|0;c[qc>>2]=xc;J=vc;return}function ua(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;v=J;if(!((e|0)!=2|(g|0)!=1|(j|0)!=0)){m=+f[h>>2];n=c[a>>2]|0;j=c[a+4>>2]|0;l=+f[i>>2];o=i+4|0;k=+f[o>>2];if((d|0)>0){h=0;do{x=l+(+f[n+(h<<2)>>2]+1.0000000031710769e-30);w=k+(+f[j+(h<<2)>>2]+1.0000000031710769e-30);l=m*x;k=m*w;a=h<<1;f[b+(a<<2)>>2]=x*.000030517578125;f[b+((a|1)<<2)>>2]=w*.000030517578125;h=h+1|0}while((h|0)!=(d|0))}f[i>>2]=l;f[o>>2]=k;J=v;return}u=F()|0;s=J;J=J+((1*(d<<2)|0)+15&-16)|0;l=+f[h>>2];r=(d|0)/(g|0)|0;t=(d|0)>0;q=(r|0)>0;if((g|0)>1){p=0;do{n=i+(p<<2)|0;k=+f[n>>2];j=c[a+(p<<2)>>2]|0;o=b+(p<<2)|0;if(t){h=0;do{x=k+(+f[j+(h<<2)>>2]+1.0000000031710769e-30);k=l*x;f[s+(h<<2)>>2]=x;h=h+1|0}while((h|0)!=(d|0))}f[n>>2]=k;if(q){j=0;do{f[o+(j*e<<2)>>2]=+f[s+(j*g<<2)>>2]*.000030517578125;j=j+1|0}while((j|0)!=(r|0))}p=p+1|0}while((p|0)<(e|0))}else{p=0;do{o=i+(p<<2)|0;k=+f[o>>2];j=c[a+(p<<2)>>2]|0;h=b+(p<<2)|0;if(t){n=0;do{x=k+(+f[j+(n<<2)>>2]+1.0000000031710769e-30);k=l*x;f[h+(n*e<<2)>>2]=x*.000030517578125;n=n+1|0}while((n|0)!=(d|0))}f[o>>2]=k;p=p+1|0}while((p|0)<(e|0))}E(u|0);J=v;return}function va(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=J;x=c[a+4>>2]|0;r=c[a+8>>2]|0;v=c[a+44>>2]|0;t=v<>2]|0)-(u?l:0)|0;v=u?t:v;u=u?1:s;if((i|0)==1&(j|0)==2){kb(a,b,y,e,g,h,s,m,n);j=d+4|0;q=(c[j>>2]|0)+(((x|0)/2|0)<<2)|0;rc(q|0,y|0,t<<2|0)|0;k=(u|0)>0;if(!k){J=z;return}i=a+64|0;p=a+60|0;l=0;do{Fa(i,q+(l<<2)|0,(c[d>>2]|0)+(l*v<<2)|0,c[p>>2]|0,x,w,u,o);l=l+1|0}while((l|0)!=(u|0));if(!k){J=z;return}i=a+64|0;k=a+60|0;l=0;do{Fa(i,y+(l<<2)|0,(c[j>>2]|0)+(l*v<<2)|0,c[k>>2]|0,x,w,u,o);l=l+1|0}while((l|0)!=(u|0));J=z;return}if((i|0)==2&(j|0)==1){k=(c[d>>2]|0)+(((x|0)/2|0)<<2)|0;kb(a,b,y,e,g,h,s,m,n);kb(a,b+(t<<2)|0,k,e+(r<<2)|0,g,h,s,m,n);if((t|0)>0){l=0;do{g=y+(l<<2)|0;f[g>>2]=+f[g>>2]*.5+ +f[k+(l<<2)>>2]*.5;l=l+1|0}while((l|0)!=(t|0))}if((u|0)<=0){J=z;return}i=a+64|0;k=a+60|0;l=0;do{Fa(i,y+(l<<2)|0,(c[d>>2]|0)+(l*v<<2)|0,c[k>>2]|0,x,w,u,o);l=l+1|0}while((l|0)!=(u|0));J=z;return}p=a+64|0;q=a+60|0;if((u|0)<=0){l=0;do{kb(a,b+(l*t<<2)|0,y,e+(l*r<<2)|0,g,h,s,m,n);l=l+1|0}while((l|0)<(j|0));J=z;return}i=0;do{kb(a,b+(i*t<<2)|0,y,e+(i*r<<2)|0,g,h,s,m,n);l=d+(i<<2)|0;k=0;do{Fa(p,y+(k<<2)|0,(c[l>>2]|0)+(k*v<<2)|0,c[q>>2]|0,x,w,u,o);k=k+1|0}while((k|0)!=(u|0));i=i+1|0}while((i|0)<(j|0));J=z;return}function wa(a){a=a|0;var b=0,d=0,e=0;d=c[a+28>>2]|0;e=32-(w(d|0)|0)|0;d=d>>>(e+-16|0);b=d>>>12;return (e*-8|0)+(c[a+20>>2]<<3)+((d>>>0>(c[16+(b+-8<<2)>>2]|0)>>>0)<<31>>31)+(8-b)|0}function xa(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[a>>2]=b;c[a+4>>2]=e;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;l=a+20|0;c[l>>2]=9;m=a+24|0;c[m>>2]=0;o=a+28|0;c[o>>2]=128;if(!e){f=0;g=0}else{c[m>>2]=1;f=1;g=d[b>>0]|0}n=a+40|0;c[n>>2]=g;h=g>>>1^127;p=a+32|0;c[p>>2]=h;c[a+44>>2]=0;c[l>>2]=17;c[o>>2]=32768;a=f+1|0;if(f>>>0>>0){c[m>>2]=a;j=a;k=d[b+f>>0]|0;a=f|2}else{j=f;k=0}c[n>>2]=k;g=(h<<8|(k|g<<8)>>>1&255)^255;c[p>>2]=g;c[l>>2]=25;c[o>>2]=8388608;if(j>>>0>>0){c[m>>2]=a;i=a;h=d[b+j>>0]|0;f=a+1|0}else{i=j;h=0;f=a}c[n>>2]=h;a=(g<<8&2147483392|(h|k<<8)>>>1&255)^255;c[p>>2]=a;c[l>>2]=33;c[o>>2]=-2147483648;if(i>>>0>=e>>>0){m=0;c[n>>2]=m;o=h<<8;o=m|o;o=o>>>1;n=a<<8;o=o&255;n=n&2147483392;o=n|o;o=o^255;c[p>>2]=o;return}c[m>>2]=f;m=d[b+i>>0]|0;c[n>>2]=m;o=h<<8;o=m|o;o=o>>>1;n=a<<8;o=o&255;n=n&2147483392;o=n|o;o=o^255;c[p>>2]=o;return}function ya(a,b){a=a|0;b=b|0;var d=0;d=((c[a+28>>2]|0)>>>0)/(b>>>0)|0;c[a+36>>2]=d;a=(((c[a+32>>2]|0)>>>0)/(d>>>0)|0)+1|0;return b-(a>>>0>b>>>0?b:a)|0}function za(a,b){a=a|0;b=b|0;var d=0;d=(c[a+28>>2]|0)>>>b;c[a+36>>2]=d;b=1<>2]|0)>>>0)/(d>>>0)|0)+1|0;return b-(b>>>0>>0?b:a)|0}function Aa(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=c[a+36>>2]|0;f=g*(f-e|0)|0;p=a+32|0;h=(c[p>>2]|0)-f|0;c[p>>2]=h;if(!b){o=a+28|0;f=(c[o>>2]|0)-f|0}else{f=g*(e-b|0)|0;o=a+28|0}c[o>>2]=f;if(f>>>0>=8388609)return;l=a+20|0;n=a+40|0;m=a+24|0;k=c[a+4>>2]|0;j=c[l>>2]|0;e=c[m>>2]|0;b=c[n>>2]|0;while(1){j=j+8|0;c[l>>2]=j;f=f<<8;c[o>>2]=f;if(e>>>0>>0){i=c[a>>2]|0;g=e+1|0;c[m>>2]=g;i=d[i+e>>0]|0}else{g=e;i=0}c[n>>2]=i;h=(h<<8&2147483392|(i|b<<8)>>>1&255)^255;c[p>>2]=h;if(f>>>0>=8388609)break;else{e=g;b=i}}return}function Ba(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=a+28|0;f=c[p>>2]|0;q=a+32|0;e=c[q>>2]|0;b=f>>>b;n=e>>>0>>0;o=n&1;if(!n){e=e-b|0;c[q>>2]=e;b=f-b|0}c[p>>2]=b;if(b>>>0>=8388609)return o|0;l=a+20|0;n=a+40|0;m=a+24|0;k=c[a+4>>2]|0;j=c[l>>2]|0;g=c[m>>2]|0;h=c[n>>2]|0;while(1){j=j+8|0;c[l>>2]=j;b=b<<8;c[p>>2]=b;if(g>>>0>>0){i=c[a>>2]|0;f=g+1|0;c[m>>2]=f;i=d[i+g>>0]|0}else{f=g;i=0}c[n>>2]=i;e=(e<<8&2147483392|(i|h<<8)>>>1&255)^255;c[q>>2]=e;if(b>>>0>=8388609)break;else{g=f;h=i}}return o|0}function Ca(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=a+28|0;h=c[p>>2]|0;q=a+32|0;f=c[q>>2]|0;e=h>>>e;o=-1;while(1){o=o+1|0;g=e*(d[b+o>>0]|0)|0;if(f>>>0>=g>>>0)break;else h=g}e=f-g|0;c[q>>2]=e;f=h-g|0;c[p>>2]=f;if(f>>>0>=8388609)return o|0;l=a+20|0;n=a+40|0;m=a+24|0;k=c[a+4>>2]|0;j=c[l>>2]|0;g=c[m>>2]|0;h=c[n>>2]|0;while(1){j=j+8|0;c[l>>2]=j;f=f<<8;c[p>>2]=f;if(g>>>0>>0){i=c[a>>2]|0;b=g+1|0;c[m>>2]=b;i=d[i+g>>0]|0}else{b=g;i=0}c[n>>2]=i;e=(e<<8&2147483392|(i|h<<8)>>>1&255)^255;c[q>>2]=e;if(f>>>0>=8388609)break;else{g=b;h=i}}return o|0}function Da(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=b+-1|0;e=32-(w(s|0)|0)|0;if((e|0)<=8){p=a+28|0;o=c[p>>2]|0;r=(o>>>0)/(b>>>0)|0;c[a+36>>2]=r;q=a+32|0;f=c[q>>2]|0;e=((f>>>0)/(r>>>0)|0)+1|0;e=b-(e>>>0>b>>>0?b:e)|0;b=(s-e|0)*r|0;f=f-b|0;c[q>>2]=f;b=(e|0)==0?o-b|0:r;c[p>>2]=b;if(b>>>0>=8388609){a=e;return a|0}m=a+20|0;o=a+40|0;n=a+24|0;k=c[a+4>>2]|0;l=c[m>>2]|0;i=c[n>>2]|0;j=c[o>>2]|0;while(1){l=l+8|0;c[m>>2]=l;b=b<<8;c[p>>2]=b;if(i>>>0>>0){h=c[a>>2]|0;g=i+1|0;c[n>>2]=g;h=d[h+i>>0]|0}else{g=i;h=0}c[o>>2]=h;f=((h|j<<8)>>>1&255|f<<8&2147483392)^255;c[q>>2]=f;if(b>>>0>=8388609)break;else{i=g;j=h}}return e|0}r=e+-8|0;n=s>>>r;l=n+1|0;o=a+28|0;m=c[o>>2]|0;b=(m>>>0)/(l>>>0)|0;c[a+36>>2]=b;q=a+32|0;e=c[q>>2]|0;p=((e>>>0)/(b>>>0)|0)+1|0;p=l-(p>>>0>l>>>0?l:p)|0;n=(n-p|0)*b|0;e=e-n|0;c[q>>2]=e;b=(p|0)==0?m-n|0:b;c[o>>2]=b;if(b>>>0<8388609){l=a+20|0;n=a+40|0;m=a+24|0;k=c[a+4>>2]|0;j=c[l>>2]|0;g=c[m>>2]|0;h=c[n>>2]|0;while(1){j=j+8|0;c[l>>2]=j;b=b<<8;c[o>>2]=b;if(g>>>0>>0){i=c[a>>2]|0;f=g+1|0;c[m>>2]=f;i=d[i+g>>0]|0}else{f=g;i=0}c[n>>2]=i;e=((i|h<<8)>>>1&255|e<<8&2147483392)^255;c[q>>2]=e;if(b>>>0>=8388609)break;else{g=f;h=i}}}n=p<>2]|0;m=a+16|0;b=c[m>>2]|0;if(b>>>0>>0){k=a+8|0;i=7-b+((b|0)>17?b:17)|0;h=c[a+4>>2]|0;f=c[k>>2]|0;j=b;while(1){if(f>>>0>>0){q=c[a>>2]|0;g=f+1|0;c[k>>2]=g;f=g;g=d[q+(h-g)>>0]|0}else g=0;e=g<=17)break;else j=j+8|0}b=b+8+(i&-8)|0}c[l>>2]=e>>>r;c[m>>2]=b-r;q=a+20|0;c[q>>2]=(c[q>>2]|0)+r;e=e&(1<>>0<=s>>>0){a=e;return a|0}c[a+44>>2]=1;a=s;return a|0}function Ea(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+12|0;e=c[l>>2]|0;m=a+16|0;f=c[m>>2]|0;if(f>>>0>>0){k=a+8|0;j=f+(((f|0)>17?f:17)+7-f&-8)|0;i=c[a+4>>2]|0;g=c[k>>2]|0;while(1){if(g>>>0>>0){n=c[a>>2]|0;h=g+1|0;c[k>>2]=h;g=h;h=d[n+(i-h)>>0]|0}else h=0;e=h<=17)break;else f=f+8|0}f=j+8|0}c[l>>2]=e>>>b;c[m>>2]=f-b;n=a+20|0;c[n>>2]=(c[n>>2]|0)+b;return e&(1<>2]|0;l=c[a+24>>2]|0;m=k>>1;if((i|0)>0){n=0;k=m;while(1){l=l+(k<<2)|0;n=n+1|0;m=k>>1;if((n|0)==(i|0))break;else k=m}}t=k>>2;s=e+(h>>1<<2)|0;q=c[a+8+(i<<2)>>2]|0;r=(k|0)>3;if(r){o=j<<1;i=0-o|0;n=c[q+44>>2]|0;a=0;p=d;k=d+((m+-1|0)*j<<2)|0;while(1){v=+f[k>>2];x=+f[l+(a<<2)>>2];w=+f[p>>2];u=+f[l+(a+t<<2)>>2];j=b[n>>1]<<1;f[s+((j|1)<<2)>>2]=v*x+w*u;f[s+(j<<2)>>2]=x*w-v*u;a=a+1|0;if((a|0)>=(t|0))break;else{n=n+2|0;p=p+(o<<2)|0;k=k+(i<<2)|0}}Cb(q,s);q=t+1>>1;if(r){o=t+-1|0;p=m+-1|0;n=s+(m<<2)|0;a=0;i=0;m=s;while(1){k=m+4|0;z=+f[k>>2];v=+f[m>>2];x=+f[l+(i<<2)>>2];y=+f[l+(i+t<<2)>>2];j=n+-4|0;n=n+-8|0;u=+f[j>>2];w=+f[n>>2];f[m>>2]=z*x+v*y;f[j>>2]=z*y-v*x;x=+f[l+(o+a<<2)>>2];v=+f[l+(p+a<<2)>>2];f[n>>2]=u*x+w*v;f[k>>2]=u*v-w*x;k=i+1|0;if((k|0)>=(q|0))break;else{a=~i;i=k;m=m+8|0}}}}else Cb(q,s);n=(h|0)/2|0;if((h|0)<=1)return;m=e+(h<<2)|0;k=g+(h<<2)|0;l=0;while(1){k=k+-4|0;m=m+-4|0;w=+f[m>>2];y=+f[e>>2];x=+f[k>>2];z=+f[g>>2];f[e>>2]=y*x-w*z;f[m>>2]=w*x+y*z;l=l+1|0;if((l|0)==(n|0))break;else{g=g+4|0;e=e+4|0}}return}function Ga(a,b,d){a=a|0;b=b|0;d=d|0;if((a|0)==48e3?(b|0)==960|(b&2147483647|0)==480|(b&1073741823|0)==240|(b&536870911|0)==120:0){if(!d){b=26368;return b|0}c[d>>2]=0;b=26368;return b|0}if(!d){b=0;return b|0}c[d>>2]=-1;b=0;return b|0}function Ha(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0.0;z=J;J=J+48|0;w=z+16|0;x=z;y=d>>1;u=(d|0)>3;i=c[a>>2]|0;j=i+4|0;if(u?(f[b+4>>2]=(+f[i+8>>2]+(+f[j>>2]+ +f[i+12>>2])*.5)*.5,(d|0)>5):0){k=2;do{A=k<<1;f[b+(k<<2)>>2]=(+f[i+(A<<2)>>2]+(+f[i+(A+-1<<2)>>2]+ +f[i+((A|1)<<2)>>2])*.5)*.5;k=k+1|0}while((k|0)<(y|0))}h=(+f[j>>2]*.5+ +f[i>>2])*.5;f[b>>2]=h;if((e|0)==2){j=c[a+4>>2]|0;k=j+4|0;if(u?(A=b+4|0,f[A>>2]=+f[A>>2]+(+f[j+8>>2]+(+f[k>>2]+ +f[j+12>>2])*.5)*.5,(d|0)>5):0){i=2;do{u=i<<1;A=b+(i<<2)|0;f[A>>2]=+f[A>>2]+(+f[j+(u<<2)>>2]+(+f[j+(u+-1<<2)>>2]+ +f[j+((u|1)<<2)>>2])*.5)*.5;i=i+1|0}while((i|0)<(y|0));h=+f[b>>2]}f[b>>2]=h+(+f[k>>2]*.5+ +f[j>>2])*.5}Oa(b,w,0,0,4,y,g)|0;f[w>>2]=+f[w>>2]*1.000100016593933;A=w+4|0;s=+f[A>>2];f[A>>2]=s-s*.00800000037997961*.00800000037997961;A=w+8|0;s=+f[A>>2];f[A>>2]=s-s*.01600000075995922*.01600000075995922;A=w+12|0;s=+f[A>>2];f[A>>2]=s-s*.024000000208616257*.024000000208616257;A=w+16|0;s=+f[A>>2];f[A>>2]=s-s*.03200000151991844*.03200000151991844;Ka(x,w,4);s=+f[x>>2]*.8999999761581421;f[x>>2]=s;A=x+4|0;t=+f[A>>2]*.809999942779541;f[A>>2]=t;A=x+8|0;q=+f[A>>2]*.7289999127388;f[A>>2]=q;A=x+12|0;v=+f[A>>2]*.6560999155044556;f[A>>2]=v;r=s+.800000011920929;s=t+s*.800000011920929;t=q+t*.800000011920929;q=v+q*.800000011920929;v=v*.800000011920929;if((d|0)<=1){J=z;return}i=0;l=0.0;m=0.0;n=0.0;o=0.0;p=0.0;while(1){A=b+(i<<2)|0;h=+f[A>>2];f[A>>2]=v*p+(q*o+(t*n+(s*m+(r*l+h))));i=i+1|0;if((i|0)==(y|0))break;else{B=l;l=h;p=o;o=n;n=m;m=B}}J=z;return}function Ia(a,b,d,e,h,i){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0;E=h+-3|0;if((h|0)>3){F=e+-3|0;B=(e|0)>3;A=e+-4&-4;z=A+4|0;A=A+7|0;D=a+(z<<2)|0;C=0;do{w=b+(C<<2)|0;l=+f[w>>2];t=+f[w+4>>2];q=w+12|0;u=+f[w+8>>2];if(B){o=0.0;p=0.0;r=0.0;s=0.0;j=0;k=a;i=q;while(1){I=+f[k>>2];v=+f[i>>2];H=+f[k+4>>2];L=l;l=+f[i+4>>2];G=+f[k+8>>2];K=t;t=+f[i+8>>2];y=+f[k+12>>2];J=u;u=+f[i+12>>2];s=s+L*I+K*H+J*G+v*y;o=o+K*I+J*H+v*G+l*y;p=p+J*I+v*H+l*G+t*y;r=r+I*v+H*l+G*t+y*u;j=j+4|0;if((j|0)>=(F|0))break;else{k=k+16|0;i=i+16|0}}i=(f[g>>2]=r,c[g>>2]|0);j=(f[g>>2]=p,c[g>>2]|0);k=(f[g>>2]=o,c[g>>2]|0);y=s;x=z;m=(f[g>>2]=s,c[g>>2]|0);n=D;q=w+(A<<2)|0}else{y=0.0;o=0.0;p=0.0;r=0.0;x=0;m=0;k=0;j=0;i=0;n=a;v=0.0}w=x|1;if((x|0)<(e|0)){L=+f[n>>2];v=+f[q>>2];s=y+l*L;m=(f[g>>2]=s,c[g>>2]|0);o=o+t*L;k=(f[g>>2]=o,c[g>>2]|0);p=p+u*L;j=(f[g>>2]=p,c[g>>2]|0);L=r+L*v;r=L;i=(f[g>>2]=L,c[g>>2]|0);n=n+4|0;q=q+4|0}else s=y;if((w|0)<(e|0)){L=+f[n>>2];l=+f[q>>2];s=s+t*L;m=(f[g>>2]=s,c[g>>2]|0);o=o+u*L;k=(f[g>>2]=o,c[g>>2]|0);p=p+v*L;j=(f[g>>2]=p,c[g>>2]|0);L=r+L*l;r=L;i=(f[g>>2]=L,c[g>>2]|0);n=n+4|0;q=q+4|0}if((w+1|0)<(e|0)){L=+f[n>>2];m=(f[g>>2]=s+u*L,c[g>>2]|0);k=(f[g>>2]=o+v*L,c[g>>2]|0);j=(f[g>>2]=p+l*L,c[g>>2]|0);i=(f[g>>2]=r+L*+f[q>>2],c[g>>2]|0)}c[d+(C<<2)>>2]=m;c[d+((C|1)<<2)>>2]=k;c[d+((C|2)<<2)>>2]=j;c[d+((C|3)<<2)>>2]=i;C=C+4|0}while((C|0)<(E|0));i=h&-4}else i=0;if((i|0)>=(h|0))return;if((e|0)<=0){tc(d+(i<<2)|0,0,h-i<<2|0)|0;return}do{j=b+(i<<2)|0;k=0;l=0.0;do{l=l+ +f[a+(k<<2)>>2]*+f[j+(k<<2)>>2];k=k+1|0}while((k|0)!=(e|0));f[d+(i<<2)>>2]=l;i=i+1|0}while((i|0)!=(h|0));return}function Ja(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0,y=0.0,z=0,A=0;A=J;h=e+d|0;u=d>>2;p=J;J=J+((1*(u<<2)|0)+15&-16)|0;m=h>>2;v=J;J=J+((1*(m<<2)|0)+15&-16)|0;x=e>>1;z=J;J=J+((1*(x<<2)|0)+15&-16)|0;n=(d|0)>3;if(n){l=0;do{c[p+(l<<2)>>2]=c[a+(l<<1<<2)>>2];l=l+1|0}while((l|0)<(u|0))}if((h|0)>3){h=0;do{c[v+(h<<2)>>2]=c[b+(h<<1<<2)>>2];h=h+1|0}while((h|0)<(m|0))}q=e>>2;Ia(p,v,z,u,q,0);if(n){i=1.0;h=0;do{t=+f[v+(h<<2)>>2];i=i+t*t;h=h+1|0}while((h|0)!=(u|0))}else i=1.0;if((e|0)>3){p=0;r=0.0;k=0.0;s=-1.0;o=-1.0;h=0;l=1;n=0;while(1){j=+f[z+(n<<2)>>2];if(j>0.0?(w=j*9.999999960041972e-13,w=w*w,k*w>o*i):0)if(r*w>s*i){m=n;j=i;k=r;t=w;o=s;h=n;l=p}else{m=p;j=r;k=i;t=s;o=w;l=n}else{m=p;j=r;t=s}r=+f[v+(n+u<<2)>>2];s=+f[v+(n<<2)>>2];i=i+(r*r-s*s);n=n+1|0;if((n|0)==(q|0))break;else{p=m;i=i<1.0?1.0:i;r=j;s=t}}}else{h=0;l=1}v=(e|0)>1;a:do if(v){u=h<<1;p=l<<1;q=d>>1;if((d|0)<=1){l=0;while(1){h=z+(l<<2)|0;f[h>>2]=0.0;a=l-u|0;if(!((((a|0)>-1?a:0-a|0)|0)>2?(a=l-p|0,(((a|0)>-1?a:0-a|0)|0)>2):0))f[h>>2]=0.0;l=l+1|0;if((l|0)>=(x|0))break a}}m=0;do{l=z+(m<<2)|0;f[l>>2]=0.0;e=m-u|0;if(!((((e|0)>-1?e:0-e|0)|0)>2?(e=m-p|0,(((e|0)>-1?e:0-e|0)|0)>2):0)){h=b+(m<<2)|0;n=0;i=0.0;do{i=i+ +f[a+(n<<2)>>2]*+f[h+(n<<2)>>2];n=n+1|0}while((n|0)!=(q|0));f[l>>2]=i<-1.0?-1.0:i}m=m+1|0}while((m|0)<(x|0))}else q=d>>1;while(0);if((d|0)>1){i=1.0;h=0;do{w=+f[b+(h<<2)>>2];i=i+w*w;h=h+1|0}while((h|0)!=(q|0))}else i=1.0;if(!v){b=0;z=0;b=b<<1;z=b-z|0;c[g>>2]=z;J=A;return}r=0.0;k=0.0;s=-1.0;o=-1.0;h=0;l=0;while(1){j=+f[z+(l<<2)>>2];if(j>0.0?(y=j*9.999999960041972e-13,y=y*y,k*y>o*i):0)if(r*y>s*i){j=i;k=r;t=y;o=s;h=l}else{j=r;k=i;t=s;o=y}else{j=r;t=s}s=+f[b+(l+q<<2)>>2];w=+f[b+(l<<2)>>2];i=i+(s*s-w*w);l=l+1|0;if((l|0)==(x|0))break;else{i=i<1.0?1.0:i;r=j;s=t}}if(!((h|0)>0&(h|0)<(x+-1|0))){b=h;z=0;b=b<<1;z=b-z|0;c[g>>2]=z;J=A;return}j=+f[z+(h+-1<<2)>>2];k=+f[z+(h<<2)>>2];i=+f[z+(h+1<<2)>>2];if(i-j>(k-j)*.699999988079071){b=h;z=1;b=b<<1;z=b-z|0;c[g>>2]=z;J=A;return}b=h;z=(j-i>(k-i)*.699999988079071)<<31>>31;b=b<<1;z=b-z|0;c[g>>2]=z;J=A;return}function Ka(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0;d=+f[b>>2];tc(a|0,0,c<<2|0)|0;if(!(+f[b>>2]!=0.0&(c|0)>0))return;k=0;l=1;while(1){j=l>>>1;if(!k)e=0.0;else{g=0;e=0.0;do{e=e+ +f[a+(g<<2)>>2]*+f[b+(k-g<<2)>>2];g=g+1|0}while((g|0)!=(k|0))}g=k;k=k+1|0;e=(e+ +f[b+(k<<2)>>2])/d;i=-e;f[a+(g<<2)>>2]=i;if(k&2147483646|0){h=g+-1|0;g=0;do{p=a+(g<<2)|0;n=+f[p>>2];m=a+(h-g<<2)|0;o=+f[m>>2];f[p>>2]=n+o*i;f[m>>2]=o+n*i;g=g+1|0}while((g|0)!=(j|0))}d=d-d*(e*e);if(!((k|0)<(c|0)?!(d<+f[b>>2]*1.0000000474974513e-03):0))break;else l=l+1|0}return}function La(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=J;J=J+16|0;m=0-g|0;n=q;p=J;J=J+((1*(g<<2)|0)+15&-16)|0;o=(g|0)>0;if(o){i=g+-1|0;h=0;do{c[p+(h<<2)>>2]=c[b+(i-h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}l=e+-3|0;if((e|0)>3){i=n+4|0;b=n+8|0;k=n+12|0;h=0;do{u=a+(h<<2)|0;c[n>>2]=c[u>>2];t=h|1;c[i>>2]=c[a+(t<<2)>>2];s=h|2;c[b>>2]=c[a+(s<<2)>>2];r=h|3;c[k>>2]=c[a+(r<<2)>>2];Ma(p,u+(m<<2)|0,n,g);c[d+(h<<2)>>2]=c[n>>2];c[d+(t<<2)>>2]=c[i>>2];c[d+(s<<2)>>2]=c[b>>2];c[d+(r<<2)>>2]=c[k>>2];h=h+4|0}while((h|0)<(l|0))}else h=0;if((h|0)>=(e|0)){J=q;return}if(!o){do{c[d+(h<<2)>>2]=c[a+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0));J=q;return}do{i=h-g|0;b=0;j=+f[a+(h<<2)>>2];do{j=j+ +f[p+(b<<2)>>2]*+f[a+(i+b<<2)>>2];b=b+1|0}while((b|0)!=(g|0));f[d+(h<<2)>>2]=j;h=h+1|0}while((h|0)!=(e|0));J=q;return}function Ma(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;e=+f[b>>2];j=+f[b+4>>2];g=b+12|0;k=+f[b+8>>2];s=d+-3|0;if((d|0)>3){q=c+4|0;i=c+8|0;l=c+12|0;v=d+-4&-4;u=v+4|0;v=v+7|0;m=+f[q>>2];n=+f[i>>2];o=+f[l>>2];p=+f[c>>2];r=0;t=a;while(1){x=+f[t>>2];h=+f[g>>2];A=e*x+p;f[c>>2]=A;z=j*x+m;f[q>>2]=z;y=k*x+n;f[i>>2]=y;x=x*h+o;f[l>>2]=x;w=+f[t+4>>2];e=+f[g+4>>2];A=A+j*w;f[c>>2]=A;z=z+k*w;f[q>>2]=z;y=y+h*w;f[i>>2]=y;w=x+w*e;f[l>>2]=w;x=+f[t+8>>2];j=+f[g+8>>2];A=A+k*x;f[c>>2]=A;z=z+h*x;f[q>>2]=z;y=y+e*x;f[i>>2]=y;x=w+x*j;f[l>>2]=x;w=+f[t+12>>2];k=+f[g+12>>2];p=A+h*w;f[c>>2]=p;m=z+e*w;f[q>>2]=m;n=y+j*w;f[i>>2]=n;o=x+w*k;f[l>>2]=o;r=r+4|0;if((r|0)>=(s|0))break;else{t=t+16|0;g=g+16|0}}l=u;a=a+(u<<2)|0;g=b+(v<<2)|0}else{l=0;h=0.0}i=l|1;if((l|0)<(d|0)){A=+f[a>>2];h=+f[g>>2];f[c>>2]=e*A+ +f[c>>2];b=c+4|0;f[b>>2]=j*A+ +f[b>>2];b=c+8|0;f[b>>2]=k*A+ +f[b>>2];b=c+12|0;f[b>>2]=A*h+ +f[b>>2];a=a+4|0;g=g+4|0}if((i|0)<(d|0)){A=+f[a>>2];e=+f[g>>2];f[c>>2]=j*A+ +f[c>>2];b=c+4|0;f[b>>2]=k*A+ +f[b>>2];b=c+8|0;f[b>>2]=h*A+ +f[b>>2];b=c+12|0;f[b>>2]=A*e+ +f[b>>2];a=a+4|0;g=g+4|0}if((i+1|0)>=(d|0))return;z=+f[a>>2];A=+f[g>>2];f[c>>2]=k*z+ +f[c>>2];d=c+4|0;f[d>>2]=h*z+ +f[d>>2];d=c+8|0;f[d>>2]=e*z+ +f[d>>2];c=c+12|0;f[c>>2]=z*A+ +f[c>>2];return}function Na(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0,A=0.0,B=0;u=J;J=J+16|0;q=u;r=J;J=J+((1*(g<<2)|0)+15&-16)|0;l=g+e|0;t=J;J=J+((1*(l<<2)|0)+15&-16)|0;s=(g|0)>0;if(s){j=g+-1|0;i=0;do{c[r+(i<<2)>>2]=c[b+(j-i<<2)>>2];i=i+1|0}while((i|0)!=(g|0));if(s){j=g+-1|0;i=0;do{f[t+(i<<2)>>2]=-+f[h+(j-i<<2)>>2];i=i+1|0}while((i|0)!=(g|0));i=g}else i=0}else i=0;if((l|0)>(i|0))tc(t+(i<<2)|0,0,l-i<<2|0)|0;p=e+-3|0;if((e|0)>3){l=q+4|0;m=q+8|0;n=q+12|0;o=b+4|0;j=b+8|0;i=0;do{c[q>>2]=c[a+(i<<2)>>2];B=i|1;c[l>>2]=c[a+(B<<2)>>2];z=i|2;c[m>>2]=c[a+(z<<2)>>2];v=i|3;c[n>>2]=c[a+(v<<2)>>2];Ma(r,t+(i<<2)|0,q,g);A=+f[q>>2];k=-A;w=i+g|0;f[t+(w<<2)>>2]=k;f[d+(i<<2)>>2]=A;A=+f[l>>2]+ +f[b>>2]*k;f[l>>2]=A;x=-A;f[t+(w+1<<2)>>2]=x;f[d+(B<<2)>>2]=A;A=+f[m>>2]+ +f[b>>2]*x+ +f[o>>2]*k;f[m>>2]=A;y=-A;f[t+(w+2<<2)>>2]=y;f[d+(z<<2)>>2]=A;k=+f[n>>2]+ +f[b>>2]*y+ +f[o>>2]*x+ +f[j>>2]*k;f[t+(w+3<<2)>>2]=-k;f[d+(v<<2)>>2]=k;i=i+4|0}while((i|0)<(p|0))}else i=0;a:do if((i|0)<(e|0)){if(!s)while(1){B=c[a+(i<<2)>>2]|0;c[t+(i+g<<2)>>2]=B;c[d+(i<<2)>>2]=B;i=i+1|0;if((i|0)==(e|0))break a}do{j=0;k=+f[a+(i<<2)>>2];do{k=k-+f[r+(j<<2)>>2]*+f[t+(j+i<<2)>>2];j=j+1|0}while((j|0)!=(g|0));f[t+(i+g<<2)>>2]=k;f[d+(i<<2)>>2]=k;i=i+1|0}while((i|0)!=(e|0))}while(0);if(!s){J=u;return}j=e+-1|0;i=0;do{c[h+(i<<2)>>2]=c[d+(j-i<<2)>>2];i=i+1|0}while((i|0)!=(g|0));J=u;return}function Oa(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0,m=0,n=0;m=J;l=g-e|0;k=J;J=J+((1*(g<<2)|0)+15&-16)|0;if(d){if((g|0)>0)rc(k|0,a|0,g<<2|0)|0;if((d|0)>0){j=0;do{i=+f[c+(j<<2)>>2];f[k+(j<<2)>>2]=+f[a+(j<<2)>>2]*i;n=g-j+-1|0;f[k+(n<<2)>>2]=i*+f[a+(n<<2)>>2];j=j+1|0}while((j|0)!=(d|0))}}else k=a;c=e+1|0;Ia(k,k,b,l,c,h);if((e|0)<0){J=m;return 0}d=0;do{j=d+l|0;if((j|0)<(g|0)){i=0.0;do{i=i+ +f[k+(j<<2)>>2]*+f[k+(j-d<<2)>>2];j=j+1|0}while((j|0)!=(g|0))}else i=0.0;n=b+(d<<2)|0;f[n>>2]=i+ +f[n>>2];d=d+1|0}while((d|0)!=(c|0));J=m;return 0}function Pa(a,b,e,g,h,i,j,k){a=a|0;b=b|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,x=0.0,y=0.0,z=0,A=0.0;v=J;J=J+16|0;t=v;u=t;c[u>>2]=0;c[u+4>>2]=0;if(!h){p=+f[14976+(k<<2)>>2];q=+f[14960+(k<<2)>>2]}else{p=.149993896484375;q=0.0}if((b|0)>=(e|0)){J=v;return}r=i+20|0;s=i+28|0;u=(c[i+4>>2]<<3)+32|0;o=a+8|0;do{m=((b|0)<20?b:20)<<1;l=14624+(k*84|0)+(h*42|0)+m|0;m=(m|1)+(14624+(k*84|0)+(h*42|0))|0;n=0;do{a=u-(c[r>>2]|0)-(w(c[s>>2]|0)|0)|0;do if((a|0)<=14){if((a|0)>1){a=Ca(i,26889,2)|0;a=a>>1^0-(a&1);break}if((a|0)==1)a=0-(Ba(i,1)|0)|0;else a=-1}else a=Db(i,(d[l>>0]|0)<<7,(d[m>>0]|0)<<6)|0;while(0);x=+(a|0);z=g+(((c[o>>2]|0)*n|0)+b<<2)|0;A=+f[z>>2];a=t+(n<<2)|0;y=+f[a>>2];f[z>>2]=y+q*(A<-9.0?-9.0:A)+x;f[a>>2]=y+x-p*x;n=n+1|0}while((n|0)<(j|0));b=b+1|0}while((b|0)!=(e|0));J=v;return}function Qa(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0;if((b|0)>=(d|0))return;l=a+8|0;do{k=g+(b<<2)|0;a=c[k>>2]|0;if((a|0)>=1){j=0;do{n=+(Ea(h,a)|0)+.5;a=c[k>>2]|0;m=e+(((c[l>>2]|0)*j|0)+b<<2)|0;f[m>>2]=+f[m>>2]+(n*+(1<<14-a|0)*.00006103515625+-.5);j=j+1|0}while((j|0)<(i|0))}b=b+1|0}while((b|0)!=(d|0));return}function Ra(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0;n=a+8|0;if((b|0)>=(d|0))return;if((i|0)>=(k|0)){m=b;do{l=g+(m<<2)|0;if((c[l>>2]|0)<=7?(c[h+(m<<2)>>2]|0)==0:0){a=0;do{p=+(Ea(j,1)|0)+-.5;o=e+(((c[n>>2]|0)*a|0)+m<<2)|0;f[o>>2]=+f[o>>2]+p*+(1<<13-(c[l>>2]|0)|0)*.00006103515625;i=i+-1|0;a=a+1|0}while((a|0)<(k|0))}m=m+1|0}while(!((m|0)>=(d|0)|(i|0)<(k|0)))}if((i|0)<(k|0))return;do{l=g+(b<<2)|0;if((c[l>>2]|0)<=7?(c[h+(b<<2)>>2]|0)==1:0){a=0;do{p=+(Ea(j,1)|0)+-.5;o=e+(((c[n>>2]|0)*a|0)+b<<2)|0;f[o>>2]=+f[o>>2]+p*+(1<<13-(c[l>>2]|0)|0)*.00006103515625;i=i+-1|0;a=a+1|0}while((a|0)<(k|0))}b=b+1|0}while(!((b|0)>=(d|0)|(i|0)<(k|0)));return}function Sa(a,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;var w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=J;l=(l|0)>0?l:0;N=c[a+8>>2]|0;U=(l|0)>7?8:0;l=l-U|0;X=(q|0)==2;if(X){w=d[14992+(f-e)>>0]|0;R=(l|0)<(w|0);S=l-w|0;T=(S|0)>7?8:0;W=R?0:T;w=R?0:w;l=R?l:S-T|0}else{W=0;w=0}Q=J;J=J+((1*(N<<2)|0)+15&-16)|0;R=J;J=J+((1*(N<<2)|0)+15&-16)|0;S=J;J=J+((1*(N<<2)|0)+15&-16)|0;O=J;J=J+((1*(N<<2)|0)+15&-16)|0;P=(f|0)>(e|0);if(P){C=q<<3;M=a+32|0;A=c[M>>2]|0;B=f+-1|0;z=(i+-5-r|0)*q|0;x=r+3|0;i=b[A+(e<<1)>>1]|0;y=e;do{T=y;y=y+1|0;L=i;i=b[A+(y<<1)>>1]|0;L=(i<<16>>16)-(L<<16>>16)|0;K=L*3<>4;c[S+(T<<2)>>2]=(C|0)>(K|0)?C:K;c[O+(T<<2)>>2]=((z*(B-T|0)|0)*L<>6)-((L<>2]|0;i=z+-1|0;A=a+52|0;if(P){I=c[M>>2]|0;K=c[A>>2]|0;L=b[I+(f<<1)>>1]|0;x=1;do{H=x+i>>1;F=H*N|0;D=L;E=f;B=0;G=0;do{E=E+-1|0;T=D;D=b[I+(E<<1)>>1]|0;T=(((T<<16>>16)-(D<<16>>16)|0)*q|0)*(d[K+(E+F)>>0]|0)<>2;if((T|0)>3){y=(c[O+(E<<2)>>2]|0)+y|0;y=(y|0)>0?y:0}y=(c[g+(E<<2)>>2]|0)+y|0;if(B|0?1:(y|0)>=(c[S+(E<<2)>>2]|0)){B=c[h+(E<<2)>>2]|0;y=(y|0)<(B|0)?y:B;B=1}else{y=(y|0)<(C|0)?0:C;B=0}G=y+G|0}while((E|0)>(e|0));T=(G|0)>(l|0);i=T?H+-1|0:i;x=T?x:H+1|0}while((x|0)<=(i|0));i=A;T=C}else{B=M;V=17}}else{i=c[a+48>>2]|0;z=i;A=a+52|0;B=a+32|0;C=q<<3;i=i+-1|0;V=17}if((V|0)==17){y=(l|0)<0;x=1;do{T=x+i>>1;i=y?T+-1|0:i;x=y?x:T+1|0}while((x|0)<=(i|0));i=A;M=B;T=C}if(P){H=c[M>>2]|0;F=c[i>>2]|0;G=(x+-1|0)*N|0;D=x*N|0;E=(x|0)>1;i=b[H+(e<<1)>>1]|0;if((x|0)<(z|0)){B=e;x=e;do{C=B;B=B+1|0;A=i;i=b[H+(B<<1)>>1]|0;A=((i<<16>>16)-(A<<16>>16)|0)*q|0;N=A*(d[F+(C+G)>>0]|0)<>2;A=A*(d[F+(C+D)>>0]|0)<>2;if((N|0)>3){z=(c[O+(C<<2)>>2]|0)+z|0;z=(z|0)>0?z:0}if((A|0)>3){y=(c[O+(C<<2)>>2]|0)+y|0;y=(y|0)>0?y:0}N=c[g+(C<<2)>>2]|0;L=z+(E?N:0)|0;x=(N|0)>0?C:x;N=y-L+N|0;c[Q+(C<<2)>>2]=L;c[R+(C<<2)>>2]=(N|0)>0?N:0}while((B|0)!=(f|0));F=x}else{A=e;x=e;do{B=A;A=A+1|0;N=i;i=b[H+(A<<1)>>1]|0;N=(((i<<16>>16)-(N<<16>>16)|0)*q|0)*(d[F+(B+G)>>0]|0)<>2;z=c[h+(B<<2)>>2]|0;if((N|0)>3){y=(c[O+(B<<2)>>2]|0)+y|0;y=(y|0)>0?y:0}if((z|0)>0){z=(c[O+(B<<2)>>2]|0)+z|0;z=(z|0)>0?z:0}N=c[g+(B<<2)>>2]|0;L=y+(E?N:0)|0;x=(N|0)>0?B:x;N=z-L+N|0;c[Q+(B<<2)>>2]=L;c[R+(B<<2)>>2]=(N|0)>0?N:0}while((A|0)!=(f|0));F=x}K=(q|0)>1;E=K&1;G=r<<3;if(P){y=f;x=0;z=0;do{y=y+-1|0;i=(c[R+(y<<2)>>2]>>1)+(c[Q+(y<<2)>>2]|0)|0;if(x|0?1:(i|0)>=(c[S+(y<<2)>>2]|0)){x=c[h+(y<<2)>>2]|0;i=(i|0)<(x|0)?i:x;x=1}else{i=(i|0)<(T|0)?0:T;x=0}z=i+z|0}while((y|0)>(e|0));C=(z|0)>(l|0);A=C?32:64;B=C?16:48;y=f;x=0;z=0;do{y=y+-1|0;i=((c[R+(y<<2)>>2]|0)*B>>6)+(c[Q+(y<<2)>>2]|0)|0;if(x|0?1:(i|0)>=(c[S+(y<<2)>>2]|0)){x=c[h+(y<<2)>>2]|0;i=(i|0)<(x|0)?i:x;x=1}else{i=(i|0)<(T|0)?0:T;x=0}z=i+z|0}while((y|0)>(e|0));y=(z|0)>(l|0);D=y?B:A;B=y?(C?0:32):B;A=(B+D|0)>>>1;y=f;x=0;z=0;do{y=y+-1|0;i=((c[R+(y<<2)>>2]|0)*A>>6)+(c[Q+(y<<2)>>2]|0)|0;if(x|0?1:(i|0)>=(c[S+(y<<2)>>2]|0)){x=c[h+(y<<2)>>2]|0;i=(i|0)<(x|0)?i:x;x=1}else{i=(i|0)<(T|0)?0:T;x=0}z=i+z|0}while((y|0)>(e|0));y=(z|0)>(l|0);C=y?A:D;B=y?B:A;A=(B+C|0)>>>1;y=f;x=0;z=0;do{y=y+-1|0;i=((c[R+(y<<2)>>2]|0)*A>>6)+(c[Q+(y<<2)>>2]|0)|0;if(x|0?1:(i|0)>=(c[S+(y<<2)>>2]|0)){x=c[h+(y<<2)>>2]|0;i=(i|0)<(x|0)?i:x;x=1}else{i=(i|0)<(T|0)?0:T;x=0}z=i+z|0}while((y|0)>(e|0));z=(z|0)>(l|0);D=z?A:C;z=z?B:A;B=(z+D|0)>>>1;y=f;x=0;A=0;do{y=y+-1|0;i=((c[R+(y<<2)>>2]|0)*B>>6)+(c[Q+(y<<2)>>2]|0)|0;if(x|0?1:(i|0)>=(c[S+(y<<2)>>2]|0)){x=c[h+(y<<2)>>2]|0;i=(i|0)<(x|0)?i:x;x=1}else{i=(i|0)<(T|0)?0:T;x=0}A=i+A|0}while((y|0)>(e|0));A=(A|0)>(l|0);C=A?z:B;A=(C+(A?B:D)|0)>>>1;y=f;x=0;z=0;do{y=y+-1|0;i=((c[R+(y<<2)>>2]|0)*A>>6)+(c[Q+(y<<2)>>2]|0)|0;if(x|0?1:(i|0)>=(c[S+(y<<2)>>2]|0)){x=c[h+(y<<2)>>2]|0;i=(i|0)<(x|0)?i:x;x=1}else{i=(i|0)<(T|0)?0:T;x=0}z=i+z|0}while((y|0)>(e|0));z=(z|0)>(l|0)?C:A;x=f;y=0;i=0;while(1){x=x+-1|0;g=((c[R+(x<<2)>>2]|0)*z>>6)+(c[Q+(x<<2)>>2]|0)|0;A=y|0?1:(g|0)>=(c[S+(x<<2)>>2]|0);g=A?g:(g|0)<(T|0)?0:T;P=c[h+(x<<2)>>2]|0;P=(g|0)<(P|0)?g:P;c[n+(x<<2)>>2]=P;i=P+i|0;if((x|0)<=(e|0)){N=E;L=G;break}else y=A?1:y}}else{N=E;i=0;L=G}}else{N=(q|0)>1;K=N;N=N&1;i=0;L=r<<3;F=e}x=f+-1|0;a:do if((x|0)>(F|0)){E=T+8|0;D=e+2|0;if(!t){A=f;while(1){y=l-i|0;u=c[M>>2]|0;R=b[u+(A<<1)>>1]|0;z=b[u+(e<<1)>>1]|0;B=R-z|0;v=(y>>>0)/(B>>>0)|0;u=b[u+(x<<1)>>1]|0;z=y-(B*v|0)+(z-u)|0;B=n+(x<<2)|0;y=c[B>>2]|0;z=((R-u|0)*v|0)+y+((z|0)>0?z:0)|0;v=c[S+(x<<2)>>2]|0;if((z|0)>=(((v|0)>(E|0)?v:E)|0)){if(Ba(s,1)|0){I=A;x=w;w=i;i=l;break a}y=c[B>>2]|0;z=z+-8|0;i=i+8|0}if((w|0)>0)A=d[14992+(x-e)>>0]|0;else A=w;v=(z|0)<(T|0)?0:T;i=i-(y+w)+v+A|0;c[B>>2]=v;y=x+-1|0;if((y|0)>(F|0)){v=x;w=A;x=y;A=v}else{w=A;V=53;break a}}}B=f;while(1){Q=l-i|0;A=c[M>>2]|0;C=b[A+(B<<1)>>1]|0;z=b[A+(e<<1)>>1]|0;y=C-z|0;R=(Q>>>0)/(y>>>0)|0;A=b[A+(x<<1)>>1]|0;z=Q-(y*R|0)+(z-A)|0;A=C-A|0;C=n+(x<<2)|0;y=c[C>>2]|0;z=(A*R|0)+y+((z|0)>0?z:0)|0;R=c[S+(x<<2)>>2]|0;if((z|0)>=(((R|0)>(E|0)?R:E)|0)){if((B|0)<=(D|0))break;if(!((x|0)>(v|0)?1:(z|0)<=(A*((B|0)>17?((B|0)>(u|0)?9:7):0)<>4|0)))break;zb(s,0,1);y=c[C>>2]|0;z=z+-8|0;i=i+8|0}if((w|0)>0)A=d[14992+(x-e)>>0]|0;else A=w;R=(z|0)<(T|0)?0:T;i=i-(y+w)+R+A|0;c[C>>2]=R;y=x+-1|0;if((y|0)>(F|0)){B=x;w=A;x=y}else{w=A;V=53;break a}}zb(s,1,1);I=B;x=w;w=i;i=l}else{x=f;V=53}while(0);if((V|0)==53){I=x;x=w;w=i;i=l+U|0}do if((x|0)>0)if(!t){l=(Da(s,I+1-e|0)|0)+e|0;c[j>>2]=l;break}else{l=c[j>>2]|0;l=(l|0)<(I|0)?l:I;c[j>>2]=l;Ab(s,l-e|0,I+1-e|0);l=c[j>>2]|0;break}else{c[j>>2]=0;l=0}while(0);V=(l|0)>(e|0);l=V?0:W;do if((W|0)>0&V)if(!t){c[k>>2]=Ba(s,1)|0;break}else{zb(s,c[k>>2]|0,1);break}else c[k>>2]=0;while(0);t=l+(i-w)|0;H=c[M>>2]|0;z=b[H+(e<<1)>>1]|0;y=(b[H+(I<<1)>>1]|0)-(z<<16>>16)|0;i=(t>>>0)/(y>>>0)|0;y=t-(y*i|0)|0;if((I|0)>(e|0)){l=z;w=e;do{t=w;w=w+1|0;s=l;l=b[H+(w<<1)>>1]|0;t=n+(t<<2)|0;c[t>>2]=(((l<<16>>16)-(s<<16>>16)|0)*i|0)+(c[t>>2]|0)}while((w|0)!=(I|0));w=z;x=e;i=y;while(1){t=x;x=x+1|0;l=w;w=b[H+(x<<1)>>1]|0;l=(w<<16>>16)-(l<<16>>16)|0;l=(i|0)<(l|0)?i:l;t=n+(t<<2)|0;c[t>>2]=l+(c[t>>2]|0);if((x|0)==(I|0))break;else i=i-l|0}G=a+56|0;F=K?4:3;l=0;do{E=e;e=e+1|0;y=z;z=b[H+(e<<1)>>1]|0;y=(z<<16>>16)-(y<<16>>16)<>2]|0)+l|0;if((y|0)>1){i=w-(c[h+(E<<2)>>2]|0)|0;i=(i|0)>0?i:0;C=w-i|0;c[D>>2]=C;x=y*q|0;if(X&(y|0)!=2?(c[k>>2]|0)==0:0)w=(E|0)<(c[j>>2]|0);else w=0;A=x+(w&1)|0;x=(L+(b[(c[G>>2]|0)+(E<<1)>>1]|0)|0)*A|0;B=A<<3;y=((y|0)==2?B>>2:0)+(A*-21|0)+(x>>1)|0;w=y+C|0;if((w|0)<(A<<4|0))w=x>>2;else w=(w|0)<(A*24|0)?x>>3:0;t=w+y|0;s=(A<<2)+C+t|0;a=o+(E<<2)|0;s=((((s|0)>0?s:0)>>>0)/(A>>>0)|0)>>>3;c[a>>2]=s;W=c[D>>2]|0;s=(s*q|0)>(W>>3|0)?W>>N>>3:s;s=(s|0)<8?s:8;c[a>>2]=s;c[p+(E<<2)>>2]=(s*B|0)>=((c[D>>2]|0)+t|0)&1;c[D>>2]=(c[D>>2]|0)-((c[a>>2]|0)*T|0)}else{i=w-T|0;i=(i|0)>0?i:0;c[D>>2]=w-i;c[o+(E<<2)>>2]=0;c[p+(E<<2)>>2]=1}if(!i)l=0;else{W=i>>>F;t=o+(E<<2)|0;s=c[t>>2]|0;a=8-s|0;a=(W|0)<(a|0)?W:a;c[t>>2]=a+s;a=a*T|0;c[p+(E<<2)>>2]=(a|0)>=(i-l|0)&1;l=i-a|0}}while((e|0)!=(I|0));e=I}else l=0;c[m>>2]=l;if((e|0)>=(f|0)){J=Y;return I|0}do{j=n+(e<<2)|0;m=o+(e<<2)|0;c[m>>2]=c[j>>2]>>N>>3;c[j>>2]=0;c[p+(e<<2)>>2]=(c[m>>2]|0)<1&1;e=e+1|0}while((e|0)!=(f|0));J=Y;return I|0}function Ta(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0.0;if((g<<1|0)>=(b|0)|(h|0)==0)return;y=+(b|0)/+(((c[26700+(h+-1<<2)>>2]|0)*g|0)+b|0);y=y*y*.5;z=+u(+(y*1.5707963705062866));y=+u(+((1.0-y)*1.5707963705062866));if((e<<3|0)>(b|0))h=0;else{g=e>>2;h=1;while(1)if(((((h*h|0)+h|0)*e|0)+g|0)<(b|0))h=h+1|0;else break}x=(b>>>0)/(e>>>0)|0;if((e|0)<=0)return;l=(d|0)<0;w=(h|0)==0;v=-y;r=x+-1|0;n=(x|0)>1;p=-z;q=x-h|0;m=(q|0)>0;t=x+-3|0;k=(x|0)>2;j=x-(h<<1)|0;s=j+-1|0;j=(j|0)>0;o=0;do{d=a+(o*x<<2)|0;if(l){if(!w){if(m){g=d;b=0;while(1){A=+f[g>>2];B=g+(h<<2)|0;i=+f[B>>2];f[B>>2]=A*z+i*y;f[g>>2]=A*y+i*p;b=b+1|0;if((b|0)==(q|0))break;else g=g+4|0}}if(j){g=d+(s<<2)|0;b=s;while(1){i=+f[g>>2];B=g+(h<<2)|0;A=+f[B>>2];f[B>>2]=i*z+A*y;f[g>>2]=i*y+A*p;if((b|0)>0){g=g+-4|0;b=b+-1|0}else break}}}if(n){i=+f[d>>2];g=d;b=0;do{B=g;g=g+4|0;A=+f[g>>2];C=i;i=i*y+A*z;f[g>>2]=i;f[B>>2]=C*z+A*v;b=b+1|0}while((b|0)!=(r|0))}if(k){g=d+(t<<2)|0;b=t;while(1){A=+f[g>>2];B=g+4|0;C=+f[B>>2];f[B>>2]=A*y+C*z;f[g>>2]=A*z+C*v;if((b|0)>0){g=g+-4|0;b=b+-1|0}else break}}}else{if(n){i=+f[d>>2];g=d;b=0;do{B=g;g=g+4|0;C=+f[g>>2];A=i;i=i*v+C*z;f[g>>2]=i;f[B>>2]=A*z+C*y;b=b+1|0}while((b|0)!=(r|0))}if(k){g=d+(t<<2)|0;b=t;while(1){A=+f[g>>2];B=g+4|0;C=+f[B>>2];f[B>>2]=A*v+C*z;f[g>>2]=A*z+C*y;if((b|0)>0){g=g+-4|0;b=b+-1|0}else break}}if(!w){if(m){g=d;b=0;while(1){A=+f[g>>2];B=g+(h<<2)|0;C=+f[B>>2];f[B>>2]=A*p+C*y;f[g>>2]=A*y+C*z;b=b+1|0;if((b|0)==(q|0))break;else g=g+4|0}}if(j){g=d+(s<<2)|0;b=s;while(1){A=+f[g>>2];B=g+(h<<2)|0;C=+f[B>>2];f[B>>2]=A*p+C*y;f[g>>2]=A*y+C*z;if((b|0)>0){g=g+-4|0;b=b+-1|0}else break}}}}o=o+1|0}while((o|0)!=(e|0));return}function Ua(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,s=0,t=0,u=0,v=0;v=J;t=J;J=J+((1*(e<<2)|0)+15&-16)|0;u=J;J=J+((1*(e<<2)|0)+15&-16)|0;tc(t|0,0,((e|0)>1?e:1)<<2|0)|0;g=0;do{s=a+(g<<2)|0;p=+f[s>>2];c[u+(g<<2)>>2]=p<0.0&1;f[s>>2]=+r(+p);c[b+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(e|0));if((e>>1|0)<(d|0)){g=0;h=0.0;do{h=h+ +f[a+(g<<2)>>2];g=g+1|0}while((g|0)<(e|0));if(!(h>1.0000000036274937e-15&h<64.0)){f[a>>2]=1.0;tc(a+4|0,0,(((e|0)>2?e:2)<<2)+-4|0)|0;h=1.0}k=(+(d|0)+.800000011920929)*(1.0/h);j=0;g=d;i=0.0;h=0.0;do{n=+f[a+(j<<2)>>2];s=~~+q(+(k*n));c[b+(j<<2)>>2]=s;p=+(s|0);h=h+p*p;i=i+n*p;f[t+(j<<2)>>2]=p*2.0;g=g-s|0;j=j+1|0}while((j|0)<(e|0))}else{g=d;i=0.0;h=0.0}if((g|0)<=(e+3|0)){if((g|0)>0){p=+f[a>>2];s=0;do{h=h+1.0;m=i+p;l=h+ +f[t>>2];o=0;m=m*m;j=1;while(1){n=i+ +f[a+(j<<2)>>2];k=h+ +f[t+(j<<2)>>2];n=n*n;d=l*n>m*k;o=d?j:o;j=j+1|0;if((j|0)>=(e|0))break;else{l=d?k:l;m=d?n:m}}i=i+ +f[a+(o<<2)>>2];j=t+(o<<2)|0;n=+f[j>>2];h=h+n;f[j>>2]=n+2.0;o=b+(o<<2)|0;c[o>>2]=(c[o>>2]|0)+1;s=s+1|0}while((s|0)!=(g|0))}}else{p=+(g|0);h=h+p*p+ +f[t>>2]*p;c[b>>2]=(c[b>>2]|0)+g}g=0;do{a=b+(g<<2)|0;t=c[u+(g<<2)>>2]|0;c[a>>2]=(c[a>>2]^0-t)+t;g=g+1|0}while((g|0)<(e|0));J=v;return +h}function Va(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=j|0;k=k|0;var l=0.0,m=0,n=0;n=J;m=J;J=J+((1*(b+3<<2)|0)+15&-16)|0;Ta(a,b,1,g,d,e);l=+Ua(a,m,d,b,0);wb(m,b,d,h);if(j|0){l=1.0/+s(+l)*i;k=0;do{f[a+(k<<2)>>2]=l*+(c[m+(k<<2)>>2]|0);k=k+1|0}while((k|0)<(b|0));Ta(a,b,-1,g,d,e)}if((g|0)<2){g=1;J=n;return g|0}b=(b>>>0)/(g>>>0)|0;k=0;a=0;do{j=a*b|0;h=0;d=0;do{d=c[m+(h+j<<2)>>2]|d;h=h+1|0}while((h|0)<(b|0));k=((d|0)!=0&1)<>2]=i*+(c[k+(h<<2)>>2]|0);h=h+1|0}while((h|0)<(b|0));Ta(a,b,-1,g,d,e);if((g|0)<2){k=1;J=l;return k|0}e=(b>>>0)/(g>>>0)|0;h=0;j=0;do{b=j*e|0;d=0;a=0;do{a=c[k+(d+b<<2)>>2]|a;d=d+1|0}while((d|0)<(e|0));h=((a|0)!=0&1)<0;if(!e)return;d=0;g=0.0;do{h=+f[a+(d<<2)>>2];g=g+h*h;d=d+1|0}while((d|0)!=(b|0));g=1.0/+s(+(g+1.0000000036274937e-15))*c;if(!e)return;e=0;d=a;while(1){f[d>>2]=g*+f[d>>2];e=e+1|0;if((e|0)==(b|0))break;else d=d+4|0}return}function Ya(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=(d|0)>0;if(!c)if(e){e=0;g=0.0;do{j=+f[a+(e<<2)>>2];g=g+j*j;e=e+1|0}while((e|0)!=(d|0));h=g+1.0000000036274937e-15;e=0;g=0.0;do{j=+f[b+(e<<2)>>2];g=g+j*j;e=e+1|0}while((e|0)!=(d|0));g=g+1.0000000036274937e-15}else{h=1.0000000036274937e-15;g=1.0000000036274937e-15}else if(e){h=1.0000000036274937e-15;g=1.0000000036274937e-15;e=0;do{k=+f[a+(e<<2)>>2];j=+f[b+(e<<2)>>2];i=k+j;j=k-j;h=h+i*i;g=g+j*j;e=e+1|0}while((e|0)!=(d|0))}else{h=1.0000000036274937e-15;g=1.0000000036274937e-15}j=+s(+h);g=+s(+g);h=j*j;i=g*g;if(i+h<1.000000045813705e-18){k=0.0;k=k*10430.3818359375;k=k+.5;k=+q(+k);b=~~k;return b|0}if(h>2]=8552;return 0}function _a(a){a=a|0;var b=0,d=0;Fb(a)|0;b=Fb(a+4264|0)|0;d=a+8528|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[a+8548>>2]=0;return b|0}function $a(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,K=0,L=0,M=0;M=J;J=J+672|0;L=M+660|0;I=M+656|0;H=M+648|0;z=M+640|0;u=M;c[L>>2]=0;G=z;c[G>>2]=0;c[G+4>>2]=0;G=f+4|0;m=c[G>>2]|0;if((h|0)!=0&(m|0)>0){h=0;do{c[d+(h*4264|0)+2388>>2]=0;h=h+1|0}while((h|0)<(m|0))}K=d+8544|0;if((m|0)>(c[K>>2]|0)){n=Fb(d+4264|0)|0;m=c[G>>2]|0}else n=0;if((m|0)==1?(c[K>>2]|0)==2:0)D=(c[f+12>>2]|0)==((c[d+2316>>2]|0)*1e3|0);else D=0;y=d+2388|0;a:do if((c[y>>2]|0)==0&(m|0)>0){r=f+16|0;p=f+12|0;o=f+8|0;q=0;b:while(1){switch(c[r>>2]|0){case 10:case 0:{h=2;m=1;break}case 20:{h=4;m=1;break}case 40:{h=4;m=2;break}case 60:{h=4;m=3;break}default:{h=-203;A=134;break b}}c[d+(q*4264|0)+2392>>2]=m;c[d+(q*4264|0)+2324>>2]=h;h=c[p>>2]>>10;switch(h|0){case 7:case 11:case 15:break;default:{h=-200;A=134;break b}}n=(Kb(d+(q*4264|0)|0,h+1|0,c[o>>2]|0)|0)+n|0;q=q+1|0;m=c[G>>2]|0;if((q|0)>=(m|0))break a}if((A|0)==134){J=M;return h|0}}while(0);h=c[f>>2]|0;do if((h|0)==2)if((m|0)==2){if((c[d+8540>>2]|0)!=1?(c[K>>2]|0)!=1:0){h=2;m=2;break}c[d+8528>>2]=0;c[d+8536>>2]=0;rc(d+6696|0,d+2432|0,300)|0;h=c[f>>2]|0;m=c[G>>2]|0}else h=2;while(0);c[d+8540>>2]=h;c[K>>2]=m;x=f+8|0;if(((c[x>>2]|0)+-8e3|0)>>>0>4e4){d=-200;J=M;return d|0}B=(g|0)==1;if(!B?(c[y>>2]|0)==0:0){if((m|0)>0){p=0;do{o=d+(p*4264|0)+2392|0;w=(c[o>>2]|0)>0;h=Ba(i,1)|0;if(w){m=0;do{c[d+(p*4264|0)+2404+(m<<2)>>2]=h;m=m+1|0;w=(m|0)<(c[o>>2]|0);h=Ba(i,1)|0}while(w)}c[d+(p*4264|0)+2416>>2]=h;p=p+1|0;m=c[G>>2]|0}while((p|0)<(m|0));if((m|0)>0){q=0;do{m=d+(q*4264|0)+2420|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;do if(c[d+(q*4264|0)+2416>>2]|0){p=d+(q*4264|0)+2392|0;h=c[p>>2]|0;if((h|0)==1){c[m>>2]=1;break}o=(Ca(i,c[26724+(h+-2<<2)>>2]|0,8)|0)+1|0;h=c[p>>2]|0;if((h|0)>0){m=0;do{c[d+(q*4264|0)+2420+(m<<2)>>2]=o>>>m&1;m=m+1|0}while((m|0)<(h|0))}}while(0);q=q+1|0;m=c[G>>2]|0}while((q|0)<(m|0))}}if((g|0)==0?(t=d+2392|0,(c[t>>2]|0)>0):0){s=d+6684|0;r=0;do{if((m|0)>0){q=s+(r<<2)|0;p=r+-1|0;if(!r){o=0;do{h=d+(o*4264|0)|0;if(c[d+(o*4264|0)+2420>>2]|0){do if((o|0)==0&(m|0)==2){hb(i,z);if(c[q>>2]|0)break;ib(i,L)}while(0);Ib(h,i,0,1,0);Jb(i,u,a[d+(o*4264|0)+2765>>0]|0,a[d+(o*4264|0)+2766>>0]|0,c[d+(o*4264|0)+2328>>2]|0);m=c[G>>2]|0}o=o+1|0}while((o|0)<(m|0))}else{o=0;do{h=d+(o*4264|0)|0;if(c[d+(o*4264|0)+2420+(r<<2)>>2]|0){do if((o|0)==0&(m|0)==2){hb(i,z);if(c[q>>2]|0)break;ib(i,L)}while(0);Ib(h,i,r,1,(c[d+(o*4264|0)+2420+(p<<2)>>2]|0)==0?0:2);Jb(i,u,a[d+(o*4264|0)+2765>>0]|0,a[d+(o*4264|0)+2766>>0]|0,c[d+(o*4264|0)+2328>>2]|0);m=c[G>>2]|0}o=o+1|0}while((o|0)<(m|0))}}r=r+1|0}while((r|0)<(c[t>>2]|0))}}do if((m|0)==2){switch(g|0){case 0:{hb(i,z);if(!(c[d+6668+(c[y>>2]<<2)>>2]|0))A=65;else A=66;break}case 2:{if((c[d+2420+(c[y>>2]<<2)>>2]|0)==1){hb(i,z);if(!(c[d+6684+(c[y>>2]<<2)>>2]|0))A=65;else A=66}else A=67;break}default:A=67}if((A|0)==65){ib(i,L);break}else if((A|0)==66){c[L>>2]=0;break}else if((A|0)==67){c[z>>2]=b[d+8528>>1];c[z+4>>2]=b[d+8530>>1];break}}while(0);h=c[G>>2]|0;if((h|0)==2&(c[L>>2]|0)==0)if((c[d+8548>>2]|0)==1){tc(d+5548|0,0,1024)|0;c[d+6572>>2]=100;a[d+6576>>0]=10;c[d+8428>>2]=0;c[d+6640>>2]=1;h=c[G>>2]|0}else h=2;u=(h*(c[f+12>>2]|0)|0)<((c[f>>2]|0)*(c[x>>2]|0)|0);if(u){w=F()|0;c[H>>2]=j;h=d+2328|0;v=H;o=j}else{v=d+2328|0;h=((c[v>>2]|0)+2|0)*h|0;w=F()|0;o=J;J=J+((1*(h<<1)|0)+15&-16)|0;c[H>>2]=o;h=v;v=H}s=o+(c[h>>2]<<1)+4|0;t=H+4|0;c[t>>2]=s;if(g)if(c[d+8548>>2]|0){h=c[G>>2]|0;if((g|0)==2&(h|0)==2){m=(c[d+6684+(c[d+6652>>2]<<2)>>2]|0)==1;A=79}else m=0}else{m=1;A=79}else{m=(c[L>>2]|0)==0;A=79}if((A|0)==79)h=c[G>>2]|0;if((h|0)>0){r=(g|0)==2;q=d+8548|0;c:do if(m){p=0;do{h=(p|0)==0;m=(c[y>>2]|0)-p|0;do if((m|0)<1)h=0;else{if(r){h=(c[d+(p*4264|0)+2420+(m+-1<<2)>>2]|0)==0?0:2;break}if(!h?c[q>>2]|0:0){h=1;break}h=2}while(0);n=(Gb(d+(p*4264|0)|0,i,(c[H+(p<<2)>>2]|0)+4|0,I,g,h,l)|0)+n|0;h=d+(p*4264|0)+2388|0;c[h>>2]=(c[h>>2]|0)+1;p=p+1|0;h=c[G>>2]|0}while((p|0)<(h|0))}else{p=o+4|0;if(!r){m=0;while(1){if(!m)n=(Gb(d,i,p,I,g,(c[y>>2]|0)>0?2:0,l)|0)+n|0;else tc((c[H+(m<<2)>>2]|0)+4|0,0,c[I>>2]<<1|0)|0;h=d+(m*4264|0)+2388|0;c[h>>2]=(c[h>>2]|0)+1;m=m+1|0;h=c[G>>2]|0;if((m|0)>=(h|0))break c}}m=0;do{if(!m){h=c[y>>2]|0;if((h|0)<1)h=0;else h=(c[d+2420+(h+-1<<2)>>2]|0)==0?0:2;n=(Gb(d,i,p,I,2,h,l)|0)+n|0}else tc((c[H+(m<<2)>>2]|0)+4|0,0,c[I>>2]<<1|0)|0;h=d+(m*4264|0)+2388|0;c[h>>2]=(c[h>>2]|0)+1;m=m+1|0;h=c[G>>2]|0}while((m|0)<(h|0))}while(0);if((h|0)==2&(c[f>>2]|0)==2){o=c[v>>2]|0;r=d+2316|0;ab(d+8528|0,o,s,z,c[r>>2]|0,c[I>>2]|0);p=c[I>>2]|0}else A=105}else A=105;if((A|0)==105){r=d+8532|0;p=e[r>>1]|e[r+2>>1]<<16;b[o>>1]=p;b[o+2>>1]=p>>>16;p=c[I>>2]|0;A=o+(p<<1)|0;A=e[A>>1]|e[A+2>>1]<<16;b[r>>1]=A;b[r+2>>1]=A>>>16;r=d+2316|0}m=((c[x>>2]|0)*p|0)/((c[r>>2]<<16>>16)*1e3|0)|0;c[k>>2]=m;h=c[f>>2]|0;if((h|0)==2){q=J;J=J+((1*(m<<1)|0)+15&-16)|0}else q=j;m=c[G>>2]|0;if(u){A=c[d+2328>>2]|0;z=A+2|0;o=J;J=J+((1*(z*m<<1)|0)+15&-16)|0;rc(o|0,j|0,(m<<1)*z|0)|0;c[v>>2]=o;c[t>>2]=o+(A<<1)+4}d:do if((((h|0)<(m|0)?h:m)|0)>0){h=p;p=0;while(1){n=(cb(d+(p*4264|0)+2432|0,q,o+2|0,h)|0)+n|0;h=c[f>>2]|0;if((h|0)==2?(C=c[k>>2]|0,(C|0)>0):0){m=0;do{b[j+((m<<1)+p<<1)>>1]=b[q+(m<<1)>>1]|0;m=m+1|0}while((m|0)<(C|0))}p=p+1|0;m=c[G>>2]|0;if((p|0)>=(((h|0)<(m|0)?h:m)|0))break d;o=c[H+(p<<2)>>2]|0;h=c[I>>2]|0}}while(0);do if((h|0)==2&(m|0)==1)if(D){n=(cb(d+6696|0,q,(c[v>>2]|0)+2|0,c[I>>2]|0)|0)+n|0;h=c[k>>2]|0;if((h|0)<=0)break;m=0;do{b[j+((m<<1|1)<<1)>>1]=b[q+(m<<1)>>1]|0;m=m+1|0}while((m|0)<(h|0))}else{h=c[k>>2]|0;if((h|0)<=0)break;m=0;do{k=m<<1;b[j+((k|1)<<1)>>1]=b[j+(k<<1)>>1]|0;m=m+1|0}while((m|0)<(h|0))}while(0);if((c[d+4164>>2]|0)==2)h=(c[26712+((c[r>>2]|0)+-8>>2<<2)>>2]|0)*(c[d+2308>>2]|0)|0;else h=0;c[f+20>>2]=h;if(B){h=c[K>>2]|0;if((h|0)>0){m=0;do{a[d+(m*4264|0)+2312>>0]=10;m=m+1|0}while((m|0)<(h|0))}}else c[d+8548>>2]=c[L>>2];E(w|0);d=n;J=M;return d|0}function ab(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=a+4|0;k=e[r>>1]|e[r+2>>1]<<16;b[d>>1]=k;b[d+2>>1]=k>>>16;k=a+8|0;m=e[k>>1]|e[k+2>>1]<<16;b[f>>1]=m;b[f+2>>1]=m>>>16;m=d+(i<<1)|0;m=e[m>>1]|e[m+2>>1]<<16;b[r>>1]=m;b[r+2>>1]=m>>>16;r=f+(i<<1)|0;r=e[r>>1]|e[r+2>>1]<<16;b[k>>1]=r;b[k+2>>1]=r>>>16;k=b[a>>1]|0;r=a+2|0;m=b[r>>1]|0;j=h<<3;q=c[g>>2]|0;n=(65536/(j|0)|0)<<16>>16;o=((q-k<<16>>16)*n>>15)+1>>1;p=c[g+4>>2]|0;n=((p-m<<16>>16)*n>>15)+1>>1;if((h|0)>0){l=0;h=k;g=m;do{h=h+o|0;g=g+n|0;s=l;l=l+1|0;u=b[d+(l<<1)>>1]|0;s=(b[d+(s+2<<1)>>1]|0)+(b[d+(s<<1)>>1]|0)+(u<<1)|0;m=f+(l<<1)|0;k=h<<16>>16;t=g<<16>>16;k=(b[m>>1]<<8)+((u>>5)*t|0)+((u<<11&63488)*t>>16)+((s>>7)*k|0)+((s<<9&65024)*k>>16)|0;b[m>>1]=(k|0)>8388479?32767:(k|0)<-8388736?-32768:((k>>>7)+1|0)>>>1&65535}while((l|0)<(j|0))}if((j|0)<(i|0)){g=q<<16>>16;h=p<<16>>16;do{t=j;j=j+1|0;s=b[d+(j<<1)>>1]|0;t=(b[d+(t+2<<1)>>1]|0)+(b[d+(t<<1)>>1]|0)+(s<<1)|0;u=f+(j<<1)|0;t=(b[u>>1]<<8)+((s>>5)*h|0)+((s<<11&63488)*h>>16)+((t>>7)*g|0)+((t<<9&65024)*g>>16)|0;b[u>>1]=(t|0)>8388479?32767:(t|0)<-8388736?-32768:((t>>>7)+1|0)>>>1&65535}while((j|0)!=(i|0))}b[a>>1]=q;b[r>>1]=p;if((i|0)<=0)return;j=0;do{j=j+1|0;s=d+(j<<1)|0;r=b[s>>1]|0;u=f+(j<<1)|0;t=b[u>>1]|0;a=t+r|0;t=r-t|0;a=(a|0)>-32768?a:-32768;b[s>>1]=(a|0)<32767?a:32767;t=(t|0)>-32768?t:-32768;b[u>>1]=(t|0)<32767?t:32767}while((j|0)!=(i|0));return}function bb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;tc(b|0,0,300)|0;if(!f){a:do if((d|0)>=12e3)if((d|0)<16e3){switch(d|0){case 12e3:break a;default:f=-1}return f|0}else{switch(d|0){case 16e3:break a;default:f=-1}return f|0}else{switch(d|0){case 8e3:break a;default:f=-1}return f|0}while(0);b:do if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break b;default:f=-1}return f|0}else{switch(e|0){case 12e3:break b;default:f=-1}return f|0}else{if((e|0)<24e3){switch(e|0){case 16e3:break b;default:f=-1}return f|0}if((e|0)<48e3){switch(e|0){case 24e3:break b;default:f=-1}return f|0}else{switch(e|0){case 48e3:break b;default:f=-1}return f|0}}while(0);f=((e>>>12)-((e|0)>16e3&1)>>((e|0)>24e3&1))+-1+(26968+(((d>>>12)+-1|0)*5|0))|0}else{c:do if((d|0)<16e3)if((d|0)<12e3){switch(d|0){case 8e3:break c;default:f=-1}return f|0}else{switch(d|0){case 12e3:break c;default:f=-1}return f|0}else{if((d|0)<24e3){switch(d|0){case 16e3:break c;default:f=-1}return f|0}if((d|0)<48e3){switch(d|0){case 24e3:break c;default:f=-1}return f|0}else{switch(d|0){case 48e3:break c;default:f=-1}return f|0}}while(0);d:do if((e|0)>=12e3)if((e|0)<16e3){switch(e|0){case 12e3:break d;default:f=-1}return f|0}else{switch(e|0){case 16e3:break d;default:f=-1}return f|0}else{switch(e|0){case 8e3:break d;default:f=-1}return f|0}while(0);f=(e>>>12)+-1+(26953+((((d>>>12)-((d|0)>16e3&1)>>((d|0)>24e3&1))+-1|0)*3|0))|0}c[b+292>>2]=a[f>>0];i=(d>>>0)/1e3|0;c[b+284>>2]=i;c[b+288>>2]=(e>>>0)/1e3|0;c[b+268>>2]=i*10;do if((e|0)>(d|0)){f=b+264|0;if((d<<1|0)==(e|0)){c[f>>2]=1;f=0;break}else{c[f>>2]=2;f=1;break}}else{f=b+264|0;if((e|0)>=(d|0)){c[f>>2]=0;f=0;break}c[f>>2]=3;f=e<<2;if((f|0)==(d*3|0)){c[b+280>>2]=3;c[b+276>>2]=18;c[b+296>>2]=15088;f=0;break}g=e*3|0;if((g|0)==(d<<1|0)){c[b+280>>2]=2;c[b+276>>2]=18;c[b+296>>2]=15152;f=0;break}if((e<<1|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=24;c[b+296>>2]=15200;f=0;break}if((g|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=15232;f=0;break}if((f|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=15280;f=0;break}if((e*6|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=15328;f=0;break}else{b=-1;return b|0}}while(0);h=e<<16>>16;g=((e>>>15)+1|0)>>>1;i=d<>16)*h|0)+(f*g|0)+((f&65535)*h>>16)|0)<(i|0))f=f+1|0;else break;c[b+272>>2]=f;b=0;return b|0}function cb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+284|0;h=a+292|0;j=c[h>>2]|0;i=(c[f>>2]|0)-j|0;g=a+168|0;rc(a+168+(j<<1)|0,d|0,i<<1|0)|0;switch(c[a+264>>2]|0){case 1:{gb(a,b,g,c[f>>2]|0);gb(a,b+(c[a+288>>2]<<1)|0,d+(i<<1)|0,e-(c[f>>2]|0)|0);break}case 2:{eb(a,b,g,c[f>>2]|0);eb(a,b+(c[a+288>>2]<<1)|0,d+(i<<1)|0,e-(c[f>>2]|0)|0);break}case 3:{db(a,b,g,c[f>>2]|0);db(a,b+(c[a+288>>2]<<1)|0,d+(i<<1)|0,e-(c[f>>2]|0)|0);break}default:{rc(b|0,g|0,c[f>>2]<<1|0)|0;rc(b+(c[a+288>>2]<<1)|0,d+(i<<1)|0,e-(c[f>>2]|0)<<1|0)|0}}j=c[h>>2]|0;rc(g|0,d+(e-j<<1)|0,j<<1|0)|0;return 0} function db(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;N=J;K=a+268|0;h=c[K>>2]|0;q=a+276|0;i=c[q>>2]|0;M=J;J=J+((1*(i+h<<2)|0)+15&-16)|0;L=a+24|0;rc(M|0,L|0,i<<2|0)|0;o=a+296|0;j=c[o>>2]|0;r=j+4|0;n=c[a+272>>2]|0;p=a+280|0;s=j+6|0;t=j+8|0;u=j+10|0;v=j+12|0;w=j+14|0;x=j+16|0;y=j+18|0;z=j+20|0;A=j+22|0;B=j+24|0;C=j+26|0;D=j+28|0;E=j+30|0;F=j+32|0;G=j+34|0;H=j+36|0;I=j+38|0;g=d;while(1){m=(f|0)<(h|0)?f:h;$b(a,M+(i<<2)|0,e,j,m);k=m<<16;l=c[q>>2]|0;d=c[p>>2]|0;switch(l|0){case 18:{if((k|0)>0){j=d<<16>>16;i=d+-1|0;h=0;while(1){d=M+(h>>16<<2)|0;O=(h&65535)*j>>16;da=r+(O*9<<1)|0;ua=c[d>>2]|0;ta=b[da>>1]|0;sa=c[d+4>>2]|0;ra=b[da+2>>1]|0;qa=c[d+8>>2]|0;pa=b[da+4>>1]|0;oa=c[d+12>>2]|0;na=b[da+6>>1]|0;ma=c[d+16>>2]|0;la=b[da+8>>1]|0;ka=c[d+20>>2]|0;ja=b[da+10>>1]|0;ia=c[d+24>>2]|0;ha=b[da+12>>1]|0;ga=c[d+28>>2]|0;fa=b[da+14>>1]|0;ea=c[d+32>>2]|0;da=b[da+16>>1]|0;O=r+((i-O|0)*9<<1)|0;ca=c[d+68>>2]|0;ba=b[O>>1]|0;aa=c[d+64>>2]|0;$=b[O+2>>1]|0;_=c[d+60>>2]|0;Z=b[O+4>>1]|0;Y=c[d+56>>2]|0;X=b[O+6>>1]|0;W=c[d+52>>2]|0;V=b[O+8>>1]|0;U=c[d+48>>2]|0;T=b[O+10>>1]|0;S=c[d+44>>2]|0;R=b[O+12>>1]|0;Q=c[d+40>>2]|0;P=b[O+14>>1]|0;d=c[d+36>>2]|0;O=b[O+16>>1]|0;O=((ua&65535)*ta>>16)+((ua>>16)*ta|0)+((sa>>16)*ra|0)+((sa&65535)*ra>>16)+((qa>>16)*pa|0)+((qa&65535)*pa>>16)+((oa>>16)*na|0)+((oa&65535)*na>>16)+((ma>>16)*la|0)+((ma&65535)*la>>16)+((ka>>16)*ja|0)+((ka&65535)*ja>>16)+((ia>>16)*ha|0)+((ia&65535)*ha>>16)+((ga>>16)*fa|0)+((ga&65535)*fa>>16)+((ea>>16)*da|0)+((ea&65535)*da>>16)+((ca>>16)*ba|0)+((ca&65535)*ba>>16)+((aa>>16)*$|0)+((aa&65535)*$>>16)+((_>>16)*Z|0)+((_&65535)*Z>>16)+((Y>>16)*X|0)+((Y&65535)*X>>16)+((W>>16)*V|0)+((W&65535)*V>>16)+((U>>16)*T|0)+((U&65535)*T>>16)+((S>>16)*R|0)+((S&65535)*R>>16)+((Q>>16)*P|0)+((Q&65535)*P>>16)+((d>>16)*O|0)+((d&65535)*O>>16)|0;d=g+2|0;b[g>>1]=(O|0)>2097119?32767:(O|0)<-2097184?-32768:((O>>>5)+1|0)>>>1&65535;h=h+n|0;if((h|0)>=(k|0))break;else g=d}}else d=g;break}case 24:{if((k|0)>0){h=0;while(1){d=M+(h>>16<<2)|0;_=(c[d+92>>2]|0)+(c[d>>2]|0)|0;$=b[r>>1]|0;aa=(c[d+88>>2]|0)+(c[d+4>>2]|0)|0;ba=b[s>>1]|0;ca=(c[d+84>>2]|0)+(c[d+8>>2]|0)|0;da=b[t>>1]|0;ea=(c[d+80>>2]|0)+(c[d+12>>2]|0)|0;fa=b[u>>1]|0;ga=(c[d+76>>2]|0)+(c[d+16>>2]|0)|0;ha=b[v>>1]|0;ia=(c[d+72>>2]|0)+(c[d+20>>2]|0)|0;ja=b[w>>1]|0;ka=(c[d+68>>2]|0)+(c[d+24>>2]|0)|0;la=b[x>>1]|0;ma=(c[d+64>>2]|0)+(c[d+28>>2]|0)|0;na=b[y>>1]|0;oa=(c[d+60>>2]|0)+(c[d+32>>2]|0)|0;pa=b[z>>1]|0;qa=(c[d+56>>2]|0)+(c[d+36>>2]|0)|0;ra=b[A>>1]|0;sa=(c[d+52>>2]|0)+(c[d+40>>2]|0)|0;ta=b[B>>1]|0;d=(c[d+48>>2]|0)+(c[d+44>>2]|0)|0;ua=b[C>>1]|0;ua=((_&65535)*$>>16)+((_>>16)*$|0)+((aa>>16)*ba|0)+((aa&65535)*ba>>16)+((ca>>16)*da|0)+((ca&65535)*da>>16)+((ea>>16)*fa|0)+((ea&65535)*fa>>16)+((ga>>16)*ha|0)+((ga&65535)*ha>>16)+((ia>>16)*ja|0)+((ia&65535)*ja>>16)+((ka>>16)*la|0)+((ka&65535)*la>>16)+((ma>>16)*na|0)+((ma&65535)*na>>16)+((oa>>16)*pa|0)+((oa&65535)*pa>>16)+((qa>>16)*ra|0)+((qa&65535)*ra>>16)+((sa>>16)*ta|0)+((sa&65535)*ta>>16)+((d>>16)*ua|0)+((d&65535)*ua>>16)|0;d=g+2|0;b[g>>1]=(ua|0)>2097119?32767:(ua|0)<-2097184?-32768:((ua>>>5)+1|0)>>>1&65535;h=h+n|0;if((h|0)>=(k|0))break;else g=d}}else d=g;break}case 36:{if((k|0)>0){h=0;while(1){d=M+(h>>16<<2)|0;O=(c[d+140>>2]|0)+(c[d>>2]|0)|0;P=b[r>>1]|0;Q=(c[d+136>>2]|0)+(c[d+4>>2]|0)|0;R=b[s>>1]|0;S=(c[d+132>>2]|0)+(c[d+8>>2]|0)|0;T=b[t>>1]|0;U=(c[d+128>>2]|0)+(c[d+12>>2]|0)|0;V=b[u>>1]|0;W=(c[d+124>>2]|0)+(c[d+16>>2]|0)|0;X=b[v>>1]|0;Y=(c[d+120>>2]|0)+(c[d+20>>2]|0)|0;Z=b[w>>1]|0;_=(c[d+116>>2]|0)+(c[d+24>>2]|0)|0;$=b[x>>1]|0;aa=(c[d+112>>2]|0)+(c[d+28>>2]|0)|0;ba=b[y>>1]|0;ca=(c[d+108>>2]|0)+(c[d+32>>2]|0)|0;da=b[z>>1]|0;ea=(c[d+104>>2]|0)+(c[d+36>>2]|0)|0;fa=b[A>>1]|0;ga=(c[d+100>>2]|0)+(c[d+40>>2]|0)|0;ha=b[B>>1]|0;ia=(c[d+96>>2]|0)+(c[d+44>>2]|0)|0;ja=b[C>>1]|0;ka=(c[d+92>>2]|0)+(c[d+48>>2]|0)|0;la=b[D>>1]|0;ma=(c[d+88>>2]|0)+(c[d+52>>2]|0)|0;na=b[E>>1]|0;oa=(c[d+84>>2]|0)+(c[d+56>>2]|0)|0;pa=b[F>>1]|0;qa=(c[d+80>>2]|0)+(c[d+60>>2]|0)|0;ra=b[G>>1]|0;sa=(c[d+76>>2]|0)+(c[d+64>>2]|0)|0;ta=b[H>>1]|0;d=(c[d+72>>2]|0)+(c[d+68>>2]|0)|0;ua=b[I>>1]|0;ua=((O&65535)*P>>16)+((O>>16)*P|0)+((Q>>16)*R|0)+((Q&65535)*R>>16)+((S>>16)*T|0)+((S&65535)*T>>16)+((U>>16)*V|0)+((U&65535)*V>>16)+((W>>16)*X|0)+((W&65535)*X>>16)+((Y>>16)*Z|0)+((Y&65535)*Z>>16)+((_>>16)*$|0)+((_&65535)*$>>16)+((aa>>16)*ba|0)+((aa&65535)*ba>>16)+((ca>>16)*da|0)+((ca&65535)*da>>16)+((ea>>16)*fa|0)+((ea&65535)*fa>>16)+((ga>>16)*ha|0)+((ga&65535)*ha>>16)+((ia>>16)*ja|0)+((ia&65535)*ja>>16)+((ka>>16)*la|0)+((ka&65535)*la>>16)+((ma>>16)*na|0)+((ma&65535)*na>>16)+((oa>>16)*pa|0)+((oa&65535)*pa>>16)+((qa>>16)*ra|0)+((qa&65535)*ra>>16)+((sa>>16)*ta|0)+((sa&65535)*ta>>16)+((d>>16)*ua|0)+((d&65535)*ua>>16)|0;d=g+2|0;b[g>>1]=(ua|0)>2097119?32767:(ua|0)<-2097184?-32768:((ua>>>5)+1|0)>>>1&65535;h=h+n|0;if((h|0)>=(k|0))break;else g=d}}else d=g;break}default:d=g}f=f-m|0;if((f|0)<=1)break;rc(M|0,M+(m<<2)|0,l<<2|0)|0;h=c[K>>2]|0;i=c[q>>2]|0;j=c[o>>2]|0;e=e+(m<<1)|0;g=d}rc(L|0,M+(m<<2)|0,l<<2|0)|0;J=N;return}function eb(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=J;m=a+268|0;g=c[m>>2]|0;o=J;J=J+((1*((g<<1)+8<<1)|0)+15&-16)|0;n=a+24|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];k=c[a+272>>2]|0;l=o+16|0;while(1){j=(f|0)<(g|0)?f:g;fb(a,l,e,j);i=j<<17;if((i|0)>0){h=0;g=d;while(1){r=((h&65535)*12|0)>>>16;q=o+(h>>16<<1)|0;d=11-r|0;q=((b[15376+(r<<3)+2>>1]|0)*(b[q+2>>1]|0)|0)+((b[15376+(r<<3)>>1]|0)*(b[q>>1]|0)|0)+((b[15376+(r<<3)+4>>1]|0)*(b[q+4>>1]|0)|0)+((b[15376+(r<<3)+6>>1]|0)*(b[q+6>>1]|0)|0)+((b[15376+(d<<3)+6>>1]|0)*(b[q+8>>1]|0)|0)+((b[15376+(d<<3)+4>>1]|0)*(b[q+10>>1]|0)|0)+((b[15376+(d<<3)+2>>1]|0)*(b[q+12>>1]|0)|0)+((b[15376+(d<<3)>>1]|0)*(b[q+14>>1]|0)|0)|0;d=g+2|0;b[g>>1]=(q|0)>1073725439?32767:(q|0)<-1073758208?-32768:((q>>>14)+1|0)>>>1&65535;h=h+k|0;if((h|0)>=(i|0))break;else g=d}}f=f-j|0;if((f|0)<=0)break;g=o+(j<<1<<1)|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];g=c[m>>2]|0;e=e+(j<<1)|0}r=o+(j<<1<<1)|0;b[n>>1]=b[r>>1]|0;b[n+2>>1]=b[r+2>>1]|0;b[n+4>>1]=b[r+4>>1]|0;b[n+6>>1]=b[r+6>>1]|0;b[n+8>>1]=b[r+8>>1]|0;b[n+10>>1]=b[r+10>>1]|0;b[n+12>>1]=b[r+12>>1]|0;b[n+14>>1]=b[r+14>>1]|0;J=p;return}function fb(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((f|0)<=0)return;m=a+4|0;n=a+8|0;o=a+12|0;p=a+16|0;q=a+20|0;g=c[q>>2]|0;h=c[m>>2]|0;i=c[n>>2]|0;j=c[o>>2]|0;k=c[p>>2]|0;l=c[a>>2]|0;r=0;do{v=b[e+(r<<1)>>1]<<10;u=v-l|0;u=(((u&65535)*1746|0)>>>16)+((u>>16)*1746|0)|0;s=u+l|0;l=u+v|0;u=s-h|0;u=(((u&65535)*14986|0)>>>16)+((u>>16)*14986|0)|0;t=u+h|0;h=u+s|0;s=t-i|0;t=((s&65535)*-26453>>16)+((s>>16)*-26453|0)+t|0;i=t+s|0;s=r<<1;b[d+(s<<1)>>1]=(t|0)>33553919?32767:(t|0)<-33554944?-32768:((t>>>9)+1|0)>>>1&65535;t=v-j|0;t=(((t&65535)*6854|0)>>>16)+((t>>16)*6854|0)|0;u=t+j|0;j=t+v|0;v=u-k|0;v=(((v&65535)*25769|0)>>>16)+((v>>16)*25769|0)|0;t=v+k|0;k=v+u|0;u=t-g|0;t=((u&65535)*-9994>>16)+((u>>16)*-9994|0)+t|0;g=t+u|0;b[d+((s|1)<<1)>>1]=(t|0)>33553919?32767:(t|0)<-33554944?-32768:((t>>>9)+1|0)>>>1&65535;r=r+1|0}while((r|0)!=(f|0));c[a>>2]=l;c[m>>2]=h;c[n>>2]=i;c[o>>2]=j;c[p>>2]=k;c[q>>2]=g;return}function gb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;fb(a,b,c,d);return}function hb(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Ca(a,15056,8)|0;j=(i|0)/5|0;g=Ca(a,26920,8)|0;f=Ca(a,26927,8)|0;k=Ca(a,26920,8)|0;h=Ca(a,26927,8)|0;g=g+(j*3|0)|0;e=b[15024+(g<<1)>>1]|0;g=(b[15024+(g+1<<1)>>1]|0)-e|0;i=k+(((j*-5|0)+i|0)*3|0)|0;a=b[15024+(i<<1)>>1]|0;i=(b[15024+(i+1<<1)>>1]|0)-a|0;a=(((((i&65535)*6554|0)>>>16)+((i>>16)*6554|0)|0)*(h<<17>>16|1)|0)+a|0;c[d+4>>2]=a;c[d>>2]=(((((g&65535)*6554|0)>>>16)+((g>>16)*6554|0)|0)*(f<<17>>16|1)|0)+e-a;return}function ib(a,b){a=a|0;b=b|0;c[b>>2]=Ca(a,26892,8)|0;return}function jb(a){a=a|0;return (a*1664525|0)+1013904223|0}function kb(a,d,e,h,i,j,k,l,m){a=a|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0,p=0,r=0,s=0,t=0,u=0;t=c[a+32>>2]|0;s=(c[a+44>>2]|0)*k|0;a=(b[t+(j<<1)>>1]|0)*k|0;if((l|0)!=1){r=(s|0)/(l|0)|0;a=(a|0)<(r|0)?a:r}m=(m|0)==0;r=m?a:0;p=m?j:0;m=m?i:0;a=b[t+(m<<1)>>1]|0;j=(a<<16>>16)*k|0;if((j|0)>0){tc(e|0,0,j<<2|0)|0;l=e+(j<<2)|0}else l=e;if((m|0)>=(p|0)){h=e+(r<<2)|0;e=s-r|0;e=e<<2;tc(h|0,0,e|0)|0;return}i=d+(j<<2)|0;do{j=m;m=m+1|0;d=a;a=b[t+(m<<1)>>1]|0;o=(a<<16>>16)*k|0;n=+f[h+(j<<2)>>2]+ +f[14512+(j<<2)>>2];n=n>32.0?32.0:n;j=~~+q(+n);if((j|0)<-50)n=0.0;else{n=n-+(j|0);n=(c[g>>2]=(j<<23)+(f[g>>2]=n*(n*(n*.07802452147006989+.22606715559959412)+.6958335638046265)+.9999251961708069,c[g>>2]|0)&2147483647,+f[g>>2])}j=(d<<16>>16)*k|0;do{u=i;i=i+4|0;d=l;l=l+4|0;f[d>>2]=n*+f[u>>2];j=j+1|0}while((j|0)<(o|0))}while((m|0)!=(p|0));e=e+(r<<2)|0;u=s-r|0;u=u<<2;tc(e|0,0,u|0)|0;return}function lb(a,e,h,i,j,k,l,m,n,o,p,r,t,u){a=a|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;r=r|0;t=t|0;u=u|0;var v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0;if((l|0)>=(m|0))return;N=a+32|0;L=a+8|0;I=(j|0)==1;J=(i|0)==3;M=1<>2]|0;G=l;l=l+1|0;H=(b[H+(l<<1)>>1]|0)-(b[H+(G<<1)>>1]|0)|0;v=+(((((c[r+(G<<2)>>2]|0)+1|0)>>>0)/(H>>>0)|0)>>>i|0)*-.125;a=~~+q(+v);if((a|0)<-50)v=0.0;else{v=v-+(a|0);v=(c[g>>2]=(a<<23)+(f[g>>2]=v*(v*(v*.07802452147006989+.22606715559959412)+.6958335638046265)+.9999251961708069,c[g>>2]|0)&2147483647,+f[g>>2])}D=v*.5;F=H<0;A=0;do{a=c[L>>2]|0;x=(a*A|0)+G|0;w=+f[o+(x<<2)>>2];v=+f[p+(x<<2)>>2];if(I){z=a+G|0;P=+f[o+(z<<2)>>2];O=+f[p+(z<<2)>>2];w=w>P?w:P;v=v>O?v:O}v=+f[n+(x<<2)>>2]-(w>2]=(a<<23)+(f[g>>2]=v*(v*(v*.07802452147006989+.22606715559959412)+.6958335638046265)+.9999251961708069,c[g>>2]|0)&2147483647,+f[g>>2])}v=v*2.0;v=J?v*1.4142135381698608:v;v=C*(D>2]|0)+(G<<1)>>1]<>0])){a=0;do{t=(t*1664525|0)+1013904223|0;f[z+((a<>2]=(t&32768|0)==0?w:v;a=a+1|0}while((a|0)!=(H|0));a=1}y=y+1|0}while((y|0)<(M|0))}else{x=d[x>>0]|0;y=0;a=0;do{a=(1<>2]|0;Ka=(k|0)!=0;La=Ka?2:1;Ga=(e|0)!=0;Ha=Ga&Ka&(q|0)==0&(z|0)>7;Ga=Ha|Ga^1;Ba=(o|0)==0?1:1<>1]<>2]|0)+-1<<1)>>1]<>2]|0;o=b[Ia+(z+-1<<1)>>1]|0;C=o<>1]|0)-o<>2]=m;c[Ma+28>>2]=v;c[Ma>>2]=e;c[Ma+16>>2]=r;c[Ma+8>>2]=g;z=c[y>>2]|0;ta=Ma+40|0;c[ta>>2]=z;c[Ma+20>>2]=p;c[Ma+44>>2]=A;c[Ma+52>>2]=B;c[Ma+4>>2]=Ga&1;sa=Ma+48|0;c[sa>>2]=0;C=(Ba|0)>1;ra=Ma+56|0;c[ra>>2]=C&1;if((h|0)>=(i|0)){t=z;c[y>>2]=t;E(ya|0);J=Ta;return}qa=J;J=J+((1*(o<<2)|0)+15&-16)|0;pa=J;J=J+((1*(o<<2)|0)+15&-16)|0;oa=J;J=J+((1*(o<<2)|0)+15&-16)|0;ka=Ma+12|0;ma=i+-1|0;la=Ma+32|0;na=Ma+24|0;ha=g+12|0;ia=Ka?Fa:0;ja=(1<>2]=Z;S=(Z|0)==(ma|0);T=Ia+(Z<<1)|0;Y=b[T>>1]<>1]<>2]=z+-1;if((X|0)<(x|0)){U=x-X|0;U=(c[n+(X<<2)>>2]|0)+((V|0)/(((U|0)<3?U:3)|0)|0)|0;z=(z|0)<(U|0)?z:U;if((z|0)>16383)U=16383;else U=(z|0)>0?z:0}else U=0;if(Ga)e=((b[T>>1]<>1]<>2]|0;c[na>>2]=O;M=(X|0)<(c[ha>>2]|0);R=M?C:ia;Q=M?A:Fa;D=(Ha|S^1)&M?D:0;if((e|0)!=0&(fa|(O|0)<0)){B=(b[Ia+(e<<1)>>1]<0?B:0;z=B+Da|0;C=e;do C=C+-1|0;while((b[Ia+(C<<1)>>1]<(z|0));z=z+Y|0;A=e+-1|0;while(1){o=A+1|0;if((b[Ia+(o<<1)>>1]<>0];o=o|d[l+(aa+O)>>0];if((C|0)<(A|0))C=C+1|0;else{K=B;C=z;g=o;break}}}else{K=-1;C=ja;g=ja}o=(q|0)==0;z=(X|0)!=(r|0);if(z|o|ga)if(o|z^1)xa=27;else{B=U>>>1;A=(K|0)!=-1;z=A?Fa+(K<<2)|0:0;if(S){o=nb(Ma,Q,Y,B,Ba,z,w,0,1.0,D,C)|0;C=0;z=A?za+(K<<2)|0:0}else{o=nb(Ma,Q,Y,B,Ba,z,w,Fa+(b[T>>1]<>1]<>1]<(Da|0)){o=z-Da|0;z=0;do{xa=Fa+(z<<2)|0;f[xa>>2]=(+f[xa>>2]+ +f[za+(z<<2)>>2])*.5;z=z+1|0}while((z|0)<(o|0));xa=27}else xa=27}do if((xa|0)==27){xa=0;if(!R){if(S)z=0;else z=Fa+(b[T>>1]<>2]=0;if(S)z=0;else z=Fa+(b[T>>1]<>2];I=+f[m+((c[Ea>>2]|0)+X<<2)>>2];P=(N>2]|0;u=c[ba>>2]|0;c[Qa>>2]=c[ca>>2];c[Qa+4>>2]=c[ca+4>>2];c[Qa+8>>2]=c[ca+8>>2];c[Qa+12>>2]=c[ca+12>>2];q=c[da>>2]|0;c[Ra>>2]=c[ea>>2];c[Ra+4>>2]=c[ea+4>>2];c[Ra+8>>2]=c[ea+8>>2];c[Ra+12>>2]=c[ea+12>>2];c[Ra+16>>2]=c[ea+16>>2];o=Na;C=Ma;A=o+60|0;do{c[o>>2]=c[C>>2];o=o+4|0;C=C+4|0}while((o|0)<(A|0));O=Y<<2;rc(ua|0,Q|0,O|0)|0;rc(va|0,R|0,O|0)|0;c[sa>>2]=-1;K=(K|0)==-1?0:Fa+(K<<2)|0;if(S)z=0;else z=Fa+(b[T>>1]<0;if(g){o=0;G=0.0;do{G=G+ +f[ua+(o<<2)>>2]*+f[Q+(o<<2)>>2];o=o+1|0}while((o|0)!=(Y|0));H=N*G;o=0;G=0.0;do{G=G+ +f[va+(o<<2)>>2]*+f[R+(o<<2)>>2];o=o+1|0}while((o|0)!=(Y|0))}else{H=N*0.0;G=0.0}I=H+P*G;o=Sa;C=v;A=o+48|0;do{c[o>>2]=c[C>>2];o=o+4|0;C=C+4|0}while((o|0)<(A|0));o=Oa;C=Ma;A=o+60|0;do{c[o>>2]=c[C>>2];o=o+4|0;C=C+4|0}while((o|0)<(A|0));rc(oa|0,Q|0,O|0)|0;rc(pa|0,R|0,O|0)|0;if(!S)rc(qa|0,Fa+(b[T>>1]<>2]=p;c[ba>>2]=u;c[ca>>2]=c[Qa>>2];c[ca+4>>2]=c[Qa+4>>2];c[ca+8>>2]=c[Qa+8>>2];c[ca+12>>2]=c[Qa+12>>2];c[da>>2]=q;c[ea>>2]=c[Ra>>2];c[ea+4>>2]=c[Ra+4>>2];c[ea+8>>2]=c[Ra+8>>2];c[ea+12>>2]=c[Ra+12>>2];c[ea+16>>2]=c[Ra+16>>2];o=Ma;C=Na;A=o+60|0;do{c[o>>2]=c[C>>2];o=o+4|0;C=C+4|0}while((o|0)<(A|0));rc(Q|0,ua|0,O|0)|0;rc(R|0,va|0,O|0)|0;if((X|0)==($|0)){p=c[Pa>>2]|0;u=b[p+($<<1)>>1]|0;q=u-(b[p+(h<<1)>>1]|0)<>1]|0)-u<>2]=1;if(S)o=0;else o=Fa+(b[T>>1]<>2]*+f[Q+(o<<2)>>2];o=o+1|0}while((o|0)!=(Y|0));H=N*G;o=0;G=0.0;do{G=G+ +f[va+(o<<2)>>2]*+f[R+(o<<2)>>2];o=o+1|0}while((o|0)!=(Y|0))}else{H=N*0.0;G=0.0}if(!(I>=H+P*G))z=C;else{o=v;C=Sa;A=o+48|0;do{c[o>>2]=c[C>>2];o=o+4|0;C=C+4|0}while((o|0)<(A|0));o=Ma;C=Oa;A=o+60|0;do{c[o>>2]=c[C>>2];o=o+4|0;C=C+4|0}while((o|0)<(A|0));rc(Q|0,oa|0,O|0)|0;rc(R|0,pa|0,O|0)|0;if(!S)rc(Fa+(b[T>>1]<>0]=o;a[l+(aa+u)>>0]=z;u=V+W+(c[n+(X<<2)>>2]|0)|0;c[ra>>2]=0;if((Z|0)==(i|0))break;else o=(U|0)>(Y<<3|0)&1}t=c[ta>>2]|0;c[y>>2]=t;E(ya|0);J=Ta;return}function nb(b,e,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;n=n|0;o=o|0;var p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0;F=c[b>>2]|0;r=c[b+24>>2]|0;E=(i|0)==1&1;z=(g>>>0)/(i>>>0)|0;if((g|0)==1){j=c[b+28>>2]|0;p=b+32|0;n=b+4|0;o=(c[p>>2]|0)>7;do if(!F){if(o){o=Ea(j,1)|0;c[p>>2]=(c[p>>2]|0)+-8;if(!(c[n>>2]|0))break;else m=(o|0)==0?1.0:-1.0}else if(!(c[n>>2]|0))break;else m=1.0;f[e>>2]=m}else{if(o){o=+f[e>>2]<0.0;Bb(j,o&1,1);c[p>>2]=(c[p>>2]|0)+-8;if(!(c[n>>2]|0))break;else m=o?-1.0:1.0}else if(!(c[n>>2]|0))break;else m=1.0;f[e>>2]=m}while(0);if(!l){l=1;return l|0}c[l>>2]=c[e>>2];l=1;return l|0}H=(r|0)>0;J=H?r:0;do if((j|0)!=0&(n|0)!=0){if((r|0)<1?!((i|0)>1|(r|0)!=0&(z&1|0)==0):0){D=j;break}rc(n|0,j|0,g<<2|0)|0;D=n}else D=j;while(0);a:do if(H){y=(D|0)==0;if(!F){p=0;while(1){if((!y?(v=g>>p,t=1<>1,(p|0)!=31):0)?(q=t<<1,(v|0)>1):0){j=0;do{n=0;do{w=D+((q*n|0)+j<<2)|0;M=+f[w>>2]*.7071067690849304;x=D+(((n<<1|1)<>2]*.7071067690849304;f[w>>2]=M+L;f[x>>2]=M-L;n=n+1|0}while((n|0)<(u|0));j=j+1|0}while((j|0)!=(t|0))}o=(d[15488+(o>>4)>>0]|0)<<2|(d[15488+(o&15)>>0]|0);p=p+1|0;if(p>>>0>=J>>>0)break a}}v=0;do{q=g>>v;t=1<>1;j=(v|0)==31;if(!j?(w=t<<1,(q|0)>1):0){n=0;do{p=0;do{O=e+((w*p|0)+n<<2)|0;L=+f[O>>2]*.7071067690849304;N=e+(((p<<1|1)<>2]*.7071067690849304;f[O>>2]=L+M;f[N>>2]=L-M;p=p+1|0}while((p|0)<(u|0));n=n+1|0}while((n|0)!=(t|0))}if(!(y|j)?(x=t<<1,(q|0)>1):0){j=0;do{n=0;do{N=D+((x*n|0)+j<<2)|0;L=+f[N>>2]*.7071067690849304;O=D+(((n<<1|1)<>2]*.7071067690849304;f[N>>2]=L+M;f[O>>2]=L-M;n=n+1|0}while((n|0)<(u|0));j=j+1|0}while((j|0)!=(t|0))}o=(d[15488+(o>>4)>>0]|0)<<2|(d[15488+(o&15)>>0]|0);v=v+1|0}while(v>>>0>>0)}while(0);j=i>>J;t=z<>1;if((j|0)>0&v?(A=j<<1,(u|0)>1):0){n=0;do{p=0;do{N=D+((A*p|0)+n<<2)|0;L=+f[N>>2]*.7071067690849304;O=D+(((p<<1|1)*j|0)+n<<2)|0;M=+f[O>>2]*.7071067690849304;f[N>>2]=L+M;f[O>>2]=L-M;p=p+1|0}while((p|0)<(t|0));n=n+1|0}while((n|0)!=(j|0))}o=o<>1;n=(j|0)>0;if(n?(B=j<<1,(t|0)>1):0){p=0;do{q=0;do{N=e+((B*q|0)+p<<2)|0;L=+f[N>>2]*.7071067690849304;O=e+(((q<<1|1)*j|0)+p<<2)|0;M=+f[O>>2]*.7071067690849304;f[N>>2]=L+M;f[O>>2]=L-M;q=q+1|0}while((q|0)<(v|0));p=p+1|0}while((p|0)!=(j|0))}if(!(w|n^1)?(C=j<<1,(t|0)>1):0){n=0;do{p=0;do{N=D+((C*p|0)+n<<2)|0;L=+f[N>>2]*.7071067690849304;O=D+(((p<<1|1)*j|0)+n<<2)|0;M=+f[O>>2]*.7071067690849304;f[N>>2]=L+M;f[O>>2]=L-M;p=p+1|0}while((p|0)<(v|0));n=n+1|0}while((n|0)!=(j|0))}o=o<1;if(n){if(F|0)qb(e,t>>J,j<>J,j<>2]|0)){O=o;return O|0}if(n)sb(e,t>>J,j<>1;t=t<<1;o=o>>>r|o;p=t>>1;if((j|0)>1?(G=j&-2,(t|0)>1):0){j=0;do{n=0;do{N=e+((n*G|0)+j<<2)|0;L=+f[N>>2]*.7071067690849304;O=e+(((n<<1|1)*r|0)+j<<2)|0;M=+f[O>>2]*.7071067690849304;f[N>>2]=L+M;f[O>>2]=L-M;n=n+1|0}while((n|0)<(p|0));j=j+1|0}while((j|0)!=(r|0))}q=q+1|0;if((q|0)==(u|0)){u=r;break}else j=r}}if(H){q=0;do{p=a[15504+o>>0]|0;o=p&255;j=g>>q;r=1<>1;if((q|0)!=31?(I=r<<1,(j|0)>1):0){j=0;do{n=0;do{N=e+((I*n|0)+j<<2)|0;L=+f[N>>2]*.7071067690849304;O=e+(((n<<1|1)<>2]*.7071067690849304;f[N>>2]=L+M;f[O>>2]=L-M;n=n+1|0}while((n|0)<(t|0));j=j+1|0}while((j|0)!=(r|0))}q=q+1|0}while(q>>>0>>0);n=p&255}else n=o;j=u<0):0){o=0;do{f[l+(o<<2)>>2]=+f[e+(o<<2)>>2]*K;o=o+1|0}while((o|0)!=(g|0))}O=n&(1<>2]=g;c[w>>2]=m;x=c[a>>2]|0;B=c[a+28>>2]|0;if((e|0)==1){t=(d|0)==0;v=a+32|0;u=t?1:2;m=a+4|0;g=c[v>>2]|0;n=(g|0)>7;if(!x){if(n){r=Ea(B,1)|0;g=(c[v>>2]|0)+-8|0;c[v>>2]=g;n=c[m>>2]|0;if(!n)n=0;else{o=(r|0)==0?1.0:-1.0;y=6}}else{n=c[m>>2]|0;if(!n)n=0;else{o=1.0;y=6}}if((y|0)==6)f[b>>2]=o;if(!t){t=1;do{if((g|0)>7){r=Ea(B,1)|0;g=(c[v>>2]|0)+-8|0;c[v>>2]=g;n=c[m>>2]|0;if(!n)n=0;else{o=(r|0)==0?1.0:-1.0;y=12}}else if(!n)n=0;else{o=1.0;y=12}if((y|0)==12){y=0;f[d>>2]=o}t=t+1|0}while(t>>>0>>0)}}else{if(n){r=+f[b>>2]<0.0;Bb(B,r&1,1);g=(c[v>>2]|0)+-8|0;c[v>>2]=g;n=c[m>>2]|0;if(!n)n=0;else{o=r?-1.0:1.0;y=17}}else{n=c[m>>2]|0;if(!n)n=0;else{o=1.0;y=17}}if((y|0)==17)f[b>>2]=o;if(!t){t=1;do{if((g|0)>7){r=+f[d>>2]<0.0;Bb(B,r&1,1);g=(c[v>>2]|0)+-8|0;c[v>>2]=g;n=c[m>>2]|0;if(!n)n=0;else{o=r?-1.0:1.0;y=23}}else if(!n)n=0;else{o=1.0;y=23}if((y|0)==23){y=0;f[d>>2]=o}t=t+1|0}while(t>>>0>>0)}}if(!k){d=1;J=C;return d|0}c[k>>2]=c[b>>2];d=1;J=C;return d|0}else{pb(a,r,b,d,e,n,h,h,j,1,w);z=c[r>>2]|0;v=c[r+16>>2]|0;u=c[r+20>>2]|0;A=+(c[r+4>>2]|0)*.000030517578125;o=+(c[r+8>>2]|0)*.000030517578125;y=(e|0)==2;g=c[n>>2]|0;do if(y){w=(v|16384|0)!=16384;D=w?8:0;t=g-D|0;r=(v|0)>8192;n=a+32|0;c[n>>2]=(c[n>>2]|0)-(D+u);n=r?d:b;r=r?b:d;do if(w)if(!x){g=Ea(B,1)|0;break}else{g=+f[n>>2]*+f[r+4>>2]-+f[n+4>>2]*+f[r>>2]<0.0&1;Bb(B,g,1);break}else g=0;while(0);D=1-(g<<1)|0;g=nb(a,n,2,t,h,i,j,k,1.0,l,m)|0;f[r>>2]=+f[n+4>>2]*+(0-D|0);f[r+4>>2]=+f[n>>2]*+(D|0);if(c[a+4>>2]|0){f[b>>2]=A*+f[b>>2];k=b+4|0;f[k>>2]=A*+f[k>>2];p=o*+f[d>>2];f[d>>2]=p;D=d+4|0;f[D>>2]=o*+f[D>>2];q=+f[b>>2];f[b>>2]=q-p;f[d>>2]=q+ +f[d>>2];q=+f[k>>2];f[k>>2]=q-+f[D>>2];f[D>>2]=q+ +f[D>>2]}}else{m=(g-(c[r+12>>2]|0)|0)/2|0;m=(g|0)<(m|0)?g:m;m=(m|0)>0?m:0;t=g-m|0;r=a+32|0;n=(c[r>>2]|0)-u|0;c[r>>2]=n;g=c[w>>2]|0;if((m|0)<(t|0)){D=nb(a,d,e,t,h,0,j,0,o,0,g>>h)|0;B=(c[r>>2]|0)-n+t|0;g=nb(a,b,e,((v|0)!=16384&(B|0)>24?B+-24|0:0)+m|0,h,i,j,k,1.0,l,g)|0|D;break}else{D=nb(a,b,e,m,h,i,j,k,1.0,l,g)|0;k=(c[r>>2]|0)-n+m|0;g=nb(a,d,e,((v|0)!=0&(k|0)>24?k+-24|0:0)+t|0,h,0,j,0,o,0,g>>h)|0|D;break}}while(0);if(!(c[a+4>>2]|0)){D=g;J=C;return D|0}do if(!y){r=(e|0)>0;if(r){n=0;p=0.0;o=0.0;do{q=+f[d+(n<<2)>>2];p=p+q*+f[b+(n<<2)>>2];o=o+q*q;n=n+1|0}while((n|0)!=(e|0))}else{p=0.0;o=0.0}q=A*A+o;p=A*p*2.0;o=q-p;p=q+p;if(p<6.000000284984708e-04|o<6.000000284984708e-04){rc(d|0,b|0,e<<2|0)|0;break}q=1.0/+s(+o);o=1.0/+s(+p);if(!r){D=g;J=C;return D|0}n=0;do{k=b+(n<<2)|0;E=A*+f[k>>2];D=d+(n<<2)|0;p=+f[D>>2];f[k>>2]=q*(E-p);f[D>>2]=o*(E+p);n=n+1|0}while((n|0)!=(e|0))}while(0);if(!((z|0)!=0&(e|0)>0)){D=g;J=C;return D|0}n=0;do{D=d+(n<<2)|0;f[D>>2]=-+f[D>>2];n=n+1|0}while((n|0)!=(e|0));J=C;return g|0}return 0}function pb(a,d,e,g,h,i,j,k,l,m,n){a=a|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0.0,q=0.0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;x=c[a+8>>2]|0;y=c[a+12>>2]|0;D=c[a+28>>2]|0;z=c[a+36>>2]|0;C=(l<<3)+(b[(c[x+56>>2]|0)+(y<<1)>>1]|0)|0;v=(m|0)!=0;A=(h|0)==2&v;B=c[i>>2]|0;l=(A?-2:-1)+(h<<1)|0;l=((((C>>1)-(A?16:4)|0)*l|0)+B|0)/(l|0)|0;C=B-C+-32|0;l=(C|0)<(l|0)?C:l;l=(l|0)<64?l:64;if((l|0)<4)l=1;else l=(b[15472+((l&7)<<1)>>1]>>14-(l>>>3))+1&-2;B=(y|0)<(c[a+16>>2]|0)|v^1?l:1;A=(c[a>>2]|0)!=0;if(A)l=Ya(e,g,m,h,c[a+44>>2]|0)|0;else l=0;C=wa(D)|0;do if((B|0)==1)if(v){if(A){if((l|0)>8192?(B=(c[a+52>>2]|0)==0,o=B&1,B):0)if((h|0)>0){l=0;do{B=g+(l<<2)|0;f[B>>2]=-+f[B>>2];l=l+1|0}while((l|0)!=(h|0))}else o=1;else o=0;p=+f[z+(y<<2)>>2];E=+f[z+((c[x+8>>2]|0)+y<<2)>>2];q=+s(+(p*p+1.0000000036274937e-15+E*E))+1.0000000036274937e-15;p=p/q;q=E/q;if((h|0)>0){l=0;do{B=e+(l<<2)|0;f[B>>2]=p*+f[B>>2]+q*+f[g+(l<<2)>>2];l=l+1|0}while((l|0)!=(h|0))}}else o=0;do if((c[i>>2]|0)>16?(c[a+32>>2]|0)>16:0)if(A){zb(D,o,2);break}else{o=Ba(D,2)|0;break}else o=0;while(0);l=(c[a+52>>2]|0)==0?o:0;u=61}else u=62;else{do if(A){if(!v){u=l*B|0;o=u+8192|0;l=o>>14;if(!((l|0)<(B|0)&((u|0)>8191&(c[a+56>>2]|0)!=0))){u=23;break}t=(((o&-16384)>>>0)/(B>>>0)|0)<<16;u=((t>>13)*(t>>16)|0)+32768>>16;u=32768-u+((((((((((u*-626|0)+16384>>15)+8277|0)*u|0)+16384|0)>>>15<<16)+-501415936>>16)*u|0)+16384|0)>>>15)<<16>>16;t=1073741824-t|0;t=((t>>13)*(t>>16)|0)+32768>>16;t=32768-t+((((((((((t*-626|0)+16384>>15)+8277|0)*t|0)+16384|0)>>>15<<16)+-501415936>>16)*t|0)+16384|0)>>>15)<<16>>16;r=32-(w(u|0)|0)|0;a=32-(w(t|0)|0)|0;t=t<<15-a<<16>>16;u=u<<15-r<<16>>16;t=(((a-r<<11)-((((((u*-2597|0)+16384>>15)+7932|0)*u|0)+16384|0)>>>15)+((((((t*-2597|0)+16384>>15)+7932|0)*t|0)+16384|0)>>>15)<<16>>16)*((h<<23)+-8388608>>16)|0)+16384>>15;u=c[i>>2]|0;l=(t|0)>(u|0)?B:(t|0)<(0-u|0)?0:l;u=23;break}o=c[a+48>>2]|0;if(!o){l=(l*B|0)+8192>>14;u=13;break}else{l=((((l|0)>8192?32767:-32767)|0)/(B|0)|0)+(l*B|0)|0;l=(l|0)<0?0:l>>14;l=((B|0)>(l|0)?l:B+-1|0)+(o>>>31^1)|0;u=13;break}}else u=13;while(0);do if((u|0)==13)if((h|0)>2&v){r=(B|0)/2|0;o=r+1|0;t=o*3|0;a=t+r|0;if(A){m=(l|0)<=(r|0);if(m){k=l*3|0;o=k}else{o=l*3|0;k=t+~r+l|0}yb(D,k,m?o+3|0:t-r+l|0,a);break}else{m=ya(D,a)|0;o=(m|0)<(t|0)?(m|0)/3|0:(o*-2|0)+m|0;m=(o|0)<=(r|0);if(m){k=o*3|0;l=k}else{l=o*3|0;k=t+~r+o|0}Aa(D,k,m?l+3|0:t-r+o|0,a);u=36;break}}else u=23;while(0);do if((u|0)==23){if((k|0)>1|v){o=B+1|0;if(A){Ab(D,l,o);break}else{o=Da(D,o)|0;u=36;break}}k=B>>1;m=k+1|0;r=m*m|0;if(A){m=(l|0)<=(k|0);o=l+1|0;a=B+1-l|0;if(m)k=o*l>>1;else k=r-(a*(B+2-l|0)>>1)|0;yb(D,k,k+(m?o:a)|0,r);break}else{o=ya(D,r)|0;if((o|0)<(m*k>>1|0)){o=((Eb(o<<3|1)|0)+-1|0)>>>1;m=o+1|0;l=(m*o|0)>>>1}else{m=B+1|0;o=((m<<1)-(Eb((r-o<<3)+-7|0)|0)|0)>>>1;m=m-o|0;l=r-(m*(B+2-o|0)>>1)|0}Aa(D,l,l+m|0,r);u=36;break}}while(0);if((u|0)==36){l=(o<<14>>>0)/(B>>>0)|0;u=62;break}o=l<<14;l=(o>>>0)/(B>>>0)|0;if(v&A)if(B>>>0>o>>>0){p=+f[z+(y<<2)>>2];E=+f[z+((c[x+8>>2]|0)+y<<2)>>2];q=+s(+(p*p+1.0000000036274937e-15+E*E))+1.0000000036274937e-15;p=p/q;q=E/q;if((h|0)<=0){l=0;u=61;break}o=0;do{B=e+(o<<2)|0;f[B>>2]=p*+f[B>>2]+q*+f[g+(o<<2)>>2];o=o+1|0}while((o|0)!=(h|0));u=62}else{if((h|0)<=0){u=62;break}o=0;do{A=e+(o<<2)|0;E=+f[A>>2]*.7071067690849304;B=g+(o<<2)|0;q=+f[B>>2]*.7071067690849304;f[A>>2]=E+q;f[B>>2]=q-E;o=o+1|0}while((o|0)!=(h|0));u=62}else u=62}while(0);a:do if((u|0)==61){o=(wa(D)|0)-C|0;c[i>>2]=(c[i>>2]|0)-o}else if((u|0)==62){o=(wa(D)|0)-C|0;c[i>>2]=(c[i>>2]|0)-o;b:do if((l|0)<16384)switch(l|0){case 0:break a;default:{}}else{switch(l|0){case 16384:break;default:break b}c[n>>2]=c[n>>2]&(1<>2]=j;j=d+4|0;c[j>>2]=C;j=d+8|0;c[j>>2]=h;j=d+12|0;c[j>>2]=D;j=d+16|0;c[j>>2]=i;d=d+20|0;c[d>>2]=n;return}while(0);i=l<<16;C=((i>>13)*(i>>16)|0)+32768>>16;C=32768-C+((((((((((C*-626|0)+16384>>15)+8277|0)*C|0)+16384|0)>>>15<<16)+-501415936>>16)*C|0)+16384|0)>>>15)<<16>>16;i=1073741824-i|0;i=((i>>13)*(i>>16)|0)+32768>>16;i=32768-i+((((((((((i*-626|0)+16384>>15)+8277|0)*i|0)+16384|0)>>>15<<16)+-501415936>>16)*i|0)+16384|0)>>>15)<<16>>16;n=32-(w(C|0)|0)|0;g=32-(w(i|0)|0)|0;D=i<<15-g<<16>>16;j=C<<15-n<<16>>16;D=(((g-n<<11)-((((((j*-2597|0)+16384>>15)+7932|0)*j|0)+16384|0)>>>15)+((((((D*-2597|0)+16384>>15)+7932|0)*D|0)+16384|0)>>>15)<<16>>16)*((h<<23)+-8388608>>16)|0)+16384>>15;j=0;h=i;i=l;n=o;c[d>>2]=j;j=d+4|0;c[j>>2]=C;j=d+8|0;c[j>>2]=h;j=d+12|0;c[j>>2]=D;j=d+16|0;c[j>>2]=i;d=d+20|0;c[d>>2]=n;return}while(0);c[n>>2]=c[n>>2]&(1<>2]=j;j=d+4|0;c[j>>2]=C;j=d+8|0;c[j>>2]=h;j=d+12|0;c[j>>2]=D;j=d+16|0;c[j>>2]=i;d=d+20|0;c[d>>2]=n;return}function qb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=J;i=d*b|0;j=J;J=J+((1*(i<<2)|0)+15&-16)|0;if(!e){if(!((d|0)>0&(b|0)>0)){d=i<<2;rc(a|0,j|0,d|0)|0;J=k;return}e=0;do{g=e*b|0;f=0;do{c[j+(f+g<<2)>>2]=c[a+((f*d|0)+e<<2)>>2];f=f+1|0}while((f|0)!=(b|0));e=e+1|0}while((e|0)!=(d|0));d=i<<2;rc(a|0,j|0,d|0)|0;J=k;return}else{e=15520+(d<<2)+-8|0;if(!((d|0)>0&(b|0)>0)){d=i<<2;rc(a|0,j|0,d|0)|0;J=k;return}f=0;do{h=(c[e+(f<<2)>>2]|0)*b|0;g=0;do{c[j+(h+g<<2)>>2]=c[a+((g*d|0)+f<<2)>>2];g=g+1|0}while((g|0)!=(b|0));f=f+1|0}while((f|0)!=(d|0));d=i<<2;rc(a|0,j|0,d|0)|0;J=k;return}}function rb(a,e,g,h,i,j,k,l,m){a=a|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=m|0;var n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0;y=J;J=J+32|0;p=y+4|0;x=y;o=y+8|0;c[p>>2]=h;c[x>>2]=m;u=c[a>>2]|0;r=c[a+8>>2]|0;v=c[a+20>>2]|0;w=c[a+28>>2]|0;r=(c[r+100>>2]|0)+(b[(c[r+96>>2]|0)+(((c[r+8>>2]|0)*(k+1|0)|0)+(c[a+12>>2]|0)<<1)>>1]|0)|0;n=d[r>>0]|0;if((k|0)!=-1?((g|0)>2?((d[r+n>>0]|0)+12|0)<(h|0):0):0){v=g>>>1;u=e+(v<<2)|0;w=k+-1|0;if((i|0)==1)c[x>>2]=m&1|m<<1;t=i+1>>1;pb(a,o,e,u,v,p,t,i,w,0,x);h=c[o+12>>2]|0;r=c[o+16>>2]|0;n=c[o+20>>2]|0;s=+(c[o+4>>2]|0)*.000030517578125;q=+(c[o+8>>2]|0)*.000030517578125;do if(!((i|0)<2|(r&16383|0)==0))if((r|0)>8192){h=h-(h>>5-k)|0;break}else{h=h+(v<<3>>6-k)|0;h=(h|0)<0?h:0;break}while(0);p=c[p>>2]|0;k=(p-h|0)/2|0;k=(p|0)<(k|0)?p:k;k=(k|0)>0?k:0;p=p-k|0;o=a+32|0;n=(c[o>>2]|0)-n|0;c[o>>2]=n;h=(j|0)==0?0:j+(v<<2)|0;if((k|0)<(p|0)){x=c[x>>2]|0;h=(rb(a,u,v,p,t,h,w,q*l,x>>t)|0)<<(i>>1);i=(c[o>>2]|0)-n+p|0;h=rb(a,e,v,((r|0)!=16384&(i|0)>24?i+-24|0:0)+k|0,t,j,w,s*l,x)|0|h}else{x=c[x>>2]|0;e=rb(a,e,v,k,t,j,w,s*l,x)|0;j=(c[o>>2]|0)-n+k|0;h=(rb(a,u,v,((r|0)!=0&(j|0)>24?j+-24|0:0)+p|0,t,h,w,q*l,x>>t)|0)<<(i>>1)|e}a=h;J=y;return a|0}k=h+-1|0;p=(n+1|0)>>>1;h=(k|0)>(d[r+p>>0]|0);o=h?p:0;p=h?n:p;n=(o+1+p|0)>>>1;h=(k|0)>(d[r+n>>0]|0);o=h?n:o;n=h?p:n;p=o+1+n>>1;h=(k|0)>(d[r+p>>0]|0);o=h?p:o;p=h?n:p;n=o+1+p>>1;h=(k|0)>(d[r+n>>0]|0);o=h?n:o;n=h?p:n;p=o+1+n>>1;h=(k|0)>(d[r+p>>0]|0);o=h?p:o;p=h?n:p;n=o+1+p>>1;h=(k|0)>(d[r+n>>0]|0);o=h?n:o;n=h?p:n;if(!o)h=-1;else h=d[r+o>>0]|0;h=(k-h|0)>((d[r+n>>0]|0)-k|0)?n:o;if(!h)n=0;else n=(d[r+h>>0]|0)+1|0;p=a+32|0;o=(c[p>>2]|0)-n|0;c[p>>2]=o;a:do if(!((o|0)<0&(h|0)>0)){if(h|0)t=23}else{k=h;while(1){o=n+o|0;c[p>>2]=o;h=k+-1|0;if(!h)break;n=(d[r+h>>0]|0)+1|0;o=o-n|0;c[p>>2]=o;if(!((o|0)<0&(k|0)>1)){t=23;break a}else k=h}c[p>>2]=o}while(0);if((t|0)==23){h=(h|0)<8?h:(h&7|8)<<(h>>3)+-1;if(!u){a=Wa(e,g,h,v,i,w,l)|0;J=y;return a|0}else{a=Va(e,g,h,v,i,w,l,c[a+4>>2]|0,c[a+44>>2]|0)|0;J=y;return a|0}}if(!(c[a+4>>2]|0)){a=0;J=y;return a|0}k=(1<>2]=h;if(!h){tc(e|0,0,g<<2|0)|0;a=0;J=y;return a|0}n=(g|0)>0;if(!j)if(n){o=a+40|0;h=c[o>>2]|0;n=0;do{h=(h*1664525|0)+1013904223|0;f[e+(n<<2)>>2]=+(h>>20|0);n=n+1|0}while((n|0)!=(g|0));c[o>>2]=h;h=k}else h=k;else if(n){k=a+40|0;n=c[k>>2]|0;o=0;do{n=(n*1664525|0)+1013904223|0;f[e+(o<<2)>>2]=+f[j+(o<<2)>>2]+((n&32768|0)==0?-.00390625:.00390625);o=o+1|0}while((o|0)!=(g|0));c[k>>2]=n}Xa(e,g,l,c[a+44>>2]|0);a=h;J=y;return a|0}function sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=J;i=d*b|0;j=J;J=J+((1*(i<<2)|0)+15&-16)|0;if(!e){if(!((d|0)>0&(b|0)>0)){d=i<<2;rc(a|0,j|0,d|0)|0;J=k;return}e=0;do{g=e*b|0;f=0;do{c[j+((f*d|0)+e<<2)>>2]=c[a+(f+g<<2)>>2];f=f+1|0}while((f|0)!=(b|0));e=e+1|0}while((e|0)!=(d|0));d=i<<2;rc(a|0,j|0,d|0)|0;J=k;return}else{e=15520+(d<<2)+-8|0;if(!((d|0)>0&(b|0)>0)){d=i<<2;rc(a|0,j|0,d|0)|0;J=k;return}f=0;do{h=(c[e+(f<<2)>>2]|0)*b|0;g=0;do{c[j+((g*d|0)+f<<2)>>2]=c[a+(h+g<<2)>>2];g=g+1|0}while((g|0)!=(b|0));f=f+1|0}while((f|0)!=(d|0));d=i<<2;rc(a|0,j|0,d|0)|0;J=k;return}}function tb(a){a=a|0;var b=0;a:do if((a|0)<16e3)if((a|0)<12e3){switch(a|0){case 8e3:break;default:{b=6;break a}}a=6;break}else{switch(a|0){case 12e3:break;default:{b=6;break a}}a=4;break}else{if((a|0)<24e3){switch(a|0){case 16e3:break;default:{b=6;break a}}a=3;break}if((a|0)>=48e3)switch(a|0){case 48e3:{a=1;break a}default:{b=6;break a}}switch(a|0){case 24e3:break;default:{b=6;break a}}a=2}while(0);if((b|0)==6)a=0;return a|0}function ub(a,b,c,d,e,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;u=h==0.0;if(g==0.0&u){if((b|0)==(a|0))return;sc(a|0,b|0,e<<2|0)|0;return}t=(c|0)>15?c:15;v=(d|0)>15?d:15;x=0-v|0;q=+f[15680+(i*12|0)>>2]*g;r=+f[15680+(i*12|0)+4>>2]*g;s=+f[15680+(i*12|0)+8>>2]*g;A=+f[15680+(j*12|0)>>2]*h;B=+f[15680+(j*12|0)+4>>2]*h;C=+f[15680+(j*12|0)+8>>2]*h;w=1-v|0;y=~v;z=-2-v|0;d=(t|0)==(v|0)&g==h&(i|0)==(j|0)?0:l;if((d|0)>0){c=2-v|0;m=0;h=+f[b+(w<<2)>>2];n=+f[b+(x<<2)>>2];o=+f[b+(y<<2)>>2];p=+f[b+(z<<2)>>2];while(1){g=+f[b+(c+m<<2)>>2];E=+f[k+(m<<2)>>2];E=E*E;D=1.0-E;j=m-t|0;f[a+(m<<2)>>2]=(p+g)*(C*E)+((h+o)*(B*E)+(n*(A*E)+(+f[b+(m<<2)>>2]+ +f[b+(j<<2)>>2]*(q*D)+r*D*(+f[b+(j+1<<2)>>2]+ +f[b+(j+-1<<2)>>2])+s*D*(+f[b+(j+2<<2)>>2]+ +f[b+(j+-2<<2)>>2]))));m=m+1|0;if((m|0)==(d|0)){m=d;break}else{E=h;h=g;p=o;o=n;n=E}}}else m=0;if(u){if((b|0)==(a|0))return;sc(a+(d<<2)|0,b+(d<<2)|0,e-d<<2|0)|0;return}i=a+(m<<2)|0;l=b+(m<<2)|0;d=e-m|0;if((d|0)<=0)return;c=2-v|0;m=0;p=+f[l+(w<<2)>>2];o=+f[l+(x<<2)>>2];n=+f[l+(y<<2)>>2];h=+f[l+(z<<2)>>2];while(1){g=+f[l+(c+m<<2)>>2];f[i+(m<<2)>>2]=C*(h+g)+(B*(n+p)+(A*o+ +f[l+(m<<2)>>2]));m=m+1|0;if((m|0)==(d|0))break;else{E=p;p=g;h=n;n=o;o=E}}return}function vb(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+8|0;h=c[l>>2]|0;if((h|0)<=0)return;m=g+-1+(f<<1)|0;k=c[a+32>>2]|0;i=c[a+104>>2]|0;j=b[k>>1]|0;a=0;do{n=a;a=a+1|0;o=j;j=b[k+(a<<1)>>1]|0;c[e+(n<<2)>>2]=(((j<<16>>16)-(o<<16>>16)<>0]|0)+64|0)>>2;h=c[l>>2]|0}while((a|0)<(h|0));return}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=b+-1|0;k=c[a+(i<<2)>>2]|0;f=k>>>31;k=(k|0)>-1?k:0-k|0;do{j=i;i=i+-1|0;h=b-i|0;f=(c[(c[15728+(((h|0)<(k|0)?h:k)<<2)>>2]|0)+(((h|0)>(k|0)?h:k)<<2)>>2]|0)+f|0;l=c[a+(i<<2)>>2]|0;k=((l|0)>-1?l:0-l|0)+k|0;g=k+1|0;if((l|0)<0)f=(c[(c[15728+(((h|0)>(k|0)?g:h)<<2)>>2]|0)+(((h|0)>(g|0)?h:g)<<2)>>2]|0)+f|0}while((j|0)>1);l=d+1|0;Ab(e,f,(c[(c[15728+(((l|0)>(b|0)?b:l)<<2)>>2]|0)+(((l|0)<(b|0)?b:l)<<2)>>2]|0)+(c[(c[15728+(((b|0)<(d|0)?b:d)<<2)>>2]|0)+(((b|0)>(d|0)?b:d)<<2)>>2]|0)|0);return}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,i=0,j=0,k=0.0,l=0.0;j=d+1|0;e=Da(e,(c[(c[15728+(((j|0)>(b|0)?b:j)<<2)>>2]|0)+(((j|0)<(b|0)?b:j)<<2)>>2]|0)+(c[(c[15728+(((b|0)<(d|0)?b:d)<<2)>>2]|0)+(((b|0)>(d|0)?b:d)<<2)>>2]|0)|0)|0;if((b|0)>2){f=0.0;while(1){do if((d|0)<(b|0)){g=c[(c[15728+(d<<2)>>2]|0)+(b<<2)>>2]|0;j=d+1|0;h=c[(c[15728+(j<<2)>>2]|0)+(b<<2)>>2]|0;if(e>>>0>=g>>>0&e>>>0>>0){c[a>>2]=0;e=e-g|0;break}i=(e>>>0>=h>>>0)<<31>>31;h=e-(h&i)|0;while(1){g=d+-1|0;e=c[(c[15728+(g<<2)>>2]|0)+(b<<2)>>2]|0;if(h>>>0>>0)d=g;else break}d=j+i-d^i;c[a>>2]=d<<16>>16;k=+((d&65535)<<16>>16);e=h-e|0;d=g;f=f+k*k}else{h=c[15728+(b<<2)>>2]|0;i=c[h+(d+1<<2)>>2]|0;j=(e>>>0>=i>>>0)<<31>>31;i=e-(i&j)|0;if((c[h+(b<<2)>>2]|0)>>>0>i>>>0){e=b;do{e=e+-1|0;g=c[(c[15728+(e<<2)>>2]|0)+(b<<2)>>2]|0}while(g>>>0>i>>>0);h=e;e=g}else{g=d;while(1){e=c[h+(g<<2)>>2]|0;if(e>>>0>i>>>0)g=g+-1|0;else{h=g;break}}}d=d+j-h^j;c[a>>2]=d<<16>>16;k=+((d&65535)<<16>>16);e=i-e|0;d=h;f=f+k*k}while(0);a=a+4|0;if((b|0)>3)b=b+-1|0;else break}}else f=0.0;g=d<<1|1;h=(e>>>0>=g>>>0)<<31>>31;g=e-(g&h)|0;j=g+1|0;i=j>>>1;j=g-((i|0)==0?0:(j&-2)+-1|0)|0;h=d+h-i^h;c[a>>2]=h<<16>>16;l=+((h&65535)<<16>>16);j=i-j^0-j;c[a+4>>2]=j<<16>>16;k=+((j&65535)<<16>>16);return +(f+l*l+k*k)}function yb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=b+28|0;g=c[p>>2]|0;h=(g>>>0)/(f>>>0)|0;if(!d)g=g-(h*(f-e|0)|0)|0;else{o=b+32|0;c[o>>2]=g-(h*(f-d|0)|0)+(c[o>>2]|0);g=h*(e-d|0)|0}c[p>>2]=g;if(g>>>0>=8388609)return;o=b+32|0;j=b+36|0;k=b+20|0;m=b+40|0;l=b+24|0;h=b+8|0;n=b+4|0;i=b+44|0;e=c[o>>2]|0;do{f=e>>>23;if((f|0)==255)c[j>>2]=(c[j>>2]|0)+1;else{d=e>>>31;g=c[m>>2]|0;if((g|0)>-1){e=c[l>>2]|0;if(((c[h>>2]|0)+e|0)>>>0<(c[n>>2]|0)>>>0){q=c[b>>2]|0;c[l>>2]=e+1;a[q+e>>0]=g+d;g=0}else g=-1;c[i>>2]=c[i>>2]|g}e=c[j>>2]|0;if(e|0){d=d+255&255;do{g=c[l>>2]|0;if(((c[h>>2]|0)+g|0)>>>0<(c[n>>2]|0)>>>0){e=c[b>>2]|0;c[l>>2]=g+1;a[e+g>>0]=d;g=c[j>>2]|0;e=0}else{g=e;e=-1}c[i>>2]=c[i>>2]|e;e=g+-1|0;c[j>>2]=e}while((e|0)!=0)}c[m>>2]=f&255;e=c[o>>2]|0;g=c[p>>2]|0}e=e<<8&2147483392;c[o>>2]=e;g=g<<8;c[p>>2]=g;c[k>>2]=(c[k>>2]|0)+8}while(g>>>0<8388609);return}function zb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=b+28|0;g=c[o>>2]|0;p=b+32|0;f=g>>>e;g=g-f|0;e=(d|0)!=0;if(e)c[p>>2]=(c[p>>2]|0)+g;e=e?f:g;c[o>>2]=e;if(e>>>0>=8388609)return;j=b+36|0;k=b+20|0;m=b+40|0;l=b+24|0;h=b+8|0;n=b+4|0;i=b+44|0;d=c[p>>2]|0;do{g=d>>>23;if((g|0)==255)c[j>>2]=(c[j>>2]|0)+1;else{f=d>>>31;e=c[m>>2]|0;if((e|0)>-1){d=c[l>>2]|0;if(((c[h>>2]|0)+d|0)>>>0<(c[n>>2]|0)>>>0){q=c[b>>2]|0;c[l>>2]=d+1;a[q+d>>0]=e+f;e=0}else e=-1;c[i>>2]=c[i>>2]|e}d=c[j>>2]|0;if(d|0){f=f+255&255;do{e=c[l>>2]|0;if(((c[h>>2]|0)+e|0)>>>0<(c[n>>2]|0)>>>0){d=c[b>>2]|0;c[l>>2]=e+1;a[d+e>>0]=f;e=c[j>>2]|0;d=0}else{e=d;d=-1}c[i>>2]=c[i>>2]|d;d=e+-1|0;c[j>>2]=d}while((d|0)!=0)}c[m>>2]=g&255;d=c[p>>2]|0;e=c[o>>2]|0}d=d<<8&2147483392;c[p>>2]=d;e=e<<8;c[o>>2]=e;c[k>>2]=(c[k>>2]|0)+8}while(e>>>0<8388609);return}function Ab(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=e+-1|0;f=32-(w(g|0)|0)|0;if((f|0)<=8){yb(b,d,d+1|0,e);return}q=f+-8|0;n=d>>>q;yb(b,n,n+1|0,(g>>>q)+1|0);n=(1<>2]|0;p=b+16|0;d=c[p>>2]|0;e=d+q|0;if(e>>>0>32){k=b+24|0;i=b+8|0;l=b+4|0;j=b+44|0;h=~d;h=d+8+((h|0)>-16?h:-16)|0;m=d;while(1){e=c[i>>2]|0;g=c[l>>2]|0;if((e+(c[k>>2]|0)|0)>>>0>>0){r=c[b>>2]|0;e=e+1|0;c[i>>2]=e;a[r+(g-e)>>0]=f;e=0}else e=-1;c[j>>2]=c[j>>2]|e;f=f>>>8;if((m|0)<=15)break;else m=m+-8|0}d=d+-8-(h&-8)|0;e=d+q|0}c[o>>2]=n<>2]=e;r=b+20|0;c[r>>2]=(c[r>>2]|0)+q;return}function Bb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=b+12|0;g=c[p>>2]|0;q=b+16|0;h=c[q>>2]|0;f=h+e|0;if(f>>>0>32){m=b+24|0;k=b+8|0;n=b+4|0;l=b+44|0;j=~h;j=h+((j|0)>-16?j:-16)+8&-8;o=h;while(1){f=c[k>>2]|0;i=c[n>>2]|0;if((f+(c[m>>2]|0)|0)>>>0>>0){r=c[b>>2]|0;f=f+1|0;c[k>>2]=f;a[r+(i-f)>>0]=g;f=0}else f=-1;c[l>>2]=c[l>>2]|f;g=g>>>8;if((o|0)<=15)break;else o=o+-8|0}h=h+-8-j|0;f=h+e|0}c[p>>2]=d<>2]=f;r=b+20|0;c[r>>2]=(c[r>>2]|0)+e;return}function Cb(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0,_=0,$=0;G=J;J=J+32|0;D=G;e=c[a+8>>2]|0;h=(e|0)>0;c[D>>2]=1;g=1;i=0;while(1){j=i<<1;B=b[a+12+((j|1)<<1)>>1]|0;g=g*(b[a+12+(j<<1)>>1]|0)|0;j=i+1|0;c[D+(j<<2)>>2]=g;if(B<<16>>16==1)break;else i=j}A=h?e:0;B=a+48|0;y=b[a+12+((j<<1)+-1<<1)>>1]|0;while(1){if(!i){z=1;e=0}else{e=i<<1;z=b[a+12+(e+-1<<1)>>1]|0}a:do switch(b[a+12+(e<<1)>>1]|0){case 2:{e=c[D+(i<<2)>>2]|0;if((e|0)>0){g=d;h=0;while(1){u=g+32|0;x=+f[u>>2];y=g+36|0;w=+f[y>>2];v=+f[g>>2];f[u>>2]=v-x;u=g+4|0;p=+f[u>>2];f[y>>2]=p-w;f[g>>2]=x+v;f[u>>2]=w+p;u=g+40|0;p=+f[u>>2];y=g+44|0;w=+f[y>>2];v=(p+w)*.7071067690849304;p=(w-p)*.7071067690849304;t=g+8|0;w=+f[t>>2];f[u>>2]=w-v;u=g+12|0;x=+f[u>>2];f[y>>2]=x-p;f[t>>2]=w+v;f[u>>2]=p+x;u=g+52|0;x=+f[u>>2];t=g+48|0;p=+f[t>>2];y=g+16|0;v=+f[y>>2];f[t>>2]=v-x;t=g+20|0;w=+f[t>>2];f[u>>2]=p+w;f[y>>2]=x+v;f[t>>2]=w-p;t=g+60|0;p=+f[t>>2];y=g+56|0;w=+f[y>>2];v=(p-w)*.7071067690849304;w=(p+w)*-.7071067690849304;u=g+24|0;p=+f[u>>2];f[y>>2]=p-v;y=g+28|0;x=+f[y>>2];f[t>>2]=x-w;f[u>>2]=p+v;f[y>>2]=w+x;h=h+1|0;if((h|0)==(e|0))break;else g=g+64|0}}break}case 4:{q=c[D+(i<<2)>>2]|0;l=q<>2];n=e+16|0;N=+f[n>>2];p=x-N;r=e+4|0;I=+f[r>>2];o=e+20|0;L=+f[o>>2];w=I-L;N=x+N;L=I+L;s=e+8|0;I=+f[s>>2];u=e+24|0;x=+f[u>>2];M=I+x;t=e+12|0;H=+f[t>>2];y=e+28|0;v=+f[y>>2];K=H+v;f[n>>2]=N-M;f[o>>2]=L-K;f[e>>2]=N+M;f[r>>2]=L+K;x=I-x;v=H-v;f[s>>2]=p+v;f[t>>2]=w-x;f[u>>2]=p-v;f[y>>2]=w+x;g=g+1|0;if((g|0)==(q|0))break a;else e=e+32|0}}j=y<<1;k=y*3|0;if((q|0)>0?(C=c[B>>2]|0,E=l<<1,F=l*3|0,(y|0)>0):0){g=0;do{e=d+(g*z<<3)|0;h=0;m=C;n=C;o=C;while(1){r=e+(y<<3)|0;w=+f[r>>2];x=+f[m>>2];s=e+(y<<3)+4|0;K=+f[s>>2];v=+f[m+4>>2];p=w*x-K*v;v=x*K+w*v;Q=e+(j<<3)|0;w=+f[Q>>2];K=+f[n>>2];P=e+(j<<3)+4|0;x=+f[P>>2];H=+f[n+4>>2];I=w*K-x*H;H=K*x+w*H;t=e+(k<<3)|0;w=+f[t>>2];x=+f[o>>2];u=e+(k<<3)+4|0;K=+f[u>>2];L=+f[o+4>>2];N=w*x-K*L;L=x*K+w*L;w=+f[e>>2];K=w-I;O=e+4|0;x=+f[O>>2];M=x-H;w=I+w;f[e>>2]=w;x=H+x;f[O>>2]=x;H=p+N;I=v+L;N=p-N;L=v-L;f[Q>>2]=w-H;f[P>>2]=x-I;f[e>>2]=H+ +f[e>>2];f[O>>2]=I+ +f[O>>2];f[r>>2]=K+L;f[s>>2]=M-N;f[t>>2]=K-L;f[u>>2]=M+N;h=h+1|0;if((h|0)==(y|0))break;else{e=e+8|0;m=m+(l<<3)|0;n=n+(E<<3)|0;o=o+(F<<3)|0}}g=g+1|0}while((g|0)!=(q|0))}break}case 3:{e=c[D+(i<<2)>>2]|0;m=e<>2]|0;k=y<<1;p=+f[n+(m*y<<3)+4>>2];if((e|0)>0){l=m<<1;h=0;do{g=d+(h*z<<3)|0;j=y;o=n;q=n;while(1){P=g+(y<<3)|0;K=+f[P>>2];L=+f[o>>2];Q=g+(y<<3)+4|0;x=+f[Q>>2];I=+f[o+4>>2];H=K*L-x*I;I=L*x+K*I;u=g+(k<<3)|0;K=+f[u>>2];x=+f[q>>2];O=g+(k<<3)+4|0;L=+f[O>>2];M=+f[q+4>>2];N=K*x-L*M;M=x*L+K*M;K=H+N;L=I+M;f[P>>2]=+f[g>>2]-K*.5;t=g+4|0;f[Q>>2]=+f[t>>2]-L*.5;N=p*(H-N);M=p*(I-M);f[g>>2]=K+ +f[g>>2];f[t>>2]=L+ +f[t>>2];f[u>>2]=M+ +f[P>>2];f[O>>2]=+f[Q>>2]-N;f[P>>2]=+f[P>>2]-M;f[Q>>2]=N+ +f[Q>>2];j=j+-1|0;if(!j)break;else{g=g+8|0;o=o+(m<<3)|0;q=q+(l<<3)|0}}h=h+1|0}while((h|0)!=(e|0))}break}case 5:{h=c[D+(i<<2)>>2]|0;t=h<>2]|0;Q=t*y|0;p=+f[u+(Q<<3)>>2];v=+f[u+(Q<<3)+4>>2];Q=(t<<1)*y|0;w=+f[u+(Q<<3)>>2];x=+f[u+(Q<<3)+4>>2];if((h|0)>0){s=y<<1;q=y*3|0;r=y<<2;n=(y|0)>0;o=0;do{e=d+(o*z<<3)|0;if(n){j=e;k=e+(y<<3)|0;l=e+(s<<3)|0;m=e+(q<<3)|0;e=e+(r<<3)|0;g=0;while(1){U=+f[j>>2];_=j+4|0;S=+f[_>>2];K=+f[k>>2];$=g*t|0;M=+f[u+($<<3)>>2];Z=k+4|0;Y=+f[Z>>2];T=+f[u+($<<3)+4>>2];R=K*M-Y*T;T=M*Y+K*T;K=+f[l>>2];Q=(g<<1)*t|0;Y=+f[u+(Q<<3)>>2];P=l+4|0;M=+f[P>>2];X=+f[u+(Q<<3)+4>>2];W=K*Y-M*X;X=Y*M+K*X;K=+f[m>>2];$=$*3|0;M=+f[u+($<<3)>>2];Q=m+4|0;Y=+f[Q>>2];H=+f[u+($<<3)+4>>2];N=K*M-Y*H;H=M*Y+K*H;K=+f[e>>2];$=(g<<2)*t|0;Y=+f[u+($<<3)>>2];O=e+4|0;M=+f[O>>2];L=+f[u+($<<3)+4>>2];I=K*Y-M*L;L=Y*M+K*L;K=R+I;M=T+L;I=R-I;L=T-L;T=W+N;R=X+H;N=W-N;H=X-H;f[j>>2]=U+(T+K);f[_>>2]=S+(R+M);X=U+(w*T+p*K);W=S+(w*R+p*M);Y=x*H+v*L;V=x*N+v*I;f[k>>2]=X-Y;f[Z>>2]=V+W;f[e>>2]=Y+X;f[O>>2]=W-V;K=U+(p*T+w*K);M=S+(p*R+w*M);L=v*H-x*L;N=x*I-v*N;f[l>>2]=L+K;f[P>>2]=N+M;f[m>>2]=K-L;f[Q>>2]=M-N;g=g+1|0;if((g|0)==(y|0))break;else{j=j+8|0;k=k+8|0;l=l+8|0;m=m+8|0;e=e+8|0}}}o=o+1|0}while((o|0)!=(h|0))}break}default:{}}while(0);if((i|0)>0){i=i+-1|0;y=z}else break}J=G;return}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=za(a,15)|0;if(h>>>0>>0){c=0;h=b;i=0;h=h+c|0;g=h>>>0<32768;h=g?h:32768;Aa(a,c,h,32768);return i|0}d=((16384-c|0)*(32736-b|0)|0)>>>15;a:do if(!d){d=1;i=6}else{f=b;g=1;while(1){e=d+1|0;d=e<<1;b=d+f|0;if(h>>>0>>0){b=g;break a}e=g+1|0;d=((d+-2|0)*c|0)>>>15;if(!d){d=e;i=6;break}else{f=b;g=e}}}while(0);if((i|0)==6){i=h-b|0;f=(i&-2)+b|0;e=1;b=(i>>>1)+d|0}c=f+e|0;i=h>>>0>>0;c=i?f:c;h=e;i=i?0-b|0:b;h=h+c|0;g=h>>>0<32768;h=g?h:32768;Aa(a,c,h,32768);return i|0}function Eb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=31-(w(a|0)|0)>>1;b=1<>>0>>0;e=(d?0:b)+e|0;if((c|0)<=0)break;else{a=a-(d?0:f)|0;b=b>>>1;c=c+-1|0}}return e|0}function Fb(a){a=a|0;tc(a+4|0,0,4260)|0;c[a+2376>>2]=1;c[a>>2]=65536;c[a+4168>>2]=0;dc(a);Nb(a);return 0}function Gb(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=J;J=J+144|0;n=o;m=b+2328|0;l=c[m>>2]|0;c[n+136>>2]=0;switch(g|0){case 0:{j=b+2388|0;k=4;break}case 2:{j=b+2388|0;if((c[b+2420+(c[j>>2]<<2)>>2]|0)==1)k=4;else k=5;break}default:k=5}if((k|0)==4){k=F()|0;p=J;J=J+((1*((l+15&-16)<<1)|0)+15&-16)|0;Ib(b,d,c[j>>2]|0,g,h);g=b+2765|0;Jb(d,p,a[g>>0]|0,a[b+2766>>0]|0,c[m>>2]|0);Hb(b,n,h);gc(b,n,e,p,i);Ob(b,n,e,0,i);c[b+4160>>2]=0;c[b+4164>>2]=a[g>>0];c[b+2376>>2]=0;E(k|0)}else if((k|0)==5){a[b+2765>>0]=c[b+4164>>2];Ob(b,n,e,1,i)}d=c[m>>2]|0;p=(c[b+2336>>2]|0)-d|0;sc(b+1348|0,b+1348+(d<<1)|0,p<<1|0)|0;rc(b+1348+(p<<1)|0,e|0,c[m>>2]<<1|0)|0;ec(b,n,e,l);Rb(b,e,l);c[b+2308>>2]=c[n+((c[b+2324>>2]|0)+-1<<2)>>2];c[f>>2]=l;J=o;return 0}function Hb(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=J;J=J+64|0;o=q+32|0;m=q;p=d+2324|0;Lb(e+16|0,d+2736|0,d+2312|0,(f|0)==2&1,c[p>>2]|0);Mb(o,d+2744|0,c[d+2732>>2]|0);k=e+32|0;l=e+64|0;j=d+2340|0;i=d+4168|0;Zb(l,o,c[j>>2]|0,c[i>>2]|0);f=d+2767|0;if((c[d+2376>>2]|0)!=1){f=a[f>>0]|0;if(f<<24>>24<4){h=c[j>>2]|0;if((h|0)>0){f=f<<24>>24;g=0;do{r=b[d+2344+(g<<1)>>1]|0;b[m+(g<<1)>>1]=((((b[o+(g<<1)>>1]|0)-r|0)*f|0)>>>2)+r;g=g+1|0}while((g|0)<(h|0))}Zb(k,m,h,c[i>>2]|0)}else n=8}else{a[f>>0]=4;n=8}if((n|0)==8)rc(k|0,l|0,c[j>>2]<<1|0)|0;f=c[j>>2]|0;rc(d+2344|0,o|0,f<<1|0)|0;if(c[d+4160>>2]|0){Ub(k,f,63570);Ub(l,c[j>>2]|0,63570)}if((a[d+2765>>0]|0)!=2){tc(e|0,0,c[p>>2]<<2|0)|0;tc(e+96|0,0,(c[p>>2]|0)*10|0)|0;a[d+2768>>0]=0;d=0;r=e+136|0;c[r>>2]=d;J=q;return}Vb(b[d+2762>>1]|0,a[d+2764>>0]|0,e,c[d+2316>>2]|0,c[p>>2]|0);h=c[26744+(a[d+2768>>0]<<2)>>2]|0;f=c[p>>2]|0;if((f|0)>0){g=0;do{p=(a[d+2740+g>>0]|0)*5|0;r=g*5|0;b[e+96+(r<<1)>>1]=a[h+p>>0]<<7;b[e+96+(r+1<<1)>>1]=a[h+(p+1)>>0]<<7;b[e+96+(r+2<<1)>>1]=a[h+(p+2)>>0]<<7;b[e+96+(r+3<<1)>>1]=a[h+(p+3)>>0]<<7;b[e+96+(r+4<<1)>>1]=a[h+(p+4)>>0]<<7;g=g+1|0}while((g|0)<(f|0))}d=b[26844+(a[d+2769>>0]<<1)>>1]|0;r=e+136|0;c[r>>2]=d;J=q;return}function Ib(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=J;J=J+48|0;n=r+16|0;l=r;if((i|0)==0?(c[f+2404+(h<<2)>>2]|0)==0:0)h=Ca(g,26913,8)|0;else h=(Ca(g,26909,8)|0)+2|0;i=h>>>1;k=f+2736|0;q=f+2765|0;a[q>>0]=i;a[f+2766>>0]=h&1;m=(j|0)==2;if(m)a[k>>0]=Ca(g,20912,8)|0;else{a[k>>0]=(Ca(g,20880+(i<<24>>24<<3)|0,8)|0)<<3;p=Ca(g,26938,8)|0;a[k>>0]=p+(d[k>>0]|0)}p=f+2324|0;if((c[p>>2]|0)>1){h=1;do{a[f+2736+h>>0]=Ca(g,20912,8)|0;h=h+1|0}while((h|0)<(c[p>>2]|0))}k=f+2732|0;h=c[k>>2]|0;h=Ca(g,(c[h+16>>2]|0)+((a[q>>0]>>1)*(b[h>>1]|0)|0)|0,8)|0;a[f+2744>>0]=h;Tb(n,l,c[k>>2]|0,h<<24>>24);h=c[k>>2]|0;a:do if((b[h+2>>1]|0)>0){i=0;while(1){h=Ca(g,(c[h+28>>2]|0)+(b[n+(i<<1)>>1]|0)|0,8)|0;switch(h|0){case 0:{h=0-(Ca(g,26946,8)|0)|0;break}case 8:{h=(Ca(g,26946,8)|0)+8|0;break}default:{}}i=i+1|0;a[f+2744+i>>0]=h+252;h=c[k>>2]|0;if((i|0)>=(b[h+2>>1]|0))break a}}while(0);if((c[p>>2]|0)==4)h=(Ca(g,26915,8)|0)&255;else h=4;a[f+2767>>0]=h;if((a[q>>0]|0)!=2){q=a[q>>0]|0;q=q<<24>>24;j=f+2396|0;c[j>>2]=q;j=Ca(g,26923,8)|0;j=j&255;g=f+2770|0;a[g>>0]=j;J=r;return}if((m?(c[f+2396>>2]|0)==2:0)?(o=Ca(g,24832,8)|0,(o<<16|0)>0):0){i=f+2400|0;h=o+65527+(e[i>>1]|0)&65535;b[f+2762>>1]=h}else{h=(Ca(g,24800,8)|0)<<16>>16;i=f+2762|0;b[i>>1]=h*(c[f+2316>>2]>>1);h=Ca(g,c[f+2380>>2]|0,8)|0;h=h+(e[i>>1]|0)&65535;b[i>>1]=h;i=f+2400|0}b[i>>1]=h;a[f+2764>>0]=Ca(g,c[f+2384>>2]|0,8)|0;h=Ca(g,26983,8)|0;i=f+2768|0;a[i>>0]=h;if((c[p>>2]|0)>0?(a[f+2740>>0]=Ca(g,c[26732+(h<<24>>24<<2)>>2]|0,8)|0,(c[p>>2]|0)>1):0){h=1;do{a[f+2740+h>>0]=Ca(g,c[26732+(a[i>>0]<<2)>>2]|0,8)|0;h=h+1|0}while((h|0)<(c[p>>2]|0))}if(!j)h=(Ca(g,26906,8)|0)&255;else h=0;a[f+2769>>0]=h;q=a[q>>0]|0;q=q<<24>>24;j=f+2396|0;c[j>>2]=q;j=Ca(g,26923,8)|0;j=j&255;g=f+2770|0;a[g>>0]=j;J=r;return}function Jb(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=J;J=J+160|0;p=q+80|0;n=q;o=(g>>4)+((g&-16|0)<(g|0)&1)|0;i=24912+((Ca(a,25104+((e>>1)*9|0)|0,8)|0)*18|0)|0;m=(o|0)>0;if(!m){fc(a,d,g,e,f,p);J=q;return}l=0;do{j=n+(l<<2)|0;c[j>>2]=0;h=Ca(a,i,8)|0;k=p+(l<<2)|0;c[k>>2]=h;if((h|0)==17){h=0;do{h=h+1|0;c[j>>2]=h;r=Ca(a,25074+((h|0)==10&1)|0,8)|0;c[k>>2]=r}while((r|0)==17)}l=l+1|0}while((l|0)!=(o|0));if(!m){fc(a,d,g,e,f,p);J=q;return}j=0;do{h=c[p+(j<<2)>>2]|0;i=d+(j<<16>>12<<1)|0;if((h|0)>0)Sb(i,a,h);else{h=i+32|0;do{b[i>>1]=0;i=i+2|0}while((i|0)<(h|0))}j=j+1|0}while((j|0)!=(o|0));if(!m){fc(a,d,g,e,f,p);J=q;return}m=0;do{l=c[n+(m<<2)>>2]|0;if((l|0)>0){k=d+(m<<16>>12<<1)|0;h=b[k>>1]|0;i=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;i=i+1|0}while((i|0)!=(l|0));b[k>>1]=h;i=k+2|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+4|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+6|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+8|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+10|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+12|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+14|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+16|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+18|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+20|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+22|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+24|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+26|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+28|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;i=k+30|0;h=b[i>>1]|0;j=0;do{h=(Ca(a,26904,8)|0)+(h<<1)|0;j=j+1|0}while((j|0)!=(l|0));b[i>>1]=h;r=p+(m<<2)|0;c[r>>2]=c[r>>2]|l<<5}m=m+1|0}while((m|0)!=(o|0));fc(a,d,g,e,f,p);J=q;return}function Kb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=d<<16>>16;c[b+2332>>2]=h*5;i=b+2324|0;k=(c[i>>2]<<16>>16)*(h*327680>>16)|0;j=b+2316|0;g=b+2320|0;if((c[j>>2]|0)==(d|0)?(c[g>>2]|0)==(e|0):0){f=0;l=4}else{f=bb(b+2432|0,h*1e3|0,e,0)|0;c[g>>2]=e;if((c[j>>2]|0)==(d|0))l=4;else{g=0;e=f}}if((l|0)==4)if((k|0)==(c[b+2328>>2]|0)){l=f;return l|0}else{g=1;e=f}f=(d|0)==8;i=(c[i>>2]|0)==4;c[b+2384>>2]=f?(i?26994:27017):i?24864:27005;if(!g){c[b+2336>>2]=h*20;i=(d|4|0)==12;c[b+2340>>2]=i?10:16;c[b+2732>>2]=i?26756:26796;switch(d|0){case 16:{f=26938;l=9;break}case 12:{f=26932;l=9;break}default:if(f){f=26923;l=9}}if((l|0)==9)c[b+2380>>2]=f;c[b+2376>>2]=1;c[b+2308>>2]=100;a[b+2312>>0]=10;c[b+4164>>2]=0;tc(b+1284|0,0,1024)|0}c[j>>2]=d;c[b+2328>>2]=k;l=e;return l|0}function Lb(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;if((g|0)<=0)return;j=0;do{h=a[d+j>>0]|0;do if(j|f){h=h+-4|0;i=a[e>>0]|0;if((h|0)>(i+8|0)){h=(h<<1)+248|0;break}else{h=h+i|0;break}}else{i=(a[e>>0]|0)+-16|0;h=(i|0)<(h|0)?h:i}while(0);i=h&255;a[e>>0]=i;i=i<<24>>24>63?63:i<<24>>24>0?h&255:0;a[e>>0]=i;i=(i*29|0)+2090+((i*7281|0)>>>16)|0;c[b+(j<<2)>>2]=Wb(i>>>0<3967?i:3967)|0;j=j+1|0}while((j|0)!=(g|0));return}function Mb(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=J;J=J+80|0;o=s+64|0;r=s;Tb(s+32|0,o,g,a[f>>0]|0);q=g+2|0;h=b[q>>1]|0;p=h<<16>>16>0;if(p){h=h<<16>>16;k=b[g+4>>1]|0;l=h;n=0;do{m=l;l=l+-1|0;i=a[f+m>>0]|0;j=i<<24>>24<<10;if(i<<24>>24>0)i=j+-102|0;else i=i<<24>>24==0?j:j|102;n=((i>>16)*k|0)+((n<<16>>16)*(d[o+l>>0]|0)>>8)+((i&65535)*k>>16)|0;b[r+(l<<1)>>1]=n}while((m|0)>1)}else h=h<<16>>16;k=h*(a[f>>0]|0)|0;j=(c[g+8>>2]|0)+k|0;k=(c[g+12>>2]|0)+(k<<1)|0;if(!p){r=h;g=g+36|0;g=c[g>>2]|0;_b(e,g,r);J=s;return}i=0;do{h=(d[j+i>>0]<<7)+((b[r+(i<<1)>>1]<<14|0)/(b[k+(i<<1)>>1]|0)|0)|0;h=(h|0)>0?h:0;b[e+(i<<1)>>1]=(h|0)<32767?h:32767;i=i+1|0;h=b[q>>1]|0}while((i|0)<(h<<16>>16|0));r=h<<16>>16;g=g+36|0;g=c[g>>2]|0;_b(e,g,r);J=s;return}function Nb(a){a=a|0;c[a+4172>>2]=c[a+2328>>2]<<7;c[a+4244>>2]=65536;c[a+4248>>2]=65536;c[a+4260>>2]=20;c[a+4256>>2]=2;return}function Ob(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=c[d+2316>>2]|0;i=d+4252|0;if((j|0)!=(c[i>>2]|0)){c[d+4172>>2]=c[d+2328>>2]<<7;c[d+4244>>2]=65536;c[d+4248>>2]=65536;c[d+4260>>2]=20;c[d+4256>>2]=2;c[i>>2]=j}if(g|0){Pb(d,e,f,h);e=d+4160|0;c[e>>2]=(c[e>>2]|0)+1;return}q=d+4172|0;p=a[d+2765>>0]|0;c[d+4164>>2]=p<<24>>24;do if(p<<24>>24==2){h=d+2332|0;f=c[d+2324>>2]|0;p=f+-1|0;n=e+(p<<2)|0;i=c[n>>2]|0;if((f|0)==0|(i|0)<1)i=0;else{m=d+4176|0;o=f+65535|0;g=i;i=0;l=0;do{j=p-l|0;k=j*5|0;k=(b[e+96+(k+1<<1)>>1]|0)+(b[e+96+(k<<1)>>1]|0)+(b[e+96+(k+2<<1)>>1]|0)+(b[e+96+(k+3<<1)>>1]|0)+(b[e+96+(k+4<<1)>>1]|0)|0;if((k|0)>(i|0)){g=e+96+((o-l<<16>>16)*5<<1)|0;b[m>>1]=b[g>>1]|0;b[m+2>>1]=b[g+2>>1]|0;b[m+4>>1]=b[g+4>>1]|0;b[m+6>>1]=b[g+6>>1]|0;b[m+8>>1]=b[g+8>>1]|0;c[q>>2]=c[e+(j<<2)>>2]<<8;g=c[n>>2]|0;i=k}l=l+1|0}while(!((l|0)==(f|0)?1:((c[h>>2]|0)*l|0)>=(g|0)))}g=d+4176|0;c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;g=d+4180|0;b[g>>1]=i;if((i|0)<11469){b[d+4176>>1]=0;b[d+4178>>1]=0;b[g>>1]=(((11744256/(((i|0)>1?i:1)>>>0)|0)<<16>>16)*(i<<16>>16)|0)>>>10;b[d+4182>>1]=0;b[d+4184>>1]=0;break}if((i|0)>15565){b[d+4176>>1]=0;b[d+4178>>1]=0;b[g>>1]=(((255016960/(i>>>0)|0)<<16>>16)*(i<<16>>16)|0)>>>14;b[d+4182>>1]=0;b[d+4184>>1]=0}}else{c[q>>2]=(j<<16>>16)*4608;f=d+4176|0;c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;f=c[d+2324>>2]|0;h=d+2332|0}while(0);rc(d+4186|0,e+64|0,c[d+2340>>2]<<1|0)|0;b[d+4240>>1]=c[e+136>>2];p=e+16+(f+-2<<2)|0;q=c[p+4>>2]|0;e=d+4244|0;c[e>>2]=c[p>>2];c[e+4>>2]=q;c[d+4260>>2]=c[h>>2];c[d+4256>>2]=f;return}function Pb(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;Y=J;J=J+64|0;l=Y+52|0;m=Y+48|0;i=Y+44|0;j=Y+40|0;X=Y;k=Y+32|0;q=d+2336|0;Q=d+2328|0;r=(c[Q>>2]|0)+(c[q>>2]|0)|0;W=F()|0;P=J;J=J+((1*(r<<2)|0)+15&-16)|0;r=J;J=J+((1*(c[q>>2]<<1)|0)+15&-16)|0;c[k>>2]=c[d+4244>>2]>>6;p=d+4248|0;S=c[p>>2]|0;R=S>>6;c[k+4>>2]=R;if(c[d+2376>>2]|0){n=d+4186|0;o=n+32|0;do{b[n>>1]=0;n=n+2|0}while((n|0)<(o|0))}t=d+2332|0;o=d+2324|0;Qb(i,l,j,m,d+4|0,k,c[t>>2]|0,c[o>>2]|0);O=((c[d+4260>>2]|0)*((c[d+4256>>2]|0)+(((c[i>>2]>>c[m>>2]|0)<(c[j>>2]>>c[l>>2]|0))<<31>>31)|0)|0)+-128|0;O=d+4+(((O|0)>0?O:0)<<2)|0;L=d+4176|0;V=d+4228|0;m=b[V>>1]|0;U=d+4160|0;l=c[U>>2]|0;l=(l|0)<1?l:1;N=b[26850+(l<<1)>>1]|0;k=d+4164|0;l=b[((c[k>>2]|0)==2?26854:26858)+(l<<1)>>1]|0;j=d+4186|0;n=d+2340|0;Ub(j,c[n>>2]|0,64881);i=c[n>>2]|0;rc(X|0,j|0,i<<1|0)|0;do if(!(c[U>>2]|0))if((c[k>>2]|0)==2){m=(16384-(b[L>>1]|0)&65535)-(e[d+4178>>1]|0)-(e[d+4180>>1]|0)-(e[d+4182>>1]|0)-(e[d+4184>>1]|0)<<16>>16;m=(((m|0)>3277?m:3277)*(b[d+4240>>1]|0)|0)>>>14&65535;break}else{m=Yb(j,i)|0;m=(m|0)<134217728?m:134217728;m=((m|0)>4194304?m:4194304)<<3;i=c[n>>2]|0;l=((m&65528)*l>>16)+((m>>16)*l|0)>>14;m=16384;break}while(0);U=d+4224|0;M=c[U>>2]|0;K=d+4172|0;s=(c[K>>2]>>7)+1>>1;u=c[q>>2]|0;k=u+-2-i-s|0;Xb(r+(k<<1)|0,d+1348+(k<<1)|0,X,u-k|0,i,h);G=c[p>>2]|0;j=w(((G|0)>0?G:0-G|0)|0)|0;G=G<>16;H=536870911/(T|0)|0;I=H<<16;i=I>>16;T=0-(((G&65535)*i>>16)+(T*i|0)<<3)|0;i=(((H>>15)+1>>1)*T|0)+I+((T>>16)*i|0)+((T&65528)*i>>16)|0;j=62-j|0;if((j|0)<47){T=46-j|0;I=-2147483648>>T;G=2147483647>>>T;D=(I|0)>(G|0);H=D?I:G;I=D?G:I;i=((i|0)>(H|0)?H:(i|0)<(I|0)?I:i)<>j+-46:0;j=(i|0)<1073741823?i:1073741823;T=c[n>>2]|0;i=T+k|0;I=c[q>>2]|0;if((i|0)<(I|0)){k=j>>16;j=j&65535;do{H=b[r+(i<<1)>>1]|0;c[P+(i<<2)>>2]=(j*H>>16)+(k*H|0);i=i+1|0}while((i|0)<(I|0))}A=c[o>>2]|0;if((A|0)>0){B=d+4178|0;C=d+4180|0;D=d+4182|0;G=d+4184|0;H=(a[d+2765>>0]|0)==0;y=l<<16>>16;z=d+2316|0;t=c[t>>2]|0;v=(t|0)>0;k=b[L>>1]|0;n=b[B>>1]|0;h=b[C>>1]|0;p=b[D>>1]|0;q=b[G>>1]|0;x=0;l=s;j=M;i=u;do{if(v){k=k<<16>>16;o=n<<16>>16;h=h<<16>>16;p=p<<16>>16;q=q<<16>>16;r=m<<16>>16;n=0;l=P+(i+2-l<<2)|0;while(1){$=c[l>>2]|0;_=c[l+-4>>2]|0;Z=c[l+-8>>2]|0;s=c[l+-12>>2]|0;u=c[l+-16>>2]|0;j=(j*196314165|0)+907633515|0;M=c[O+(j>>>25<<2)>>2]|0;c[P+(i<<2)>>2]=(($>>16)*k|0)+2+(($&65535)*k>>16)+((_>>16)*o|0)+((_&65535)*o>>16)+((Z>>16)*h|0)+((Z&65535)*h>>16)+((s>>16)*p|0)+((s&65535)*p>>16)+((u>>16)*q|0)+((u&65535)*q>>16)+((M>>16)*r|0)+((M&65535)*r>>16)<<2;i=i+1|0;n=n+1|0;if((n|0)>=(t|0)){l=r;break}else l=l+4|0}}else{o=n<<16>>16;h=h<<16>>16;p=p<<16>>16;q=q<<16>>16;k=k<<16>>16;l=m<<16>>16}k=(k*N|0)>>>15&65535;n=(o*N|0)>>>15&65535;h=(h*N|0)>>>15&65535;p=(p*N|0)>>>15&65535;q=(q*N|0)>>>15&65535;m=H?m:(y*l|0)>>>15&65535;$=c[K>>2]|0;$=(($>>16)*655|0)+$+((($&65535)*655|0)>>>16)|0;l=(c[z>>2]<<16>>16)*4608|0;l=($|0)<(l|0)?$:l;c[K>>2]=l;l=(l>>7)+1>>1;x=x+1|0}while((x|0)<(A|0));b[L>>1]=k;b[B>>1]=n;b[C>>1]=h;b[D>>1]=p;b[G>>1]=q;N=l;M=j}else N=s;L=P+(I+-16<<2)|0;K=d+1284|0;n=L;i=K;o=n+64|0;do{c[n>>2]=c[i>>2];n=n+4|0;i=i+4|0}while((n|0)<(o|0));t=c[Q>>2]|0;if((t|0)<=0){i=L+(t<<2)|0;n=K;o=n+64|0;do{c[n>>2]=c[i>>2];n=n+4|0;i=i+4|0}while((n|0)<(o|0));c[U>>2]=M;b[V>>1]=m;c[f>>2]=N;$=f+4|0;c[$>>2]=N;$=f+8|0;c[$>>2]=N;$=f+12|0;c[$>>2]=N;E(W|0);J=Y;return}I=T>>1;v=b[X>>1]|0;x=b[X+2>>1]|0;y=b[X+4>>1]|0;z=b[X+6>>1]|0;A=b[X+8>>1]|0;B=b[X+10>>1]|0;C=b[X+12>>1]|0;D=b[X+14>>1]|0;G=b[X+16>>1]|0;H=b[X+18>>1]|0;u=(T|0)>10;s=R<<16>>16;r=(S>>21)+1>>1;i=c[L+60>>2]|0;n=c[L+52>>2]|0;o=c[L+44>>2]|0;h=c[L+36>>2]|0;p=c[L+28>>2]|0;q=0;do{l=q+16|0;k=q+15|0;R=n;n=c[L+(q+14<<2)>>2]|0;S=o;o=c[L+(q+12<<2)>>2]|0;Z=h;h=c[L+(q+10<<2)>>2]|0;_=p;p=c[L+(q+8<<2)>>2]|0;$=c[L+(q+6<<2)>>2]|0;i=((i>>16)*v|0)+I+((i&65535)*v>>16)+((n>>16)*x|0)+((n&65535)*x>>16)+((R>>16)*y|0)+((R&65535)*y>>16)+((o>>16)*z|0)+((o&65535)*z>>16)+((S>>16)*A|0)+((S&65535)*A>>16)+((h>>16)*B|0)+((h&65535)*B>>16)+((Z>>16)*C|0)+((Z&65535)*C>>16)+((p>>16)*D|0)+((p&65535)*D>>16)+((_>>16)*G|0)+((_&65535)*G>>16)+(($>>16)*H|0)+(($&65535)*H>>16)|0;if(u){j=10;do{_=c[L+(k-j<<2)>>2]|0;$=b[X+(j<<1)>>1]|0;i=((_>>16)*$|0)+i+((_&65535)*$>>16)|0;j=j+1|0}while((j|0)!=(T|0))}l=L+(l<<2)|0;k=c[l>>2]|0;j=(i|0)>-134217728?i:-134217728;j=((j|0)<134217727?j:134217727)<<4;i=k+j|0;if((i|0)>-1)i=(k&j|0)<0?-2147483648:i;else i=(k|j|0)>-1?2147483647:i;c[l>>2]=i;$=((i>>16)*s|0)+(i*r|0)+((i&65535)*s>>16)|0;$=($|0)>8388479?32767:($|0)<-8388736?-32768:($>>7)+1>>1;$=($|0)>-32768?$:-32768;b[g+(q<<1)>>1]=($|0)<32767?$:32767;q=q+1|0}while((q|0)<(t|0));i=L+(t<<2)|0;n=K;o=n+64|0;do{c[n>>2]=c[i>>2];n=n+4|0;i=i+4|0}while((n|0)<(o|0));c[U>>2]=M;b[V>>1]=m;c[f>>2]=N;$=f+4|0;c[$>>2]=N;$=f+8|0;c[$>>2]=N;$=f+12|0;c[$>>2]=N;E(W|0);J=Y;return}function Qb(a,d,e,f,g,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=J;o=J;J=J+((1*(i<<1<<1)|0)+15&-16)|0;if((i|0)<=0){g=o+(i<<1)|0;bc(a,d,o,i);bc(e,f,g,i);J=p;return}m=(j+-2|0)*i|0;n=c[h>>2]|0;k=n<<16>>16;n=(n>>15)+1>>1;l=0;do{q=c[g+(l+m<<2)>>2]|0;q=(k*(q&65535)>>16)+(k*(q>>16)|0)+(n*q|0)|0;b[o+(l<<1)>>1]=(q|0)>8388607?32767:(q|0)<-8388608?-32768:q>>>8&65535;l=l+1|0}while((l|0)!=(i|0));k=o+(i<<1)|0;j=(j+-1|0)*i|0;n=c[h+4>>2]|0;l=n<<16>>16;n=(n>>15)+1>>1;m=0;do{q=c[g+(m+j<<2)>>2]|0;q=(l*(q&65535)>>16)+(l*(q>>16)|0)+(n*q|0)|0;b[k+(m<<1)>>1]=(q|0)>8388607?32767:(q|0)<-8388608?-32768:q>>>8&65535;m=m+1|0}while((m|0)!=(i|0));bc(a,d,o,i);bc(e,f,k,i);J=p;return}function Rb(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=J;J=J+16|0;f=k+4|0;i=k;if(c[a+4160>>2]|0){bc(a+4232|0,a+4236|0,d,e);c[a+4220>>2]=1;J=k;return}j=a+4220|0;if(c[j>>2]|0){bc(i,f,d,e);f=c[f>>2]|0;g=c[a+4236>>2]|0;if((f|0)<=(g|0)){if((f|0)<(g|0))c[i>>2]=c[i>>2]>>g-f}else{h=a+4232|0;c[h>>2]=c[h>>2]>>f-g}h=c[i>>2]|0;g=a+4232|0;f=c[g>>2]|0;if((h|0)>(f|0)){l=w(f|0)|0;a=f<>2]=a;f=25-l|0;f=h>>((f|0)>0?f:0);c[i>>2]=f;f=(a|0)/(((f|0)>1?f:1)|0)|0;if((f|0)<1)f=0;else{a=w(f|0)|0;g=24-a|0;h=0-g|0;do if(g)if((g|0)<0){f=f>>>(g+32|0)|f<>>g;break}while(0);l=((a&1|0)==0?46214:32768)>>>(a>>>1);f=((f&127)*13959168|0)>>>16;f=(f*(l>>16)|0)+l+((f*(l&65535)|0)>>>16)<<4}h=((65536-f|0)/(e|0)|0)<<2;if((e|0)>0){g=0;do{l=d+(g<<1)|0;i=b[l>>1]|0;b[l>>1]=(((f&65532)*i|0)>>>16)+((f>>16)*i|0);f=f+h|0;g=g+1|0}while((f|0)<65537&(g|0)<(e|0))}}}c[j>>2]=0;J=k;return}function Sb(a,c,e){a=a|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((e|0)>0){i=Ca(c,25616+(d[25776+e>>0]|0)|0,8)|0;j=e-i<<16>>16;i=i<<16;e=i>>16;if((i|0)>0){i=Ca(c,25456+(d[25776+e>>0]|0)|0,8)|0;f=e-i<<16>>16;i=i<<16;e=i>>16;if((i|0)>0){h=Ca(c,25296+(d[25776+e>>0]|0)|0,8)|0;g=e-h<<16>>16;e=a+2|0;h=h<<16;i=h>>16;if((h|0)>0){l=Ca(c,25136+(d[25776+i>>0]|0)|0,8)|0;b[a>>1]=l;h=e;e=i-l&65535}else{h=e;e=j;k=7}}else{e=j;k=4}}else{e=j;f=0;k=4}}else{e=0;f=0;k=4}if((k|0)==4){h=a+2|0;g=0;k=7}if((k|0)==7){b[a>>1]=0;j=e;e=0}b[h>>1]=e;e=a+4|0;if((g|0)>0){l=Ca(c,25136+(d[25776+g>>0]|0)|0,8)|0;b[e>>1]=l;e=g-l&65535}else{b[e>>1]=0;e=0}b[a+6>>1]=e;if((f|0)>0){g=Ca(c,25296+(d[25776+f>>0]|0)|0,8)|0;l=g<<16;h=l>>16;g=f-g<<16>>16;e=a+8|0;f=a+10|0;if((l|0)>0){l=Ca(c,25136+(d[25776+h>>0]|0)|0,8)|0;b[e>>1]=l;e=h-l&65535}else k=15}else{e=a+8|0;f=a+10|0;g=0;k=15}if((k|0)==15){b[e>>1]=0;e=0}b[f>>1]=e;e=a+12|0;if((g|0)>0){l=Ca(c,25136+(d[25776+g>>0]|0)|0,8)|0;b[e>>1]=l;e=g-l&65535}else{b[e>>1]=0;e=0}b[a+14>>1]=e;if((j|0)>0){e=Ca(c,25456+(d[25776+j>>0]|0)|0,8)|0;l=e<<16;f=l>>16;e=j-e<<16>>16;if((l|0)>0){h=Ca(c,25296+(d[25776+f>>0]|0)|0,8)|0;l=h<<16;i=l>>16;h=f-h<<16>>16;f=a+16|0;g=a+18|0;if((l|0)>0){l=Ca(c,25136+(d[25776+i>>0]|0)|0,8)|0;b[f>>1]=l;j=e;f=h;e=i-l&65535}else k=24}else k=21}else{e=0;k=21}if((k|0)==21){f=a+16|0;g=a+18|0;h=0;k=24}if((k|0)==24){b[f>>1]=0;j=e;f=h;e=0}b[g>>1]=e;e=a+20|0;if((f|0)>0){l=Ca(c,25136+(d[25776+f>>0]|0)|0,8)|0;b[e>>1]=l;e=f-l&65535}else{b[e>>1]=0;e=0}b[a+22>>1]=e;if((j|0)>0){g=Ca(c,25296+(d[25776+j>>0]|0)|0,8)|0;l=g<<16;h=l>>16;g=j-g<<16>>16;e=a+24|0;f=a+26|0;if((l|0)>0){l=Ca(c,25136+(d[25776+h>>0]|0)|0,8)|0;b[e>>1]=l;e=h-l&65535}else k=32}else{e=a+24|0;f=a+26|0;g=0;k=32}if((k|0)==32){b[e>>1]=0;e=0}b[f>>1]=e;f=a+28|0;e=a+30|0;if((g|0)>0){l=Ca(c,25136+(d[25776+g>>0]|0)|0,8)|0;b[f>>1]=l;l=g-l&65535;b[e>>1]=l;return}else{b[f>>1]=0;l=0;b[e>>1]=l;return}}function Tb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=f+2|0;h=b[i>>1]|0;if(h<<16>>16<=0)return;j=f+20|0;h=(c[f+24>>2]|0)+(((h<<16>>16)*g|0)/2|0)|0;g=0;while(1){l=a[h>>0]|0;k=l&255;b[d+(g<<1)>>1]=(k>>>1&7)*9;a[e+g>>0]=a[(c[j>>2]|0)+(((b[i>>1]|0)+-1&0-(k&1))+g)>>0]|0;f=g|1;b[d+(f<<1)>>1]=((l&255)>>>5)*9&255;a[e+f>>0]=a[(c[j>>2]|0)+(f+((b[i>>1]|0)+-1&0-(k>>>4&1)))>>0]|0;g=g+2|0;if((g|0)>=(b[i>>1]|0))break;else h=h+1|0}return}function Ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=d+-65536|0;f=c+-1|0;if((c|0)>1){c=0;do{g=a+(c<<1)|0;b[g>>1]=(((d*(b[g>>1]|0)|0)>>>15)+1|0)>>>1;d=((d*e>>15)+1>>1)+d|0;c=c+1|0}while((c|0)!=(f|0))}g=a+(f<<1)|0;b[g>>1]=(((d*(b[g>>1]|0)|0)>>>15)+1|0)>>>1;return}function Vb(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=(f|0)==8;k=(g|0)==4;l=j?(k?11:3):k?34:12;k=j?(k?25904:27030):k?25952:25872;j=f<<16;i=j>>15;j=(j>>16)*18|0;h=i+(b<<16>>16)|0;if((g|0)<=0)return;b=d<<24>>24;if((i|0)>(j|0)){f=0;do{d=h+(a[k+((f*l|0)+b)>>0]|0)|0;c[e+(f<<2)>>2]=(d|0)>(i|0)?i:(d|0)<(j|0)?j:d;f=f+1|0}while((f|0)!=(g|0));return}else{f=0;do{d=h+(a[k+((f*l|0)+b)>>0]|0)|0;c[e+(f<<2)>>2]=(d|0)>(j|0)?j:(d|0)<(i|0)?i:d;f=f+1|0}while((f|0)!=(g|0));return}}function Wb(a){a=a|0;var b=0,c=0,d=0;if((a|0)<0){d=0;return d|0}if((a|0)>3966){d=2147483647;return d|0}c=a>>>7;d=1<>16)+b<>7;else b=(((b*-174|0)*(128-b|0)>>16)+b|0)*(d>>7)|0;d=b+d|0;return d|0}function Xb(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((f|0)>=(e|0)){e=f<<1;tc(a|0,0,e|0)|0;return}o=d+2|0;k=d+4|0;l=d+6|0;m=d+8|0;n=d+10|0;if((f|0)<=6){g=f;do{i=c+(g+-1<<1)|0;i=(b[c+(g<<1)>>1]<<12)-(((b[o>>1]|0)*(b[i+-2>>1]|0)|0)+((b[d>>1]|0)*(b[i>>1]|0)|0)+((b[k>>1]|0)*(b[i+-4>>1]|0)|0)+((b[l>>1]|0)*(b[i+-6>>1]|0)|0)+((b[m>>1]|0)*(b[i+-8>>1]|0)|0)+((b[n>>1]|0)*(b[i+-10>>1]|0)|0))|0;j=(i>>11)+1>>1;b[a+(g<<1)>>1]=(i|0)>134215679?32767:((j|0)>-32768?j:-32768)&65535;g=g+1|0}while((g|0)!=(e|0));e=f<<1;tc(a|0,0,e|0)|0;return}h=f;do{g=c+(h+-1<<1)|0;i=6;j=((b[o>>1]|0)*(b[g+-2>>1]|0)|0)+((b[d>>1]|0)*(b[g>>1]|0)|0)+((b[k>>1]|0)*(b[g+-4>>1]|0)|0)+((b[l>>1]|0)*(b[g+-6>>1]|0)|0)+((b[m>>1]|0)*(b[g+-8>>1]|0)|0)+((b[n>>1]|0)*(b[g+-10>>1]|0)|0)|0;do{j=((b[d+(i<<1)>>1]|0)*(b[g+(0-i<<1)>>1]|0)|0)+j+((b[d+((i|1)<<1)>>1]|0)*(b[g+(~i<<1)>>1]|0)|0)|0;i=i+2|0}while((i|0)<(f|0));i=(b[c+(h<<1)>>1]<<12)-j|0;j=(i>>11)+1>>1;b[a+(h<<1)>>1]=(i|0)>134215679?32767:((j|0)>-32768?j:-32768)&65535;h=h+1|0}while((h|0)!=(e|0));e=f<<1;tc(a|0,0,e|0)|0;return}function Yb(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0;x=J;J=J+96|0;v=x;if((d|0)>0){e=0;f=0;do{u=b[a+(f<<1)>>1]|0;e=e+u|0;c[v+(f<<2)>>2]=u<<12;f=f+1|0}while((f|0)!=(d|0));if((e|0)>4095){v=0;J=x;return v|0}}h=d+-1|0;f=c[v+(h<<2)>>2]|0;e=(f+16773022|0)>>>0>33546044;a:do if((d|0)>1){a=0;g=e;e=1073741824;b:while(1){if(g){a=0;f=31;break}u=0-(f<<7)|0;s=((u|0)<0)<<31>>31;nc(u|0,s|0,u|0,s|0)|0;f=1073741824-(z()|0)|0;e=nc(e|0,a|0,f|0,((f|0)<0)<<31>>31|0)|0;e=pc(e|0,z()|0,30)|0;z()|0;e=e&-4;if((e|0)<107374){a=0;f=31;break}t=w(((f|0)>0?f:0-f|0)|0)|0;g=32-t|0;p=f<>16;q=536870911/(f|0)|0;r=q<<16;a=r>>16;f=0-((a*(p&65535)>>16)+(a*f|0)<<3)|0;a=(((q>>15)+1>>1)*f|0)+r+((f>>16)*a|0)+((f&65528)*a>>16)|0;f=-30-g+(62-t)|0;if((f|0)<1){r=0-f|0;t=-2147483648>>r;p=2147483647>>>r;o=(t|0)>(p|0);q=o?t:p;t=o?p:t;r=((a|0)>(q|0)?q:(a|0)<(t|0)?t:a)<>f:0;q=d>>>1;t=h+-1|0;p=(g|0)==1;o=((r|0)<0)<<31>>31;n=g+-1|0;m=0;do{j=v+(m<<2)|0;i=c[j>>2]|0;l=v+(t-m<<2)|0;k=c[l>>2]|0;a=nc(k|0,((k|0)<0)<<31>>31|0,u|0,s|0)|0;a=pc(a|0,z()|0,30)|0;a=qc(a|0,z()|0,1,0)|0;a=pc(a|0,z()|0,1)|0;z()|0;d=i-a|0;f=(d|0)>-1;if(p){if(f){a=((a^-2147483648)&i|0)<0;f=a?-2147483648:d;g=a?-1:((d|0)<0)<<31>>31;a=a?-2147483648:d}else{a=((i^-2147483648)&a|0)<0;f=a?2147483647:d;g=a?0:((d|0)<0)<<31>>31;a=a?2147483647:d}d=nc(f|0,g|0,r|0,o|0)|0;d=oc(d|0,z()|0,1)|0;f=z()|0;a=nc(a|0,((a|0)<0)<<31>>31|0,r|0,o|0)|0;z()|0;a=qc(a&1|0,0,d|0,f|0)|0;f=z()|0}else{a=(((f?a:i)^-2147483648)&(f?i:a)|0)<0?d>>31^-2147483648:d;a=nc(a|0,((a|0)<0)<<31>>31|0,r|0,o|0)|0;a=oc(a|0,z()|0,n|0)|0;a=qc(a|0,z()|0,1,0)|0;a=oc(a|0,z()|0,1)|0;f=z()|0}d=qc(a|0,f|0,-2147483648,0)|0;g=z()|0;if(g>>>0>0|(g|0)==0&d>>>0>4294967295){a=0;f=31;break b}c[j>>2]=a;a=nc(i|0,((i|0)<0)<<31>>31|0,u|0,s|0)|0;a=pc(a|0,z()|0,30)|0;a=qc(a|0,z()|0,1,0)|0;a=pc(a|0,z()|0,1)|0;z()|0;d=k-a|0;f=(d|0)>-1;if(p){if(f){a=((a^-2147483648)&k|0)<0;f=a?-2147483648:d;g=a?-1:((d|0)<0)<<31>>31;a=a?-2147483648:d}else{a=((k^-2147483648)&a|0)<0;f=a?2147483647:d;g=a?0:((d|0)<0)<<31>>31;a=a?2147483647:d}k=nc(f|0,g|0,r|0,o|0)|0;k=oc(k|0,z()|0,1)|0;f=z()|0;a=nc(a|0,((a|0)<0)<<31>>31|0,r|0,o|0)|0;z()|0;a=qc(a&1|0,0,k|0,f|0)|0;f=z()|0}else{a=(((f?a:k)^-2147483648)&(f?k:a)|0)<0?d>>31^-2147483648:d;a=nc(a|0,((a|0)<0)<<31>>31|0,r|0,o|0)|0;a=oc(a|0,z()|0,n|0)|0;a=qc(a|0,z()|0,1,0)|0;a=oc(a|0,z()|0,1)|0;f=z()|0}k=qc(a|0,f|0,-2147483648,0)|0;j=z()|0;if(j>>>0>0|(j|0)==0&k>>>0>4294967295){a=0;f=31;break b}c[l>>2]=a;m=m+1|0}while(m>>>0>>0);f=c[v+(t<<2)>>2]|0;a=((e|0)<0)<<31>>31;g=(f+16773022|0)>>>0>33546044;if((h|0)<=1)break a;else{d=h;h=t}}if((f|0)==31){J=x;return a|0}}else{g=e;e=1073741824;a=0}while(0);if(g){v=0;J=x;return v|0}u=0-(c[v>>2]<<7)|0;v=((u|0)<0)<<31>>31;nc(u|0,v|0,u|0,v|0)|0;v=1073741824-(z()|0)|0;v=nc(e|0,a|0,v|0,((v|0)<0)<<31>>31|0)|0;v=pc(v|0,z()|0,30)|0;z()|0;v=v&-4;v=(v|0)<107374?0:v;J=x;return v|0}function Zb(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=J;J=J+320|0;t=y+224|0;u=y+160|0;v=y+96|0;x=y;g=(f|0)==16?25856:27020;w=(f|0)>0;a:do if(w){h=0;do{r=b[e+(h<<1)>>1]|0;q=r>>8;s=b[26096+(q<<1)>>1]|0;c[t+(d[g+h>>0]<<2)>>2]=((((b[26096+(q+1<<1)>>1]|0)-s|0)*(r&255)|0)+(s<<8)>>3)+1>>1;h=h+1|0}while((h|0)!=(f|0));g=0-(c[t>>2]|0)|0;r=f>>1;c[u>>2]=65536;p=u+4|0;c[p>>2]=g;q=(f|0)>3;if(q){i=65536;k=g;e=1;while(1){l=c[t+(e<<1<<2)>>2]|0;j=((l|0)<0)<<31>>31;o=u+(e<<2)|0;s=nc(l|0,j|0,k|0,((k|0)<0)<<31>>31|0)|0;s=pc(s|0,z()|0,15)|0;s=qc(s|0,z()|0,1,0)|0;s=pc(s|0,z()|0,1)|0;z()|0;m=e+1|0;n=u+(m<<2)|0;c[n>>2]=(i<<1)-s;if(e>>>0>1){h=c[u+(e+-2<<2)>>2]|0;s=nc(i|0,((i|0)<0)<<31>>31|0,l|0,j|0)|0;s=pc(s|0,z()|0,15)|0;s=qc(s|0,z()|0,1,0)|0;s=pc(s|0,z()|0,1)|0;z()|0;c[u+(e<<2)>>2]=h+k-s;if((e|0)!=2){g=e;do{s=g;g=g+-1|0;i=c[u+(g<<2)>>2]|0;k=h;h=c[u+(s+-3<<2)>>2]|0;k=nc(k|0,((k|0)<0)<<31>>31|0,l|0,j|0)|0;k=pc(k|0,z()|0,15)|0;k=qc(k|0,z()|0,1,0)|0;k=pc(k|0,z()|0,1)|0;z()|0;c[u+(g<<2)>>2]=h+i-k}while((s|0)>3)}g=c[p>>2]|0}g=g-l|0;c[p>>2]=g;if((m|0)==(r|0)){s=u;g=q;break a}i=c[o>>2]|0;k=c[n>>2]|0;e=m}}else{s=u;g=0}}else{c[u>>2]=65536;s=u;g=0;r=f>>1}while(0);p=t+4|0;c[v>>2]=65536;h=0-(c[p>>2]|0)|0;q=v+4|0;c[q>>2]=h;b:do if(g){i=65536;k=h;g=h;e=1;while(1){l=c[p+(e<<1<<2)>>2]|0;j=((l|0)<0)<<31>>31;o=v+(e<<2)|0;t=nc(l|0,j|0,k|0,((k|0)<0)<<31>>31|0)|0;t=pc(t|0,z()|0,15)|0;t=qc(t|0,z()|0,1,0)|0;t=pc(t|0,z()|0,1)|0;z()|0;m=e+1|0;n=v+(m<<2)|0;c[n>>2]=(i<<1)-t;if(e>>>0>1){h=c[v+(e+-2<<2)>>2]|0;t=nc(i|0,((i|0)<0)<<31>>31|0,l|0,j|0)|0;t=pc(t|0,z()|0,15)|0;t=qc(t|0,z()|0,1,0)|0;t=pc(t|0,z()|0,1)|0;z()|0;c[v+(e<<2)>>2]=h+k-t;if((e|0)!=2){g=e;do{t=g;g=g+-1|0;i=c[v+(g<<2)>>2]|0;k=h;h=c[v+(t+-3<<2)>>2]|0;k=nc(k|0,((k|0)<0)<<31>>31|0,l|0,j|0)|0;k=pc(k|0,z()|0,15)|0;k=qc(k|0,z()|0,1,0)|0;k=pc(k|0,z()|0,1)|0;z()|0;c[v+(g<<2)>>2]=h+i-k}while((t|0)>3)}g=c[q>>2]|0}g=g-l|0;c[q>>2]=g;if((m|0)==(r|0))break b;i=c[o>>2]|0;k=c[n>>2]|0;e=m}}while(0);if((f|0)>1){i=f+-1|0;g=c[s>>2]|0;h=c[v>>2]|0;e=0;do{t=e;e=e+1|0;s=g;g=c[u+(e<<2)>>2]|0;s=s+g|0;q=h;h=c[v+(e<<2)>>2]|0;q=h-q|0;c[x+(t<<2)>>2]=0-(q+s);c[x+(i-t<<2)>>2]=q-s}while((e|0)<(r|0))}cc(a,x,12,17,f);if(Yb(a,f)|0){J=y;return}if(!w){g=0;do{hc(x,f,65536-(2<>>0<16&(Yb(a,f)|0)==0);J=y;return}g=0;do{hc(x,f,65536-(2<>1]=(((c[x+(h<<2)>>2]|0)>>>4)+1|0)>>>1;h=h+1|0}while((h|0)!=(f|0));g=g+1|0}while(g>>>0<16&(Yb(a,f)|0)==0);J=y;return}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=(d|0)>1;q=a+(d+-1<<1)|0;p=c+(d<<1)|0;m=d+-1|0;n=0;do{f=b[a>>1]|0;j=b[c>>1]|0;h=(f<<16>>16)-(j<<16>>16)|0;if(r){g=0;i=1;do{l=f;f=b[a+(i<<1)>>1]|0;l=(f<<16>>16)-(l<<16>>16)-(b[c+(i<<1)>>1]|0)|0;k=(l|0)<(h|0);g=k?i:g;h=k?l:h;i=i+1|0}while((i|0)!=(d|0));f=h}else{g=0;f=h}k=b[p>>1]|0;i=32768-(b[q>>1]|0)-(k<<16>>16)|0;h=(i|0)<(f|0);l=h?d:g;if(((h?i:f)|0)>-1){o=27;break}do if(!l)b[a>>1]=j;else{if((l|0)==(d|0)){b[q>>1]=32768-(k&65535);break}if((l|0)>0){f=j<<16>>16;if((l|0)!=1){g=1;do{f=f+(b[c+(g<<1)>>1]|0)|0;g=g+1|0}while((g|0)!=(l|0))}}else f=0;i=c+(l<<1)|0;j=b[i>>1]>>1;h=j+f|0;if((l|0)<(d|0)){f=32768-(k<<16>>16)|0;if((m|0)>(l|0)){g=m;do{f=f-(b[c+(g<<1)>>1]|0)|0;g=g+-1|0}while((g|0)>(l|0))}}else f=32768;s=f-j|0;t=(h|0)>(s|0);g=a+(l+-1<<1)|0;l=a+(l<<1)|0;k=(b[l>>1]|0)+(b[g>>1]|0)|0;k=(k>>1)+(k&1)|0;f=t?h:s;h=t?s:h;k=((k|0)>(f|0)?f:(k|0)<(h|0)?h:k)-j|0;b[g>>1]=k;b[l>>1]=k+(e[i>>1]|0)}while(0);n=n+1|0}while(n>>>0<20);if((o|0)==27)return;if((n|0)!=20)return;ac(a,d);t=b[a>>1]|0;f=b[c>>1]|0;f=(t|0)>(f|0)?t:f;b[a>>1]=f;if(r){g=1;do{t=a+(g<<1)|0;o=b[t>>1]|0;s=f+(b[c+(g<<1)>>1]|0)|0;s=(s|0)>-32768?s:-32768;s=((s|0)<32767?s:32767)<<16>>16;f=(s|0)<(o|0)?o:s;b[t>>1]=f;g=g+1|0}while((g|0)!=(d|0))}t=b[q>>1]|0;g=32768-(b[p>>1]|0)|0;g=(g|0)>(t|0)?t:g;b[q>>1]=g;if(!r)return;f=d+-2|0;while(1){t=a+(f<<1)|0;d=b[t>>1]|0;s=(g<<16>>16)-(b[c+(f+1<<1)>>1]|0)|0;g=(s|0)>(d|0)?d:s;b[t>>1]=g;if((f|0)<=0)break;else f=f+-1|0}return}function $b(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;if((g|0)<=0)return;j=a+4|0;k=b[f>>1]|0;h=b[f+2>>1]|0;f=c[a>>2]|0;i=0;do{m=(b[e+(i<<1)>>1]<<8)+f|0;c[d+(i<<2)>>2]=m;m=m<<2;l=m>>16;m=m&65532;f=(l*k|0)+(c[j>>2]|0)+(m*k>>16)|0;c[a>>2]=f;c[j>>2]=(m*h>>16)+(l*h|0);i=i+1|0}while((i|0)!=(g|0));return}function ac(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((c|0)<=1)return;j=1;do{i=b[a+(j<<1)>>1]|0;g=j;while(1){h=g;g=g+-1|0;f=a+(g<<1)|0;e=b[f>>1]|0;d=a+(h<<1)|0;if(i<<16>>16>=e<<16>>16)break;b[d>>1]=e;if((h|0)<=1){d=f;break}}b[d>>1]=i;j=j+1|0}while((j|0)!=(c|0));return}function bc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=31-(w(f|0)|0)|0;k=f+-1|0;j=(f|0)>1;if(j){h=0;g=f;do{l=b[e+(h<<1)>>1]|0;m=b[e+((h|1)<<1)>>1]|0;g=(((m*m|0)+(l*l|0)|0)>>>i)+g|0;h=h+2|0}while((h|0)<(k|0));h=f&-2}else{h=0;g=f}if((h|0)<(f|0)){m=b[e+(h<<1)>>1]|0;g=((m*m|0)>>>i)+g|0}i=i+3-(w(g|0)|0)|0;i=(i|0)>0?i:0;if(j){h=0;g=0;do{m=b[e+(h<<1)>>1]|0;l=b[e+((h|1)<<1)>>1]|0;g=(((l*l|0)+(m*m|0)|0)>>>i)+g|0;h=h+2|0}while((h|0)<(k|0));h=f&-2}else{h=0;g=0}if((h|0)>=(f|0)){m=g;c[d>>2]=i;c[a>>2]=m;return}m=b[e+(h<<1)>>1]|0;m=((m*m|0)>>>i)+g|0;c[d>>2]=i;c[a>>2]=m;return}function cc(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(g|0)>0;l=f-e|0;j=(l|0)==1;m=l+-1|0;if(!k)return;f=0;e=0;do{h=0;i=0;do{n=c[d+(h<<2)>>2]|0;n=(n|0)>0?n:0-n|0;o=(n|0)>(i|0);e=o?h:e;i=o?n:i;h=h+1|0}while((h|0)!=(g|0));if(j)h=(i>>1)+(i&1)|0;else h=(i>>m)+1>>1;if((h|0)<=32767)break;o=(h|0)<163838?h:163838;hc(d,g,65470-(((o<<14)+-536854528|0)/(o*(e+1|0)>>2|0)|0)|0);f=f+1|0}while(f>>>0<10);if((f|0)!=10){if(!k)return;if(j){f=0;do{o=c[d+(f<<2)>>2]|0;b[a+(f<<1)>>1]=(o>>>1)+(o&1);f=f+1|0}while((f|0)!=(g|0));return}else{f=0;do{b[a+(f<<1)>>1]=((c[d+(f<<2)>>2]>>m)+1|0)>>>1;f=f+1|0}while((f|0)!=(g|0));return}}if(!k)return;if(j){f=0;do{o=d+(f<<2)|0;n=c[o>>2]|0;n=(n>>1)+(n&1)|0;n=(n|0)>-32768?n:-32768;n=(n|0)<32767?n:32767;b[a+(f<<1)>>1]=n;c[o>>2]=n<<16>>15;f=f+1|0}while((f|0)!=(g|0));return}h=0;do{e=d+(h<<2)|0;f=c[e>>2]>>m;if((f|0)<=65534)if((f|0)<-65537)f=-32768;else f=f+1>>1;else f=32767;b[a+(h<<1)>>1]=f;c[e>>2]=f<<16>>16<>2]|0;f=32767/(d+1|0)|0;if((d|0)>0){e=0;g=0;do{e=e+f|0;b[a+4052+(g<<1)>>1]=e;g=g+1|0}while((g|0)!=(d|0))}c[a+4148>>2]=0;c[a+4152>>2]=3176576;return}function ec(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;O=J;J=J+32|0;p=O;o=a+2772|0;g=c[a+2316>>2]|0;k=a+4156|0;if((g|0)!=(c[k>>2]|0)){h=c[a+2340>>2]|0;j=32767/(h+1|0)|0;if((h|0)>0){i=0;l=0;do{i=i+j|0;b[a+4052+(l<<1)>>1]=i;l=l+1|0}while((l|0)!=(h|0))}c[a+4148>>2]=0;c[a+4152>>2]=3176576;c[k>>2]=g}n=a+4160|0;if(!(c[n>>2]|0)){if(!(c[a+4164>>2]|0)){g=c[a+2340>>2]|0;if((g|0)>0){h=0;do{N=a+4052+(h<<1)|0;L=b[N>>1]|0;M=(b[a+2344+(h<<1)>>1]|0)-L|0;b[N>>1]=((M>>16)*16348|0)+L+(((M&65535)*16348|0)>>>16);h=h+1|0}while((h|0)<(g|0))}m=a+2324|0;l=c[m>>2]|0;if((l|0)>0){j=0;k=0;g=0;while(1){h=c[d+16+(j<<2)>>2]|0;i=(h|0)>(k|0);g=i?j:g;j=j+1|0;if((j|0)>=(l|0))break;else k=i?h:k}}else g=0;N=a+2332|0;M=c[N>>2]|0;sc(a+2772+(M<<2)|0,o|0,((l<<2)+-4|0)*M|0)|0;N=c[N>>2]|0;rc(o|0,a+4+(N*g<<2)|0,N<<2|0)|0;g=c[m>>2]|0;if((g|0)>0){i=a+4148|0;h=c[i>>2]|0;j=0;do{N=(c[d+16+(j<<2)>>2]|0)-h|0;h=((N>>16)*4634|0)+h+(((N&65535)*4634|0)>>>16)|0;c[i>>2]=h;j=j+1|0}while((j|0)<(g|0))}}if(!(c[n>>2]|0)){tc(a+4084|0,0,c[a+2340>>2]<<2|0)|0;J=O;return}}M=F()|0;N=J;J=J+((1*(f+16<<2)|0)+15&-16)|0;h=b[a+4228>>1]|0;g=c[a+4248>>2]|0;i=g<<16>>16;h=(i*(h&65535)>>16)+(i*(h>>16)|0)+(((g>>15)+1>>1)*h|0)|0;g=c[a+4148>>2]|0;i=h>>16;if((h|0)>2097151|(g|0)>8388608){g=g>>16;g=(g*g|0)-((i<<5)*i|0)|0;if((g|0)<1)m=0;else{j=w(g|0)|0;i=24-j|0;h=0-i|0;do if(i)if((i|0)<0){g=g>>>(i+32|0)|g<>>i;break}while(0);m=((j&1|0)==0?46214:32768)>>>(j>>>1);L=((g&127)*13959168|0)>>>16;m=((L*(m>>16)|0)+m<<16)+(L*(m&65535)|0)&-65536}}else{K=h<<16>>16;L=g<<16>>16;g=(L*(g>>16)|0)-((K*(h&65535)>>16)+(K*i|0)+(((h>>15)+1>>1)*h|0)<<5)+(L*(g&65535)>>16)+(((g>>15)+1>>1)*g|0)|0;if((g|0)<1)m=0;else{j=w(g|0)|0;h=24-j|0;i=0-h|0;do if(h)if((h|0)<0){g=g>>>(h+32|0)|g<>>h;break}while(0);m=((j&1|0)==0?46214:32768)>>>(j>>>1);L=((g&127)*13959168|0)>>>16;m=(L*(m>>16)|0)+m+((L*(m&65535)|0)>>>16)<<8}}h=N+64|0;i=255;while(1)if((i|0)>(f|0))i=i>>1;else break;k=a+4152|0;g=c[k>>2]|0;l=(f|0)>0;if(l){j=0;do{g=(g*196314165|0)+907633515|0;c[h+(j<<2)>>2]=c[a+2772+((g>>24&i)<<2)>>2];j=j+1|0}while((j|0)!=(f|0))}c[k>>2]=g;j=a+2340|0;Zb(p,a+4052|0,c[j>>2]|0,c[a+4168>>2]|0);L=a+4084|0;g=N;h=L;i=g+64|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));if(l){q=c[j>>2]|0;K=q>>1;r=b[p>>1]|0;s=b[p+2>>1]|0;t=b[p+4>>1]|0;u=b[p+6>>1]|0;v=b[p+8>>1]|0;x=b[p+10>>1]|0;y=b[p+12>>1]|0;z=b[p+14>>1]|0;A=b[p+16>>1]|0;B=b[p+18>>1]|0;q=(q|0)==16;C=b[p+20>>1]|0;D=b[p+22>>1]|0;G=b[p+24>>1]|0;H=b[p+26>>1]|0;I=b[p+28>>1]|0;a=b[p+30>>1]|0;p=m<<10>>16;d=(m>>21)+1>>1;g=c[N+60>>2]|0;k=c[N+52>>2]|0;l=c[N+44>>2]|0;m=c[N+36>>2]|0;n=c[N+28>>2]|0;o=0;do{Q=k;k=c[N+(o+14<<2)>>2]|0;P=l;l=c[N+(o+12<<2)>>2]|0;h=m;m=c[N+(o+10<<2)>>2]|0;i=n;n=c[N+(o+8<<2)>>2]|0;j=c[N+(o+6<<2)>>2]|0;g=((g>>16)*r|0)+K+((g&65535)*r>>16)+((k>>16)*s|0)+((k&65535)*s>>16)+((Q>>16)*t|0)+((Q&65535)*t>>16)+((l>>16)*u|0)+((l&65535)*u>>16)+((P>>16)*v|0)+((P&65535)*v>>16)+((m>>16)*x|0)+((m&65535)*x>>16)+((h>>16)*y|0)+((h&65535)*y>>16)+((n>>16)*z|0)+((n&65535)*z>>16)+((i>>16)*A|0)+((i&65535)*A>>16)+((j>>16)*B|0)+((j&65535)*B>>16)|0;if(q){R=c[N+(o+5<<2)>>2]|0;h=c[N+(o+4<<2)>>2]|0;i=c[N+(o+3<<2)>>2]|0;j=c[N+(o+2<<2)>>2]|0;P=c[N+(o+1<<2)>>2]|0;Q=c[N+(o<<2)>>2]|0;g=((R>>16)*C|0)+g+((R&65535)*C>>16)+((h>>16)*D|0)+((h&65535)*D>>16)+((i>>16)*G|0)+((i&65535)*G>>16)+((j>>16)*H|0)+((j&65535)*H>>16)+((P>>16)*I|0)+((P&65535)*I>>16)+((Q>>16)*a|0)+((Q&65535)*a>>16)|0}j=N+(o+16<<2)|0;i=c[j>>2]|0;h=(g|0)>-134217728?g:-134217728;h=((h|0)<134217727?h:134217727)<<4;g=h+i|0;if((g|0)>-1)g=(h&i|0)<0?-2147483648:g;else g=(h|i|0)>-1?2147483647:g;c[j>>2]=g;R=e+(o<<1)|0;Q=((g>>16)*p|0)+(g*d|0)+((g&65535)*p>>16)|0;Q=((Q|0)>8388479?32767:(Q|0)<-8388736?-32768:(Q>>7)+1>>1)+(b[R>>1]|0)|0;Q=(Q|0)>-32768?Q:-32768;b[R>>1]=(Q|0)<32767?Q:32767;o=o+1|0}while((o|0)!=(f|0))}g=L;h=N+(f<<2)|0;i=g+64|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));E(M|0);J=O;return}function fc(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;m=J;J=J+16|0;l=m;a[l+1>>0]=0;j=25808+(((g<<1)+h<<16>>16)*7|0)|0;k=f+8>>4;if((f|0)<=7){J=m;return}g=0;while(1){h=c[i+(g<<2)>>2]|0;if((h|0)>0){f=h&31;a[l>>0]=a[j+(f>>>0<6?f:6)>>0]|0;if((b[e>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[e>>1]=f*(b[e>>1]|0)}h=e+2|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+4|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+6|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+8|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+10|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+12|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+14|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+16|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+18|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+20|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+22|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+24|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+26|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+28|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}h=e+30|0;if((b[h>>1]|0)>0){f=((Ca(d,l,8)|0)<<1)+-1|0;b[h>>1]=f*(b[h>>1]|0)}}g=g+1|0;if((g|0)>=(k|0))break;else e=e+32|0}J=m;return} function gc(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0;Ba=J;J=J+32|0;sa=Ba;ua=d+2336|0;n=c[ua>>2]|0;ra=F()|0;xa=J;J=J+((1*(n<<1)|0)+15&-16)|0;n=d+2328|0;qa=c[n>>2]|0;ya=J;J=J+((1*(qa+(c[ua>>2]|0)<<2)|0)+15&-16)|0;wa=d+2332|0;va=c[wa>>2]|0;za=J;J=J+((1*(va<<2)|0)+15&-16)|0;Aa=J;J=J+((1*(va+16<<2)|0)+15&-16)|0;va=d+2765|0;ta=(a[d+2767>>0]|0)<4;if((qa|0)>0){p=b[26836+(a[va>>0]>>1<<2)+(a[d+2766>>0]<<1)>>1]<<4;o=0;i=a[d+2770>>0]|0;while(1){k=(i*196314165|0)+907633515|0;j=b[g+(o<<1)>>1]|0;m=j<<16>>16;i=m<<14;l=d+4+(o<<2)|0;c[l>>2]=i;if(j<<16>>16<=0){if(j<<16>>16<0){i=i|1280;t=7}}else{i=i+-1280|0;t=7}if((t|0)==7){t=0;c[l>>2]=i}qa=i+p|0;c[l>>2]=(k|0)<0?0-qa|0:qa;o=o+1|0;if((o|0)>=(c[n>>2]|0))break;else i=k+m|0}}S=d+1284|0;i=Aa;j=S;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));na=d+2324|0;if((c[na>>2]|0)<=0){i=S;j=Aa;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));E(ra|0);J=Ba;return}Q=d+2340|0;ma=d+4160|0;pa=d+4164|0;D=sa+2|0;N=sa+4|0;O=sa+6|0;P=sa+8|0;x=sa+10|0;y=sa+12|0;A=sa+14|0;B=sa+16|0;C=sa+18|0;G=sa+20|0;H=sa+22|0;I=sa+24|0;K=sa+26|0;L=sa+28|0;M=sa+30|0;la=d+2308|0;R=e+136|0;X=Aa+4|0;ca=Aa+8|0;da=Aa+12|0;ea=Aa+16|0;fa=Aa+20|0;ga=Aa+24|0;ha=Aa+28|0;ia=Aa+32|0;ja=Aa+36|0;Y=Aa+40|0;Z=Aa+44|0;_=Aa+48|0;$=Aa+52|0;aa=Aa+56|0;ba=Aa+60|0;T=Aa+60|0;U=Aa+44|0;V=Aa+36|0;W=Aa+28|0;ka=0;oa=d+4|0;qa=f;l=c[ua>>2]|0;while(1){p=e+32+(ka>>>1<<5)|0;rc(sa|0,p|0,c[Q>>2]<<1|0)|0;r=e+96+(ka*5<<1)|0;o=a[va>>0]|0;v=c[e+16+(ka<<2)>>2]|0;u=v>>>6;n=w(((v|0)>0?v:0-v|0)|0)|0;m=v<>16;t=536870911/(i|0)|0;j=t<<16;k=j>>16;i=0-(((m&65535)*k>>16)+(i*k|0)<<3)|0;i=(((t>>15)+1>>1)*i|0)+j+((i>>16)*k|0)+((i&65528)*k>>16)|0;j=62-n|0;if((j|0)<48){g=47-j|0;t=-2147483648>>g;q=2147483647>>>g;j=(t|0)>(q|0);s=j?t:q;t=j?q:t;g=((i|0)>(s|0)?s:(i|0)<(t|0)?t:i)<>j+-47:0;i=c[d>>2]|0;if((v|0)==(i|0))i=65536;else{t=w(((i|0)>0?i:0-i|0)|0)|0;s=i<>16)+((s>>16)*k|0)|0;j=nc(i|0,((i|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;j=pc(j|0,z()|0,29)|0;z()|0;j=s-(j&-8)|0;j=((j>>16)*k|0)+i+((j&65535)*k>>16)|0;i=1-n+28+t|0;if((i|0)<16){i=16-i|0;t=-2147483648>>i;q=2147483647>>>i;n=(t|0)>(q|0);s=n?t:q;t=n?q:t;i=((j|0)>(s|0)?s:(j|0)<(t|0)?t:j)<>i+-16:0;s=i>>16;n=i&65535;t=c[Aa>>2]|0;q=t<<16>>16;c[Aa>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[X>>2]|0;q=t<<16>>16;c[X>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[ca>>2]|0;q=t<<16>>16;c[ca>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[da>>2]|0;q=t<<16>>16;c[da>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[ea>>2]|0;q=t<<16>>16;c[ea>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[fa>>2]|0;q=t<<16>>16;c[fa>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[ga>>2]|0;q=t<<16>>16;c[ga>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[ha>>2]|0;q=t<<16>>16;c[ha>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[ia>>2]|0;q=t<<16>>16;c[ia>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[ja>>2]|0;q=t<<16>>16;c[ja>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[Y>>2]|0;q=t<<16>>16;c[Y>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[Z>>2]|0;q=t<<16>>16;c[Z>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[_>>2]|0;q=t<<16>>16;c[_>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[$>>2]|0;q=t<<16>>16;c[$>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[aa>>2]|0;q=t<<16>>16;c[aa>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0);t=c[ba>>2]|0;q=t<<16>>16;c[ba>>2]=(q*n>>16)+(q*s|0)+(((t>>15)+1>>1)*i|0)}c[d>>2]=v;if(((c[ma>>2]|0)!=0?(c[pa>>2]|0)==2:0)?ka>>>0<2&o<<24>>24!=2:0){b[r>>1]=0;b[r+2>>1]=0;b[r+4>>1]=0;b[r+6>>1]=0;b[r+8>>1]=0;b[r+4>>1]=4096;q=c[la>>2]|0;c[e+(ka<<2)>>2]=q;t=26}else t=23;do if((t|0)==23)if(o<<24>>24==2){q=c[e+(ka<<2)>>2]|0;t=26;break}else{m=c[wa>>2]|0;s=oa;t=40;break}while(0);if((t|0)==26){t=0;n=(ka|0)==0;k=(ka|0)==2;if(n|ta&k){j=c[ua>>2]|0;i=c[Q>>2]|0;m=-2-q+j-i|0;if(k){rc(d+1348+(j<<1)|0,f|0,c[wa>>2]<<2|0)|0;j=c[ua>>2]|0;i=c[Q>>2]|0}Xb(xa+(m<<1)|0,d+1348+(((c[wa>>2]|0)*ka|0)+m<<1)|0,p,j-m|0,i,h);if(n){i=c[R>>2]<<16>>16;i=(i*(g&65535)>>16)+(i*(g>>16)|0)<<2}else i=g;if((q|0)>-2){g=i>>16;o=c[ua>>2]|0;j=i&65535;n=l+-1|0;i=q+1|0;k=0;m=0;while(1){s=b[xa+(k+-1+o<<1)>>1]|0;c[ya+(n+k<<2)>>2]=(j*s>>16)+(g*s|0);if((m|0)==(i|0))break;else{k=~m;m=m+1|0}}}}else if((i|0)!=65536&(q|0)>-2){n=i>>16;o=l+-1|0;k=i&65535;j=q+1|0;m=0;while(1){s=ya+(o-m<<2)|0;p=c[s>>2]|0;g=p<<16>>16;c[s>>2]=(g*k>>16)+(g*n|0)+(((p>>15)+1>>1)*i|0);if((m|0)==(j|0))break;else m=m+1|0}}m=c[wa>>2]|0;if((m|0)>0){n=b[r>>1]|0;o=b[r+2>>1]|0;g=b[r+4>>1]|0;p=b[r+6>>1]|0;j=b[r+8>>1]|0;k=0;i=ya+(l+2-q<<2)|0;while(1){Ca=c[i>>2]|0;q=c[i+-4>>2]|0;r=c[i+-8>>2]|0;s=c[i+-12>>2]|0;t=c[i+-16>>2]|0;t=(((Ca>>16)*n|0)+2+((Ca&65535)*n>>16)+((q>>16)*o|0)+((q&65535)*o>>16)+((r>>16)*g|0)+((r&65535)*g>>16)+((s>>16)*p|0)+((s&65535)*p>>16)+((t>>16)*j|0)+((t&65535)*j>>16)<<1)+(c[oa+(k<<2)>>2]|0)|0;c[za+(k<<2)>>2]=t;c[ya+(l<<2)>>2]=t<<1;l=l+1|0;k=k+1|0;if((k|0)>=(m|0)){s=za;t=40;break}else i=i+4|0}}}if((t|0)==40)if((m|0)>0){r=u<<16>>16;q=(v>>21)+1>>1;i=c[T>>2]|0;n=c[U>>2]|0;o=c[V>>2]|0;g=c[W>>2]|0;p=0;do{Ca=c[Q>>2]|0;Ma=b[sa>>1]|0;La=c[Aa+(p+14<<2)>>2]|0;Ka=b[D>>1]|0;Ja=c[Aa+(p+13<<2)>>2]|0;Ia=b[N>>1]|0;Ga=n;n=c[Aa+(p+12<<2)>>2]|0;Ha=b[O>>1]|0;Fa=b[P>>1]|0;Da=o;o=c[Aa+(p+10<<2)>>2]|0;Ea=b[x>>1]|0;j=b[y>>1]|0;m=g;g=c[Aa+(p+8<<2)>>2]|0;k=b[A>>1]|0;t=b[B>>1]|0;u=c[Aa+(p+6<<2)>>2]|0;v=b[C>>1]|0;i=((i>>16)*Ma|0)+(Ca>>1)+((i&65535)*Ma>>16)+((La>>16)*Ka|0)+((La&65535)*Ka>>16)+((Ja>>16)*Ia|0)+((Ja&65535)*Ia>>16)+((n>>16)*Ha|0)+((n&65535)*Ha>>16)+((Ga>>16)*Fa|0)+((Ga&65535)*Fa>>16)+((o>>16)*Ea|0)+((o&65535)*Ea>>16)+((Da>>16)*j|0)+((Da&65535)*j>>16)+((g>>16)*k|0)+((g&65535)*k>>16)+((m>>16)*t|0)+((m&65535)*t>>16)+((u>>16)*v|0)+((u&65535)*v>>16)|0;if((Ca|0)==16){v=c[Aa+(p+5<<2)>>2]|0;Ca=b[G>>1]|0;Da=c[Aa+(p+4<<2)>>2]|0;Ea=b[H>>1]|0;Fa=c[Aa+(p+3<<2)>>2]|0;Ga=b[I>>1]|0;Ha=c[Aa+(p+2<<2)>>2]|0;Ia=b[K>>1]|0;Ja=c[Aa+(p+1<<2)>>2]|0;Ka=b[L>>1]|0;La=c[Aa+(p<<2)>>2]|0;Ma=b[M>>1]|0;i=((v>>16)*Ca|0)+i+((v&65535)*Ca>>16)+((Da>>16)*Ea|0)+((Da&65535)*Ea>>16)+((Fa>>16)*Ga|0)+((Fa&65535)*Ga>>16)+((Ha>>16)*Ia|0)+((Ha&65535)*Ia>>16)+((Ja>>16)*Ka|0)+((Ja&65535)*Ka>>16)+((La>>16)*Ma|0)+((La&65535)*Ma>>16)|0}k=c[s+(p<<2)>>2]|0;j=(i|0)>-134217728?i:-134217728;j=((j|0)<134217727?j:134217727)<<4;i=j+k|0;if((i|0)>-1)i=(j&k|0)<0?-2147483648:i;else i=(j|k|0)>-1?2147483647:i;c[Aa+(p+16<<2)>>2]=i;m=((i>>16)*r|0)+(i*q|0)+((i&65535)*r>>16)|0;b[qa+(p<<1)>>1]=(m|0)>8388479?32767:(m|0)<-8388736?-32768:((m>>>7)+1|0)>>>1&65535;p=p+1|0;m=c[wa>>2]|0}while((p|0)<(m|0))}i=Aa;j=Aa+(m<<2)|0;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));ka=ka+1|0;if((ka|0)>=(c[na>>2]|0))break;else{oa=oa+(m<<2)|0;qa=qa+(m<<1)|0}}i=S;j=Aa;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));E(ra|0);J=Ba;return}function hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=d+-65536|0;g=b+-1|0;e=d>>16;if((b|0)>1){b=0;do{h=a+(b<<2)|0;i=c[h>>2]|0;j=i<<16>>16;c[h>>2]=(j*(d&65535)>>16)+(j*e|0)+(((i>>15)+1>>1)*d|0);d=((d*f>>15)+1>>1)+d|0;b=b+1|0;e=d>>16}while((b|0)!=(g|0))}j=a+(g<<2)|0;i=c[j>>2]|0;h=i<<16>>16;c[j>>2]=(h*(d&65535)>>16)+(h*e|0)+(((i>>15)+1>>1)*d|0);return}function ic(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=J;J=J+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[6767]|0;d=m>>>a;if(d&3|0){e=(d&1^1)+a|0;f=27108+(e<<1<<2)|0;b=f+8|0;a=c[b>>2]|0;g=a+8|0;d=c[g>>2]|0;if((d|0)==(f|0))c[6767]=m&~(1<>2]=f;c[b>>2]=d}v=e<<3;c[a+4>>2]=v|3;v=a+v+4|0;c[v>>2]=c[v>>2]|1;v=g;J=w;return v|0}l=c[6769]|0;if(k>>>0>l>>>0){if(d|0){i=2<>>12&16;d=d>>>i;a=d>>>5&8;d=d>>>a;g=d>>>2&4;d=d>>>g;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=(a|i|g|b|e)+(d>>>e)|0;d=27108+(e<<1<<2)|0;b=d+8|0;g=c[b>>2]|0;i=g+8|0;a=c[i>>2]|0;if((a|0)==(d|0)){a=m&~(1<>2]=d;c[b>>2]=a;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[6772]|0;b=l>>>3;d=27108+(b<<1<<2)|0;b=1<>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[6769]=h;c[6772]=f;v=i;J=w;return v|0}g=c[6768]|0;if(g){i=(g&0-g)+-1|0;f=i>>>12&16;i=i>>>f;e=i>>>5&8;i=i>>>e;h=i>>>2&4;i=i>>>h;d=i>>>1&2;i=i>>>d;j=i>>>1&1;j=c[27372+((e|f|h|d|j)+(i>>>j)<<2)>>2]|0;i=(c[j+4>>2]&-8)-k|0;d=j;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}d=(c[a+4>>2]&-8)-k|0;h=d>>>0>>0;i=h?d:i;d=a;j=h?a:j}h=j+k|0;if(h>>>0>j>>>0){f=c[j+24>>2]|0;b=c[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[j+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[j+28>>2]|0;a=27372+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[6768]=g&~(1<>2]|0)==(j|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[j+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[j+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(i>>>0<16){v=i+k|0;c[j+4>>2]=v|3;v=j+v+4|0;c[v>>2]=c[v>>2]|1}else{c[j+4>>2]=k|3;c[h+4>>2]=i|1;c[h+i>>2]=i;if(l|0){e=c[6772]|0;b=l>>>3;d=27108+(b<<1<<2)|0;b=1<>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[6769]=i;c[6772]=h}v=j+8|0;J=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[6768]|0;if(e){d=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=c[27372+(j<<2)>>2]|0;a:do if(!a){f=0;a=0;q=61}else{f=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(c[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){d=0;f=i;a=i;q=65;break a}else{d=g;a=i}q=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;f=(q|0)==0|(q|0)==(i|0)?f:q;if(!i){q=61;break}else h=h<<1}}while(0);if((q|0)==61){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>i;h=a>>>5&8;a=a>>>h;j=a>>>2&4;a=a>>>j;m=a>>>1&2;a=a>>>m;f=a>>>1&1;f=c[27372+((h|i|j|m|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;g=a}else q=65}if((q|0)==65)while(1){m=(c[f+4>>2]&-8)-k|0;g=m>>>0>>0;d=g?m:d;g=g?f:a;a=c[f+16>>2]|0;if(!a)a=c[f+20>>2]|0;if(!a){i=d;break}else{f=a;a=g}}if(((g|0)!=0?i>>>0<((c[6769]|0)-k|0)>>>0:0)?(l=g+k|0,l>>>0>g>>>0):0){h=c[g+24>>2]|0;b=c[g+12>>2]|0;do if((b|0)==(g|0)){a=g+20|0;b=c[a>>2]|0;if(!b){a=g+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[g+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(h){a=c[g+28>>2]|0;d=27372+(a<<2)|0;if((g|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(g|0)?v:h+20|0)>>2]=b;if(!b)break}c[b+24>>2]=h;a=c[g+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[g+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(i>>>0<16){v=i+k|0;c[g+4>>2]=v|3;v=g+v+4|0;c[v>>2]=c[v>>2]|1}else{c[g+4>>2]=k|3;c[l+4>>2]=i|1;c[l+i>>2]=i;b=i>>>3;if(i>>>0<256){d=27108+(b<<1<<2)|0;a=c[6767]|0;b=1<>2]|0}c[b>>2]=l;c[a+12>>2]=l;c[l+8>>2]=a;c[l+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=i>>>(d+7|0)&1|d<<1}else d=0;b=27372+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(i|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=g+8|0;J=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[6769]|0;if(d>>>0>=m>>>0){a=d-m|0;b=c[6772]|0;if(a>>>0>15){v=b+m|0;c[6772]=v;c[6769]=a;c[v+4>>2]=a|1;c[b+d>>2]=a;c[b+4>>2]=m|3}else{c[6769]=0;c[6772]=0;c[b+4>>2]=d|3;v=b+d+4|0;c[v>>2]=c[v>>2]|1}v=b+8|0;J=w;return v|0}h=c[6770]|0;if(h>>>0>m>>>0){t=h-m|0;c[6770]=t;v=c[6773]|0;u=v+m|0;c[6773]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;J=w;return v|0}if(!(c[6885]|0)){c[6887]=4096;c[6886]=4096;c[6888]=-1;c[6889]=-1;c[6890]=0;c[6878]=0;c[6885]=n&-16^1431655768;a=4096}else a=c[6887]|0;i=m+48|0;j=m+47|0;g=a+j|0;e=0-a|0;k=g&e;if(k>>>0<=m>>>0){v=0;J=w;return v|0}a=c[6877]|0;if(a|0?(l=c[6875]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;J=w;return v|0}d:do if(!(c[6878]&4)){d=c[6773]|0;e:do if(d){f=27516;while(1){n=c[f>>2]|0;if(n>>>0<=d>>>0?(n+(c[f+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[f+8>>2]|0;if(!a){q=128;break e}else f=a}b=g-h&e;if(b>>>0<2147483647){a=uc(b|0)|0;if((a|0)==((c[f>>2]|0)+(c[f+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=uc(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[6886]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[6875]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[6877]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=uc(b|0)|0;if((a|0)==(d|0)){h=d;g=b;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=e;g=b;q=145;break d}a=c[6887]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=e;g=b;q=145;break d}if((uc(a|0)|0)==(-1|0)){uc(d|0)|0;b=0;break}else{h=e;g=a+b|0;q=145;break d}}while(0);c[6878]=c[6878]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(r=uc(k|0)|0,p=uc(0)|0,t=p-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0

>>0&((r|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=r;g=s?t:b;q=145}if((q|0)==145){b=(c[6875]|0)+g|0;c[6875]=b;if(b>>>0>(c[6876]|0)>>>0)c[6876]=b;j=c[6773]|0;f:do if(j){e=27516;while(1){b=c[e>>2]|0;a=c[e+4>>2]|0;if((h|0)==(b+a|0)){q=154;break}d=c[e+8>>2]|0;if(!d)break;else e=d}if(((q|0)==154?(u=e+4|0,(c[e+12>>2]&8|0)==0):0)?h>>>0>j>>>0&b>>>0<=j>>>0:0){c[u>>2]=a+g;v=(c[6770]|0)+g|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[6773]=u;c[6770]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[6774]=c[6889];break}if(h>>>0<(c[6771]|0)>>>0)c[6771]=h;d=h+g|0;a=27516;while(1){if((c[a>>2]|0)==(d|0)){q=162;break}b=c[a+8>>2]|0;if(!b)break;else a=b}if((q|0)==162?(c[a+12>>2]&8|0)==0:0){c[a>>2]=h;l=a+4|0;c[l>>2]=(c[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[6770]|0)+i|0;c[6770]=v;c[6773]=k;c[k+4>>2]=v|1}else{if((c[6772]|0)==(b|0)){v=(c[6769]|0)+i|0;c[6769]=v;c[6772]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[6767]=c[6767]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=27372+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[6768]=c[6768]&~(1<>2]=g;e=b+16|0;d=c[e>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}d=c[e+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=27108+(b<<1<<2)|0;a=c[6767]|0;b=1<>2]|0}c[b>>2]=k;c[a+12>>2]=k;c[k+8>>2]=a;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);a=27372+(e<<2)|0;c[k+28>>2]=e;b=k+16|0;c[b+4>>2]=0;c[b>>2]=0;b=c[6768]|0;d=1<>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[a>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;J=w;return v|0}a=27516;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(v=b+(c[a+4>>2]|0)|0,v>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=g+-40|0;t=h+8|0;t=(t&7|0)==0?0:0-t&7;u=h+t|0;t=d-t|0;c[6773]=u;c[6770]=t;c[u+4>>2]=t|1;c[h+d+4>>2]=40;c[6774]=c[6889];d=a+4|0;c[d>>2]=27;c[b>>2]=c[6879];c[b+4>>2]=c[6880];c[b+8>>2]=c[6881];c[b+12>>2]=c[6882];c[6879]=h;c[6880]=g;c[6882]=0;c[6881]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=27108+(b<<1<<2)|0;a=c[6767]|0;b=1<>2]|0}c[b>>2]=j;c[a+12>>2]=j;c[j+8>>2]=a;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=27372+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[6768]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[6771]|0;if((v|0)==0|h>>>0>>0)c[6771]=h;c[6879]=h;c[6880]=g;c[6882]=0;c[6776]=c[6885];c[6775]=-1;c[6780]=27108;c[6779]=27108;c[6782]=27116;c[6781]=27116;c[6784]=27124;c[6783]=27124;c[6786]=27132;c[6785]=27132;c[6788]=27140;c[6787]=27140;c[6790]=27148;c[6789]=27148;c[6792]=27156;c[6791]=27156;c[6794]=27164;c[6793]=27164;c[6796]=27172;c[6795]=27172;c[6798]=27180;c[6797]=27180;c[6800]=27188;c[6799]=27188;c[6802]=27196;c[6801]=27196;c[6804]=27204;c[6803]=27204;c[6806]=27212;c[6805]=27212;c[6808]=27220;c[6807]=27220;c[6810]=27228;c[6809]=27228;c[6812]=27236;c[6811]=27236;c[6814]=27244;c[6813]=27244;c[6816]=27252;c[6815]=27252;c[6818]=27260;c[6817]=27260;c[6820]=27268;c[6819]=27268;c[6822]=27276;c[6821]=27276;c[6824]=27284;c[6823]=27284;c[6826]=27292;c[6825]=27292;c[6828]=27300;c[6827]=27300;c[6830]=27308;c[6829]=27308;c[6832]=27316;c[6831]=27316;c[6834]=27324;c[6833]=27324;c[6836]=27332;c[6835]=27332;c[6838]=27340;c[6837]=27340;c[6840]=27348;c[6839]=27348;c[6842]=27356;c[6841]=27356;v=g+-40|0;t=h+8|0;t=(t&7|0)==0?0:0-t&7;u=h+t|0;t=v-t|0;c[6773]=u;c[6770]=t;c[u+4>>2]=t|1;c[h+v+4>>2]=40;c[6774]=c[6889]}while(0);b=c[6770]|0;if(b>>>0>m>>>0){t=b-m|0;c[6770]=t;v=c[6773]|0;u=v+m|0;c[6773]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;J=w;return v|0}}c[(kc()|0)>>2]=12;v=0;J=w;return v|0}function jc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;d=a+-8|0;e=c[6771]|0;a=c[a+-4>>2]|0;b=a&-8;k=d+b|0;do if(!(a&1)){f=c[d>>2]|0;if(!(a&3))return;g=d+(0-f)|0;h=f+b|0;if(g>>>0>>0)return;if((c[6772]|0)==(g|0)){b=k+4|0;a=c[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}c[6769]=h;c[b>>2]=a&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}d=f>>>3;if(f>>>0<256){a=c[g+8>>2]|0;b=c[g+12>>2]|0;if((b|0)==(a|0)){c[6767]=c[6767]&~(1<>2]=b;c[b+8>>2]=a;i=g;j=g;b=h;break}}f=c[g+24>>2]|0;a=c[g+12>>2]|0;do if((a|0)==(g|0)){d=g+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[g+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(f){a=c[g+28>>2]|0;b=27372+(a<<2)|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;if(!d){c[6768]=c[6768]&~(1<>2]|0)==(g|0)?j:f+20|0)>>2]=d;if(!d){i=g;j=g;b=h;break}}c[d+24>>2]=f;b=g+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a){c[d+20>>2]=a;c[a+24>>2]=d;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=d;j=d}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=c[a>>2]|0;if(!(d&1))return;if(!(d&2)){if((c[6773]|0)==(k|0)){k=(c[6770]|0)+b|0;c[6770]=k;c[6773]=j;c[j+4>>2]=k|1;if((j|0)!=(c[6772]|0))return;c[6772]=0;c[6769]=0;return}if((c[6772]|0)==(k|0)){k=(c[6769]|0)+b|0;c[6769]=k;c[6772]=i;c[j+4>>2]=k|1;c[i+k>>2]=k;return}f=(d&-8)+b|0;e=d>>>3;do if(d>>>0<256){b=c[k+8>>2]|0;a=c[k+12>>2]|0;if((a|0)==(b|0)){c[6767]=c[6767]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[k+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[k+28>>2]|0;b=27372+(a<<2)|0;if((c[b>>2]|0)==(k|0)){c[b>>2]=d;if(!d){c[6768]=c[6768]&~(1<>2]|0)==(k|0)?h:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=k+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[j+4>>2]=f|1;c[i+f>>2]=f;if((j|0)==(c[6772]|0)){c[6769]=f;return}}else{c[a>>2]=d&-2;c[j+4>>2]=b|1;c[i+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=27108+(a<<1<<2)|0;b=c[6767]|0;a=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;e=14-(h|i|e)+(k<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=27372+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[j+16>>2]=0;a=c[6768]|0;d=1<>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j}else{a=c[b>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break a}while(0);i=a+8|0;k=c[i>>2]|0;c[k+12>>2]=j;c[i>>2]=j;c[j+8>>2]=k;c[j+12>>2]=a;c[j+24>>2]=0}while(0);k=(c[6775]|0)+-1|0;c[6775]=k;if(k|0)return;a=27524;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6775]=-1;return}function kc(){return 27564}function lc(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=e*f|0;d=a>>>16;a=(c>>>16)+(e*d|0)|0;e=b>>>16;b=e*f|0;return (y((a>>>16)+(e*d|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function nc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=mc(e,f)|0;a=z()|0;return (y((b*f|0)+(d*e|0)+a|a&0|0),c|0|0)|0}function oc(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y(b>>c|0);return a>>>c|(b&(1<>c-32|0}function pc(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (y(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){C(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function sc(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else rc(b,c,d)|0;return b|0}function tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function uc(a){a=a|0;var b=0,d=0,e=0;e=B()|0;d=c[h>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){I(b|0)|0;A(12);return -1}if((b|0)>(e|0))if(!(D(b|0)|0)){A(12);return -1}c[h>>2]=b;return d|0}function vc(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;M[a&1](b|0,c|0,d|0,e|0,f|0,g|0)}function wc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;x(0)} // EMSCRIPTEN_END_FUNCS var M=[wc,aa];return{___muldi3:nc,_bitshift64Ashr:oc,_bitshift64Lshr:pc,_free:jc,_i64Add:qc,_malloc:ic,_memcpy:rc,_memmove:sc,_memset:tc,_ogv_audio_decoder_destroy:U,_ogv_audio_decoder_init:R,_ogv_audio_decoder_process_audio:T,_ogv_audio_decoder_process_header:S,_sbrk:uc,dynCall_viiiiii:vc,establishStackSpace:Q,stackAlloc:N,stackRestore:P,stackSave:O}}) // EMSCRIPTEN_END_ASM (ia,ka,buffer);a.___muldi3=S.___muldi3;a._bitshift64Ashr=S._bitshift64Ashr;a._bitshift64Lshr=S._bitshift64Lshr;a._free=S._free;a._i64Add=S._i64Add;a._malloc=S._malloc; a._memcpy=S._memcpy;a._memmove=S._memmove;a._memset=S._memset;a._ogv_audio_decoder_destroy=S._ogv_audio_decoder_destroy;a._ogv_audio_decoder_init=S._ogv_audio_decoder_init;a._ogv_audio_decoder_process_audio=S._ogv_audio_decoder_process_audio;a._ogv_audio_decoder_process_header=S._ogv_audio_decoder_process_header;a._sbrk=S._sbrk;a.establishStackSpace=S.establishStackSpace;a.stackAlloc=S.stackAlloc;var ja=a.stackRestore=S.stackRestore,da=a.stackSave=S.stackSave;a.dynCall_viiiiii=S.dynCall_viiiiii; a.asm=S; if(P){if(String.prototype.startsWith?!P.startsWith(Q):0!==P.indexOf(Q)){var la=P;P=a.locateFile?a.locateFile(la,t):t+la}if(q||r){var ma=a.readBinary(P);F.set(ma,8)}else{M++;a.monitorRunDependencies&&a.monitorRunDependencies(M);var T=function(b){b.byteLength&&(b=new Uint8Array(b));F.set(b,8);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;M--;a.monitorRunDependencies&&a.monitorRunDependencies(M);0==M&&(null!==N&&(clearInterval(N),N=null),O&&(b=O,O=null,b()))},na=function(){a.readAsync(P,T, function(){throw"could not load memory initializer "+P;})},oa=w(P);if(oa)T(oa.buffer);else if(a.memoryInitializerRequest){var pa=function(){var b=a.memoryInitializerRequest,c=b.response;if(200!==b.status&&0!==b.status)if(c=w(a.memoryInitializerRequestURL))c=c.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+b.status+", retrying "+P);na();return}T(c)};a.memoryInitializerRequest.response?setTimeout(pa,0):a.memoryInitializerRequest.addEventListener("load", pa)}else na()}}a.then=function(b){if(a.calledRun)b(a);else{var c=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){c&&c();b(a)}}return a};function U(b){this.name="ExitStatus";this.message="Program terminated with exit("+b+")";this.status=b}U.prototype=Error();U.prototype.constructor=U;O=function qa(){a.calledRun||V();a.calledRun||(O=qa)}; function V(){function b(){if(!a.calledRun&&(a.calledRun=!0,!D)){L||(L=!0,I(aa));I(ba);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var b=a.postRun.shift();K.unshift(b)}I(K)}}if(!(0=b)return W;W&&a._free(W);X=b;return W=a._malloc(X)}var Y;Y="undefined"===typeof performance||"undefined"===typeof performance.now?Date.now:performance.now.bind(performance); function Z(b){var c=Y();b=b();a.cpuTime+=Y()-c;return b}a.loadedMetadata=!!f.audioFormat;a.audioFormat=f.audioFormat||null;a.audioBuffer=null;a.cpuTime=0;Object.defineProperty(a,"processing",{get:function(){return!1}});a.init=function(b){Z(function(){a._ogv_audio_decoder_init()});b()};a.processHeader=function(b,c){var d=Z(function(){var c=b.byteLength,d=ra(c);a.HEAPU8.set(new Uint8Array(b),d);return a._ogv_audio_decoder_process_header(d,c)});c(d)}; a.processAudio=function(b,c){var d=Z(function(){var c=b.byteLength,d=ra(c);a.HEAPU8.set(new Uint8Array(b),d);return a._ogv_audio_decoder_process_audio(d,c)});c(d)};a.close=function(){}; return OGVDecoderAudioOpus } ); })(); if (typeof exports === 'object' && typeof module === 'object') module.exports = OGVDecoderAudioOpus; else if (typeof define === 'function' && define['amd']) define([], function() { return OGVDecoderAudioOpus; }); else if (typeof exports === 'object') exports["OGVDecoderAudioOpus"] = OGVDecoderAudioOpus;