UNPKG

js-angusj-clipper

Version:

Polygon and line clipping and offsetting library for Javascript / Typescript - a port of Angus Johnson's clipper to WebAssembly / Asm.JS

12 lines (10 loc) 346 kB
function init(_moduleOverrides) { var Module = {}; Object.keys(_moduleOverrides).forEach(function (key) { Module[key] = _moduleOverrides[key]; }); null;var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536);this.grow=function(amount){var ret=__growWasmMemory(amount);return ret}},Table:function(opts){var ret=new Array(opts["initial"]);ret.set=function(i,func){ret[i]=func};ret.get=function(i){return ret[i]};return ret},Module:function(binary){},Instance:function(module,info){this.exports=( // EMSCRIPTEN_START_ASM function a(asmLibraryArg,wasmMemory,wasmTable){var scratchBuffer=new ArrayBuffer(16);var b=new Int32Array(scratchBuffer);var c=new Float32Array(scratchBuffer);var d=new Float64Array(scratchBuffer);function e(index){return b[index]}function f(index,value){b[index]=value}function g(){return d[0]}function h(value){d[0]=value}function i(global,env,buffer){var j=env.memory;var k=wasmTable;var l=new global.Int8Array(buffer);var m=new global.Int16Array(buffer);var n=new global.Int32Array(buffer);var o=new global.Uint8Array(buffer);var p=new global.Uint16Array(buffer);var q=new global.Uint32Array(buffer);var r=new global.Float32Array(buffer);var s=new global.Float64Array(buffer);var t=global.Math.imul;var u=global.Math.fround;var v=global.Math.abs;var w=global.Math.clz32;var x=global.Math.min;var y=global.Math.max;var z=global.Math.floor;var A=global.Math.ceil;var B=global.Math.sqrt;var C=env.abort;var D=global.NaN;var E=global.Infinity;var F=env.a;var G=env.b;var H=env.c;var I=env.d;var J=env.e;var K=env.f;var L=env.g;var M=env.h;var N=env.i;var O=env.j;var P=env.k;var Q=env.l;var R=env.m;var S=env.n;var T=env.o;var U=env.p;var V=env.q;var W=env.r;var X=env.s;var Y=env.t;var Z=env.u;var _=env.v;var $=env.w;var aa=env.x;var ba=env.y;var ca=5254880;var da=0; // EMSCRIPTEN_START_FUNCS function Kb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,r=0,t=0,u=0,w=0,y=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;p=ca-16|0;ca=p;e=n[a+20>>2];f=n[a+16>>2];if((e|0)!=(f|0)){while(1){c=e+ -12|0;g=n[c>>2];if(g){n[e+ -8>>2]=g;ua(g)}e=c;if((c|0)!=(f|0)){continue}break}}F=a+16|0;s[a+64>>3]=b;n[a+20>>2]=f;a:{b:{c:{d:{if(!(b>-1e-20^1|b<1e-20^1)){Fa(F,n[a+148>>2]-n[a+144>>2]>>2);e=n[a+144>>2];if((n[a+148>>2]-e|0)<1){break d}c=0;while(1){h=n[(c<<2)+e>>2];e:{if(n[h+44>>2]){break e}f=n[a+20>>2];if((f|0)!=n[a+24>>2]){n[f+8>>2]=0;n[f>>2]=0;n[f+4>>2]=0;e=n[h+8>>2]-n[h+4>>2]|0;if(e){g=e>>4;if(g>>>0>=268435456){break c}e=ta(e);n[f>>2]=e;n[f+4>>2]=e;n[f+8>>2]=e+(g<<4);g=f;i=n[h+4>>2];h=n[h+8>>2]-i|0;if((h|0)>=1){e=va(e,i,h)+h|0}n[g+4>>2]=e}n[a+20>>2]=f+12;break e}Ca(F,h+4|0)}c=c+1|0;e=n[a+144>>2];if((c|0)<n[a+148>>2]-e>>2){continue}break}break d}c=a;d=s[a>>3];if(d>2^1){d=.5}else{d=2/(d*d)}s[c+96>>3]=d;d=v(b);r=d*3.141592653589793;y=d*.25;E=s[a+8>>3];d=3.141592653589793/Ud(1-(E<=0?.25:E>y?y:E)/d);E=d>r?r:d;s[a+104>>3]=E/6.283185307179586;d=6.283185307179586/E;M=a,N=Sd(d),s[M+88>>3]=N;d=Qd(d);s[a+80>>3]=d;if(!(b<0^1)){s[a+80>>3]=-d}Fa(F,n[a+148>>2]-n[a+144>>2]>>1);c=n[a+144>>2];if((n[a+148>>2]-c|0)<1){break d}w=a+40|0;G=a+28|0;while(1){l=n[(H<<2)+c>>2];if((l+4|0)!=(G|0)){lb(G,n[l+4>>2],n[l+8>>2])}e=n[a+28>>2];k=n[a+32>>2]-e|0;f:{if(!k){break f}g:{h:{i:{j:{if(!(b<=0^1)){if(n[l+44>>2]|(k|0)<48){break f}n[a+44>>2]=n[w>>2];break j}c=n[w>>2];n[a+44>>2]=c;if((k|0)!=16){break j}k:{l:{m:{if(n[l+40>>2]!=1){d=+q[e+8>>2]+4294967296*+n[e+12>>2]-b;d=d+(d<0?-.5:.5);n:{if(v(d)<0x8000000000000000){g=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;f=~~d>>>0;break n}g=-2147483648;f=0}d=+q[e>>2]+4294967296*+n[e+4>>2]-b;d=d+(d<0?-.5:.5);o:{if(v(d)<0x8000000000000000){h=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;e=~~d>>>0;break o}h=-2147483648;e=0}i=n[a+48>>2];if(i>>>0<=c>>>0){break m}n[c+8>>2]=f;n[c+12>>2]=g;n[c>>2]=e;n[c+4>>2]=h;e=c+16|0;n[a+44>>2]=e;break l}y=1;if(E>=1^1){break k}r=0;o=1;f=0;while(1){d=r*b+(+q[e+8>>2]+4294967296*+n[e+12>>2]);d=d+(d<0?-.5:.5);p:{if(v(d)<0x8000000000000000){h=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;g=~~d>>>0;break p}h=-2147483648;g=0}d=y*b+(+q[e>>2]+4294967296*+n[e+4>>2]);d=d+(d<0?-.5:.5);q:{if(v(d)<0x8000000000000000){i=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;e=~~d>>>0;break q}i=-2147483648;e=0}j=n[a+48>>2];r:{if(c>>>0<j>>>0){n[c+8>>2]=g;n[c+12>>2]=h;n[c>>2]=e;n[c+4>>2]=i;n[a+44>>2]=c+16;break r}l=n[w>>2];m=c-l|0;t=m>>4;k=t+1|0;if(k>>>0>=268435456){break i}j=j-l|0;u=j>>3;j=j>>4>>>0<134217727?u>>>0<k>>>0?k:u:268435455;c=0;s:{if(!j){break s}if(j>>>0>=268435456){break b}c=ta(j<<4)}k=c+(t<<4)|0;n[k+8>>2]=g;n[k+12>>2]=h;n[k>>2]=e;n[k+4>>2]=i;if((m|0)>=1){va(c,l,m)}n[a+48>>2]=c+(j<<4);n[a+44>>2]=k+16;n[a+40>>2]=c;if(!l){break r}ua(l)}d=E;c=f;f=o+1|0;if(f>>>0<1){c=c+1|0}o=f;f=c;if(d>=+(o>>>0)+4294967296*+(c|0)^1){break k}d=s[a+80>>3];K=r*d;I=s[a+88>>3];r=r*I+y*d;c=n[a+44>>2];e=n[G>>2];y=y*I-K;continue}}i=i-c|0;i=i>>4>>>0<134217727?i?i>>3:1:268435455;if(i>>>0>=268435456){break b}l=i<<4;i=ta(l);n[i+8>>2]=f;n[i+12>>2]=g;n[i>>2]=e;n[i+4>>2]=h;n[a+48>>2]=i+l;e=i+16|0;n[a+44>>2]=e;n[a+40>>2]=i;if(!c){break l}ua(c);e=n[a+44>>2]}h=n[a+28>>2];d=+q[h+8>>2]+4294967296*+n[h+12>>2]-b;d=d+(d<0?-.5:.5);t:{if(v(d)<0x8000000000000000){f=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;c=~~d>>>0;break t}f=-2147483648;c=0}g=f;d=+q[h>>2]+4294967296*+n[h+4>>2]+b;d=d+(d<0?-.5:.5);u:{if(v(d)<0x8000000000000000){h=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;i=~~d>>>0;break u}h=-2147483648;i=0}k=n[a+48>>2];v:{if(e>>>0>=k>>>0){f=e;e=n[w>>2];o=f-e|0;j=o>>4;l=j+1|0;if(l>>>0>268435455){break i}k=k-e|0;m=k>>3;k=k>>4>>>0<134217727?m>>>0<l>>>0?l:m:268435455;f=0;w:{if(!k){break w}if(k>>>0>268435455){break b}f=ta(k<<4)}l=f+(j<<4)|0;n[l+8>>2]=c;n[l+12>>2]=g;n[l>>2]=i;n[l+4>>2]=h;c=l+16|0;if((o|0)>=1){va(f,e,o)}n[a+48>>2]=f+(k<<4);n[a+44>>2]=c;n[a+40>>2]=f;if(!e){break v}ua(e);c=n[a+44>>2];break v}n[e+8>>2]=c;n[e+12>>2]=g;n[e>>2]=i;n[e+4>>2]=h;c=e+16|0;n[a+44>>2]=c}h=n[a+28>>2];d=+q[h+8>>2]+4294967296*+n[h+12>>2]+b;d=d+(d<0?-.5:.5);x:{if(v(d)<0x8000000000000000){e=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;g=~~d>>>0;break x}e=-2147483648;g=0}d=+q[h>>2]+4294967296*+n[h+4>>2]+b;d=d+(d<0?-.5:.5);y:{if(v(d)<0x8000000000000000){h=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;i=~~d>>>0;break y}h=-2147483648;i=0}k=n[a+48>>2];z:{if(c>>>0>=k>>>0){l=n[w>>2];o=c-l|0;j=o>>4;c=j+1|0;if(c>>>0>268435455){break i}k=k-l|0;m=k>>3;k=k>>4>>>0<134217727?m>>>0<c>>>0?c:m:268435455;f=0;A:{if(!k){break A}if(k>>>0>268435455){break b}f=ta(k<<4)}c=f+(j<<4)|0;n[c+8>>2]=g;n[c+12>>2]=e;n[c>>2]=i;n[c+4>>2]=h;c=c+16|0;if((o|0)>=1){va(f,l,o)}n[a+48>>2]=f+(k<<4);n[a+44>>2]=c;n[a+40>>2]=f;if(!l){break z}ua(l);c=n[a+44>>2];break z}n[c+8>>2]=g;n[c+12>>2]=e;n[c>>2]=i;n[c+4>>2]=h;c=c+16|0;n[a+44>>2]=c}g=n[a+28>>2];d=+q[g+8>>2]+4294967296*+n[g+12>>2]+b;d=d+(d<0?-.5:.5);B:{if(v(d)<0x8000000000000000){e=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;f=~~d>>>0;break B}e=-2147483648;f=0}d=+q[g>>2]+4294967296*+n[g+4>>2]-b;d=d+(d<0?-.5:.5);C:{if(v(d)<0x8000000000000000){h=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;g=~~d>>>0;break C}h=-2147483648;g=0}k=n[a+48>>2];if(c>>>0>=k>>>0){i=n[w>>2];o=c-i|0;j=o>>4;l=j+1|0;if(l>>>0>268435455){break i}k=k-i|0;m=k>>3;l=k>>4>>>0<134217727?m>>>0<l>>>0?l:m:268435455;c=0;D:{if(!l){break D}if(l>>>0>268435455){break b}c=ta(l<<4)}j=c+(j<<4)|0;n[j+8>>2]=f;n[j+12>>2]=e;n[j>>2]=g;n[j+4>>2]=h;if((o|0)>=1){va(c,i,o)}n[a+48>>2]=c+(l<<4);n[a+44>>2]=j+16;n[a+40>>2]=c;if(!i){break k}ua(i);break k}n[c+8>>2]=f;n[c+12>>2]=e;n[c>>2]=g;n[c+4>>2]=h;n[a+44>>2]=c+16}c=n[a+20>>2];if((c|0)==n[a+24>>2]){break g}n[c+8>>2]=0;n[c>>2]=0;n[c+4>>2]=0;E:{f=n[a+44>>2]-n[w>>2]|0;if(f){e=f>>4;if(e>>>0>=268435456){break E}f=ta(f);n[c>>2]=f;n[c+4>>2]=f;n[c+8>>2]=f+(e<<4);e=c;h=n[w>>2];g=n[a+44>>2]-h|0;if((g|0)>=1){f=va(f,h,g)+g|0}n[e+4>>2]=f}n[a+20>>2]=c+12;break f}break a}c=n[a+52>>2];n[a+56>>2]=c;o=k>>4;F:{if(n[a+60>>2]-c>>4>>>0>=o>>>0){break F}if(o>>>0>=268435456){break b}f=ta(k);n[a+56>>2]=f;n[a+52>>2]=f;n[a+60>>2]=f+(o<<4);if(!c){break F}ua(c)}f=o+ -1|0;G:{H:{I:{J:{if((k|0)>=17){D=(f|0)>1?f:1;c=0;while(1){g=n[G>>2];m=g+(c<<4)|0;h=m;e=n[h+8>>2];t=n[h+12>>2];c=c+1|0;j=g+(c<<4)|0;g=n[j+8>>2];u=n[j+12>>2];h=n[j>>2];i=n[m>>2];j=n[j+4>>2];m=n[m+4>>2];K:{if((h|0)==(i|0)&(j|0)==(m|0)){r=0;d=0;if((e|0)==(g|0)&(t|0)==(u|0)){break K}}d=+(h-i>>>0)+4294967296*+(j-((h>>>0<i>>>0)+m|0)|0);r=+(g-e>>>0)+4294967296*+(u-((g>>>0<e>>>0)+t|0)|0);y=1/B(d*d+r*r);r=y*r;d=d*-y}e=n[a+56>>2];j=n[a+60>>2];L:{if(e>>>0<j>>>0){s[e+8>>3]=d;s[e>>3]=r;n[a+56>>2]=e+16;break L}g=n[a+52>>2];i=e-g|0;m=i>>4;h=m+1|0;if(h>>>0>=268435456){break J}j=j-g|0;t=j>>3;h=j>>4>>>0<134217727?t>>>0<h>>>0?h:t:268435455;e=0;M:{if(!h){break M}if(h>>>0>=268435456){break b}e=ta(h<<4)}j=e+(m<<4)|0;s[j+8>>3]=d;s[j>>3]=r;if((i|0)>=1){va(e,g,i)}n[a+60>>2]=e+(h<<4);n[a+56>>2]=j+16;n[a+52>>2]=e;if(!g){break L}ua(g)}if((c|0)!=(D|0)){continue}break}}N:{if(q[l+44>>2]<2){i=n[G>>2];j=i+(f<<4)|0;c=n[j+8>>2];m=n[j+12>>2];e=n[i+8>>2];t=n[i+12>>2];g=n[i>>2];h=n[j>>2];i=n[i+4>>2];j=n[j+4>>2];O:{if((g|0)==(h|0)&(i|0)==(j|0)){r=0;d=0;if((c|0)==(e|0)&(m|0)==(t|0)){break O}}d=+(g-h>>>0)+4294967296*+(i-((g>>>0<h>>>0)+j|0)|0);r=+(e-c>>>0)+4294967296*+(t-((e>>>0<c>>>0)+m|0)|0);y=1/B(d*d+r*r);r=y*r;d=d*-y}c=n[a+56>>2];i=n[a+60>>2];if(c>>>0<i>>>0){s[c+8>>3]=d;s[c>>3]=r;n[a+56>>2]=c+16;break N}e=n[a+52>>2];h=c-e|0;j=h>>4;g=j+1|0;if(g>>>0>=268435456){break J}i=i-e|0;m=i>>3;g=i>>4>>>0<134217727?m>>>0<g>>>0?g:m:268435455;c=0;P:{if(!g){break P}if(g>>>0>=268435456){break b}c=ta(g<<4)}i=c+(j<<4)|0;s[i+8>>3]=d;s[i>>3]=r;if((h|0)>=1){va(c,e,h)}n[a+60>>2]=c+(g<<4);n[a+56>>2]=i+16;n[a+52>>2]=c;if(!e){break N}ua(e);break N}e=n[a+52>>2];c=(e+(o<<4)|0)+ -32|0;g=n[c+12>>2];n[p+8>>2]=n[c+8>>2];n[p+12>>2]=g;g=n[c+4>>2];n[p>>2]=n[c>>2];n[p+4>>2]=g;c=n[a+56>>2];h=n[a+60>>2];if(c>>>0<h>>>0){e=n[p+4>>2];n[c>>2]=n[p>>2];n[c+4>>2]=e;e=n[p+12>>2];n[c+8>>2]=n[p+8>>2];n[c+12>>2]=e;n[a+56>>2]=c+16;break N}i=c-e|0;j=i>>4;g=j+1|0;if(g>>>0>=268435456){break J}h=h-e|0;m=h>>3;g=h>>4>>>0<134217727?m>>>0<g>>>0?g:m:268435455;c=0;Q:{if(!g){break Q}if(g>>>0>=268435456){break b}c=ta(g<<4)}h=c+(j<<4)|0;m=n[p+4>>2];n[h>>2]=n[p>>2];n[h+4>>2]=m;j=n[p+12>>2];n[h+8>>2]=n[p+8>>2];n[h+12>>2]=j;if((i|0)>=1){va(c,e,i)}n[a+60>>2]=c+(g<<4);n[a+56>>2]=h+16;n[a+52>>2]=c;ua(e)}R:{S:{T:{c=n[l+44>>2];switch(c|0){case 1:break S;case 0:break T;default:break R}}n[p>>2]=f;if((k|0)>=1){f=(o|0)>1?o:1;c=0;while(1){Pa(a,c,p,n[l+40>>2]);c=c+1|0;if((f|0)!=(c|0)){continue}break}}c=n[a+20>>2];if((c|0)==n[a+24>>2]){break g}n[c+8>>2]=0;n[c>>2]=0;n[c+4>>2]=0;f=n[a+44>>2]-n[w>>2]|0;if(f){e=f>>4;if(e>>>0>=268435456){break a}f=ta(f);n[c>>2]=f;n[c+4>>2]=f;n[c+8>>2]=f+(e<<4);e=c;h=n[a+40>>2];g=n[a+44>>2]-h|0;if((g|0)>=1){f=va(f,h,g)+g|0}n[e+4>>2]=f}n[a+20>>2]=c+12;break f}n[p>>2]=f;j=(k|0)<1;if(!j){e=(o|0)>1?o:1;c=0;while(1){Pa(a,c,p,n[l+40>>2]);c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=n[a+20>>2];U:{if((c|0)!=n[a+24>>2]){n[c+8>>2]=0;n[c>>2]=0;n[c+4>>2]=0;e=n[w>>2];g=n[a+44>>2]-e|0;if(g){e=g>>4;if(e>>>0>=268435456){break a}g=ta(g);n[c>>2]=g;n[c+4>>2]=g;n[c+8>>2]=g+(e<<4);h=c;e=n[a+40>>2];i=n[a+44>>2]-e|0;if((i|0)>=1){g=va(g,e,i)+i|0}n[h+4>>2]=g}n[a+20>>2]=c+12;break U}Ca(F,w);e=n[w>>2]}n[a+44>>2]=e;e=n[a+52>>2];c=e+(f<<4)|0;d=s[c+8>>3];r=s[c>>3];c=f;if((k|0)>16){break I}break h}n[p>>2]=0;J=(k|0)<33;if(!J){e=(f|0)>2?f:2;c=1;while(1){Pa(a,c,p,n[l+40>>2]);c=c+1|0;if((e|0)!=(c|0)){continue}break}c=n[l+44>>2]}V:{if((c|0)==2){t=f<<4;i=t+n[a+52>>2]|0;h=t+n[a+28>>2]|0;d=s[i+8>>3]*b+(+q[h+8>>2]+4294967296*+n[h+12>>2]);d=d+(d<0?-.5:.5);W:{if(v(d)<0x8000000000000000){e=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;c=~~d>>>0;break W}e=-2147483648;c=0}g=e;d=s[i>>3]*b+(+q[h>>2]+4294967296*+n[h+4>>2]);d=d+(d<0?-.5:.5);X:{if(v(d)<0x8000000000000000){h=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;i=~~d>>>0;break X}h=-2147483648;i=0}e=n[a+44>>2];u=n[a+48>>2];Y:{if((e|0)!=(u|0)){n[e+8>>2]=c;n[e+12>>2]=g;n[e>>2]=i;n[e+4>>2]=h;c=e+16|0;n[a+44>>2]=c;break Y}j=n[w>>2];D=e-j|0;e=D>>4;m=e+1|0;if(m>>>0>=268435456){break i}L=e<<4;u=u-j|0;e=u>>3;u=u>>4>>>0<134217727?e>>>0<m>>>0?m:e:268435455;e=0;Z:{if(!u){break Z}if(u>>>0>=268435456){break b}e=ta(u<<4)}m=L+e|0;n[m+8>>2]=c;n[m+12>>2]=g;n[m>>2]=i;n[m+4>>2]=h;c=m+16|0;if((D|0)>=1){va(e,j,D)}n[a+48>>2]=e+(u<<4);n[a+44>>2]=c;n[a+40>>2]=e;if(!j){break Y}ua(j);c=n[a+44>>2]}h=t+n[a+28>>2]|0;i=t+n[a+52>>2]|0;d=+q[h+8>>2]+4294967296*+n[h+12>>2]-s[i+8>>3]*b;d=d+(d<0?-.5:.5);_:{if(v(d)<0x8000000000000000){g=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;e=~~d>>>0;break _}g=-2147483648;e=0}d=+q[h>>2]+4294967296*+n[h+4>>2]-s[i>>3]*b;d=d+(d<0?-.5:.5);$:{if(v(d)<0x8000000000000000){i=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;h=~~d>>>0;break $}i=-2147483648;h=0}j=n[a+48>>2];if((j|0)!=(c|0)){n[c+8>>2]=e;n[c+12>>2]=g;n[c>>2]=h;n[c+4>>2]=i;n[a+44>>2]=c+16;break V}c=j;j=n[w>>2];m=c-j|0;u=m>>4;t=u+1|0;if(t>>>0>=268435456){break i}D=m>>3;t=u>>>0<134217727?D>>>0<t>>>0?t:D:268435455;c=0;aa:{if(!t){break aa}if(t>>>0>=268435456){break b}c=ta(t<<4)}D=c+(u<<4)|0;u=D;n[u+8>>2]=e;n[u+12>>2]=g;n[u>>2]=h;n[u+4>>2]=i;if((m|0)>=1){va(c,j,m)}n[a+48>>2]=c+(t<<4);n[a+44>>2]=D+16;n[a+40>>2]=c;if(!j){break V}ua(j);break V}e=o+ -2|0;n[p>>2]=e;n[a+72>>2]=0;n[a+76>>2]=0;c=n[a+52>>2]+(f<<4)|0;s[c+8>>3]=-s[c+8>>3];s[c>>3]=-s[c>>3];if(n[l+44>>2]==3){kb(a,f,e);break V}jb(a,f,e)}c=f;if((k|0)>16){break H}break G}wa();C()}while(1){g=c+ -1|0;h=(g<<4)+e|0;y=s[h>>3];e=(c<<4)+e|0;s[e+8>>3]=-s[h+8>>3];s[e>>3]=-y;h=(c|0)>1;e=n[a+52>>2];c=g;if(h){continue}break}break h}while(1){g=n[a+52>>2];e=c+ -1|0;h=g+(e<<4)|0;d=s[h>>3];g=g+(c<<4)|0;s[g+8>>3]=-s[h+8>>3];s[g>>3]=-d;g=(c|0)>1;c=e;if(g){continue}break}}c=n[a+52>>2];s[c>>3]=-s[c+16>>3];s[c+8>>3]=-s[c+24>>3];n[p>>2]=f;if(!J){c=o+ -2|0;while(1){Pa(a,c,p,n[l+40>>2]);f=(c|0)>1;c=c+ -1|0;if(f){continue}break}}c=n[l+44>>2];ba:{if((c|0)==2){g=n[a+28>>2];h=n[a+52>>2];d=+q[g+8>>2]+4294967296*+n[g+12>>2]-s[h+8>>3]*b;d=d+(d<0?-.5:.5);ca:{if(v(d)<0x8000000000000000){f=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;c=~~d>>>0;break ca}f=-2147483648;c=0}e=f;d=+q[g>>2]+4294967296*+n[g+4>>2]-s[h>>3]*b;d=d+(d<0?-.5:.5);da:{if(v(d)<0x8000000000000000){g=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;h=~~d>>>0;break da}g=-2147483648;h=0}f=n[a+44>>2];k=n[a+48>>2];ea:{if((f|0)!=(k|0)){n[f+8>>2]=c;n[f+12>>2]=e;n[f>>2]=h;n[f+4>>2]=g;c=f+16|0;n[a+44>>2]=c;break ea}i=n[w>>2];o=f-i|0;j=o>>4;l=j+1|0;if(l>>>0>=268435456){break i}k=k-i|0;m=k>>3;k=k>>4>>>0<134217727?m>>>0<l>>>0?l:m:268435455;f=0;fa:{if(!k){break fa}if(k>>>0>=268435456){break b}f=ta(k<<4)}l=f+(j<<4)|0;n[l+8>>2]=c;n[l+12>>2]=e;n[l>>2]=h;n[l+4>>2]=g;c=l+16|0;if((o|0)>=1){va(f,i,o)}n[a+48>>2]=f+(k<<4);n[a+44>>2]=c;n[a+40>>2]=f;if(!i){break ea}ua(i);c=n[a+44>>2]}h=n[a+52>>2];g=n[a+28>>2];d=s[h+8>>3]*b+(+q[g+8>>2]+4294967296*+n[g+12>>2]);d=d+(d<0?-.5:.5);ga:{if(v(d)<0x8000000000000000){e=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;f=~~d>>>0;break ga}e=-2147483648;f=0}d=s[h>>3]*b+(+q[g>>2]+4294967296*+n[g+4>>2]);d=d+(d<0?-.5:.5);ha:{if(v(d)<0x8000000000000000){h=v(d)>=1?d>0?~~x(z(d/4294967296),4294967295)>>>0:~~A((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;g=~~d>>>0;break ha}h=-2147483648;g=0}i=n[a+48>>2];if((i|0)!=(c|0)){n[c+8>>2]=f;n[c+12>>2]=e;n[c>>2]=g;n[c+4>>2]=h;n[a+44>>2]=c+16;break ba}c=i;i=n[w>>2];l=c-i|0;o=l>>4;k=o+1|0;if(k>>>0>=268435456){break i}j=l>>3;k=o>>>0<134217727?j>>>0<k>>>0?k:j:268435455;c=0;ia:{if(!k){break ia}if(k>>>0>=268435456){break b}c=ta(k<<4)}j=c+(o<<4)|0;n[j+8>>2]=f;n[j+12>>2]=e;n[j>>2]=g;n[j+4>>2]=h;if((l|0)>=1){va(c,i,l)}n[a+48>>2]=c+(k<<4);n[a+44>>2]=j+16;n[a+40>>2]=c;if(!i){break ba}ua(i);break ba}n[p>>2]=1;n[a+72>>2]=0;n[a+76>>2]=0;if((c|0)==3){kb(a,0,1);break ba}jb(a,0,1)}c=n[a+20>>2];if((c|0)==n[a+24>>2]){break g}n[c+8>>2]=0;n[c>>2]=0;n[c+4>>2]=0;f=n[a+44>>2]-n[w>>2]|0;if(f){e=f>>4;if(e>>>0>=268435456){break a}f=ta(f);n[c>>2]=f;n[c+4>>2]=f;n[c+8>>2]=f+(e<<4);e=c;h=n[a+40>>2];g=n[a+44>>2]-h|0;if((g|0)>=1){f=va(f,h,g)+g|0}n[e+4>>2]=f}n[a+20>>2]=c+12;break f}wa();C()}s[e+8>>3]=-d;s[e>>3]=-r;n[p>>2]=0;if(!j){while(1){Pa(a,f,p,n[l+40>>2]);c=(f|0)>0;f=f+ -1|0;if(c){continue}break}}c=n[a+20>>2];if((c|0)==n[a+24>>2]){break g}n[c+8>>2]=0;n[c>>2]=0;n[c+4>>2]=0;f=n[a+44>>2]-n[w>>2]|0;if(f){e=f>>4;if(e>>>0>=268435456){break a}f=ta(f);n[c>>2]=f;n[c+4>>2]=f;n[c+8>>2]=f+(e<<4);e=c;h=n[a+40>>2];g=n[a+44>>2]-h|0;if((g|0)>=1){f=va(f,h,g)+g|0}n[e+4>>2]=f}n[a+20>>2]=c+12;break f}Ca(F,w)}H=H+1|0;c=n[a+144>>2];if((H|0)<n[a+148>>2]-c>>2){continue}break}}ca=p+16|0;return}wa();C()}ya(2396);C()}wa();C()}function ub(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=ca-16|0;ca=f;a:while(1){i=b+ -16|0;while(1){b:{c:{d:{e:{f:{g:{h:{i:{j:{d=b-a|0;e=d>>4;switch(e|0){case 3:break i;case 2:break j;case 0:case 1:break b;case 4:break f;case 5:break h;default:break g}}b=b+ -16|0;c=b;e=q[a>>2]>=q[c>>2];d=n[a+4>>2];c=n[c+4>>2];if((d|0)>(c|0)?1:(d|0)>=(c|0)?e:0){break b}c=a+8|0;d=n[c+4>>2];n[f+8>>2]=n[c>>2];n[f+12>>2]=d;c=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=c;c=n[b+12>>2];n[a+8>>2]=n[b+8>>2];n[a+12>>2]=c;c=n[b+4>>2];n[a>>2]=n[b>>2];n[a+4>>2]=c;a=n[f+12>>2];n[b+8>>2]=n[f+8>>2];n[b+12>>2]=a;a=n[f+4>>2];n[b>>2]=n[f>>2];n[b+4>>2]=a;break b}c=a+16|0;b=b+ -16|0;d=b;g=n[d>>2];d=n[d+4>>2];i=n[a+16>>2];h=n[a+4>>2];e=n[a+20>>2];if((h|0)>(e|0)?1:(h|0)>=(e|0)?q[a>>2]>=i>>>0:0){if((e|0)>(d|0)?1:(e|0)>=(d|0)?i>>>0>=g>>>0:0){break b}d=n[c+12>>2];n[f+8>>2]=n[c+8>>2];n[f+12>>2]=d;d=n[c+4>>2];n[f>>2]=n[c>>2];n[f+4>>2]=d;d=n[b+12>>2];n[c+8>>2]=n[b+8>>2];n[c+12>>2]=d;d=n[b+4>>2];n[c>>2]=n[b>>2];n[c+4>>2]=d;d=n[f+12>>2];n[b+8>>2]=n[f+8>>2];n[b+12>>2]=d;d=n[f+4>>2];n[b>>2]=n[f>>2];n[b+4>>2]=d;b=n[a+4>>2];d=n[a+20>>2];if((b|0)>(d|0)?1:(b|0)>=(d|0)?q[a>>2]>=q[a+16>>2]:0){break b}b=a+8|0;d=n[b+4>>2];n[f+8>>2]=n[b>>2];n[f+12>>2]=d;b=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=b;b=n[c+12>>2];n[a+8>>2]=n[c+8>>2];n[a+12>>2]=b;b=n[c+4>>2];n[a>>2]=n[c>>2];n[a+4>>2]=b;a=n[f+12>>2];n[c+8>>2]=n[f+8>>2];n[c+12>>2]=a;a=n[f+4>>2];n[c>>2]=n[f>>2];n[c+4>>2]=a;break b}if((e|0)<(d|0)?1:(e|0)<=(d|0)?i>>>0<g>>>0:0){c=a+8|0;d=n[c+4>>2];n[f+8>>2]=n[c>>2];n[f+12>>2]=d;c=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=c;c=n[b+12>>2];n[a+8>>2]=n[b+8>>2];n[a+12>>2]=c;c=n[b+4>>2];n[a>>2]=n[b>>2];n[a+4>>2]=c;a=n[f+12>>2];n[b+8>>2]=n[f+8>>2];n[b+12>>2]=a;a=n[f+4>>2];n[b>>2]=n[f>>2];n[b+4>>2]=a;break b}d=a+8|0;e=n[d+4>>2];n[f+8>>2]=n[d>>2];n[f+12>>2]=e;d=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=d;d=n[c+12>>2];n[a+8>>2]=n[c+8>>2];n[a+12>>2]=d;d=n[c+4>>2];n[a>>2]=n[c>>2];n[a+4>>2]=d;d=n[f+12>>2];n[c+8>>2]=n[f+8>>2];n[c+12>>2]=d;d=n[f+4>>2];n[c>>2]=n[f>>2];n[c+4>>2]=d;e=q[a+16>>2]>=q[b>>2];a=n[a+20>>2];d=n[b+4>>2];if((a|0)>(d|0)?1:(a|0)>=(d|0)?e:0){break b}a=n[c+12>>2];n[f+8>>2]=n[c+8>>2];n[f+12>>2]=a;a=n[c+4>>2];n[f>>2]=n[c>>2];n[f+4>>2]=a;a=n[b+12>>2];n[c+8>>2]=n[b+8>>2];n[c+12>>2]=a;a=n[b+4>>2];n[c>>2]=n[b>>2];n[c+4>>2]=a;a=n[f+12>>2];n[b+8>>2]=n[f+8>>2];n[b+12>>2]=a;a=n[f+4>>2];n[b>>2]=n[f>>2];n[b+4>>2]=a;break b}d=a+16|0;c=a+32|0;e=a+48|0;Ya(a,d,c,e);b=b+ -16|0;g=b;l=q[a+48>>2]>=q[g>>2];i=n[a+52>>2];g=n[g+4>>2];if((i|0)>(g|0)?1:(i|0)>=(g|0)?l:0){break b}g=n[e+12>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=g;g=n[e+4>>2];n[f>>2]=n[e>>2];n[f+4>>2]=g;g=n[b+12>>2];n[e+8>>2]=n[b+8>>2];n[e+12>>2]=g;g=n[b+4>>2];n[e>>2]=n[b>>2];n[e+4>>2]=g;g=n[f+12>>2];n[b+8>>2]=n[f+8>>2];n[b+12>>2]=g;g=n[f+4>>2];n[b>>2]=n[f>>2];n[b+4>>2]=g;b=n[c+4>>2];g=n[e+4>>2];if((b|0)>(g|0)?1:(b|0)>=(g|0)?q[c>>2]>=q[e>>2]:0){break b}b=n[c+12>>2];n[f+8>>2]=n[c+8>>2];n[f+12>>2]=b;b=n[c+4>>2];n[f>>2]=n[c>>2];n[f+4>>2]=b;b=n[e+12>>2];n[c+8>>2]=n[e+8>>2];n[c+12>>2]=b;b=n[e+4>>2];n[c>>2]=n[e>>2];n[c+4>>2]=b;b=n[f+12>>2];n[e+8>>2]=n[f+8>>2];n[e+12>>2]=b;b=n[f+4>>2];n[e>>2]=n[f>>2];n[e+4>>2]=b;b=n[d+4>>2];e=n[c+4>>2];if((b|0)>(e|0)?1:(b|0)>=(e|0)?q[d>>2]>=q[c>>2]:0){break b}b=n[d+12>>2];n[f+8>>2]=n[d+8>>2];n[f+12>>2]=b;b=n[d+4>>2];n[f>>2]=n[d>>2];n[f+4>>2]=b;b=n[c+12>>2];n[d+8>>2]=n[c+8>>2];n[d+12>>2]=b;b=n[c+4>>2];n[d>>2]=n[c>>2];n[d+4>>2]=b;b=n[f+12>>2];n[c+8>>2]=n[f+8>>2];n[c+12>>2]=b;b=n[f+4>>2];n[c>>2]=n[f>>2];n[c+4>>2]=b;b=n[a+4>>2];c=n[a+20>>2];if((b|0)>(c|0)?1:(b|0)>=(c|0)?q[a>>2]>=q[a+16>>2]:0){break b}b=a+8|0;c=n[b+4>>2];n[f+8>>2]=n[b>>2];n[f+12>>2]=c;b=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=b;b=n[d+12>>2];n[a+8>>2]=n[d+8>>2];n[a+12>>2]=b;b=n[d+4>>2];n[a>>2]=n[d>>2];n[a+4>>2]=b;a=n[f+12>>2];n[d+8>>2]=n[f+8>>2];n[d+12>>2]=a;a=n[f+4>>2];n[d>>2]=n[f>>2];n[d+4>>2]=a;break b}if((d|0)<=495){c=a+16|0;d=a+32|0;i=n[a+32>>2];e=n[a+36>>2];j=n[a>>2];h=n[a+16>>2];k=n[a+4>>2];g=n[a+20>>2];k:{if((k|0)>(g|0)?1:(k|0)>=(g|0)?j>>>0>=h>>>0:0){if((g|0)>(e|0)?1:(g|0)>=(e|0)?h>>>0>=i>>>0:0){break k}e=n[c+12>>2];n[f+8>>2]=n[c+8>>2];n[f+12>>2]=e;e=n[c+4>>2];n[f>>2]=n[c>>2];n[f+4>>2]=e;e=d+8|0;g=n[e+4>>2];n[c+8>>2]=n[e>>2];n[c+12>>2]=g;e=n[d+4>>2];n[c>>2]=n[d>>2];n[c+4>>2]=e;e=n[f+12>>2];n[d+8>>2]=n[f+8>>2];n[d+12>>2]=e;e=n[f+4>>2];n[d>>2]=n[f>>2];n[d+4>>2]=e;e=n[c+4>>2];if((k|0)>(e|0)?1:(k|0)>=(e|0)?j>>>0>=q[c>>2]:0){break k}e=a+8|0;g=n[e+4>>2];n[f+8>>2]=n[e>>2];n[f+12>>2]=g;e=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=e;e=n[c+12>>2];n[a+8>>2]=n[c+8>>2];n[a+12>>2]=e;e=n[c+4>>2];n[a>>2]=n[c>>2];n[a+4>>2]=e;e=n[f+12>>2];n[c+8>>2]=n[f+8>>2];n[c+12>>2]=e;e=n[f+4>>2];n[c>>2]=n[f>>2];n[c+4>>2]=e;break k}if((g|0)<(e|0)?1:(g|0)<=(e|0)?h>>>0<i>>>0:0){c=a+8|0;e=n[c+4>>2];n[f+8>>2]=n[c>>2];n[f+12>>2]=e;c=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=c;c=d+8|0;e=n[c+4>>2];n[a+8>>2]=n[c>>2];n[a+12>>2]=e;c=n[d+4>>2];n[a>>2]=n[d>>2];n[a+4>>2]=c;c=n[f+12>>2];n[d+8>>2]=n[f+8>>2];n[d+12>>2]=c;c=n[f+4>>2];n[d>>2]=n[f>>2];n[d+4>>2]=c;break k}g=a+8|0;h=n[g+4>>2];n[f+8>>2]=n[g>>2];n[f+12>>2]=h;g=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=g;g=n[c+12>>2];n[a+8>>2]=n[c+8>>2];n[a+12>>2]=g;g=n[c+4>>2];n[a>>2]=n[c>>2];n[a+4>>2]=g;g=n[f+12>>2];n[c+8>>2]=n[f+8>>2];n[c+12>>2]=g;g=n[f+4>>2];n[c>>2]=n[f>>2];n[c+4>>2]=g;g=n[a+20>>2];if((g|0)>(e|0)?1:(g|0)>=(e|0)?q[a+16>>2]>=i>>>0:0){break k}e=n[c+12>>2];n[f+8>>2]=n[c+8>>2];n[f+12>>2]=e;e=n[c+4>>2];n[f>>2]=n[c>>2];n[f+4>>2]=e;e=d+8|0;g=n[e+4>>2];n[c+8>>2]=n[e>>2];n[c+12>>2]=g;e=n[d+4>>2];n[c>>2]=n[d>>2];n[c+4>>2]=e;c=n[f+12>>2];n[d+8>>2]=n[f+8>>2];n[d+12>>2]=c;c=n[f+4>>2];n[d>>2]=n[f>>2];n[d+4>>2]=c}e=a+48|0;if((e|0)==(b|0)){break b}while(1){c=e;h=n[e>>2];g=n[d+4>>2];i=n[e+4>>2];e=i;if((g|0)<(e|0)?1:(g|0)<=(e|0)?q[d>>2]<h>>>0:0){k=n[c+8>>2];j=n[c+12>>2];g=c;while(1){l:{e=d;l=n[d+4>>2];n[g>>2]=n[d>>2];n[g+4>>2]=l;l=n[d+12>>2];n[g+8>>2]=n[d+8>>2];n[g+12>>2]=l;if((a|0)==(d|0)){e=a;break l}g=e;d=e+ -16|0;l=n[d+4>>2];if((l|0)<(i|0)?1:(l|0)<=(i|0)?q[d>>2]<h>>>0:0){continue}}break}n[e+8>>2]=k;n[e+12>>2]=j;n[e>>2]=h;n[e+4>>2]=i}d=c;e=d+16|0;if((e|0)!=(b|0)){continue}break}break b}g=((e|0)/2<<4)+a|0;m:{if((d|0)>=15985){e=(e|0)/4<<4;d=e+a|0;e=e+g|0;k=Ya(a,d,g,e);h=n[e+4>>2];j=n[i+4>>2];if((h|0)>(j|0)?1:(h|0)>=(j|0)?q[e>>2]>=q[i>>2]:0){break m}h=n[e+12>>2];n[f+8>>2]=n[e+8>>2];n[f+12>>2]=h;h=n[e+4>>2];n[f>>2]=n[e>>2];n[f+4>>2]=h;h=n[i+12>>2];n[e+8>>2]=n[i+8>>2];n[e+12>>2]=h;h=n[i+4>>2];n[e>>2]=n[i>>2];n[e+4>>2]=h;h=n[f+12>>2];n[i+8>>2]=n[f+8>>2];n[i+12>>2]=h;h=n[f+4>>2];n[i>>2]=n[f>>2];n[i+4>>2]=h;h=n[g+4>>2];j=n[e+4>>2];if((h|0)>(j|0)?1:(h|0)>=(j|0)?q[g>>2]>=q[e>>2]:0){k=k+1|0;break m}h=g+8|0;j=n[h+4>>2];n[f+8>>2]=n[h>>2];n[f+12>>2]=j;h=n[g+4>>2];n[f>>2]=n[g>>2];n[f+4>>2]=h;h=n[e+12>>2];n[g+8>>2]=n[e+8>>2];n[g+12>>2]=h;h=n[e+4>>2];n[g>>2]=n[e>>2];n[g+4>>2]=h;h=n[f+12>>2];n[e+8>>2]=n[f+8>>2];n[e+12>>2]=h;h=n[f+4>>2];n[e>>2]=n[f>>2];n[e+4>>2]=h;e=n[d+4>>2];h=n[g+4>>2];if((e|0)>(h|0)?1:(e|0)>=(h|0)?q[d>>2]>=q[g>>2]:0){k=k+2|0;break m}e=n[d+12>>2];n[f+8>>2]=n[d+8>>2];n[f+12>>2]=e;e=n[d+4>>2];n[f>>2]=n[d>>2];n[f+4>>2]=e;e=n[g+12>>2];n[d+8>>2]=n[g+8>>2];n[d+12>>2]=e;e=n[g+4>>2];n[d>>2]=n[g>>2];n[d+4>>2]=e;e=n[f+12>>2];n[g+8>>2]=n[f+8>>2];n[g+12>>2]=e;e=n[f+4>>2];n[g>>2]=n[f>>2];n[g+4>>2]=e;e=n[a+4>>2];h=n[d+4>>2];if((e|0)>(h|0)?1:(e|0)>=(h|0)?q[a>>2]>=q[d>>2]:0){k=k+3|0;break m}e=a+8|0;h=n[e+4>>2];n[f+8>>2]=n[e>>2];n[f+12>>2]=h;e=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=e;e=n[d+12>>2];n[a+8>>2]=n[d+8>>2];n[a+12>>2]=e;e=n[d+4>>2];n[a>>2]=n[d>>2];n[a+4>>2]=e;e=n[f+12>>2];n[d+8>>2]=n[f+8>>2];n[d+12>>2]=e;e=n[f+4>>2];n[d>>2]=n[f>>2];n[d+4>>2]=e;k=k+4|0;break m}h=n[i>>2];d=n[i+4>>2];j=n[g>>2];k=n[a+4>>2];e=n[g+4>>2];n:{if((k|0)>(e|0)?1:(k|0)>=(e|0)?q[a>>2]>=j>>>0:0){k=0;if((e|0)>(d|0)?1:(e|0)>=(d|0)?j>>>0>=h>>>0:0){break m}d=g+8|0;e=n[d+4>>2];n[f+8>>2]=n[d>>2];n[f+12>>2]=e;d=n[g+4>>2];n[f>>2]=n[g>>2];n[f+4>>2]=d;d=n[i+12>>2];n[g+8>>2]=n[i+8>>2];n[g+12>>2]=d;d=n[i+4>>2];n[g>>2]=n[i>>2];n[g+4>>2]=d;d=n[f+12>>2];n[i+8>>2]=n[f+8>>2];n[i+12>>2]=d;d=n[f+4>>2];n[i>>2]=n[f>>2];n[i+4>>2]=d;k=1;d=n[a+4>>2];e=n[g+4>>2];if((d|0)>(e|0)?1:(d|0)>=(e|0)?q[a>>2]>=q[g>>2]:0){break m}d=a+8|0;e=n[d+4>>2];n[f+8>>2]=n[d>>2];n[f+12>>2]=e;d=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=d;d=n[g+12>>2];n[a+8>>2]=n[g+8>>2];n[a+12>>2]=d;d=n[g+4>>2];n[a>>2]=n[g>>2];n[a+4>>2]=d;d=n[f+12>>2];n[g+8>>2]=n[f+8>>2];n[g+12>>2]=d;d=n[f+4>>2];n[g>>2]=n[f>>2];n[g+4>>2]=d;break n}if((e|0)<(d|0)?1:(e|0)<=(d|0)?j>>>0<h>>>0:0){d=a+8|0;e=n[d+4>>2];n[f+8>>2]=n[d>>2];n[f+12>>2]=e;d=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=d;d=n[i+12>>2];n[a+8>>2]=n[i+8>>2];n[a+12>>2]=d;d=n[i+4>>2];n[a>>2]=n[i>>2];n[a+4>>2]=d;d=n[f+12>>2];n[i+8>>2]=n[f+8>>2];n[i+12>>2]=d;d=n[f+4>>2];n[i>>2]=n[f>>2];n[i+4>>2]=d;k=1;break m}d=a+8|0;e=n[d+4>>2];n[f+8>>2]=n[d>>2];n[f+12>>2]=e;d=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=d;d=g+8|0;e=n[d+4>>2];n[a+8>>2]=n[d>>2];n[a+12>>2]=e;d=n[g+4>>2];n[a>>2]=n[g>>2];n[a+4>>2]=d;d=n[f+12>>2];n[g+8>>2]=n[f+8>>2];n[g+12>>2]=d;d=n[f+4>>2];n[g>>2]=n[f>>2];n[g+4>>2]=d;k=1;d=n[g+4>>2];e=n[i+4>>2];if((d|0)>(e|0)?1:(d|0)>=(e|0)?q[g>>2]>=q[i>>2]:0){break m}d=n[g+12>>2];n[f+8>>2]=n[g+8>>2];n[f+12>>2]=d;d=n[g+4>>2];n[f>>2]=n[g>>2];n[f+4>>2]=d;d=n[i+12>>2];n[g+8>>2]=n[i+8>>2];n[g+12>>2]=d;d=n[i+4>>2];n[g>>2]=n[i>>2];n[g+4>>2]=d;d=n[f+12>>2];n[i+8>>2]=n[f+8>>2];n[i+12>>2]=d;d=n[f+4>>2];n[i>>2]=n[f>>2];n[i+4>>2]=d}k=2}e=i;l=n[g>>2];j=n[a>>2];d=n[g+4>>2];h=n[a+4>>2];if(!((d|0)<(h|0)?1:(d|0)<=(h|0)?l>>>0<j>>>0:0)){while(1){e=e+ -16|0;if((e|0)==(a|0)){d=a+16|0;e=n[i+4>>2];if((e|0)<(h|0)?1:(e|0)<=(h|0)?q[i>>2]<j>>>0:0){break d}if((d|0)==(i|0)){break b}while(1){e=n[d+4>>2];if((e|0)<(h|0)?1:(e|0)<=(h|0)?q[d>>2]<j>>>0:0){e=d+8|0;g=n[e+4>>2];n[f+8>>2]=n[e>>2];n[f+12>>2]=g;e=n[d+4>>2];n[f>>2]=n[d>>2];n[f+4>>2]=e;e=n[i+12>>2];n[d+8>>2]=n[i+8>>2];n[d+12>>2]=e;e=n[i+4>>2];n[d>>2]=n[i>>2];n[d+4>>2]=e;e=n[f+12>>2];n[i+8>>2]=n[f+8>>2];n[i+12>>2]=e;e=n[f+4>>2];n[i>>2]=n[f>>2];n[i+4>>2]=e;d=d+16|0;break d}d=d+16|0;if((i|0)!=(d|0)){continue}break}break b}m=n[e+4>>2];if((d|0)>(m|0)?1:(d|0)>=(m|0)?l>>>0>=q[e>>2]:0){continue}break}d=a+8|0;h=n[d+4>>2];n[f+8>>2]=n[d>>2];n[f+12>>2]=h;d=n[a+4>>2];n[f>>2]=n[a>>2];n[f+4>>2]=d;d=e+8|0;h=n[d+4>>2];n[a+8>>2]=n[d>>2];n[a+12>>2]=h;d=n[e+4>>2];n[a>>2]=n[e>>2];n[a+4>>2]=d;d=n[f+12>>2];n[e+8>>2]=n[f+8>>2];n[e+12>>2]=d;d=n[f+4>>2];n[e>>2]=n[f>>2];n[e+4>>2]=d;k=k+1|0}d=a+16|0;if(d>>>0>=e>>>0){break e}while(1){l=n[g>>2];j=n[g+4>>2];while(1){h=d;d=d+16|0;m=n[h+4>>2];if((j|0)<(m|0)?1:(j|0)<=(m|0)?l>>>0<q[h>>2]:0){continue}break}while(1){e=e+ -16|0;m=n[e+4>>2];if((j|0)>(m|0)?1:(j|0)>=(m|0)?l>>>0>=q[e>>2]:0){continue}break}if(h>>>0>e>>>0){d=h;break e}else{j=n[h+12>>2];n[f+8>>2]=n[h+8>>2];n[f+12>>2]=j;j=n[h+4>>2];n[f>>2]=n[h>>2];n[f+4>>2]=j;j=e+8|0;l=n[j+4>>2];n[h+8>>2]=n[j>>2];n[h+12>>2]=l;j=n[e+4>>2];n[h>>2]=n[e>>2];n[h+4>>2]=j;j=n[f+12>>2];n[e+8>>2]=n[f+8>>2];n[e+12>>2]=j;j=n[f+4>>2];n[e>>2]=n[f>>2];n[e+4>>2]=j;g=(g|0)==(h|0)?e:g;k=k+1|0;continue}}}Ya(a,a+16|0,a+32|0,b+ -16|0);break b}o:{if((d|0)==(g|0)){break o}e=n[d+4>>2];h=n[g+4>>2];if((e|0)>(h|0)?1:(e|0)>=(h|0)?q[d>>2]>=q[g>>2]:0){break o}e=d+8|0;h=n[e+4>>2];n[f+8>>2]=n[e>>2];n[f+12>>2]=h;e=n[d+4>>2];n[f>>2]=n[d>>2];n[f+4>>2]=e;e=g+8|0;h=n[e+4>>2];n[d+8>>2]=n[e>>2];n[d+12>>2]=h;e=n[g+4>>2];n[d>>2]=n[g>>2];n[d+4>>2]=e;e=n[f+12>>2];n[g+8>>2]=n[f+8>>2];n[g+12>>2]=e;e=n[f+4>>2];n[g>>2]=n[f>>2];n[g+4>>2]=e;k=k+1|0}if(!k){h=kc(a,d,c);e=d+16|0;if(kc(e,b,c)){b=d;if(!h){continue a}break b}g=2;if(h){break c}}if((d-a|0)<(b-d|0)){ub(a,d,c);a=d+16|0;continue}ub(d+16|0,b,c);b=d;continue a}g=i;if((g|0)==(d|0)){break b}while(1){k=n[a>>2];h=n[a+4>>2];while(1){e=d;d=d+16|0;j=n[e+4>>2];if((j|0)>(h|0)?1:(j|0)>=(h|0)?q[e>>2]>=k>>>0:0){continue}break}while(1){g=g+ -16|0;j=n[g+4>>2];if((j|0)<(h|0)?1:(j|0)<=(h|0)?q[g>>2]<k>>>0:0){continue}break}if(e>>>0<g>>>0){h=e+8|0;k=n[h+4>>2];n[f+8>>2]=n[h>>2];n[f+12>>2]=k;h=n[e+4>>2];n[f>>2]=n[e>>2];n[f+4>>2]=h;h=g+8|0;k=n[h+4>>2];n[e+8>>2]=n[h>>2];n[e+12>>2]=k;h=n[g+4>>2];n[e>>2]=n[g>>2];n[e+4>>2]=h;e=n[f+12>>2];n[g+8>>2]=n[f+8>>2];n[g+12>>2]=e;e=n[f+4>>2];n[g>>2]=n[f>>2];n[g+4>>2]=e;continue}break}g=4}a=e;if((g|0)==4){continue}switch(g|0){case 0:case 2:continue;default:break b}}break}break}ca=f+16|0}function Pb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=ca-32|0;ca=N;l=n[b>>2];I=l+8|0;p=n[b+4>>2];y=n[l+16>>2];D=n[b+16>>2];r=n[l+20>>2];K=n[b+20>>2];a:{b:{if((y|0)==(D|0)&(r|0)==(K|0)){w=l;a=n[b+8>>2];e=n[b+12>>2];if(!((a|0)!=n[I>>2]|(e|0)!=n[I+4>>2]|(n[p+8>>2]!=(a|0)|n[p+12>>2]!=(e|0))|(n[p+16>>2]!=(y|0)|n[p+20>>2]!=(r|0)))){if((c|0)!=(d|0)){break a}c=p+8|0;while(1){c:{w=n[w+24>>2];if((w|0)==(l|0)){j=y;f=r;break c}j=n[w+16>>2];f=n[w+20>>2];if((a|0)!=n[w+8>>2]|(e|0)!=n[w+12>>2]){break c}if((j|0)==(y|0)&(f|0)==(r|0)){continue}}break}w=p;d:{while(1){w=n[w+24>>2];if((w|0)==(p|0)){if((f|0)>(r|0)?1:(f|0)>=(r|0)?j>>>0>y>>>0:0){break d}break a}h=n[w+16>>2];d=n[w+20>>2];if((y|0)==(h|0)&(r|0)==(d|0)?n[w+8>>2]==(a|0)&n[w+12>>2]==(e|0):0){continue}break}if(((d|0)<(r|0)?1:(d|0)<=(r|0)?h>>>0<=y>>>0:0)^((f|0)>(r|0)?1:(f|0)>=(r|0)?j>>>0>y>>>0:0)){break a}}a=ta(32);e=n[I+12>>2];n[a+16>>2]=n[I+8>>2];n[a+20>>2]=e;d=n[I+4>>2];n[a+8>>2]=n[I>>2];n[a+12>>2]=d;n[a>>2]=n[l>>2];if((f|0)>(r|0)?1:(f|0)>=(r|0)?j>>>0>y>>>0:0){d=n[l+28>>2];n[a+24>>2]=l;n[a+28>>2]=d;n[d+24>>2]=a;n[l+28>>2]=a;e=ta(32);f=e;d=c;c=n[d+12>>2];n[e+16>>2]=n[d+8>>2];n[e+20>>2]=c;e=n[d+4>>2];n[f+8>>2]=n[d>>2];n[f+12>>2]=e;n[f>>2]=n[p>>2];d=n[p+24>>2];n[f+24>>2]=d;n[d+28>>2]=f;n[l+28>>2]=p;n[p+24>>2]=l;n[a+24>>2]=f;n[f+28>>2]=a;break b}d=n[l+24>>2];n[a+28>>2]=l;n[a+24>>2]=d;n[d+28>>2]=a;n[l+24>>2]=a;e=ta(32);f=e;d=c;c=n[d+12>>2];n[e+16>>2]=n[d+8>>2];n[e+20>>2]=c;e=n[d+4>>2];n[f+8>>2]=n[d>>2];n[f+12>>2]=e;n[f>>2]=n[p>>2];d=n[p+28>>2];n[f+28>>2]=d;n[d+24>>2]=f;n[l+24>>2]=p;n[p+28>>2]=l;n[a+28>>2]=f;n[f+24>>2]=a;break b}while(1){h=w;w=n[h+28>>2];if((y|0)==n[w+16>>2]&(r|0)==n[w+20>>2]?!((w|0)==(p|0)|(l|0)==(w|0)):0){continue}break}i=y;k=r;while(1){e:{d=i;e=k;D=l;l=n[l+24>>2];a=(p|0)==(l|0);if(a|(h|0)==(l|0)){break e}i=n[l+16>>2];k=n[l+20>>2];if((d|0)==(i|0)&(e|0)==(k|0)){continue}}break}if(a|(h|0)==(l|0)){break a}a=n[p+16>>2];c=n[p+20>>2];w=p;while(1){g=w;w=n[g+28>>2];if((a|0)==n[w+16>>2]&(c|0)==n[w+20>>2]?!((D|0)==(w|0)|(p|0)==(w|0)):0){continue}break}i=a;k=c;while(1){f:{j=i;f=k;w=p;p=n[p+24>>2];s=(h|0)==(p|0);if(s|(g|0)==(p|0)){break f}i=n[p+16>>2];k=n[p+20>>2];if((j|0)==(i|0)&(f|0)==(k|0)){continue}}break}if(s|(g|0)==(p|0)){break a}t=n[w+8>>2];l=n[w+12>>2];A=n[g+8>>2];s=n[g+12>>2];x=n[h+8>>2];v=n[D+8>>2];m=n[h+12>>2];i=m;q=n[D+12>>2];g:{if((i|0)<(q|0)?1:(i|0)<=(q|0)?x>>>0<v>>>0:0){if((s|0)<(l|0)?1:(s|0)<=(l|0)?A>>>0<t>>>0:0){i=(m|0)<(s|0)?1:(m|0)<=(s|0)?x>>>0<A>>>0:0;z=i?A:x;u=i?s:m;k=(l|0)<(q|0)?1:(l|0)<=(q|0)?t>>>0<v>>>0:0;i=k?t:v;k=k?l:q;break g}i=(m|0)<(l|0)?1:(m|0)<=(l|0)?x>>>0<t>>>0:0;z=i?t:x;u=i?l:m;k=(s|0)<(q|0)?1:(s|0)<=(q|0)?A>>>0<v>>>0:0;i=k?A:v;k=k?s:q;break g}if((s|0)<(l|0)?1:(s|0)<=(l|0)?A>>>0<t>>>0:0){i=(q|0)<(s|0)?1:(q|0)<=(s|0)?v>>>0<A>>>0:0;z=i?A:v;u=i?s:q;k=(l|0)<(m|0)?1:(l|0)<=(m|0)?t>>>0<x>>>0:0;i=k?t:x;k=k?l:m;break g}i=(q|0)<(l|0)?1:(q|0)<=(l|0)?v>>>0<t>>>0:0;z=i?t:v;u=i?l:q;k=(s|0)<(m|0)?1:(s|0)<=(m|0)?A>>>0<x>>>0:0;i=k?A:x;k=k?s:m}p=i;i=k;if((u|0)>(i|0)?1:(u|0)>=(i|0)?z>>>0>=p>>>0:0){break a}h:{if(!(((m|0)>(i|0)?1:(m|0)>=(i|0)?x>>>0>p>>>0:0)|((m|0)<(u|0)?1:(m|0)<=(u|0)?x>>>0<z>>>0:0))){p=h+8|0;j=y;f=r;c=(m|0)>(q|0)?1:(m|0)>=(q|0)?x>>>0>v>>>0:0;break h}if(!(((s|0)>(i|0)?1:(s|0)>=(i|0)?A>>>0>p>>>0:0)|((s|0)<(u|0)?1:(s|0)<=(u|0)?A>>>0<z>>>0:0))){p=g+8|0;j=a;f=c;c=(s|0)>(l|0)?1:(s|0)>=(l|0)?A>>>0>t>>>0:0;break h}if(!(((q|0)>(i|0)?1:(q|0)>=(i|0)?v>>>0>p>>>0:0)|((q|0)<(u|0)?1:(q|0)<=(u|0)?v>>>0<z>>>0:0))){p=D+8|0;j=d;f=e;c=(m|0)<(q|0)?1:(m|0)<=(q|0)?x>>>0<v>>>0:0;break h}p=w+8|0;c=(s|0)<(l|0)?1:(s|0)<=(l|0)?A>>>0<t>>>0:0}d=n[p>>2];e=n[p+4>>2];n[b+4>>2]=g;n[b>>2]=h;a=N;n[a+8>>2]=j;n[a+12>>2]=f;n[a+24>>2]=j;n[a+28>>2]=f;n[a+16>>2]=d;n[a+20>>2]=e;n[a>>2]=d;n[a+4>>2]=e;P=Vc(h,D,g,w,a,c);break a}C=l+24|0;s=n[l+8>>2];H=n[l+12>>2];while(1){i:{w=n[C>>2];e=w;j=n[e+16>>2];E=n[e+20>>2];i=n[e+8>>2];B=n[e+12>>2];if((s|0)!=(i|0)|(H|0)!=(B|0)|(e|0)==(l|0)){break i}C=w+24|0;if((j|0)==(y|0)&(r|0)==(E|0)){continue}}break}j:{k:{if((r|0)<(E|0)?1:(r|0)<=(E|0)?y>>>0<j>>>0:0){break k}e=y;f=j;k=e-f|0;x=r-((e>>>0<f>>>0)+E|0)|0;e=i;A=n[b+8>>2];f=A;t=e-f|0;G=n[b+12>>2];v=B-(G+(e>>>0<f>>>0)|0)|0;if(o[a+20|0]){f=v;h=f;e=f>>31;f=f>>31;h=e+h|0;m=f+t|0;if(m>>>0<f>>>0){h=h+1|0}g=f^m;m=e^h;e=0;L=e;q=g;C=g;e=x;f=e;h=e>>31;e=e>>31;f=f+h|0;F=e+k|0;if(F>>>0<e>>>0){f=f+1|0}e=e^F;F=f^h;f=Uf(C,u,F,0);h=da;g=f;J=m;C=e;t=0;f=Uf(m,0,e,t);e=g+f|0;g=da+h|0;m=e;g=e>>>0<f>>>0?g+1|0:g;u=Uf(J,z,F,u);e=u+g|0;g=da;f=e;e=e>>>0<u>>>0?g+1|0:g;k=f;g=m;m=0;q=Uf(q,L,C,t);f=m+q|0;h=da+g|0;h=f>>>0<q>>>0?h+1|0:h;z=f;u=h;f=(g|0)==(h|0)&f>>>0<m>>>0|h>>>0<g>>>0;h=k+f|0;if(h>>>0<f>>>0){e=e+1|0}m=h;q=e;if((x>>>31|0)!=(v>>>31|0)){e=m;f=!(u|z);m=f?0-e|0:e^-1;q=f?0-((0<e>>>0)+q|0)|0:q^-1;e=z;z=0-e|0;u=0-((0<e>>>0)+u|0)|0}f=s;e=H-((f>>>0<i>>>0)+B|0)|0;t=f-i|0;v=e;g=e;f=e>>31;e=e>>31;g=f+g|0;i=e+t|0;if(i>>>0<e>>>0){g=g+1|0}i=e^i;k=f^g;f=0;B=f;g=D;e=E-((j>>>0<g>>>0)+K|0)|0;x=j-g|0;C=e;E=e;g=e>>31;e=e>>31;t=k;h=g+E|0;j=e+x|0;if(j>>>0<e>>>0){h=h+1|0}L=e^j;F=0;f=Uf(t,f,L,F);j=da;J=0;t=J;E=i;J=g^h;e=0;h=Uf(i,t,J,e);f=h+f|0;g=da+j|0;i=f;g=f>>>0<h>>>0?g+1|0:g;f=g;g=Uf(J,e,k,B);e=f+g|0;f=da;h=e;e=e>>>0<g>>>0?f+1|0:f;k=h;g=i;i=0;j=Uf(E,t,L,F);f=i+j|0;h=g;g=g+da|0;g=f>>>0<j>>>0?g+1|0:g;j=f;f=g;h=(h|0)==(f|0)&j>>>0<i>>>0|f>>>0<h>>>0;g=k+h|0;if(g>>>0<h>>>0){e=e+1|0}i=g;k=e;if((v>>>31|0)!=(C>>>31|0)){e=i;h=!(f|j);i=h?0-e|0:e^-1;k=h?0-((0<e>>>0)+k|0)|0:k^-1;e=j;j=0-e|0;f=0-((0<e>>>0)+f|0)|0}if((i|0)!=(m|0)|(k|0)!=(q|0)){break k}if((j|0)==(z|0)&(f|0)==(u|0)){break j}break k}e=Uf(k,x,t,v);f=da;h=e;e=s;g=e-i|0;i=H-((e>>>0<i>>>0)+B|0)|0;e=D;if((h|0)!=(Uf(g,i,j-e|0,E-((j>>>0<e>>>0)+K|0)|0)|0)|(da|0)!=(f|0)){break k}O=1;break j}w=l;while(1){l:{w=n[w+28>>2];e=w;j=n[e+16>>2];v=n[e+20>>2];i=n[e+8>>2];x=n[e+12>>2];if((s|0)!=(i|0)|(H|0)!=(x|0)|(e|0)==(l|0)){break l}if((j|0)==(y|0)&(r|0)==(v|0)){continue}}break}if((r|0)<(v|0)?1:(r|0)<=(v|0)?y>>>0<j>>>0:0){break a}e=j;k=y-e|0;z=r-((y>>>0<e>>>0)+v|0)|0;e=i;A=n[b+8>>2];f=A;y=e-f|0;G=n[b+12>>2];t=x-(G+(e>>>0<f>>>0)|0)|0;if(o[a+20|0]){a=t;e=a>>31;g=a>>31;a=g+a|0;h=e+y|0;if(h>>>0<e>>>0){a=a+1|0}f=e^h;g=a^g;a=0;C=a;m=f;u=f;r=a;e=z;h=e;a=e>>31;e=e>>31;h=a+h|0;B=e+k|0;if(B>>>0<e>>>0){h=h+1|0}e=e^B;B=a^h;q=0;a=Uf(u,r,B,q);r=da;E=g;f=0;u=e;e=Uf(g,f,e,0);a=e+a|0;g=da+r|0;g=a>>>0<e>>>0?g+1|0:g;e=g;g=Uf(E,f,B,q);f=e+g|0;e=da;h=f;f=f>>>0<g>>>0?e+1|0:e;k=h;g=a;h=0;r=Uf(m,C,u,M);e=h+r|0;a=da+a|0;a=e>>>0<r>>>0?a+1|0:a;m=e;q=a;a=(g|0)==(a|0)&e>>>0<h>>>0|a>>>0<g>>>0;e=k+a|0;if(e>>>0<a>>>0){f=f+1|0}r=e;u=f;if((z>>>31|0)!=(t>>>31|0)){a=r;e=!(m|q);r=e?0-a|0:a^-1;u=e?0-((0<a>>>0)+u|0)|0:u^-1;a=m;m=0-a|0;q=0-((0<a>>>0)+q|0)|0}a=H-((s>>>0<i>>>0)+x|0)|0;z=a;e=a;h=a>>31;a=a>>31;e=e+h|0;g=a+(s-i|0)|0;if(g>>>0<a>>>0){e=e+1|0}f=a^g;i=e^h;h=0;k=h;e=D;a=v-((j>>>0<e>>>0)+K|0)|0;s=j-e|0;t=a;e=a>>31;y=i;g=a>>31;a=g+a|0;j=e+s|0;if(j>>>0<e>>>0){a=a+1|0}v=e^j;C=0;h=Uf(y,h,v,C);j=da;B=0;e=h;x=f;h=a^g;f=0;g=Uf(x,B,h,f);a=e+g|0;e=da+j|0;j=a;e=a>>>0<g>>>0?e+1|0:e;f=Uf(h,f,i,k);e=f+e|0;h=da;a=e;f=a>>>0<f>>>0?h+1|0:h;y=a;e=j;h=0;j=Uf(x,B,v,C);a=h+j|0;g=da+e|0;g=a>>>0<j>>>0?g+1|0:g;i=a;k=g;a=(e|0)==(g|0)&a>>>0<h>>>0|g>>>0<e>>>0;e=y+a|0;if(e>>>0<a>>>0){f=f+1|0}j=e;if((z>>>31|0)!=(t>>>31|0)){a=j;e=!(i|k);j=e?0-a|0:a^-1;f=e?0-((0<a>>>0)+f|0)|0:f^-1;a=i;i=0-a|0;k=0-((0<a>>>0)+k|0)|0}if((j|0)!=(r|0)|(f|0)!=(u|0)){break a}M=1;if((i|0)==(m|0)&(k|0)==(q|0)){break j}break a}O=1;M=1;a=Uf(y,t,k,z);e=da;f=a;a=D;if((f|0)!=(Uf(s-i|0,H-((s>>>0<i>>>0)+x|0)|0,j-a|0,v-((j>>>0<a>>>0)+K|0)|0)|0)|(da|0)!=(e|0)){break a}}a=p+24|0;s=n[p+16>>2];E=n[p+20>>2];y=n[p+8>>2];H=n[p+12>>2];while(1){m:{C=n[a>>2];a=C;j=n[a+16>>2];v=n[a+20>>2];i=n[a+8>>2];B=n[a+12>>2];if((y|0)!=(i|0)|(H|0)!=(B|0)|(a|0)==(p|0)){break m}a=C+24|0;if((j|0)==(s|0)&(v|0)==(E|0)){continue}}break}n:{o:{if((E|0)<(v|0)?1:(E|0)<=(v|0)?s>>>0<j>>>0:0){break o}a=i;e=A;k=a-e|0;t=B-((a>>>0<e>>>0)+G|0)|0;a=s;e=j;r=a-e|0;x=E-((a>>>0<e>>>0)+v|0)|0;if(!O){a=t;f=a;h=a>>31;a=a>>31;g=f+h|0;f=a+k|0;if(f>>>0<a>>>0){g=g+1|0}f=a^f;h=g^h;a=0;L=a;q=f;z=f;m=a;a=x;e=a;g=a>>31;a=a>>31;e=e+g|0;F=a+r|0;if(F>>>0<a>>>0){e=e+1|0}a=a^F;F=e^g;u=0;e=Uf(z,m,F,u);g=da;f=0;z=a;J=0;m=Uf(h,f,a,J);e=m+e|0;a=da+g|0;a=e>>>0<m>>>0?a+1|0:a;h=Uf(h,f,F,u);a=h+a|0;f=da;f=a>>>0<h>>>0?f+1|0:f;h=f;k=a;a=e;f=0;m=Uf(q,L,z,J);e=f+m|0;g=da+a|0;g=e>>>0<m>>>0?g+1|0:g;z=e;u=g;a=(a|0)==(g|0)&e>>>0<f>>>0|g>>>0<a>>>0;e=k+a|0;if(e>>>0<a>>>0){h=h+1|0}m=e;q=h;if((x>>>31|0)!=(t>>>31|0)){a=m;e=!(u|z);m=e?0-a|0:a^-1;q=e?0-((0<a>>>0)+q|0)|0:q^-1;a=z;z=0-a|0;u=0-((0<a>>>0)+u|0)|0}e=y;a=H-((e>>>0<i>>>0)+B|0)|0;r=e-i|0;x=a;f=a;e=a>>31;a=a>>31;f=e+f|0;g=a+r|0;if(g>>>0<a>>>0){f=f+1|0}h=a^g;i=e^f;e=0;k=e;g=e;a=D;e=v-((j>>>0<a>>>0)+K|0)|0;t=j-a|0;v=e;a=e>>31;e=e>>31;r=i;f=g;g=a+v|0;j=e+t|0;if(j>>>0<e>>>0){g=g+1|0}L=e^j;F=0;f=Uf(r,f,L,F);j=da;t=0;B=h;e=a^g;h=0;g=Uf(B,J,e,h);a=g+f|0;f=da+j|0;f=a>>>0<g>>>0?f+1|0:f;h=Uf(e,h,i,k);f=h+f|0;e=da;e=f>>>0<h>>>0?e+1|0:e;h=e;r=f;f=a;g=0;j=Uf(B,t,L,F);e=g+j|0;a=da+a|0;a=e>>>0<j>>>0?a+1|0:a;i=e;k=a;a=(f|0)==(a|0)&e>>>0<g>>>0|a>>>0<f>>>0;e=r+a|0;if(e>>>0<a>>>0){h=h+1|0}j=e;f=h;if((x>>>31|0)!=(v>>>31|0)){a=j;e=!(i|k);j=e?0-a|0:a^-1;f=e?0-((0<a>>>0)+f|0)|0:f^-1;a=i;i=0-a|0;k=0-((0<a>>>0)+k|0)|0}if((j|0)!=(m|0)|(f|0)!=(q|0)){break o}a=0;if((i|0)!=(z|0)|(k|0)!=(u|0)){break o}break n}a=0;e=Uf(k,t,r,x);f=da;h=e;e=y;g=e-i|0;i=H-((e>>>0<i>>>0)+B|0)|0;e=D;if((h|0)==(Uf(g,i,j-e|0,v-((j>>>0<e>>>0)+K|0)|0)|0)&(da|0)==(f|0)){break n}}C=p;while(1){p:{C=n[C+28>>2];a=C;j=n[a+16>>2];t=n[a+20>>2];i=n[a+8>>2];x=n[a+12>>2];if((y|0)!=(i|0)|(H|0)!=(x|0)|(a|0)==(p|0)){break p}if((j|0)==(s|0)&(t|0)==(E|0)){continue}}break}if((E|0)<(t|0)?1:(E|0)<=(t|0)?s>>>0<j>>>0:0){break a}a=i;k=a-A|0;m=x-((a>>>0<A>>>0)+G|0)|0;a=s;e=j;s=a-e|0;q=E-((a>>>0<e>>>0)+t|0)|0;if(!O){a=m;e=a>>31;a=a>>31;h=e;g=m+e|0;f=a+k|0;if(f>>>0<a>>>0){g=g+1|0}e=a^f;h=g^h;a=0;v=a;A=e;z=e;r=a;a=q;f=a;g=a>>31;a=a>>31;f=f+g|0;G=a+s|0;if(G>>>0<a>>>0){f=f+1|0}a=a^G;G=f^g;u=0;f=Uf(z,r,G,u);g=da;k=f;e=0;z=a;B=0;f=Uf(h,e,a,B);a=k+f|0;g=da+g|0;g=a>>>0<f>>>0?g+1|0:g;f=g;g=Uf(h,e,G,u);e=f+g|0;h=da;f=e;e=e>>>0<g>>>0?h+1|0:h;k=f;h=0;r=Uf(z,B,A,v);f=h+r|0;g=a+da|0;g=f>>>0<r>>>0?g+1|0:g;A=f;G=g;a=(a|0)==(g|0)&f>>>0<h>>>0|g>>>0<a>>>0;f=k+a|0;if(f>>>0<a>>>0){e=e+1|0}r=f;u=e;if((q>>>31|0)!=(m>>>31|0)){a=r;e=!(A|G);r=e?0-a|0:a^-1;u=e?0-((0<a>>>0)+u|0)|0:u^-1;a=A;A=0-a|0;G=0-((0<a>>>0)+G|0)|0}a=H-((y>>>0<i>>>0)+x|0)|0;y=y-i|0;s=a;h=a;f=a>>31;a=a>>31;h=f+h|0;g=a+y|0;if(g>>>0<a>>>0){h=h+1|0}e=a^g;i=f^h;f=0;k=f;a=t-((j>>>0<D>>>0)+K|0)|0;D=j-D|0;m=a;g=a>>31;a=a>>31;q=i;h=f;f=g;g=f+m|0;j=a+D|0;if(j>>>0<a>>>0){g=g+1|0}z=a^j;t=0;h=Uf(q,h,z,t);j=da;x=0;v=x;q=e;f=f^g;e=0;g=Uf(q,v,f,e);a=g+h|0;h=da+j|0;h=a>>>0<g>>>0?h+1|0:h;g=h;h=Uf(f,e,i,k);e=g+h|0;f=da;f=e>>>0<h>>>0?f+1|0:f;h=e;e=f;D=h;h=a;f=0;j=Uf(q,v,z,t);a=f+j|0;g=da+h|0;g=a>>>0<j>>>0?g+1|0:g;i=a;k=g;a=(h|0)==(g|0)&a>>>0<f>>>0|g>>>0<h>>>0;f=D+a|0;if(f>>>0<a>>>0){e=e+1|0}j=f;f=e;if((s>>>31|0)!=(m>>>31|0)){a=j;e=!(i|k);j=e?0-a|0:a^-1;f=e?0-((0<a>>>0)+f|0)|0:f^-1;a=i;i=0-a|0;k=0-((0<a>>>0)+k|0)|0}if((j|0)!=(r|0)|(f|0)!=(u|0)){break a}a=1;if((i|0)==(A|0)&(k|0)==(G|0)){break n}break a}a=1;e=Uf(k,m,s,q);f=da;if((Uf(y-i|0,H-((y>>>0<i>>>0)+x|0)|0,j-D|0,t-((j>>>0<D>>>0)+K|0)|0)|0)!=(e|0)|(da|0)!=(f|0)){break a}}if((w|0)==(C|0)|(l|0)==(w|0)|((p|0)==(C|0)|(a^M?0:(c|0)==(d|0)))){break a}c=p+8|0;a=ta(32);e=n[I+12>>2];n[a+16>>2]=n[I+8>>2];n[a+20>>2]=e;d=n[I+4>>2];n[a+8>>2]=n[I>>2];n[a+12>>2]=d;n[a>>2]=n[l>>2];q:{if(M){d=n[l+28>>2];n[a+24>>2]=l;n[a+28>>2]=d;n[d+24>>2]=a;n[l+28>>2]=a;e=ta(32);f=e;d=c;c=n[d+12>>2];n[e+16>>2]=n[d+8>>2];n[e+20>>2]=c;e=n[d+4>>2];n[f+8>>2]=n[d>>2];n[f+12>>2]=e;n[f>>2]=n[p>>2];d=n[p+24>>2];n[f+24>>2]=d;n[d+28>>2]=f;n[l+28>>2]=p;n[p+24>>2]=l;n[a+24>>2]=f;n[f+28>>2]=a;break q}d=n[l+24>>2];n[a+28>>2]=l;n[a+24>>2]=d;n[d+28>>2]=a;n[l+24>>2]=a;e=ta(32);f=e;d=c;c=n[d+12>>2];n[e+16>>2]=n[d+8>>2];n[e+20>>2]=c;e=n[d+4>>2];n[f+8>>2]=n[d>>2];n[f+12>>2]=e;n[f>>2]=n[p>>2];d=n[p+28>>2];n[f+28>>2]=d;n[d+24>>2]=f;n[l+24>>2]=p;n[p+28>>2]=l;n[a+28>>2]=f;n[f+24>>2]=a}}n[b+4>>2]=a;P=1}ca=N+32|0;return P}function Sa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,p=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;a:{b:{c:{d:{e:{W=d^1;if(!(W?(c|0)==1:0)){g=n[b>>2];h=n[b+4>>2]-g|0;e=h>>4;b=e+ -1|0;f:{if(!d|(h|0)<17){break f}h=(h|0)<32?e+ -2|0:0;f=n[g+8>>2];i=n[g+12>>2];j=n[g>>2];k=n[g+4>>2];while(1){e=g+(b<<4)|0;if((j|0)!=n[e>>2]|(k|0)!=n[e+4>>2]|((f|0)!=n[e+8>>2]|(i|0)!=n[e+12>>2])){break f}e=(b|0)>1;b=b+ -1|0;if(e){continue}break}b=h}e=b>>31&b;while(1){g:{h=b;if((b|0)<1){h=e;break g}f=g+(h<<4)|0;b=h+ -1|0;i=g+(b<<4)|0;if(n[f>>2]!=n[i>>2]|n[f+4>>2]!=n[i+4>>2]){break g}if(n[f+8>>2]==n[i+8>>2]&n[f+12>>2]==n[i+12>>2]){continue}}break}b=0;if(d?(h|0)<2:(h|0)<1){break d}e=h+1|0;i=ta((Z=-1,_=Uf(e,0,112,0),$=da,$?Z:_));if(e>>>0>=h>>>0){e=i+t(e,112)|0;b=i;while(1){n[b>>2]=0;n[b+4>>2]=0;n[b+40>>2]=0;n[b+44>>2]=0;n[b+32>>2]=0;n[b+36>>2]=0;n[b+24>>2]=0;n[b+28>>2]=0;n[b+16>>2]=0;n[b+20>>2]=0;n[b+8>>2]=0;n[b+12>>2]=0;b=b+112|0;if((e|0)!=(b|0)){continue}break}}b=n[g+20>>2];n[i+128>>2]=n[g+16>>2];n[i+132>>2]=b;b=n[g+28>>2];n[i+136>>2]=n[g+24>>2];n[i+140>>2]=b;f=n[g>>2];b=n[g+4>>2];h:{i:{j:{k:{if(!o[a+20|0]){e=n[g+12>>2];j=n[g+8>>2]+1073741823|0;if(j>>>0<1073741823){e=e+1|0}m=!e&j>>>0<=2147483646|e>>>0<0;e=b;j=f+1073741823|0;if(j>>>0<1073741823){e=e+1|0}if(!e&j>>>0<2147483647|e>>>0<0?m:0){break k}l[a+20|0]=1}if((b|0)>2097151|((b|0)<-2097152?1:(b|0)<=-2097152?f>>>0<1:0)){break h}b=n[g+12>>2]+2097151|0;e=n[g+8>>2]+ -1|0;if((e|0)!=-1){b=b+1|0}if((b|0)==4194303&e>>>0>=4294967295|b>>>0>4194303){break h}b=g+(h<<4)|0;k=n[b>>2];b=n[b+4>>2];break j}f=g+(h<<4)|0;k=n[f>>2];b=n[f+4>>2];e=n[f+12>>2];f=n[f+8>>2]+1073741823|0;if(f>>>0<1073741823){e=e+1|0}if(!e&f>>>0<=2147483646|e>>>0<0){j=0;f=b;e=k+1073741823|0;if(e>>>0<1073741823){f=f+1|0}if(!f&e>>>0<=2147483646|f>>>0<0){break i}l[a+20|0]=1;break j}l[a+20|0]=1}if((b|0)>2097151|((b|0)<-2097152?1:(b|0)<=-2097152?k>>>0<1:0)){break a}j=1;e=g+(h<<4)|0;b=n[e+8>>2]+ -1|0;f=n[e+12>>2]+2097151|0;f=(b|0)!=-1?f+1|0:f;if((f|0)==4194303&b>>>0>=4294967295|f>>>0>4194303){break a}}w=Ha(i,112);n[w+80>>2]=w+112;b=w+t(h,112)|0;n[w+84>>2]=b;e=n[g+4>>2];n[w+16>>2]=n[g>>2];n[w+20>>2]=e;e=n[g+12>>2];n[w+24>>2]=n[g+8>>2];n[w+28>>2]=e;n[w+76>>2]=-1;b=Ha(b,112);n[b+84>>2]=b+ -112;n[b+80>>2]=w;e=g+(h<<4)|0;f=n[e+4>>2];n[b+16>>2]=n[e>>2];n[b+20>>2]=f;f=n[e+12>>2];n[b+24>>2]=n[e+8>>2];n[b+28>>2]=f;n[b+76>>2]=-1;if((h|0)>1){h=h+ -1|0;while(1){i=g+(h<<4)|0;b=i;f=n[b>>2];b=n[b+4>>2];l:{if(!(j&255)){e=n[i+12>>2];j=n[i+8>>2]+1073741823|0;if(j>>>0<1073741823){e=e+1|0}if(!e&j>>>0<=2147483646|e>>>0<0){j=0;e=b;k=f+1073741823|0;if(k>>>0<1073741823){e=e+1|0}if(!e&k>>>0<2147483647|e>>>0<0){break l}}l[a+20|0]=1;j=1}if((b|0)>2097151|((b|0)<-2097152?1:(b|0)<=-2097152?f>>>0<1:0)){break a}f=n[i+12>>2]+2097151|0;b=n[i+8>>2]+ -1|0;if((b|0)!=-1){f=f+1|0}if((f|0)==4194303&b>>>0>=4294967295|f>>>0>4194303){break a}}b=Ha(w+t(h,112)|0,112);n[b+84>>2]=b+ -112;n[b+80>>2]=b+112;e=n[i+4>>2];n[b+16>>2]=n[i>>2];n[b+20>>2]=e;e=n[i+12>>2];n[b+24>>2]=n[i+8>>2];n[b+28>>2]=e;n[b+76>>2]=-1;b=(h|0)>1;h=h+ -1|0;if(b){continue}break}}b=w;i=b;m:{n:while(1){e=n[i+24>>2];f=n[i+28>>2];g=n[i+16>>2];y=n[i+20>>2];h=i;while(1){o:{p=n[h+80>>2];j=n[p+24>>2];v=n[p+28>>2];p:{q:{r:{s:{t:{u:{k=n[p+16>>2];z=n[p+20>>2];if(!((k|0)!=(g|0)|(z|0)!=(y|0)|((e|0)!=(j|0)|(f|0)!=(v|0)))){if(W&(b|0)==(p|0)){break u}if((h|0)==(p|0)){break s}e=n[h+84>>2];n[e+80>>2]=p;i=n[h+80>>2];n[i+84>>2]=e;n[h+84>>2]=0;b=(b|0)==(h|0)?p:b;continue n}J=n[h+84>>2];if((J|0)==(p|0)){break s}if(!d){break r}y=n[h+16>>2];f=y;e=k;r=f-e|0;D=n[h+20>>2];Q=D-((f>>>0<e>>>0)+z|0)|0;T=n[J+24>>2];e=T;B=n[h+24>>2];f=B;u=e-f|0;R=n[J+28>>2];E=n[h+28>>2];F=R-(E+(e>>>0<f>>>0)|0)|0;G=n[J+16>>2];K=n[J+20>>2];v:{if(o[a+20|0]){e=Q;g=e>>31;f=e>>31;e=f+e|0;x=g+r|0;if(x>>>0<g>>>0){e=e+1|0}m=g^x;x=e^f;e=0;L=e;M=m;r=m;A=e;f=F;g=f>>31;e=f>>31;f=e+f|0;u=g+u|0;if(u>>>0<g>>>0){f=f+1|0}g=g^u;u=e^f;e=Uf(r,A,u,0);I=da;m=x;H=0;r=g;U=0;g=Uf(m,H,g,U);f=g+e|0;e=da+I|0;x=f;e=f>>>0<g>>>0?e+1|0:e;A=Uf(m,H,u,A);e=A+e|0;g=da;g=e>>>0<A>>>0?g+1|0:g;f=g;H=e;e=x;A=0;x=Uf(r,U,M,L);m=A+x|0;g=e;e=e+da|0;e=m>>>0<x>>>0?e+1|0:e;x=m;M=e;e=(g|0)==(e|0)&m>>>0<A>>>0|e>>>0<g>>>0;g=H+e|0;if(g>>>0<e>>>0){f=f+1|0}A=g;H=f;if((F>>>31|0)!=(Q>>>31|0)){e=A;f=!(x|M);A=f?0-e|0:e^-1;H=f?0-((0<e>>>0)+H|0)|0:H^-1;e=x;x=0-e|0;M=0-((0<e>>>0)+M|0)|0}f=B;g=j;e=E-((f>>>0<g>>>0)+v|0)|0;r=f-g|0;Q=e;g=e;f=e>>31;e=e>>31;g=f+g|0;F=e+r|0;if(F>>>0<e>>>0){g=g+1|0}m=e^F;g=f^g;e=0;U=e;L=m;r=e;e=G;f=K-((e>>>0<y>>>0)+D|0)|0;u=e-y|0;F=f;e=f>>31;f=f>>31;I=e;e=e+F|0;S=f+u|0;if(S>>>0<f>>>0){e=e+1|0}f=f^S;S=e^I;u=0;e=Uf(m,r,S,u);r=da;X=g;I=0;m=f;f=Uf(g,I,f,0);e=f+e|0;g=da+r|0;r=e;g=e>>>0<f>>>0?g+1|0:g;u=Uf(X,I,S,u);g=u+g|0;f=da;f=g>>>0<u>>>0?f+1|0:f;I=g;u=0;L=Uf(L,U,m,Y);m=u+L|0;e=da+e|0;e=m>>>0<L>>>0?e+1|0:e;g=m;m=e;e=(r|0)==(e|0)&g>>>0<u>>>0|e>>>0<r>>>0;r=I+e|0;if(r>>>0<e>>>0){f=f+1|0}e=r;if((F>>>31|0)!=(Q>>>31|0)){u=!(g|m);e=u?0-e|0:e^-1;f=u?0-((0<r>>>0)+f|0)|0:f^-1;r=g;g=0-g|0;m=0-((0<r>>>0)+m|0)|0}if((e|0)!=(A|0)|(f|0)!=(H|0)){break t}if((g|0)==(x|0)&(m|0)==(M|0)){break v}break t}e=Uf(r,Q,u,F);g=da;m=e;e=B;f=j;r=e-f|0;x=E-((e>>>0<f>>>0)+v|0)|0;e=G;f=y;if((m|0)!=(Uf(r,x,e-f|0,K-((e>>>0<f>>>0)+D|0)|0)|0)|(da|0)!=(g|0)){break t}}w:{if(!o[a+36|0]|((j|0)==(T|0)&(v|0)==(R|0)?(k|0)==(G|0)&(z|0)==(K|0):0)|(((B|0)==(T|0)&(E|0)==(R|0)?(y|0)==(G|0)&(D|0)==(K|0):0)|((j|0)==(B|0)&(v|0)==(E|0)?(k|0)==(y|0)&(z|0)==(D|0):0))){break w}if((k|0)!=(G|0)|(z|0)!=(K|0)){if(!(((D|0)<(z|0)?1:(D|0)<=(z|0)?y>>>0<k>>>0:0)^((K|0)>(D|0)?1:(K|0)>=(D|0)?G>>>0>=y>>>0:0))){break w}break t}if(((E|0)<(v|0)?1:(E|0)<=(v|0)?B>>>0<j>>>0:0)^((R|0)>(E|0)?1:(R|0)>=(E|0)?T>>>0>=B>>>0:0)){break t}}n[J+80>>2]=p;e=n[h+80>>2];n[e+84>>2]=J;n[h+84>>2]=0;b=(b|0)==(h|0)?p:b;i=n[e+84>>2];continue n}if(n[h+84>>2]==(b|0)){break o}}if((i|0)!=(p|0)){break q}h=i}if(!d){break o}if(n[h+84>>2]==n[h+80>>2]){break c}break m}if((i|0)!=(p|0)){break p}h=i;break o}e=j;f=v;g=k;y=z;h=p;if(d){continue}}e=j;f=v;g=k;y=z;h=p;if(n[h+80>>2]!=(b|0)){continue}}break}break}if(n[h+80>>2]==(h|0)){break c}l[a+37|0]=1;n[n[b+84>>2]+76>>2]=-2}j=1;e=b;x:{y:{while(1){h=n[e+80>>2];i=h;f=n[e+28>>2];g=n[h+28>>2];z:{if((f|0)>(g|0)?1:(f|0)>=(g|0)?q[e+24>>2]>=q[h+24>>2]:0){f=n[e+20>>2];n[e>>2]=n[e+16>>2];n[e+4>>2]=f;f=n[e+28>>2];n[e+8>>2]=n[e+24>>2];n[e+12>>2]=f;f=e+32|0;break z}f=n[e+20>>2];n[e+32>>2]=n[e+16>>2];n[e+36>>2]=f;f=n[e+28>>2];n[e+40>>2]=n[e+24>>2];n[e+44>>2]=f;f=e}g=n[h+20>>2];n[f>>2]=n[h+16>>2];n[f+4>>2]=g;g=n[i+28>>2];n[f+8>>2]=n[i+24>>2];n[f+12>>2]=g;i=n[e+40>>2];