UNPKG

@jdultra/threedtiles

Version:

An OGC 3DTiles viewer for Three.js

1 lines 634 kB
var DracoDecoderModule=(()=>{var r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return"undefined"!=typeof __filename&&(r=r||__filename),function(e={}){var a,i,f=void 0!==e?e:{};f.ready=new Promise((function(r,e){a=r,i=e}));var t=!1,o=!1;f.onRuntimeInitialized=function(){t=!0,o&&"function"==typeof f.onModuleLoaded&&f.onModuleLoaded(f)},f.onModuleParsed=function(){o=!0,t&&"function"==typeof f.onModuleLoaded&&f.onModuleLoaded(f)},f.isVersionSupported=function isVersionSupported(r){if("string"!=typeof r)return!1;const e=r.split(".");return!(e.length<2||e.length>3)&&(1==e[0]&&e[1]>=0&&e[1]<=5||!(0!=e[0]||e[1]>10))};var b,n,A,k=Object.assign({},f),u="object"==typeof window,s="function"==typeof importScripts,_="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,d="";if(_){var m=require("fs"),R=require("path");d=s?R.dirname(d)+"/":__dirname+"/",b=(r,e)=>{var a=tryParseAsDataURI(r);return a?e?a:a.toString():(r=isFileURI(r)?new URL(r):R.normalize(r),m.readFileSync(r,e?void 0:"utf8"))},A=r=>{var e=b(r,!0);return e.buffer||(e=new Uint8Array(e)),e},n=(r,e,a)=>{var i=tryParseAsDataURI(r);i&&e(i),r=isFileURI(r)?new URL(r):R.normalize(r),m.readFile(r,(function(r,i){r?a(r):e(i.buffer)}))},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),f.inspect=function(){return"[Emscripten Module object]"}}else(u||s)&&(s?d=self.location.href:"undefined"!=typeof document&&document.currentScript&&(d=document.currentScript.src),r&&(d=r),d=0!==d.indexOf("blob:")?d.substr(0,d.replace(/[?#].*/,"").lastIndexOf("/")+1):"",b=r=>{try{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText}catch(e){var a=tryParseAsDataURI(r);if(a)return function intArrayToString(r){for(var e=[],a=0;a<r.length;a++){var i=r[a];i>255&&(i&=255),e.push(String.fromCharCode(i))}return e.join("")}(a);throw e}},s&&(A=r=>{try{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var a=tryParseAsDataURI(r);if(a)return a;throw e}}),n=(r,e,a)=>{var i=new XMLHttpRequest;i.open("GET",r,!0),i.responseType="arraybuffer",i.onload=()=>{if(200==i.status||0==i.status&&i.response)e(i.response);else{var f=tryParseAsDataURI(r);f?e(f.buffer):a()}},i.onerror=a,i.send(null)},r=>document.title=r);var h,j=f.print||console.log.bind(console),D=f.printErr||console.warn.bind(console);Object.assign(f,k),k=null,f.arguments&&f.arguments,f.thisProgram&&f.thisProgram,f.quit&&f.quit,f.wasmBinary&&(h=f.wasmBinary);var U,T=f.noExitRuntime||!0,N={Memory:function(r){this.buffer=new ArrayBuffer(65536*r.initial)},Module:function(r){},Instance:function(r,e){this.exports=function instantiate(r){for(var e,a=new Uint8Array(123),i=25;i>=0;--i)a[48+i]=52+i,a[65+i]=i,a[97+i]=26+i;function l(r,e,i){for(var f,t,o=0,b=e,n=i.length,A=e+(3*n>>2)-("="==i[n-2])-("="==i[n-1]);o<n;o+=4)f=a[i.charCodeAt(o+1)],t=a[i.charCodeAt(o+2)],r[b++]=a[i.charCodeAt(o)]<<2|f>>4,b<A&&(r[b++]=f<<4|t>>2),b<A&&(r[b++]=t<<6|a[i.charCodeAt(o+3)])}a[43]=62,a[47]=63;var f=new ArrayBuffer(16),t=new Int32Array(f),o=new Float32Array(f);new Float64Array(f);function v(){throw new Error("abort")}function w(r){o[2]=r}function y(r){return t[r]}return function ma(r){var a=r.a,i=a.a,f=i.buffer;i.grow=function ka(r){r|=0;var a=0|fa(),t=a+r|0;if(a<t&&t<65536){var o=new ArrayBuffer(m(t,65536));new Int8Array(o).set(b),b=new Int8Array(o),n=new Int16Array(o),A=new Int32Array(o),k=new Uint8Array(o),u=new Uint16Array(o),s=new Uint32Array(o),_=new Float32Array(o),d=new Float64Array(o),f=o,i.buffer=f,e=k}return a};var b=new Int8Array(f),n=new Int16Array(f),A=new Int32Array(f),k=new Uint8Array(f),u=new Uint16Array(f),s=new Uint32Array(f),_=new Float32Array(f),d=new Float64Array(f),m=Math.imul,R=Math.fround,h=Math.abs,j=Math.clz32,D=Math.min,U=Math.max,T=Math.floor,N=Math.ceil,V=(Math.trunc,Math.sqrt),W=a.b,G=a.c,Z=a.d,F=a.e,B=a.f,I=a.g,E=a.h,Q=83232,Y=0;function Ud(r,e,a){var i,f=0,t=0,o=0,b=0,n=0,u=0,_=0,d=0,R=0,h=0,D=0,U=0,T=0,N=0,V=0,W=0,G=0,Z=0,F=0,B=0,I=0,E=0,Y=0;Q=i=Q-672|0,d=A[e+8>>2],W=A[e+12>>2],f=A[e+20>>2];r:{e:{a:if(!((b=(t=A[e+16>>2])+4|0)>>>0>d>>>0&(0|(f=b>>>0<4?f+1|0:f))>=(0|W)|(0|f)>(0|W)||(f=t+A[e>>2]|0,A[r>>2]=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,d=f=A[e+20>>2],f=(t=(b=A[e+16>>2])+4|0)>>>0<4?f+1|0:f,A[e+16>>2]=t,A[e+20>>2]=f,s[r>>2]>31||(f=d,(b=b+8|0)>>>0>(W=A[e+8>>2])>>>0&(0|(f=b>>>0<8?f+1|0:f))>=(0|(I=A[e+12>>2]))|(0|f)>(0|I)||(f=t+A[e>>2]|0,A[r+4>>2]=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,d=f=A[e+20>>2],f=(t=(b=A[e+16>>2])+4|0)>>>0<4?f+1|0:f,A[e+16>>2]=t,A[e+20>>2]=f,f=d,(b=b+8|0)>>>0>(W=A[e+8>>2])>>>0&(0|(f=b>>>0<8?f+1|0:f))>=(0|(I=A[e+12>>2]))|(0|f)>(0|I)||(f=t+A[e>>2]|0,A[r+12>>2]=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,d=f=A[e+20>>2],f=(t=(b=A[e+16>>2])+4|0)>>>0<4?f+1|0:f,A[e+16>>2]=t,A[e+20>>2]=f,f=A[r+20>>2],(0|(B=A[r+12>>2]))!=(0|f)&&f||(f=d,(b=b+8|0)>>>0>(W=A[e+8>>2])>>>0&(0|(f=b>>>0<8?f+1|0:f))>=(0|(I=A[e+12>>2]))|(0|f)>(0|I))))))))if(f=t+A[e>>2]|0,t=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,A[r+16>>2]=t,b=A[e+20>>2],b=(f=A[e+16>>2]+4|0)>>>0<4?b+1|0:b,A[e+16>>2]=f,A[e+20>>2]=b,t>>>0>=7)A[i>>2]=t,Qd(1713,i);else{A[i+664>>2]=a;i:if(B){f:if(d=A[a>>2],!(B>>>0<=(A[a+8>>2]-d|0)/12>>>0)){if(!(B>>>0<357913942))break e;if(R=A[a+4>>2],b=(f=m(B,12))+(t=pa(f))|0,f=t=t+m((R-d|0)/12|0,12)|0,(0|d)!=(0|R))for(;R=R-12|0,A[(f=f-12|0)>>2]=A[R>>2],A[f+4>>2]=A[R+4>>2],A[f+8>>2]=A[R+8>>2],(0|d)!=(0|R););if(A[a+8>>2]=b,A[a+4>>2]=t,A[a>>2]=f,!d)break f;oa(d)}f:switch(A[r+16>>2]){case 0:if(u=wb(i+8|0,3),E=i+664|0,d=A[e+8>>2],D=A[e+12>>2],f=A[e+20>>2],!((b=(t=A[e+16>>2])+4|0)>>>0>d>>>0&(0|(f=b>>>0<4?f+1|0:f))>=(0|D)|(0|f)>(0|D))&&(f=t+A[e>>2]|0,A[u>>2]=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,d=f=A[e+20>>2],f=(t=(b=A[e+16>>2])+4|0)>>>0<4?f+1|0:f,A[e+16>>2]=t,A[e+20>>2]=f,!(s[u>>2]>32)&&(f=d,!((b=b+8|0)>>>0>(D=A[e+8>>2])>>>0&(0|(f=b>>>0<8?f+1|0:f))>=(0|(W=A[e+12>>2]))|(0|f)>(0|W))&&(f=t+A[e>>2]|0,t=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,A[u+4>>2]=t,b=A[e+20>>2],b=(f=A[e+16>>2]+4|0)>>>0<4?b+1|0:b,A[e+16>>2]=f,A[e+20>>2]=b,t&&(A[u+8>>2]=0,ua(u+16|0,e)&&ua(u+36|0,e)&&ua(u+56|0,e)&&ua(u+76|0,e)))))){if(Y=A[u+4>>2],f=0,b=0,Q=o=Q-32|0,h=A[u+12>>2],A[o+16>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,h){if(h>>>0>=1073741824)break e;b=pa(e=h<<2),A[o+8>>2]=b,f=e+b|0,A[o+16>>2]=f,ra(b,0,e),A[o+12>>2]=f}if(t=A[u+120>>2],(e=A[t>>2])&&(A[t+4>>2]=e,oa(e),h=A[u+12>>2],b=A[o+8>>2],f=A[o+12>>2]),A[t+4>>2]=f,A[t>>2]=b,A[t+8>>2]=A[o+16>>2],b=0,A[o+16>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,h){if(h>>>0>=1073741824)break e;F=pa(e=h<<2),A[o+8>>2]=F,b=e+F|0,A[o+16>>2]=b,ra(F,0,e),A[o+12>>2]=b}f=A[u+132>>2],(e=A[f>>2])&&(A[f+4>>2]=e,oa(e),F=A[o+8>>2],b=A[o+12>>2]),A[f+4>>2]=b,A[f>>2]=F,A[f+8>>2]=A[o+16>>2],A[o+24>>2]=0,A[o+28>>2]=0,A[o+16>>2]=0,A[o+20>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,xa(o+8|0),e=((f=A[o+24>>2]+A[o+28>>2]|0)>>>0)/341|0,e=A[A[o+12>>2]+(e<<2)>>2]+m(f-m(e,341)|0,12)|0,A[e+4>>2]=0,A[e+8>>2]=0,A[e>>2]=Y,h=A[o+28>>2]+1|0,A[o+28>>2]=h;t:if(h)for(I=u+96|0;;){if(D=A[o+12>>2],b=A[o+24>>2],e=A[D+((e=((f=b+(t=h-1|0)|0)>>>0)/341|0)<<2)>>2]+m(f-m(e,341)|0,12)|0,U=A[e+8>>2],d=A[e+4>>2],G=A[e>>2],A[o+28>>2]=t,1+(((0|(e=A[o+16>>2]))!=(0|D)?m(e-D>>2,341)-1|0:0)-(b+h|0)|0)>>>0>=682&&(oa(A[e-4>>2]),A[o+16>>2]=A[o+16>>2]-4),e=0,G>>>0>Y>>>0)break t;if((h=(0|d)!=((f=A[u+12>>2])-1|0)?d+1|0:0)>>>0>=f>>>0)break t;T=(N=m(U,12))+A[u+132>>2]|0,R=N+A[u+120>>2]|0;o:{b:if((0|(b=A[u>>2]))!=(0|(t=A[(V=h<<2)+A[T>>2]>>2]))){n:{A:{k:{c:{if(G>>>0<=2){if(f=A[u+108>>2],A[f>>2]=h,F=1,(b=A[u+12>>2])>>>0>1)break c;break n}if(s[u+8>>2]>s[u+4>>2])break t;(0|(f=(e=A[u+120>>2])+(B=m(W=U+1|0,12))|0))!=(0|R)&&(Aa(f,A[R>>2],A[R+4>>2]),e=A[u+120>>2]),e=V+A[e+B>>2]|0,A[e>>2]=A[e>>2]+(1<<b+~t);u:if((0|(D=31^j(G)))<=(0|(t=32-(d=A[u+32>>2])|0))){if((0|(t=A[u+28>>2]))==A[u+20>>2])break k;if(f=A[t>>2],e=d+D|0,A[u+32>>2]=e,F=f<<d>>>32-D|0,32!=(0|e))break u;A[u+32>>2]=0,A[u+28>>2]=t+4}else{if((0|(e=(b=A[u+28>>2])+4|0))==A[u+20>>2])break k;f=A[b>>2],A[u+28>>2]=e,e=D-t|0,A[u+32>>2]=e,F=A[b+4>>2]>>>32-e|f<<d>>>32-D}if(F>>>0>(f=G>>>1|0)>>>0)break t;break A}for(;h=(b-1|0)!=(0|h)?h+1|0:0,A[f+(F<<2)>>2]=h,(b=A[u+12>>2])>>>0>(F=F+1|0)>>>0;);break n}f=G>>>1|0,F=0}A:{k:{if((0|(e=G-(t=f-F|0)|0))!=(0|t)){if((0|(D=A[u+88>>2]))==A[u+80>>2])break k;d=A[D>>2],f=(b=A[u+92>>2])+1|0,A[u+92>>2]=f,b=d&-2147483648>>>b;c:{if(32==(0|f)){if(A[u+92>>2]=0,A[u+88>>2]=D+4,b)break c;break k}if(!b)break k}}else e=t;f=e,e=t;break A}f=t}if(D=A[u+132>>2],b=A[(d=D+N|0)>>2],A[(t=b+V|0)>>2]=A[t>>2]+1,Aa(D+B|0,b,A[d+4>>2]),e&&((0|(b=A[o+28>>2]+A[o+24>>2]|0))==(0|((0|(t=A[o+16>>2]))!=(0|(F=A[o+12>>2]))?m(t-F>>2,341)-1:0))&&(xa(o+8|0),F=A[o+12>>2],b=A[o+24>>2]+A[o+28>>2]|0),t=A[((t=(b>>>0)/341|0)<<2)+F>>2]+m(b-m(t,341)|0,12)|0,A[t+8>>2]=U,A[t+4>>2]=h,A[t>>2]=e,A[o+28>>2]=A[o+28>>2]+1),!f)break b;(0|(b=A[o+28>>2]+A[o+24>>2]|0))==(0|((0|(e=A[o+16>>2]))!=(0|(F=A[o+12>>2]))?m(e-F>>2,341)-1:0))&&(xa(o+8|0),F=A[o+12>>2],b=A[o+24>>2]+A[o+28>>2]|0),e=A[((e=(b>>>0)/341|0)<<2)+F>>2]+m(b-m(e,341)|0,12)|0,A[e+8>>2]=W,A[e+4>>2]=h,A[e>>2]=f,h=A[o+28>>2]+1|0,A[o+28>>2]=h;break o}if(G)for(;;){if(A[u+12>>2])for(U=A[u+40>>2],D=A[T>>2],F=A[u+96>>2],d=A[u+108>>2],h=0;;){A[F+(A[(N=d+(h<<2)|0)>>2]<<2)>>2]=0,b=A[u>>2],t=A[N>>2]<<2;n:if((0|b)!=(0|(f=A[t+D>>2])))if(V=t+F|0,(0|(Z=b-f|0))<=(0|(b=32-(B=A[u+52>>2])|0))){if((0|(t=A[u+48>>2]))==(0|U))break t;if(A[V>>2]=A[t>>2]<<B>>>32-Z,f=Z+A[u+52>>2]|0,A[u+52>>2]=f,32!=(0|f))break n;A[u+52>>2]=0,A[u+48>>2]=t+4}else{if((0|(f=(W=A[u+48>>2])+4|0))==(0|U))break t;t=A[W>>2],A[u+48>>2]=f,f=Z-b|0,A[u+52>>2]=f,A[V>>2]=A[W+4>>2]>>>32-f|t<<B>>>32-Z}if(t=A[N>>2]<<2,A[(f=t+F|0)>>2]=A[f>>2]|A[t+A[R>>2]>>2],!((h=h+1|0)>>>0<s[u+12>>2]))break}if(jb(E,I),A[u+8>>2]=A[u+8>>2]+1,(0|G)==(0|(e=e+1|0)))break}}else{if(!G)break b;for(;;){if(f=A[R>>2],B=A[f+8>>2],W=A[f+4>>2],D=A[f>>2],N=A[E>>2],(h=A[N+4>>2])>>>0<(f=A[N+8>>2])>>>0)A[h+8>>2]=B,A[h+4>>2]=W,A[h>>2]=D,A[N+4>>2]=h+12;else{if((d=(b=(h-(V=A[N>>2])|0)/12|0)+1|0)>>>0>=357913942)break e;if(f=(t=(f-V|0)/12|0)<<1,d=t>>>0>=178956970?357913941:f>>>0>d>>>0?f:d){if(d>>>0>=357913942)break r;f=pa(m(d,12))}else f=0;if(F=f+m(b,12)|0,A[F+8>>2]=B,A[F+4>>2]=W,A[F>>2]=D,t=F+12|0,(0|h)!=(0|V))for(;h=h-12|0,A[(F=F-12|0)>>2]=A[h>>2],A[F+4>>2]=A[h+4>>2],A[F+8>>2]=A[h+8>>2],(0|h)!=(0|V););A[N+8>>2]=f+m(d,12),A[N+4>>2]=t,A[N>>2]=F,V&&oa(V)}if(A[u+8>>2]=A[u+8>>2]+1,(0|G)==(0|(e=e+1|0)))break}}h=A[o+28>>2]}if(!h)break}if(A[o+28>>2]=0,(b=(F=A[o+16>>2])-(h=A[o+12>>2])|0)>>>0>=9)for(;oa(A[h>>2]),h=A[o+12>>2]+4|0,A[o+12>>2]=h,(b=(F=A[o+16>>2])-h|0)>>>0>8;);e=170;t:switch((b>>>2|0)-1|0){case 1:e=341;case 0:A[o+24>>2]=e;break;default:break t}if((0|h)!=(0|F)){for(;oa(A[h>>2]),(0|F)!=(0|(h=h+4|0)););(0|(f=A[o+16>>2]))!=(0|(e=A[o+12>>2]))&&(A[o+16>>2]=f+(3+(e-f|0)&-4))}(e=A[o+8>>2])&&oa(e),Q=o+32|0}xb(u);break i;case 1:if(u=wb(i+8|0,3),Y=i+664|0,d=A[e+8>>2],D=A[e+12>>2],f=A[e+20>>2],!((b=(t=A[e+16>>2])+4|0)>>>0>d>>>0&(0|(f=b>>>0<4?f+1|0:f))>=(0|D)|(0|f)>(0|D))&&(f=t+A[e>>2]|0,A[u>>2]=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,d=f=A[e+20>>2],f=(t=(b=A[e+16>>2])+4|0)>>>0<4?f+1|0:f,A[e+16>>2]=t,A[e+20>>2]=f,!(s[u>>2]>32)&&(f=d,!((b=b+8|0)>>>0>(D=A[e+8>>2])>>>0&(0|(f=b>>>0<8?f+1|0:f))>=(0|(W=A[e+12>>2]))|(0|f)>(0|W))&&(f=t+A[e>>2]|0,t=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,A[u+4>>2]=t,b=A[e+20>>2],b=(f=A[e+16>>2]+4|0)>>>0<4?b+1|0:b,A[e+16>>2]=f,A[e+20>>2]=b,t&&(A[u+8>>2]=0,ua(u+16|0,e)&&ua(u+36|0,e)&&ua(u+56|0,e)&&ua(u+76|0,e)))))){if(T=A[u+4>>2],f=0,Q=o=Q-32|0,h=A[u+12>>2],A[o+16>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,h){if(h>>>0>=1073741824)break e;G=pa(e=h<<2),A[o+8>>2]=G,f=e+G|0,A[o+16>>2]=f,ra(G,0,e),A[o+12>>2]=f}if(t=A[u+120>>2],(e=A[t>>2])&&(A[t+4>>2]=e,oa(e),h=A[u+12>>2],G=A[o+8>>2],f=A[o+12>>2]),A[t+4>>2]=f,A[t>>2]=G,A[t+8>>2]=A[o+16>>2],G=0,A[o+16>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,h){if(h>>>0>=1073741824)break e;U=pa(e=h<<2),A[o+8>>2]=U,G=e+U|0,A[o+16>>2]=G,ra(U,0,e),A[o+12>>2]=G}f=A[u+132>>2],(e=A[f>>2])&&(A[f+4>>2]=e,oa(e),G=A[o+12>>2],U=A[o+8>>2]),A[f+4>>2]=G,A[f>>2]=U,A[f+8>>2]=A[o+16>>2],A[o+24>>2]=0,A[o+28>>2]=0,A[o+16>>2]=0,A[o+20>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,xa(o+8|0),e=((f=A[o+24>>2]+A[o+28>>2]|0)>>>0)/341|0,e=A[A[o+12>>2]+(e<<2)>>2]+m(f-m(e,341)|0,12)|0,A[e+4>>2]=0,A[e+8>>2]=0,A[e>>2]=T,h=A[o+28>>2]+1|0,A[o+28>>2]=h;t:if(h)for(W=u+96|0;;){if(d=A[o+12>>2],b=A[o+24>>2],e=A[d+((e=((f=b+(t=h-1|0)|0)>>>0)/341|0)<<2)>>2]+m(f-m(e,341)|0,12)|0,N=A[e+8>>2],f=A[e+4>>2],R=A[e>>2],A[o+28>>2]=t,1+(((0|(e=A[o+16>>2]))!=(0|d)?m(e-d>>2,341)-1|0:0)-(b+h|0)|0)>>>0>=682&&(oa(A[e-4>>2]),A[o+16>>2]=A[o+16>>2]-4),R>>>0>T>>>0)break t;if((h=(0|f)!=((e=A[u+12>>2])-1|0)?f+1|0:0)>>>0>=e>>>0)break t;Z=(e=A[u+120>>2])+(V=m(N,12))|0,t=A[u>>2],B=h<<2,D=V+A[u+132>>2]|0;o:{b:if((0|t)!=(0|(f=A[B+A[D>>2]>>2]))){n:{A:{k:{c:{if(R>>>0<=2){if(e=A[u+108>>2],A[e>>2]=h,U=1,(G=A[u+12>>2])>>>0>1)break c;break n}if(s[u+8>>2]>s[u+4>>2])break t;Aa((d=e)+(e=V+12|0)|0,A[Z>>2],A[Z+4>>2]),e=B+A[e+A[u+120>>2]>>2]|0,A[e>>2]=A[e>>2]+(1<<t+~f);u:if((0|(D=31^j(R)))<=(0|(t=32-(d=A[u+32>>2])|0))){if((0|(t=A[u+28>>2]))==A[u+20>>2])break k;if(f=A[t>>2],e=d+D|0,A[u+32>>2]=e,f=f<<d>>>32-D|0,32!=(0|e))break u;A[u+32>>2]=0,A[u+28>>2]=t+4}else{if((0|(e=(b=A[u+28>>2])+4|0))==A[u+20>>2])break k;f=A[b>>2],A[u+28>>2]=e,e=D-t|0,A[u+32>>2]=e,f=A[b+4>>2]>>>32-e|f<<d>>>32-D}if((U=R>>>1|0)>>>0<f>>>0)break t;break A}for(;h=(G-1|0)!=(0|h)?h+1|0:0,A[e+(U<<2)>>2]=h,(U=U+1|0)>>>0<(G=A[u+12>>2])>>>0;);break n}U=R>>>1|0,f=0}I=N+1|0;A:{k:{if((0|(f=R-(t=U-f|0)|0))!=(0|t)){if((0|(D=A[u+88>>2]))==A[u+80>>2])break k;d=A[D>>2],e=(b=A[u+92>>2])+1|0,A[u+92>>2]=e,b=d&-2147483648>>>b;c:{if(32==(0|e)){if(A[u+92>>2]=0,A[u+88>>2]=D+4,b)break c;break k}if(!b)break k}e=f}else e=t;f=t;break A}e=t}if(D=A[u+132>>2],b=A[(d=D+V|0)>>2],A[(t=b+B|0)>>2]=A[t>>2]+1,Aa(D+m(I,12)|0,b,A[d+4>>2]),f&&((0|(G=A[o+28>>2]+A[o+24>>2]|0))==(0|((0|(t=A[o+16>>2]))!=(0|(U=A[o+12>>2]))?m(t-U>>2,341)-1:0))&&(xa(o+8|0),G=A[o+24>>2]+A[o+28>>2]|0,U=A[o+12>>2]),t=A[U+((t=(G>>>0)/341|0)<<2)>>2]+m(G-m(t,341)|0,12)|0,A[t+8>>2]=N,A[t+4>>2]=h,A[t>>2]=f,A[o+28>>2]=A[o+28>>2]+1),!e)break b;(0|(G=A[o+28>>2]+A[o+24>>2]|0))==(0|((0|(f=A[o+16>>2]))!=(0|(U=A[o+12>>2]))?m(f-U>>2,341)-1:0))&&(xa(o+8|0),G=A[o+24>>2]+A[o+28>>2]|0,U=A[o+12>>2]),f=A[U+((f=(G>>>0)/341|0)<<2)>>2]+m(G-m(f,341)|0,12)|0,A[f+8>>2]=I,A[f+4>>2]=h,A[f>>2]=e,h=A[o+28>>2]+1|0,A[o+28>>2]=h;break o}if(G=0,R)for(;;){if(A[u+12>>2])for(U=A[u+40>>2],d=A[D>>2],E=A[u+96>>2],b=A[u+108>>2],h=0;;){A[E+(A[(N=b+(h<<2)|0)>>2]<<2)>>2]=0,t=A[u>>2],f=A[N>>2]<<2;n:if((0|t)!=(0|(e=A[f+d>>2])))if(V=f+E|0,(0|(F=t-e|0))<=(0|(t=32-(B=A[u+52>>2])|0))){if((0|(f=A[u+48>>2]))==(0|U))break t;if(A[V>>2]=A[f>>2]<<B>>>32-F,e=F+A[u+52>>2]|0,A[u+52>>2]=e,32!=(0|e))break n;A[u+52>>2]=0,A[u+48>>2]=f+4}else{if((0|(e=(I=A[u+48>>2])+4|0))==(0|U))break t;f=A[I>>2],A[u+48>>2]=e,e=F-t|0,A[u+52>>2]=e,A[V>>2]=A[I+4>>2]>>>32-e|f<<B>>>32-F}if(f=A[N>>2]<<2,A[(e=f+E|0)>>2]=A[e>>2]|A[f+A[Z>>2]>>2],!((h=h+1|0)>>>0<s[u+12>>2]))break}if(jb(Y,W),A[u+8>>2]=A[u+8>>2]+1,(0|R)==(0|(G=G+1|0)))break}}else{if(B=0,!R)break b;for(;;){if(e=A[Z>>2],I=A[e+8>>2],D=A[e+4>>2],d=A[e>>2],N=A[Y>>2],(h=A[N+4>>2])>>>0<(e=A[N+8>>2])>>>0)A[h+8>>2]=I,A[h+4>>2]=D,A[h>>2]=d,A[N+4>>2]=h+12;else{if((b=(t=(h-(V=A[N>>2])|0)/12|0)+1|0)>>>0>=357913942)break e;if(e=(f=(e-V|0)/12|0)<<1,b=f>>>0>=178956970?357913941:e>>>0>b>>>0?e:b){if(b>>>0>=357913942)break r;e=pa(m(b,12))}else e=0;if(U=e+m(t,12)|0,A[U+8>>2]=I,A[U+4>>2]=D,A[U>>2]=d,f=U+12|0,(0|h)!=(0|V))for(;h=h-12|0,A[(U=U-12|0)>>2]=A[h>>2],A[U+4>>2]=A[h+4>>2],A[U+8>>2]=A[h+8>>2],(0|h)!=(0|V););A[N+8>>2]=e+m(b,12),A[N+4>>2]=f,A[N>>2]=U,V&&oa(V)}if(A[u+8>>2]=A[u+8>>2]+1,(0|R)==(0|(B=B+1|0)))break}}h=A[o+28>>2]}if(!h)break}if(A[o+28>>2]=0,(G=(U=A[o+16>>2])-(h=A[o+12>>2])|0)>>>0>=9)for(;oa(A[h>>2]),h=A[o+12>>2]+4|0,A[o+12>>2]=h,(G=(U=A[o+16>>2])-h|0)>>>0>8;);e=170;t:switch((G>>>2|0)-1|0){case 1:e=341;case 0:A[o+24>>2]=e;break;default:break t}if((0|h)!=(0|U)){for(;oa(A[h>>2]),(0|U)!=(0|(h=h+4|0)););(0|(f=A[o+16>>2]))!=(0|(e=A[o+12>>2]))&&(A[o+16>>2]=f+(3+(e-f|0)&-4))}(e=A[o+8>>2])&&oa(e),Q=o+32|0}xb(u);break i;case 2:if(o=ub(i+8|0,3),F=i+664|0,d=A[e+8>>2],D=A[e+12>>2],f=A[e+20>>2],!((b=(t=A[e+16>>2])+4|0)>>>0>d>>>0&(0|(f=b>>>0<4?f+1|0:f))>=(0|D)|(0|f)>(0|D))&&(f=t+A[e>>2]|0,A[o>>2]=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,d=f=A[e+20>>2],f=(t=(b=A[e+16>>2])+4|0)>>>0<4?f+1|0:f,A[e+16>>2]=t,A[e+20>>2]=f,!(s[o>>2]>32)&&(f=d,!((b=b+8|0)>>>0>(D=A[e+8>>2])>>>0&(0|(f=b>>>0<8?f+1|0:f))>=(0|(W=A[e+12>>2]))|(0|f)>(0|W))&&(f=t+A[e>>2]|0,t=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,A[o+4>>2]=t,b=A[e+20>>2],b=(f=A[e+16>>2]+4|0)>>>0<4?b+1|0:b,A[e+16>>2]=f,A[e+20>>2]=b,t&&(A[o+8>>2]=0,ta(o+16|0,e)&&ua(o+32|0,e)&&ua(o+52|0,e)&&ua(o+72|0,e)))))){if(E=A[o+4>>2],b=0,e=0,Q=n=Q-32|0,_=A[o+12>>2],A[n+16>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,_){if(_>>>0>=1073741824)break e;b=pa(f=_<<2),A[n+8>>2]=b,e=f+b|0,A[n+16>>2]=e,ra(b,0,f),A[n+12>>2]=e}if(t=A[o+116>>2],(f=A[t>>2])&&(A[t+4>>2]=f,oa(f),_=A[o+12>>2],b=A[n+8>>2],e=A[n+12>>2]),A[t+4>>2]=e,A[t>>2]=b,A[t+8>>2]=A[n+16>>2],b=0,A[n+16>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,_){if(_>>>0>=1073741824)break e;Z=pa(e=_<<2),A[n+8>>2]=Z,b=e+Z|0,A[n+16>>2]=b,ra(Z,0,e),A[n+12>>2]=b}f=A[o+128>>2],(e=A[f>>2])&&(A[f+4>>2]=e,oa(e),Z=A[n+8>>2],b=A[n+12>>2]),A[f+4>>2]=b,A[f>>2]=Z,A[f+8>>2]=A[n+16>>2],A[n+24>>2]=0,A[n+28>>2]=0,A[n+16>>2]=0,A[n+20>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,xa(n+8|0),e=((f=A[n+24>>2]+A[n+28>>2]|0)>>>0)/341|0,e=A[A[n+12>>2]+(e<<2)>>2]+m(f-m(e,341)|0,12)|0,A[e+4>>2]=0,A[e+8>>2]=0,A[e>>2]=E,_=A[n+28>>2]+1|0,A[n+28>>2]=_;t:if(_)for(B=o+92|0,I=o+16|0;;){if(D=A[n+12>>2],b=A[n+24>>2],e=A[D+((e=((f=b+(t=_-1|0)|0)>>>0)/341|0)<<2)>>2]+m(f-m(e,341)|0,12)|0,T=A[e+8>>2],d=A[e+4>>2],u=A[e>>2],A[n+28>>2]=t,1+(((0|(e=A[n+16>>2]))!=(0|D)?m(e-D>>2,341)-1|0:0)-(b+_|0)|0)>>>0>=682&&(oa(A[e-4>>2]),A[n+16>>2]=A[n+16>>2]-4),f=0,u>>>0>E>>>0)break t;if((_=(0|d)!=((e=A[o+12>>2])-1|0)?d+1|0:0)>>>0>=e>>>0)break t;Y=(U=m(T,12))+A[o+128>>2]|0,G=U+A[o+116>>2]|0;o:if((0|(b=A[o>>2]))!=(0|(t=A[(N=_<<2)+A[Y>>2]>>2]))){b:{n:{A:{k:{if(u>>>0<=2){if(e=A[o+104>>2],A[e>>2]=_,Z=1,(b=A[o+12>>2])>>>0>1)break k;break b}if(s[o+8>>2]>s[o+4>>2])break t;if((0|(f=(e=A[o+116>>2])+(V=m(W=T+1|0,12))|0))!=(0|G)&&(Aa(f,A[G>>2],A[G+4>>2]),e=A[o+116>>2]),e=N+A[e+V>>2]|0,A[e>>2]=A[e>>2]+(1<<b+~t),A[n+4>>2]=0,pc(I,31^j(u),n+4|0),(f=u>>>1|0)>>>0<(e=A[n+4>>2])>>>0)break t;if((0|(f=u-(t=f-e|0)|0))!=(0|t)){if((0|(D=A[o+84>>2]))==A[o+76>>2])break A;d=A[D>>2],e=(b=A[o+88>>2])+1|0,A[o+88>>2]=e,b=d&-2147483648>>>b;c:{if(32==(0|e)){if(A[o+88>>2]=0,A[o+84>>2]=D+4,b)break c;break A}if(!b)break A}e=f}else e=t;f=t;break n}for(;_=(b-1|0)!=(0|_)?_+1|0:0,A[e+(Z<<2)>>2]=_,(b=A[o+12>>2])>>>0>(Z=Z+1|0)>>>0;);break b}e=t}if(D=A[o+128>>2],b=A[(d=D+U|0)>>2],A[(t=b+N|0)>>2]=A[t>>2]+1,Aa(D+V|0,b,A[d+4>>2]),f&&((0|(b=A[n+28>>2]+A[n+24>>2]|0))==(0|((0|(t=A[n+16>>2]))!=(0|(Z=A[n+12>>2]))?m(t-Z>>2,341)-1:0))&&(xa(n+8|0),Z=A[n+12>>2],b=A[n+24>>2]+A[n+28>>2]|0),t=A[((t=(b>>>0)/341|0)<<2)+Z>>2]+m(b-m(t,341)|0,12)|0,A[t+8>>2]=T,A[t+4>>2]=_,A[t>>2]=f,A[n+28>>2]=A[n+28>>2]+1),!e)break o;(0|(b=A[n+28>>2]+A[n+24>>2]|0))==(0|((0|(f=A[n+16>>2]))!=(0|(Z=A[n+12>>2]))?m(f-Z>>2,341)-1:0))&&(xa(n+8|0),Z=A[n+12>>2],b=A[n+24>>2]+A[n+28>>2]|0),f=A[((f=(b>>>0)/341|0)<<2)+Z>>2]+m(b-m(f,341)|0,12)|0,A[f+8>>2]=W,A[f+4>>2]=_,A[f>>2]=e,A[n+28>>2]=A[n+28>>2]+1;break o}if(u)for(;;){if(A[o+12>>2])for(T=A[o+36>>2],D=A[Y>>2],Z=A[o+92>>2],d=A[o+104>>2],_=0;;){A[Z+(A[(U=d+(_<<2)|0)>>2]<<2)>>2]=0,b=A[o>>2],t=A[U>>2]<<2;b:if((0|b)!=(0|(e=A[t+D>>2])))if(N=t+Z|0,(0|(R=b-e|0))<=(0|(b=32-(V=A[o+48>>2])|0))){if((0|(t=A[o+44>>2]))==(0|T))break t;if(A[N>>2]=A[t>>2]<<V>>>32-R,e=R+A[o+48>>2]|0,A[o+48>>2]=e,32!=(0|e))break b;A[o+48>>2]=0,A[o+44>>2]=t+4}else{if((0|(e=(W=A[o+44>>2])+4|0))==(0|T))break t;t=A[W>>2],A[o+44>>2]=e,e=R-b|0,A[o+48>>2]=e,A[N>>2]=A[W+4>>2]>>>32-e|t<<V>>>32-R}if(t=A[U>>2]<<2,A[(e=t+Z|0)>>2]=A[e>>2]|A[t+A[G>>2]>>2],!((_=_+1|0)>>>0<s[o+12>>2]))break}if(jb(F,B),A[o+8>>2]=A[o+8>>2]+1,(0|u)==(0|(f=f+1|0)))break}}else{if(!u)break o;for(;;){if(e=A[G>>2],V=A[e+8>>2],W=A[e+4>>2],D=A[e>>2],U=A[F>>2],(_=A[U+4>>2])>>>0<(e=A[U+8>>2])>>>0)A[_+8>>2]=V,A[_+4>>2]=W,A[_>>2]=D,A[U+4>>2]=_+12;else{if((d=(b=(_-(N=A[U>>2])|0)/12|0)+1|0)>>>0>=357913942)break e;if(e=(t=(e-N|0)/12|0)<<1,d=t>>>0>=178956970?357913941:e>>>0>d>>>0?e:d){if(d>>>0>=357913942)break r;e=pa(m(d,12))}else e=0;if(Z=e+m(b,12)|0,A[Z+8>>2]=V,A[Z+4>>2]=W,A[Z>>2]=D,t=Z+12|0,(0|_)!=(0|N))for(;_=_-12|0,A[(Z=Z-12|0)>>2]=A[_>>2],A[Z+4>>2]=A[_+4>>2],A[Z+8>>2]=A[_+8>>2],(0|_)!=(0|N););A[U+8>>2]=e+m(d,12),A[U+4>>2]=t,A[U>>2]=Z,N&&oa(N)}if(A[o+8>>2]=A[o+8>>2]+1,(0|u)==(0|(f=f+1|0)))break}}if(!(_=A[n+28>>2]))break}if(A[n+28>>2]=0,(b=(Z=A[n+16>>2])-(_=A[n+12>>2])|0)>>>0>=9)for(;oa(A[_>>2]),_=A[n+12>>2]+4|0,A[n+12>>2]=_,(b=(Z=A[n+16>>2])-_|0)>>>0>8;);e=170;t:switch((b>>>2|0)-1|0){case 1:e=341;case 0:A[n+24>>2]=e;break;default:break t}if((0|_)!=(0|Z)){for(;oa(A[_>>2]),(0|Z)!=(0|(_=_+4|0)););(0|(f=A[n+16>>2]))!=(0|(e=A[n+12>>2]))&&(A[n+16>>2]=f+(3+(e-f|0)&-4))}(e=A[n+8>>2])&&oa(e),Q=n+32|0}vb(o);break i;case 3:if(u=ub(i+8|0,3),E=i+664|0,d=A[e+8>>2],D=A[e+12>>2],f=A[e+20>>2],!((b=(t=A[e+16>>2])+4|0)>>>0>d>>>0&(0|(f=b>>>0<4?f+1|0:f))>=(0|D)|(0|f)>(0|D))&&(f=t+A[e>>2]|0,A[u>>2]=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,d=f=A[e+20>>2],f=(t=(b=A[e+16>>2])+4|0)>>>0<4?f+1|0:f,A[e+16>>2]=t,A[e+20>>2]=f,!(s[u>>2]>32)&&(f=d,!((b=b+8|0)>>>0>(D=A[e+8>>2])>>>0&(0|(f=b>>>0<8?f+1|0:f))>=(0|(W=A[e+12>>2]))|(0|f)>(0|W))&&(f=t+A[e>>2]|0,t=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,A[u+4>>2]=t,b=A[e+20>>2],b=(f=A[e+16>>2]+4|0)>>>0<4?b+1|0:b,A[e+16>>2]=f,A[e+20>>2]=b,t&&(A[u+8>>2]=0,ta(u+16|0,e)&&ua(u+32|0,e)&&ua(u+52|0,e)&&ua(u+72|0,e)))))){if(Y=A[u+4>>2],f=0,Q=o=Q-32|0,_=A[u+12>>2],A[o+16>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,_){if(_>>>0>=1073741824)break e;h=pa(e=_<<2),A[o+8>>2]=h,f=e+h|0,A[o+16>>2]=f,ra(h,0,e),A[o+12>>2]=f}if(t=A[u+116>>2],(e=A[t>>2])&&(A[t+4>>2]=e,oa(e),_=A[u+12>>2],h=A[o+8>>2],f=A[o+12>>2]),A[t+4>>2]=f,A[t>>2]=h,A[t+8>>2]=A[o+16>>2],h=0,A[o+16>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,_){if(_>>>0>=1073741824)break e;T=pa(e=_<<2),A[o+8>>2]=T,h=e+T|0,A[o+16>>2]=h,ra(T,0,e),A[o+12>>2]=h}f=A[u+128>>2],(e=A[f>>2])&&(A[f+4>>2]=e,oa(e),h=A[o+12>>2],T=A[o+8>>2]),A[f+4>>2]=h,A[f>>2]=T,A[f+8>>2]=A[o+16>>2],A[o+24>>2]=0,A[o+28>>2]=0,A[o+16>>2]=0,A[o+20>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,xa(o+8|0),e=((f=A[o+24>>2]+A[o+28>>2]|0)>>>0)/341|0,e=A[A[o+12>>2]+(e<<2)>>2]+m(f-m(e,341)|0,12)|0,A[e+4>>2]=0,A[e+8>>2]=0,A[e>>2]=Y,_=A[o+28>>2]+1|0,A[o+28>>2]=_;t:if(_)for(I=u+92|0,W=u+16|0;;){if(d=A[o+12>>2],b=A[o+24>>2],e=A[d+((e=((f=b+(t=_-1|0)|0)>>>0)/341|0)<<2)>>2]+m(f-m(e,341)|0,12)|0,U=A[e+8>>2],f=A[e+4>>2],G=A[e>>2],A[o+28>>2]=t,1+(((0|(e=A[o+16>>2]))!=(0|d)?m(e-d>>2,341)-1|0:0)-(b+_|0)|0)>>>0>=682&&(oa(A[e-4>>2]),A[o+16>>2]=A[o+16>>2]-4),G>>>0>Y>>>0)break t;if((_=(0|f)!=((e=A[u+12>>2])-1|0)?f+1|0:0)>>>0>=e>>>0)break t;R=(e=A[u+116>>2])+(N=m(U,12))|0,t=A[u>>2],V=_<<2,D=N+A[u+128>>2]|0;o:if((0|t)!=(0|(f=A[V+A[D>>2]>>2]))){b:{n:{A:{k:{if(G>>>0<=2){if(e=A[u+104>>2],A[e>>2]=_,T=1,(h=A[u+12>>2])>>>0>1)break k;break b}if(s[u+8>>2]>s[u+4>>2])break t;if(Aa((d=e)+(e=N+12|0)|0,A[R>>2],A[R+4>>2]),e=V+A[e+A[u+116>>2]>>2]|0,A[e>>2]=A[e>>2]+(1<<t+~f),A[o+4>>2]=0,pc(W,31^j(G),o+4|0),(f=G>>>1|0)>>>0<(e=A[o+4>>2])>>>0)break t;if(B=U+1|0,(0|(f=G-(t=f-e|0)|0))!=(0|t)){if((0|(D=A[u+84>>2]))==A[u+76>>2])break A;d=A[D>>2],e=(b=A[u+88>>2])+1|0,A[u+88>>2]=e,b=d&-2147483648>>>b;c:{if(32==(0|e)){if(A[u+88>>2]=0,A[u+84>>2]=D+4,b)break c;break A}if(!b)break A}e=f}else e=t;f=t;break n}for(;_=(h-1|0)!=(0|_)?_+1|0:0,A[e+(T<<2)>>2]=_,(h=A[u+12>>2])>>>0>(T=T+1|0)>>>0;);break b}e=t}if(D=A[u+128>>2],b=A[(d=D+N|0)>>2],A[(t=b+V|0)>>2]=A[t>>2]+1,Aa(D+m(B,12)|0,b,A[d+4>>2]),f&&((0|(h=A[o+28>>2]+A[o+24>>2]|0))==(0|((0|(t=A[o+16>>2]))!=(0|(T=A[o+12>>2]))?m(t-T>>2,341)-1:0))&&(xa(o+8|0),h=A[o+24>>2]+A[o+28>>2]|0,T=A[o+12>>2]),t=A[T+((t=(h>>>0)/341|0)<<2)>>2]+m(h-m(t,341)|0,12)|0,A[t+8>>2]=U,A[t+4>>2]=_,A[t>>2]=f,A[o+28>>2]=A[o+28>>2]+1),!e)break o;(0|(h=A[o+28>>2]+A[o+24>>2]|0))==(0|((0|(f=A[o+16>>2]))!=(0|(T=A[o+12>>2]))?m(f-T>>2,341)-1:0))&&(xa(o+8|0),h=A[o+24>>2]+A[o+28>>2]|0,T=A[o+12>>2]),f=A[T+((f=(h>>>0)/341|0)<<2)>>2]+m(h-m(f,341)|0,12)|0,A[f+8>>2]=B,A[f+4>>2]=_,A[f>>2]=e,A[o+28>>2]=A[o+28>>2]+1;break o}if(h=0,G)for(;;){if(A[u+12>>2])for(T=A[u+36>>2],d=A[D>>2],F=A[u+92>>2],b=A[u+104>>2],_=0;;){A[F+(A[(U=b+(_<<2)|0)>>2]<<2)>>2]=0,t=A[u>>2],f=A[U>>2]<<2;b:if((0|t)!=(0|(e=A[f+d>>2])))if(N=f+F|0,(0|(Z=t-e|0))<=(0|(t=32-(V=A[u+48>>2])|0))){if((0|(f=A[u+44>>2]))==(0|T))break t;if(A[N>>2]=A[f>>2]<<V>>>32-Z,e=Z+A[u+48>>2]|0,A[u+48>>2]=e,32!=(0|e))break b;A[u+48>>2]=0,A[u+44>>2]=f+4}else{if((0|(e=(B=A[u+44>>2])+4|0))==(0|T))break t;f=A[B>>2],A[u+44>>2]=e,e=Z-t|0,A[u+48>>2]=e,A[N>>2]=A[B+4>>2]>>>32-e|f<<V>>>32-Z}if(f=A[U>>2]<<2,A[(e=f+F|0)>>2]=A[e>>2]|A[f+A[R>>2]>>2],!((_=_+1|0)>>>0<s[u+12>>2]))break}if(jb(E,I),A[u+8>>2]=A[u+8>>2]+1,(0|G)==(0|(h=h+1|0)))break}}else{if(V=0,!G)break o;for(;;){if(e=A[R>>2],B=A[e+8>>2],D=A[e+4>>2],d=A[e>>2],U=A[E>>2],(_=A[U+4>>2])>>>0<(e=A[U+8>>2])>>>0)A[_+8>>2]=B,A[_+4>>2]=D,A[_>>2]=d,A[U+4>>2]=_+12;else{if((b=(t=(_-(N=A[U>>2])|0)/12|0)+1|0)>>>0>=357913942)break e;if(e=(f=(e-N|0)/12|0)<<1,b=f>>>0>=178956970?357913941:e>>>0>b>>>0?e:b){if(b>>>0>=357913942)break r;e=pa(m(b,12))}else e=0;if(T=e+m(t,12)|0,A[T+8>>2]=B,A[T+4>>2]=D,A[T>>2]=d,f=T+12|0,(0|_)!=(0|N))for(;_=_-12|0,A[(T=T-12|0)>>2]=A[_>>2],A[T+4>>2]=A[_+4>>2],A[T+8>>2]=A[_+8>>2],(0|_)!=(0|N););A[U+8>>2]=e+m(b,12),A[U+4>>2]=f,A[U>>2]=T,N&&oa(N)}if(A[u+8>>2]=A[u+8>>2]+1,(0|G)==(0|(V=V+1|0)))break}}if(!(_=A[o+28>>2]))break}if(A[o+28>>2]=0,(h=(T=A[o+16>>2])-(_=A[o+12>>2])|0)>>>0>=9)for(;oa(A[_>>2]),_=A[o+12>>2]+4|0,A[o+12>>2]=_,(h=(T=A[o+16>>2])-_|0)>>>0>8;);e=170;t:switch((h>>>2|0)-1|0){case 1:e=341;case 0:A[o+24>>2]=e;break;default:break t}if((0|_)!=(0|T)){for(;oa(A[_>>2]),(0|T)!=(0|(_=_+4|0)););(0|(f=A[o+16>>2]))!=(0|(e=A[o+12>>2]))&&(A[o+16>>2]=f+(3+(e-f|0)&-4))}(e=A[o+8>>2])&&oa(e),Q=o+32|0}vb(u);break i;case 4:if(o=$a(i+8|0,3),F=i+664|0,d=A[e+8>>2],D=A[e+12>>2],f=A[e+20>>2],!((b=(t=A[e+16>>2])+4|0)>>>0>d>>>0&(0|(f=b>>>0<4?f+1|0:f))>=(0|D)|(0|f)>(0|D))&&(f=t+A[e>>2]|0,A[o>>2]=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,d=f=A[e+20>>2],f=(t=(b=A[e+16>>2])+4|0)>>>0<4?f+1|0:f,A[e+16>>2]=t,A[e+20>>2]=f,!(s[o>>2]>32)&&(f=d,!((b=b+8|0)>>>0>(D=A[e+8>>2])>>>0&(0|(f=b>>>0<8?f+1|0:f))>=(0|(W=A[e+12>>2]))|(0|f)>(0|W))&&(f=t+A[e>>2]|0,t=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,A[o+4>>2]=t,b=A[e+20>>2],b=(f=A[e+16>>2]+4|0)>>>0<4?b+1|0:b,A[e+16>>2]=f,A[e+20>>2]=b,t&&(A[o+8>>2]=0,sb(o+16|0,e)&&ua(o+544|0,e)&&ua(o+564|0,e)&&ua(o+584|0,e)))))){if(E=A[o+4>>2],R=0,e=0,Q=n=Q-32|0,f=A[o+12>>2],A[n+16>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,f){if(f>>>0>=1073741824)break e;R=pa(t=f<<2),A[n+8>>2]=R,e=t+R|0,A[n+16>>2]=e,ra(R,0,t),A[n+12>>2]=e}if(b=A[o+628>>2],(t=A[b>>2])&&(A[b+4>>2]=t,oa(t),f=A[o+12>>2],R=A[n+8>>2],e=A[n+12>>2]),A[b+4>>2]=e,A[b>>2]=R,A[b+8>>2]=A[n+16>>2],R=0,A[n+16>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,f){if(f>>>0>=1073741824)break e;_=pa(e=f<<2),A[n+8>>2]=_,R=e+_|0,A[n+16>>2]=R,ra(_,0,e),A[n+12>>2]=R}f=A[o+640>>2],(e=A[f>>2])&&(A[f+4>>2]=e,oa(e),_=A[n+8>>2],R=A[n+12>>2]),A[f+4>>2]=R,A[f>>2]=_,A[f+8>>2]=A[n+16>>2],A[n+24>>2]=0,A[n+28>>2]=0,A[n+16>>2]=0,A[n+20>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,xa(n+8|0),e=((f=A[n+24>>2]+A[n+28>>2]|0)>>>0)/341|0,e=A[A[n+12>>2]+(e<<2)>>2]+m(f-m(e,341)|0,12)|0,A[e+4>>2]=0,A[e+8>>2]=0,A[e>>2]=E,f=A[n+28>>2]+1|0,A[n+28>>2]=f;t:if(f)for(B=o+604|0,I=o+16|0;;){if(D=A[n+12>>2],d=A[n+24>>2],e=A[D+((e=((t=d+(b=f-1|0)|0)>>>0)/341|0)<<2)>>2]+m(t-m(e,341)|0,12)|0,T=A[e+8>>2],t=A[e+4>>2],u=A[e>>2],A[n+28>>2]=b,1+(((0|(e=A[n+16>>2]))!=(0|D)?m(e-D>>2,341)-1|0:0)-(f+d|0)|0)>>>0>=682&&(oa(A[e-4>>2]),A[n+16>>2]=A[n+16>>2]-4),u>>>0>E>>>0)break t;if((_=(0|t)!=((e=A[o+12>>2])-1|0)?t+1|0:0)>>>0>=e>>>0)break t;Y=(U=m(T,12))+A[o+640>>2]|0,G=U+A[o+628>>2]|0;o:{b:if((0|(b=A[o>>2]))!=(0|(t=A[(N=_<<2)+A[Y>>2]>>2]))){n:{A:{k:{if(u>>>0<=2){if(e=A[o+616>>2],A[e>>2]=_,f=1,(R=A[o+12>>2])>>>0>1)break k;break n}if(s[o+8>>2]>s[o+4>>2])break t;if((0|(f=(e=A[o+628>>2])+(V=m(W=T+1|0,12))|0))!=(0|G)&&(Aa(f,A[G>>2],A[G+4>>2]),e=A[o+628>>2]),e=N+A[e+V>>2]|0,A[e>>2]=A[e>>2]+(1<<b+~t),R=0,f=0,!(e=31^j(u))){f=u>>>1|0;break A}for(;R=Ba(I+(f<<4)|0)|R<<1,(0|e)!=(0|(f=f+1|0)););if(R>>>0<=(f=u>>>1|0)>>>0)break A;break t}for(;_=(R-1|0)!=(0|_)?_+1|0:0,A[e+(f<<2)>>2]=_,(f=f+1|0)>>>0<(R=A[o+12>>2])>>>0;);break n}A:{k:{if((0|(f=u-(t=f-R|0)|0))!=(0|t)){if((0|(D=A[o+596>>2]))==A[o+588>>2])break k;d=A[D>>2],e=(b=A[o+600>>2])+1|0,A[o+600>>2]=e,b=d&-2147483648>>>b;c:{if(32==(0|e)){if(A[o+600>>2]=0,A[o+596>>2]=D+4,b)break c;break k}if(!b)break k}e=f}else e=t;f=t;break A}e=t}if(D=A[o+640>>2],b=A[(d=D+U|0)>>2],A[(t=b+N|0)>>2]=A[t>>2]+1,Aa(D+V|0,b,A[d+4>>2]),f&&((0|(b=A[n+28>>2]+A[n+24>>2]|0))==(0|((0|(t=A[n+16>>2]))!=(0|(R=A[n+12>>2]))?m(t-R>>2,341)-1:0))&&(xa(n+8|0),R=A[n+12>>2],b=A[n+24>>2]+A[n+28>>2]|0),t=A[((t=(b>>>0)/341|0)<<2)+R>>2]+m(b-m(t,341)|0,12)|0,A[t+8>>2]=T,A[t+4>>2]=_,A[t>>2]=f,A[n+28>>2]=A[n+28>>2]+1),!e)break b;R=A[n+28>>2]+A[n+24>>2]|0,t=A[n+16>>2],(0|R)==(0|((0|(f=A[n+12>>2]))!=(0|t)?m(t-f>>2,341)-1:0))?(xa(n+8|0),R=A[n+24>>2]+A[n+28>>2]|0,t=A[n+12>>2]):t=f,f=A[t+((f=(R>>>0)/341|0)<<2)>>2]+m(R-m(f,341)|0,12)|0,A[f+8>>2]=W,A[f+4>>2]=_,A[f>>2]=e,f=A[n+28>>2]+1|0,A[n+28>>2]=f;break o}if(_=0,u)for(;;){if(A[o+12>>2])for(T=A[o+548>>2],D=A[Y>>2],Z=A[o+604>>2],d=A[o+616>>2],f=0;;){A[Z+(A[(U=d+(f<<2)|0)>>2]<<2)>>2]=0,b=A[o>>2],t=A[U>>2]<<2;n:if((0|b)!=(0|(e=A[t+D>>2])))if(N=t+Z|0,(0|(R=b-e|0))<=(0|(b=32-(V=A[o+560>>2])|0))){if((0|(t=A[o+556>>2]))==(0|T))break t;if(A[N>>2]=A[t>>2]<<V>>>32-R,e=R+A[o+560>>2]|0,A[o+560>>2]=e,32!=(0|e))break n;A[o+560>>2]=0,A[o+556>>2]=t+4}else{if((0|(e=(W=A[o+556>>2])+4|0))==(0|T))break t;t=A[W>>2],A[o+556>>2]=e,e=R-b|0,A[o+560>>2]=e,A[N>>2]=A[W+4>>2]>>>32-e|t<<V>>>32-R}if(t=A[U>>2]<<2,A[(e=t+Z|0)>>2]=A[e>>2]|A[t+A[G>>2]>>2],!((f=f+1|0)>>>0<s[o+12>>2]))break}if(jb(F,B),A[o+8>>2]=A[o+8>>2]+1,(0|u)==(0|(_=_+1|0)))break}}else{if(U=0,!u)break b;for(;;){if(e=A[G>>2],V=A[e+8>>2],W=A[e+4>>2],D=A[e>>2],T=A[F>>2],(f=A[T+4>>2])>>>0<(e=A[T+8>>2])>>>0)A[f+8>>2]=V,A[f+4>>2]=W,A[f>>2]=D,A[T+4>>2]=f+12;else{if((d=(b=(f-(N=A[T>>2])|0)/12|0)+1|0)>>>0>=357913942)break e;if(e=(t=(e-N|0)/12|0)<<1,d=t>>>0>=178956970?357913941:e>>>0>d>>>0?e:d){if(d>>>0>=357913942)break r;e=pa(m(d,12))}else e=0;if(_=e+m(b,12)|0,A[_+8>>2]=V,A[_+4>>2]=W,A[_>>2]=D,t=_+12|0,(0|f)!=(0|N))for(;f=f-12|0,A[(_=_-12|0)>>2]=A[f>>2],A[_+4>>2]=A[f+4>>2],A[_+8>>2]=A[f+8>>2],(0|f)!=(0|N););A[T+8>>2]=e+m(d,12),A[T+4>>2]=t,A[T>>2]=_,N&&oa(N)}if(A[o+8>>2]=A[o+8>>2]+1,(0|u)==(0|(U=U+1|0)))break}}f=A[n+28>>2]}if(!f)break}if(A[n+28>>2]=0,(R=(_=A[n+16>>2])-(f=A[n+12>>2])|0)>>>0>=9)for(;oa(A[f>>2]),f=A[n+12>>2]+4|0,A[n+12>>2]=f,(R=(_=A[n+16>>2])-f|0)>>>0>8;);e=170;t:switch((R>>>2|0)-1|0){case 1:e=341;case 0:A[n+24>>2]=e;break;default:break t}if((0|f)!=(0|_)){for(;oa(A[f>>2]),(0|_)!=(0|(f=f+4|0)););(0|(f=A[n+16>>2]))!=(0|(e=A[n+12>>2]))&&(A[n+16>>2]=f+(3+(e-f|0)&-4))}(e=A[n+8>>2])&&oa(e),Q=n+32|0}ab(o);break i;case 5:if(o=$a(i+8|0,3),F=i+664|0,d=A[e+8>>2],D=A[e+12>>2],f=A[e+20>>2],!((b=(t=A[e+16>>2])+4|0)>>>0>d>>>0&(0|(f=b>>>0<4?f+1|0:f))>=(0|D)|(0|f)>(0|D))&&(f=t+A[e>>2]|0,A[o>>2]=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,d=f=A[e+20>>2],f=(t=(b=A[e+16>>2])+4|0)>>>0<4?f+1|0:f,A[e+16>>2]=t,A[e+20>>2]=f,!(s[o>>2]>32)&&(f=d,!((b=b+8|0)>>>0>(D=A[e+8>>2])>>>0&(0|(f=b>>>0<8?f+1|0:f))>=(0|(W=A[e+12>>2]))|(0|f)>(0|W))&&(f=t+A[e>>2]|0,t=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,A[o+4>>2]=t,b=A[e+20>>2],b=(f=A[e+16>>2]+4|0)>>>0<4?b+1|0:b,A[e+16>>2]=f,A[e+20>>2]=b,t&&(A[o+8>>2]=0,sb(o+16|0,e)&&ua(o+544|0,e)&&ua(o+564|0,e)&&ua(o+584|0,e)))))){if(E=A[o+4>>2],R=0,e=0,Q=n=Q-32|0,f=A[o+12>>2],A[n+16>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,f){if(f>>>0>=1073741824)break e;R=pa(t=f<<2),A[n+8>>2]=R,e=t+R|0,A[n+16>>2]=e,ra(R,0,t),A[n+12>>2]=e}if(b=A[o+628>>2],(t=A[b>>2])&&(A[b+4>>2]=t,oa(t),f=A[o+12>>2],R=A[n+8>>2],e=A[n+12>>2]),A[b+4>>2]=e,A[b>>2]=R,A[b+8>>2]=A[n+16>>2],R=0,A[n+16>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,f){if(f>>>0>=1073741824)break e;T=pa(e=f<<2),A[n+8>>2]=T,R=e+T|0,A[n+16>>2]=R,ra(T,0,e),A[n+12>>2]=R}f=A[o+640>>2],(e=A[f>>2])&&(A[f+4>>2]=e,oa(e),R=A[n+12>>2],T=A[n+8>>2]),A[f+4>>2]=R,A[f>>2]=T,A[f+8>>2]=A[n+16>>2],A[n+24>>2]=0,A[n+28>>2]=0,A[n+16>>2]=0,A[n+20>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,xa(n+8|0),e=((f=A[n+24>>2]+A[n+28>>2]|0)>>>0)/341|0,e=A[A[n+12>>2]+(e<<2)>>2]+m(f-m(e,341)|0,12)|0,A[e+4>>2]=0,A[e+8>>2]=0,A[e>>2]=E,f=A[n+28>>2]+1|0,A[n+28>>2]=f;t:if(f)for(B=o+604|0,I=o+16|0;;){if(D=A[n+12>>2],d=A[n+24>>2],e=A[D+((e=((t=d+(b=f-1|0)|0)>>>0)/341|0)<<2)>>2]+m(t-m(e,341)|0,12)|0,U=A[e+8>>2],t=A[e+4>>2],u=A[e>>2],A[n+28>>2]=b,1+(((0|(e=A[n+16>>2]))!=(0|D)?m(e-D>>2,341)-1|0:0)-(f+d|0)|0)>>>0>=682&&(oa(A[e-4>>2]),A[n+16>>2]=A[n+16>>2]-4),u>>>0>E>>>0)break t;if(h=0,(T=(0|t)!=((e=A[o+12>>2])-1|0)?t+1|0:0)>>>0>=e>>>0)break t;G=(e=A[o+628>>2])+(N=m(U,12))|0,t=A[o>>2],V=T<<2,W=N+A[o+640>>2]|0;o:{b:if((0|t)!=(0|(f=A[V+A[W>>2]>>2]))){n:{A:{k:{if(u>>>0<=2){if(e=A[o+616>>2],A[e>>2]=T,f=1,(R=A[o+12>>2])>>>0>1)break k;break n}if(s[o+8>>2]>s[o+4>>2])break t;if(Aa((d=e)+(e=N+12|0)|0,A[G>>2],A[G+4>>2]),e=V+A[e+A[o+628>>2]>>2]|0,A[e>>2]=A[e>>2]+(1<<t+~f),R=0,f=0,!(e=31^j(u))){f=u>>>1|0;break A}for(;R=Ba(I+(f<<4)|0)|R<<1,(0|e)!=(0|(f=f+1|0)););if(R>>>0<=(f=u>>>1|0)>>>0)break A;break t}for(;T=(R-1|0)!=(0|T)?T+1|0:0,A[e+(f<<2)>>2]=T,(f=f+1|0)>>>0<(R=A[o+12>>2])>>>0;);break n}W=U+1|0;A:{k:{if((0|(f=u-(t=f-R|0)|0))!=(0|t)){if((0|(D=A[o+596>>2]))==A[o+588>>2])break k;d=A[D>>2],e=(b=A[o+600>>2])+1|0,A[o+600>>2]=e,b=d&-2147483648>>>b;c:{if(32==(0|e)){if(A[o+600>>2]=0,A[o+596>>2]=D+4,b)break c;break k}if(!b)break k}e=f}else e=t;f=t;break A}e=t}if(D=A[o+640>>2],b=A[(d=D+N|0)>>2],A[(t=b+V|0)>>2]=A[t>>2]+1,Aa(D+m(W,12)|0,b,A[d+4>>2]),f&&((0|(h=A[n+28>>2]+A[n+24>>2]|0))==(0|((0|(t=A[n+16>>2]))!=(0|(R=A[n+12>>2]))?m(t-R>>2,341)-1:0))&&(xa(n+8|0),h=A[n+24>>2]+A[n+28>>2]|0,R=A[n+12>>2]),t=A[R+((t=(h>>>0)/341|0)<<2)>>2]+m(h-m(t,341)|0,12)|0,A[t+8>>2]=U,A[t+4>>2]=T,A[t>>2]=f,A[n+28>>2]=A[n+28>>2]+1),!e)break b;R=A[n+28>>2]+A[n+24>>2]|0,t=A[n+16>>2],(0|R)==(0|((0|(f=A[n+12>>2]))!=(0|t)?m(t-f>>2,341)-1:0))?(xa(n+8|0),R=A[n+24>>2]+A[n+28>>2]|0,t=A[n+12>>2]):t=f,f=A[t+((f=(R>>>0)/341|0)<<2)>>2]+m(R-m(f,341)|0,12)|0,A[f+8>>2]=W,A[f+4>>2]=T,A[f>>2]=e,f=A[n+28>>2]+1|0,A[n+28>>2]=f;break o}if(u)for(;;){if(A[o+12>>2])for(Y=A[o+548>>2],D=A[W>>2],Z=A[o+604>>2],d=A[o+616>>2],f=0;;){A[Z+(A[(T=d+(f<<2)|0)>>2]<<2)>>2]=0,b=A[o>>2],t=A[T>>2]<<2;n:if((0|b)!=(0|(e=A[t+D>>2])))if(U=t+Z|0,(0|(R=b-e|0))<=(0|(b=32-(N=A[o+560>>2])|0))){if((0|(t=A[o+556>>2]))==(0|Y))break t;if(A[U>>2]=A[t>>2]<<N>>>32-R,e=R+A[o+560>>2]|0,A[o+560>>2]=e,32!=(0|e))break n;A[o+560>>2]=0,A[o+556>>2]=t+4}else{if((0|(e=(V=A[o+556>>2])+4|0))==(0|Y))break t;t=A[V>>2],A[o+556>>2]=e,e=R-b|0,A[o+560>>2]=e,A[U>>2]=A[V+4>>2]>>>32-e|t<<N>>>32-R}if(t=A[T>>2]<<2,A[(e=t+Z|0)>>2]=A[e>>2]|A[t+A[G>>2]>>2],!((f=f+1|0)>>>0<s[o+12>>2]))break}if(jb(F,B),A[o+8>>2]=A[o+8>>2]+1,(0|u)==(0|(h=h+1|0)))break}}else{if(!u)break b;for(;;){if(e=A[G>>2],V=A[e+8>>2],W=A[e+4>>2],D=A[e>>2],U=A[F>>2],(f=A[U+4>>2])>>>0<(e=A[U+8>>2])>>>0)A[f+8>>2]=V,A[f+4>>2]=W,A[f>>2]=D,A[U+4>>2]=f+12;else{if((d=(b=(f-(N=A[U>>2])|0)/12|0)+1|0)>>>0>=357913942)break e;if(e=(t=(e-N|0)/12|0)<<1,d=t>>>0>=178956970?357913941:e>>>0>d>>>0?e:d){if(d>>>0>=357913942)break r;e=pa(m(d,12))}else e=0;if(T=e+m(b,12)|0,A[T+8>>2]=V,A[T+4>>2]=W,A[T>>2]=D,t=T+12|0,(0|f)!=(0|N))for(;f=f-12|0,A[(T=T-12|0)>>2]=A[f>>2],A[T+4>>2]=A[f+4>>2],A[T+8>>2]=A[f+8>>2],(0|f)!=(0|N););A[U+8>>2]=e+m(d,12),A[U+4>>2]=t,A[U>>2]=T,N&&oa(N)}if(A[o+8>>2]=A[o+8>>2]+1,(0|u)==(0|(h=h+1|0)))break}}f=A[n+28>>2]}if(!f)break}if(A[n+28>>2]=0,(R=(T=A[n+16>>2])-(f=A[n+12>>2])|0)>>>0>=9)for(;oa(A[f>>2]),f=A[n+12>>2]+4|0,A[n+12>>2]=f,(R=(T=A[n+16>>2])-f|0)>>>0>8;);e=170;t:switch((R>>>2|0)-1|0){case 1:e=341;case 0:A[n+24>>2]=e;break;default:break t}if((0|f)!=(0|T)){for(;oa(A[f>>2]),(0|T)!=(0|(f=f+4|0)););(0|(f=A[n+16>>2]))!=(0|(e=A[n+12>>2]))&&(A[n+16>>2]=f+(3+(e-f|0)&-4))}(e=A[n+8>>2])&&oa(e),Q=n+32|0}ab(o);break i;case 6:break f;default:break a}if(o=$a(i+8|0,3),F=i+664|0,d=A[e+8>>2],D=A[e+12>>2],f=A[e+20>>2],!((b=(t=A[e+16>>2])+4|0)>>>0>d>>>0&(0|(f=b>>>0<4?f+1|0:f))>=(0|D)|(0|f)>(0|D))&&(f=t+A[e>>2]|0,A[o>>2]=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,d=f=A[e+20>>2],f=(t=(b=A[e+16>>2])+4|0)>>>0<4?f+1|0:f,A[e+16>>2]=t,A[e+20>>2]=f,!(s[o>>2]>32)&&(f=d,!((b=b+8|0)>>>0>(D=A[e+8>>2])>>>0&(0|(f=b>>>0<8?f+1|0:f))>=(0|(W=A[e+12>>2]))|(0|f)>(0|W))&&(f=t+A[e>>2]|0,t=k[0|f]|k[f+1|0]<<8|k[f+2|0]<<16|k[f+3|0]<<24,A[o+4>>2]=t,b=A[e+20>>2],b=(f=A[e+16>>2]+4|0)>>>0<4?b+1|0:b,A[e+16>>2]=f,A[e+20>>2]=b,t&&(A[o+8>>2]=0,sb(o+16|0,e)&&ua(o+544|0,e)&&ua(o+564|0,e)&&ua(o+584|0,e)))))){if(E=A[o+4>>2],R=0,e=0,Q=n=Q-32|0,f=A[o+12>>2],A[n+16>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,f){if(f>>>0>=1073741824)break e;R=pa(t=f<<2),A[n+8>>2]=R,e=t+R|0,A[n+16>>2]=e,ra(R,0,t),A[n+12>>2]=e}if(b=A[o+628>>2],(t=A[b>>2])&&(A[b+4>>2]=t,oa(t),f=A[o+12>>2],R=A[n+8>>2],e=A[n+12>>2]),A[b+4>>2]=e,A[b>>2]=R,A[b+8>>2]=A[n+16>>2],R=0,A[n+16>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,f){if(f>>>0>=1073741824)break e;_=pa(e=f<<2),A[n+8>>2]=_,R=e+_|0,A[n+16>>2]=R,ra(_,0,e),A[n+12>>2]=R}f=A[o+640>>2],(e=A[f>>2])&&(A[f+4>>2]=e,oa(e),_=A[n+8>>2],R=A[n+12>>2]),A[f+4>>2]=R,A[f>>2]=_,A[f+8>>2]=A[n+16>>2],A[n+24>>2]=0,A[n+28>>2]=0,A[n+16>>2]=0,A[n+20>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,xa(n+8|0),e=((f=A[n+24>>2]+A[n+28>>2]|0)>>>0)/341|0,e=A[A[n+12>>2]+(e<<2)>>2]+m(f-m(e,341)|0,12)|0,A[e+4>>2]=0,A[e+8>>2]=0,A[e>>2]=E,f=A[n+28>>2]+1|0,A[n+28>>2]=f;f:if(f)for(B=o+604|0,I=o+16|0;;){if(D=A[n+12>>2],d=A[n+24>>2],e=A[D+((e=((t=d+(b=f-1|0)|0)>>>0)/341|0)<<2)>>2]+m(t-m(e,341)|0,12)|0,T=A[e+8>>2],u=A[e>>2],A[n+28>>2]=b,1+(((0|(e=A[n+16>>2]))!=(0|D)?m(e-D>>2,341)-1|0:0)-(f+d|0)|0)>>>0>=682&&(oa(A[e-4>>2]),A[n+16>>2]=A[n+16>>2]-4),u>>>0>E>>>0)break f;if(e=A[o+628>>2],(_=Vd(o,u,Y=(U=m(T,12))+A[o+640>>2]|0))>>>0>=s[o+12>>2])break f;G=e+U|0;t:{o:if((0|(b=A[o>>2]))!=(0|(t=A[(N=_<<2)+A[Y>>2]>>2]))){b:{n:{A:{if(u>>>0<=2){if(e=A[o+616>>2],A[e>>2]=_,f=1,(R=A[o+12>>2])>>>0>1)break A;break b}if(s[o+8>>2]>s[o+4>>2])break f;if((0|(f=(e=A[o+628>>2])+(V=m(W=T+1|0,12))|0))!=(0|G)&&(Aa(f,A[G>>2],A[G+4>>2]),e=A[o+628>>2]),e=N+A[e+V>>2]|0,A[e>>2]=A[e>>2]+(1<<b+~t),R=0,f=0,!(e=31^j(u))){f=u>>>1|0;break n}for(;R=Ba(I+(f<<4)|0)|R<<1,(0|e)!=(0|(f=f+1|0)););if(R>>>0<=(f=u>>>1|0)>>>0)break n;break f}for(;_=(R-1|0)!=(0|_)?_+1|0:0,A[e+(f<<2)>>2]=_,(f=f+1|0)>>>0<(R=A[o+12>>2])>>>0;);break b}n:{A:{if((0|(f=u-(t=f-R|0)|0))!=(0|t)){if((0|(D=A[o+596>>2]))==A[o+588>>2])break A;d=A[D>>2],e=(b=A[o+600>>2])+1|0,A[o+600>>2]=e,b=d&-2147483648>>>b;k:{if(32==(0|e)){if(A[o+600>>2]=0,A[o+596>>2]=D+4,b)break k;break A}if(!b)break A}e=f}else e=t;f=t;break n}e=t}if(D=A[o+640>>2],b=A[(d=D+U|0)>>2],A[(t=b+N|0)>>2]=A[t>>2]+1,Aa(D+V|0,b,A[d+4>>2]),f&&((0|(b=A[n+28>>2]+A[n+24>>2]|0))==(0|((0|(t=A[n+16>>2]))!=(0|(R=A[n+12>>2]))?m(t-R>>2,341)-1:0))&&(xa(n+8|0),R=A[n+12>>2],b=A[n+24>>2]+A[n+28>>2]|0),t=A[((t=(b>>>0)/341|0)<<2)+R>>2]+m(b-m(t,341)|0,12)|0,A[t+8>>2]=T,A[t+4>>2]=_,A[t>>2]=f,A[n+28>>2]=A[n+28>>2]+1),!e)break o;R=A[n+28>>2]+A[n+24>>2]|0,t=A[n+16>>2],(0|R)==(0|((0|(f=A[n+12>>2]))!=(0|t)?m(t-f>>2,341)-1:0))?(xa(n+8|0),R=A[n+24>>2]+A[n+28>>2]|0,t=A[n+12>>2]):t=f,f=A[t+((f=(R>>>0)/341|0)<<2)>>2]+m(R-m(f,341)|0,12)|0,A[f+8>>2]=W,A[f+4>>2]=_,A[f>>2]=e,f=A[n+28>>2]+1|0,A[n+28>>2]=f;break t}if(_=0,u)for(;;){if(A[o+12>>2])for(T=A[o+548>>2],D=A[Y>>2],Z=A[o+604>>2],d=A[o+616>>2],f=0;;){A[Z+(A[(U=d+(f<<2)|0)>>2]<<2)>>2]=0,b=A[o>>2],t=A[U>>2]<<2;b:if((0|b)!=(0|(e=A[t+D>>2])))if(N=t+Z|0,(0|(R=b-e|0))<=(0|(b=32-(V=A[o+560>>2])|0))){if((0|(t=A[o+556>>2]))==(0|T))break f;if(A[N>>2]=A[t>>2]<<V>>>32-R,e=R+A[o+560>>2]|0,A[o+560>>2]=e,32!=(0|e))break b;A[o+560>>2]=0,A[o+556>>2]=t+4}else{if((0|(e=(W=A[o+556>>2])+4|0))==(0|T))break f;t=A[W>>2],A[o+556>>2]=e,e=R-b|0,A[o+560>>2]=e,A[N>>2]=A[W+4>>2]>>>32-e|t<<V>>>32-R}if(t=A[U>>2]<<2,A[(e=t+Z|0)>>2]=A[e>>2]|A[t+A[G>>2]>>2],!((f=f+1|0)>>>0<s[o+12>>2]))break}if(jb(F,B),A[o+8>>2]=A[o+8>>2]+1,(0|u)==(0|(_=_+1|0)))break}}else{if(U=0,!u)break o;for(;;){if(e=A[G>>2],V=A[e+8>>2],W=A[e+4>>2],D=A[e>>2],T=A[F>>2],(f=A[T+4>>2])>>>0<(e=A[T+8>>2])>>>0)A[f+8>>2]=V,A[f+4>>2]=W,A[f>>2]=D,A[T+4>>2]=f+12;else{if((d=(b=(f-(N=A[T>>2])|0)/12|0)+1|0)>>>0>=357913942)break e;if(e=(t=(e-N|0)/12|0)<<1,d=t>>>0>=178956970?357913941:e>>>0>d>>>0?e:d){if(d>>>0>=357913942)break r;e=pa(m(d,12))}else e=0;if(_=e+m(b,12)|0,A[_+8>>2]=V,A[_+4>>2]=W,A[_>>2]=D,t=_+12|0,(0|f)!=(0|N))for(;f=f-12|0,A[(_=_-12|0)>>2]=A[f>>2],A[_+4>>2]=A[f+4>>2],A[_+8>>2]=A[f+8>>2],(0|f)!=(0|N););A[T+8>>2]=e+m(d,12),A[T+4>>2]=t,A[T>>2]=_,N&&oa(N)}if(A[o+8>>2]=A[o+8>>2]+1,(0|u)==(0|(U=U+1|0)))break}}f=A[n+28>>2]}if(!f)break}if(A[n+28>>2]=0,(R=(_=A[n+16>>2])-(f=A[n+12>>2])|0)>>>0>=9)for(;oa(A[f>>2]),f=A[n+12>>2]+4|0,A[n+12>>2]=f,(R=(_=A[n+16>>2])-f|0)>>>0>8;);e=170;f:switch((R>>>2|0)-1|0){case 1:e=341;case 0:A[n+24>>2]=e;break;default:break f}if((0|f)!=(0|_)){for(;oa(A[f>>2]),(0|_)!=(0|(f=f+4|0)););(0|(f=A[n+16>>2]))!=(0|(e=A[n+12>>2]))&&(A[n+16>>2]=f+(3+(e-f|0)&-4))}(e=A[n+8>>2])&&oa(e),Q=n+32|0}ab(o)}D=A[r+12>>2]==((A[a+4>>2]-A[a>>2]|0)/12|0)}return Q=i+672|0,D}sa(),v()}wa(),v()}function kd(r,e,a,i){var f=0,t=0,o=0,n=0,_=0,d=0,R=0,h=0,j=0,D=0,U=0,T=0,N=0,V=0,W=0,G=0,Z=0,F=0,B=0,I=0,E=0,Y=0;if(!r)return 1;r:if(!((0|(f=A[a+20>>2]))>=(0|(o=A[a+12>>2]))&(_=A[a+16>>2])>>>0>=s[a+8>>2]|(0|f)>(0|o))){o=k[_+A[a>>2]|0],f=(_=_+1|0)?f:f+1|0,A[a+16>>2]=_,A[a+20>>2]=f;e:switch(0|o){case 0:f=r,t=e,_=i,r=0,i=0,Q=j=Q+-64|0,A[j+56>>2]=0,A[j+48>>2]=0,A[j+52>>2]=0,A[j+40>>2]=0,A[j+44>>2]=0,A[j+32>>2]=0,A[j+36>>2]=0,A[j+24>>2]=0,A[j+28>>2]=0,A[j+16>>2]=0,A[j+20>>2]=0,A[j+8>>2]=0,A[j+12>>2]=0;a:if(Ne(j+8|0,a)&&!(!Me(j+8|0,a)|(A[j+20>>2]?0:f))){if(Db(a,0,0),f)for(W=t<<2,G=A[j+36>>2],B=A[j+48>>2],I=A[j+24>>2],h=A[j+56>>2],d=A[j+52>>2];;){i:if(!(h>>>0>16383))for(;;){if((0|d)<=0)break i;if(d=d-1|0,A[j+52>>2]=d,h=k[d+B|0]|h<<8,A[j+56>>2]=h,!(h>>>0<16384))break}if(V=A[((r=4095&h)<<2)+I>>2],h=(m(A[(e=(V<<3)+G|0)>>2],h>>>12|0)+r|0)-A[e+4>>2]|0,A[j+56>>2]=h,(0|t)>0){if(r=0,!k[a+36|0]|V>>>0>32)break a;if(o=i+t|0,V)for(E=-2&V,Y=1&V,e=A[a+32>>2],n=A[a+28>>2],D=A[a+24>>2];;){if(R=0,r=e,U=0,N=0,1!=(0|V))for(;(T=D+(r>>>3|0)|0)>>>0>=n>>>0?T=0:(T=k[0|T],e=r+1|0,A[a+32>>2]=e,T=T>>>(7&r)&1,r=e),T=T<<R|U,U=0,(Z=D+(r>>>3|0)|0)>>>0<n>>>0&&(U=k[0|Z],e=r+1|0,A[a+32>>2]=e,U=U>>>(7&r)&1,r=e),Z=1|R,R=R+2|0,U=T|U<<Z,(0|E)!=(0|(N=N+2|0)););if(N=_+(i<<2)|0,Y&&((T=D+(r>>>3|0)|0)>>>0<n>>>0?(T=k[0|T],e=r+1|0,A[a+32>>2]=e,r=T>>>(7&r)&1):r=0,U|=r<<R),A[N>>2]=U,(0|o)==(0|(i=i+1|0)))break}else ra(_+(i<<2)|0,0,W);i=o}if(!(f>>>0>(F=t+F|0)>>>0))break}b[a+36|0]=0,e=A[a+20>>2],f=0,r=(i=(7&(f=(i=A[a+32>>2]+7|0)>>>0<7?1:f))<<29|i>>>3)+A[a+16>>2]|0,f=(f>>>3|0)+e|0,A[a+16>>2]=r,A[a+20>>2]=r>>>0<i>>>0?f+1|0:f,r=1}return(e=A[j+36>>2])&&(A[j+40>>2]=e,oa(e)),(e=A[j+24>>2])&&(A[j+28>>2]=e,oa(e)),(e=A[j+8>>2])&&(A[j+12>>2]=e,oa(e)),Q=j- -64|0,r;case 1:break e;default:break r}e=0;e:if(!((0|(f=A[a+20>>2]))>=(0|(o=A[a+12>>2]))&(_=A[a+16>>2])>>>0>=s[a+8>>2]|(0|f)>(0|o))){o=k[_+A[a>>2]|0],f=(_=_+1|0)?f:f+1|0,A[a+16>>2]=_,A[a+20>>2]=f;a:switch(o-1|0){case 8:o=r,V=i,Q=_=Q+-64|0,A[_+56>>2]=0,A[_+48>>2]=0,A[_+52>>2]=0,A[_+40>>2]=0,A[_+44>>2]=0,A[_+32>>2]=0,A[_+36>>2]=0,A[_+24>>2]=0,A[_+28>>2]=0,A[_+16>>2]=0,A[_+20>>2]=0,A[_+8>>2]=0,A[_+12>>2]=0,d=_+8|0;i:{f:if(r=u[a+38>>1]){if(r>>>0<=511){if(i=A[a+8>>2],e=A[a+12>>2],f=A[a+20>>2],i>>>0<(t=(r=A[a+16>>2])+4|0)>>>0&(0|e)<=(0|(f=t>>>0<4?f+1|0:f))|(0|e)<(0|f))break f;r=r+A[a>>2]|0,n=k[0|r]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24,A[d+12>>2]=n,f=A[a+20>>2],f=(t=A[a+16>>2]+4|0)>>>0<4?f+1|0:f,A[a+16>>2]=t,A[a+20>>2]=f}else{if(!hb(1,d+12|0,a))break f;t=A[a+16>>2],f=A[a+20>>2],n=A[d+12>>2]}if(!((i=(r=A[a+8>>2])-t|0)>>>0<n>>>6>>>0&(0|(r=A[a+12>>2]-((r>>>0<t>>>0)+f|0)|0))<=0|(0|r)<0)){if(e=A[d>>2],(r=A[d+4>>2]-e>>2)>>>0<n>>>0?(ya(d,n-r|0),n=A[d+12>>2]):r>>>0<=n>>>0||(A[d+4>>2]=e+(n<<2)),i=1,!n)break i;for(t=A[a+16>>2],f=A[a+20>>2],W=A[d>>2],j=A[a+8>>2],D=A[a+12>>2],e=0;;){if(i=0,(0|f)>=(0|D)&t>>>0>=j>>>0|(0|f)>(0|D))break i;i=A[a>>2],T=k[i+t|0],f=(t=t+1|0)?f:f+1|0,A[a+16>>2]=t,A[a+20>>2]=f,r=T>>>2|0,h=0;t:{o:{b:{n:switch(0|(G=3&T)){case 0:break o;case 3:break n;default:break b}if(i=0,(r=r+e|0)>>>0>=n>>>0)break i;ra(W+(e<<2)|0,0,4+(252&T)|0),e=r;break t}for(;;){if((0|t)==(0|j)&(0|f)==(0|D))break f;if(n=k[i+t|0],f=(t=t+1|0)?f:f+1|0,A[a+16>>2]=t,A[a+20>>2]=f,r|=n<<(h<<3|6),(0|G)==(0|(h=h+1|0)))break}}A[W+(e<<2)>>2]=r}if(!((e=e+1|0)>>>0<(n=A[d+12>>2])>>>0))break}if(r=d+16|0,D=A[d>>2],i=A[d+16>>2],(e=A[d+20>>2]-i|0)>>>0<=32767?ya(r,8192-(e>>>2|0)|0):32768!=(0|e)&&(A[d+20>>2]=i+32768),e=A[(i=d+28|0)>>2],(t=A[d+32>>2]-e>>3)>>>0<n>>>0)ob(i,n-t|0),e=A[i>>2];else if(t>>>0>n>>>0&&(A[d+32>>2]=(n<<3)+e),!n)break f;for(j=A[r>>2],t=0,i=0;;){if(d=A[(f=D+(t<<2)|0)>>2],r=i,A[(h=(t<<3)+e|0)+4>>2]=r,A[h>>2]=d,(i=(f=A[f>>2])+r|0)>>>0>8192)break f;if(!(r>>>0>=i>>>0)){if(h=0,d=7&f)for(;A[j+(r<<2)>>2]=t,r=r+1|0,(0|d)!=(0|(h=h+1|0)););if(!(f-1>>>0<=6))for(;A[(f=j+(r<<2)|0)>>2]=t,A[f+28>>2]=t,A[f+24>>2]=t,A[f+20>>2]=t,A[f+16>>2]=t,A[f+12>>2]=t,A[f+8>>2]=t,A[f+4>>2]=t,(0|i)!=(0|(r=r+8|0)););}if((0|n)==(0|(t=t+1|0)))break}R=8192==(0|i)}}i=R}if(!(!i|(A[_+20>>2]?0:o))){i=0,Q=j=Q-16|0;i:{if(u[a+38>>1]<=511){if(e=A[a+8>>2],n=r=A[a+12>>2],f=A[a+20>>2],e>>>0<(t=(R=A[a+16>>2])+8|0)>>>0&(0|r)<=(0|(f=t>>>0<8?f+1|0:f))|(0|r)<(0|f))break i;R=R+A[a>>2]|0,r=k[0|R]|k[R+1|0]<<8|k[R+2|0]<<16|k[R+3|0]<<24,R=k[R+4|0]|k[R+5|0]<<8|k[R+6|0]<<16|k[R+7|0]<<24,A[a+16>>2]=t,A[a+20>>2]=f}else{if(!gb(1,j+8|0,a))break i;t=A[a+16>>2],f=A[a+20>>2],e=A[a+8>>2],n=A[a+12>>2],r=A[j+8>>2],R=A[j+12>>2]}if(d=e-t|0,!((0|(e=n-((e>>>0<t>>>0)+f|0)|0))==(0|R)&r>>>0>d>>>0|e>>>0<R>>>0||(f=f+R|0,f=(e=r+t|0)>>>0<r>>>0?f+1|0:f,A[a+16>>2]=e,A[a+20>>2]=f,(0|r)<=0))){e=A[a>>2]+t|0,A[_+48>>2]=e;f:if((f=k[0|(t=(a=r-1|0)+e|0)])>>>0<=63)A[_+52>>2]=a,r=63&k[0|t];else{t:switch((f>>>6|0)-1|0){case 0:if(r>>>0<2)break i;r=r-2|0,A[_+52>>2]=r,r=k[(r=r+e|0)+1|0]<<8&16128|k[0|r];break f;case 1:if(r>>>0<3)break i;r=r-3|0,A[_+52>>2]=r,r=k[(r=r+e|0)+1|0]<<8|k[r+2|0]<<16&4128768|k[0|r];break f;default:break t}r=r-4|0,A[_+52>>2]=r,r=1073741823&(k[0|(r=r+e|0)]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24)}A[_+56>>2]=r+32768,i=r>>>0<8355840}}if(Q=j+16|0,i)if(o)for(e=A[_+52>>2],r=A[_+56>>2],a=A[_+36>>2],i=A[_+48>>2],t=A[_+24>>2];;){i:if(!(r>>>0>32767))for(;;){if((0|e)<=0)break i;if(e=e-1|0,A[_+52>>2]=e,r=k[e+i|0]|r<<8,A[_+56>>2]=r,!(r>>>0<32768))break}if(U=A[t+((f=8191&r)<<2)>>2],r=(m(A[(R=a+(U<<3)|0)>>2],r>>>13|0)+f|0)-A[R+4>>2]|0,A[_+56>>2]=r,A[V+(N<<2)>>2]=U,U=1,(0|o)==(0|(N=N+1|0)))break}else U=1}(r=A[_+36>>2])&&(A[_+40>>2]=r,oa(r)),(r=A[_+24>>2])&&(A[_+28>>2]=r,oa(r)),(r=A[_+8>>2])&&(A[_+12>>2]=r,oa(r)),Q=_- -64|0,e=U;break e;case 9:j=r,V=i,Q=o=Q+-64|0,A[o+56>>2]=0,A[o+48>>2]=0,A[o+52>>2]=0,A[o+40>>2]=0,A[o+44>>2]=0,A[o+32>>2]=0,A[o+36>>2]=0,A[o+24>>2]=0,A[o+28>>2]=0,A[o+16>>2]=0,A[o+20>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,d=o+8|0;i:{f:if(r=u[a+38>>1]){if(r>>>0<=511){if(i=A[a+8>>2],e=A[a+12>>2],f=A[a+20>>2],i>>>0<(t=(r=A[a+16>>2])+4|0)>>>0&(0|e)<=(0|(f=t>>>0<4?f+1|0:f))|(0|e)<(0|f))break f;r=r+A[a>>2]|0,n=k[0|r]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24,A[d+12>>2]=n,f=A[a+20>>2],f=(t=A[a+16>>2]+4|0)>>>0<4?f+1|0:f,A[a+16>>2]=t,A[a+20>>2]=f}else{if(!hb(1,d+12|0,a))break f;t=A[a+16>>2],f=A[a+20>>2],n=A[d+12>>2]}if(!((i=(r=A[a+8>>2])-t|0)>>>0<n>>>6>>>0&(0|(r=A[a+12>>2]-((r>>>0<t>>>0)+f|0)|0))<=0|(0|r)<0)){if(e=A[d>>2],(r=A[d+4>>2]-e>>2)>>>0<n>>>0?(ya(d,n-r|0),n=A[d+12>>2]):r>>>0<=n>>>0||(A[d+4>>2]=e+(n<<2)),i=1,!n)break i;for(t=A[a+16>>2],f=A[a+20>>2],W=A[d>>2],_=A[a+8>>2],D=A[a+12>>2],e=0;;){if(i=0,(0|f)>=(0|D)&t>>>0>=_>>>0|(0|f)>(0|D))break i;i=A[a>>2],T=k[i+t|0],f=(t=t+1|0)?f:f+1|0,A[a+16>>2]=t,A[a+20>>2]=f,r=T>>>2|0,h=0;t:{o:{b:{n:switch(0|(G=3&T)){case 0:break o;case 3:break n;default:break b}if(i=0,(r=r+e|0)>>>0>=n>>>0)break i;ra(W+(e<<2)|0,0,4+(252&T)|0),e=r;break t}for(;;){if((0|t)==(0|_)&(0|f)==(0|D))break f;if(n=k[i+t|0],f=(t=t+1|0)?f:f+1|0,A[a+16>>2]=t,A[a+20>>2]=f,r|=n<<(h<<3|6),(0|G)==(0|(h=h+1|0)))break}}A[W+(e<<2)>>2]=r}if(!((e=e+1|0)>>>0<(n=A[d+12>>2])>>>0))break}if(r=d+16|0,D=A[d>>2],i=A[d+16>>2],(e=A[d+20>>2]-i|0)>>>0<=131071?ya(r,32768-(e>>>2|0)|0):131072!=(0|e)&&(A[d+20>>2]=i+131072),e=A[(i=d+28|0)>>2],(t=A[d+32>>2]-e>>3)>>>0<n>>>0)ob(i,n-t|0),e=A[i>>2];else if(t>>>0>n>>>0&&(A[d+32>>2]=(n<<3)+e),!n)break f;for(_=A[r>>2],t=0,i=0;;){if(d=A[(f=D+(t<<2)|0)>>2],r=i,A[(h=(t<<3)+e|0)+4>>2]=r,A[h>>2]=d,(i=(f=A[f>>2])+r|0)>>>0>32768)break f;if(!(r>>>0>=i>>>0)){if(h=0,d=7&f)for(;A[_+(r<<2)>>2]=t,r=r+1|0,(0|d)!=(0|(h=h+1|0)););if(!(f-1>>>0<=6))for(;A[(f=_+(r<<2)|0)>>2]=t,A[f+28>>2]=t,A[f+24>>2]=t,A[f+20>>2]=t,A[f+16>>2]=t,A[f+12>>2]=t,A[f+8>>2]=t,A[f+4>>2]=t,(0|i)!=(0|(r=r+8|0)););}if((0|n)==(0|(t=t+1|0)))break}R=32768==(0|i)}}i=R}if(!(!i|(A[o+20>>2]?0:j))){i=0,Q=d=Q-16|0;i:{if(u[a+38>>1]<=511){if(e=A[a+8>>2],n=r=A[a+12>>2],f=A[a+20>>2],e>>>0<(t=(R=A[a+16>>2])+8|0)>>>0&(0|r)<=(0|(f=t>>>0<8?f+1|0:f))|(0|r)<(0|f))break i;R=R+A[a>>2]|0,r=k[0|R]|k[R+1|0]<<8|k[R+2|0]<<16|k[R+3|0]<<24,R=k[R+4|0]|k[R+5|0]<<8|k[R+6|0]<<16|k[R+7|0]<<24,A[a+16>>2]=t,A[a+20>>2]=f}else{if(!gb(1,d+8|0,a))break i;t=A[a+16>>2],f=A[a+20>>2],e=A[a+8>>2],n=A[a+12>>2],r=A[d+8>>2],R=A[d+12>>2]}if(_=e-t|0,!((0|(e=n-((e>>>0<t>>>0)+f|0)|0))==(0|R)&r>>>0>_>>>0|e>>>0<R>>>0||(_=f+R|0,_=(e=r+t|0)>>>0<r>>>0?_+1|0:_,A[a+16>>2]=e,A[a+20>>2]=_,(0|r)<=0))){e=A[a>>2]+t|0,A[o+48>>2]=e;f:if((f=k[0|(t=(a=r-1|0)+e|0)])>>>0<=63)A[o+52>>2]=a,r=63&k[0|t];else{t:switch((f>>>6|0)-1|0){case 0:if(r>>>0<2)break i;r=r-2|0,A[o+52>>2]=r,r=k[(r=r+e|0)+1|0]<<8&16128|k[0|r];break f;case 1:if(r>>>0<3)break i;r=r-3|0,A[o+52>>2]=r,r=k[(r=r+e|0)+1|0]<<8|k[r+2|0]<<16&4128768|k[0|r];break f;default:break t}r=r-4|0,A[o+52>>2]=r,r=1073741823&(k[0|(r=r+e|0)]|k[r+1|0]<<8|k[r+2|0]<<16|k[r+3|0]<<24)}A[o+56>>2]=r+131072,i=r>>>0<33423360}}if(Q=d+16|0,i)if(j)for(e=A[o+52>>2],r=A[o+56>>2],a=A[o+36>>2],i=A[o+48>>2],t=A[o+24>>2];;){i:if(!(r>>>0>131071))for(;;){if((0|e)<=0)break i;if(e=e-1|0,A[o+52>>2]=e,r=k[e+i|0]|r<<8,A[o+56>>2]=r,!(r>>>0<131072))break}if(U=A[t+((f=32767&r)<<2)>>2],r=(m(A[(R=a+(U<<3)|0)>>2],r>>>15|0)+f|0)-A[R+4>>2]|0,A[o+56>>2]=r,A[V+(N<<2)>>2]=U,U=1,(0|j)==(0|(N=N+1|0)))break}else U=1}(r=A[o+36>>2])&&(A[o+40>>2]=r,oa(r)),(r=A[o+24>>2])&&(A[o+28>>2]=r,oa(r))